@charset "UTF-8";
/* Material Symbols Outlined — instanced variable font, conjunto COMPLETO de ícones (FILL 0..1, wght 300..400). */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 300 400;
  font-display: swap;
  src: url('material-symbols-outlined.d05e704de68269986e95.woff2') format("woff2");
}
.material-symbols-outlined,
.material-icons {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
/* Geist — UI body type, variable weight 100-900. Same 5 subsets Google ships. */
/* cyrillic-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic-ext.141916beb91c487496c8.woff2') format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic.e1e85cd9eab54096528f.woff2') format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-vietnamese.ed8ddc5c3f2df573fa57.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin-ext.b29dbc4234e76289a5b9.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin.ee5d167b615cdb197f4a.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inconsolata — monospace, used in code blocks. Single weight (400). 3 subsets matching Google's split. */
/* vietnamese */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-vietnamese.3f9b99a54031f490de68.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin-ext.2c2a00f6d14c2d972e5e.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin.36e89c56c8ef1ba7c54b.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cairo — used in one chair-UI component (events.component.scss). Single weight (400). Arabic + Latin subsets. */
/* arabic */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-arabic.058cbf3782fbcd1fa0b4.woff2') format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin-ext.32c4aa2581621bf09b6f.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin.115755d5d85ea3aa10e4.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Colors for the ripple elements.*/
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable material/no-prefixes */
/* stylelint-enable */
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28121em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.2812em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
}
.mat-radio-button {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-slider-thumb-label-text {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tab-label, .mat-tab-link {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
.mat-ripple {
  overflow: hidden;
  position: relative;
}
.mat-ripple:not(:empty) {
  transform: translateZ(0);
}
.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}
.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}
.cdk-high-contrast-active .mat-ripple-element {
  display: none;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}
.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}
.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
}
.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0.6;
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}
.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
@-webkit-keyframes cdk-text-field-autofill-start {
  /*!*/
}
@keyframes cdk-text-field-autofill-start {
  /*!*/
}
@-webkit-keyframes cdk-text-field-autofill-end {
  /*!*/
}
@keyframes cdk-text-field-autofill-end {
  /*!*/
}
.cdk-text-field-autofill-monitored:-webkit-autofill {
  -webkit-animation: cdk-text-field-autofill-start 0s 1ms;
          animation: cdk-text-field-autofill-start 0s 1ms;
}
.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;
          animation: cdk-text-field-autofill-end 0s 1ms;
}
textarea.cdk-textarea-autosize {
  resize: none;
}
textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}
textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}
.mat-focus-indicator {
  position: relative;
}
.mat-mdc-focus-indicator {
  position: relative;
}
/* For use in src/lib/core/theming/_palette.scss */
.light-theme .mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}
.light-theme .mat-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option:hover:not(.mat-option-disabled), .light-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option.mat-option-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.light-theme .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-pseudo-checkbox::after {
  color: #fafafa;
}
.light-theme .mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}
.light-theme .mat-primary .mat-pseudo-checkbox-checked,
.light-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-pseudo-checkbox-checked,
.light-theme .mat-pseudo-checkbox-indeterminate,
.light-theme .mat-accent .mat-pseudo-checkbox-checked,
.light-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-warn .mat-pseudo-checkbox-checked,
.light-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.light-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.light-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #b0b0b0;
}
.light-theme .mat-app-background, .light-theme.mat-app-background {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.light-theme .mat-autocomplete-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-badge-content {
  color: white;
  background: #1e40af;
}
.cdk-high-contrast-active .light-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.light-theme .mat-badge-accent .mat-badge-content {
  background: #1e40af;
  color: white;
}
.light-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.light-theme .mat-badge {
  position: relative;
}
.light-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.light-theme .mat-badge-disabled .mat-badge-content {
  background: #b9b9b9;
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.light-theme .ng-animate-disabled .mat-badge-content,
.light-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.light-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.light-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.light-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.light-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.light-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.light-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.light-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.light-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.light-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.light-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.light-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button, .light-theme .mat-icon-button, .light-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.light-theme .mat-button.mat-primary, .light-theme .mat-icon-button.mat-primary, .light-theme .mat-stroked-button.mat-primary {
  color: #1e40af;
}
.light-theme .mat-button.mat-accent, .light-theme .mat-icon-button.mat-accent, .light-theme .mat-stroked-button.mat-accent {
  color: #1e40af;
}
.light-theme .mat-button.mat-warn, .light-theme .mat-icon-button.mat-warn, .light-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.light-theme .mat-button.mat-primary.mat-button-disabled, .light-theme .mat-button.mat-accent.mat-button-disabled, .light-theme .mat-button.mat-warn.mat-button-disabled, .light-theme .mat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-icon-button.mat-primary.mat-button-disabled, .light-theme .mat-icon-button.mat-accent.mat-button-disabled, .light-theme .mat-icon-button.mat-warn.mat-button-disabled, .light-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-stroked-button.mat-primary.mat-button-disabled, .light-theme .mat-stroked-button.mat-accent.mat-button-disabled, .light-theme .mat-stroked-button.mat-warn.mat-button-disabled, .light-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.light-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.light-theme .mat-button .mat-ripple-element, .light-theme .mat-icon-button .mat-ripple-element, .light-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.light-theme .mat-button-focus-overlay {
  background: black;
}
.light-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button, .light-theme .mat-raised-button, .light-theme .mat-fab, .light-theme .mat-mini-fab {
  color: rgba(0, 0, 0, 0.87);
  background-color: white;
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  color: white;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  color: white;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  color: white;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button.mat-primary .mat-ripple-element, .light-theme .mat-raised-button.mat-primary .mat-ripple-element, .light-theme .mat-fab.mat-primary .mat-ripple-element, .light-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-accent .mat-ripple-element, .light-theme .mat-raised-button.mat-accent .mat-ripple-element, .light-theme .mat-fab.mat-accent .mat-ripple-element, .light-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-warn .mat-ripple-element, .light-theme .mat-raised-button.mat-warn .mat-ripple-element, .light-theme .mat-fab.mat-warn .mat-ripple-element, .light-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-stroked-button:not([class*=mat-elevation-z]), .light-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone,
.light-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.light-theme .mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
  background: white;
}
.light-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}
.light-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}
.light-theme .mat-card {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-checkmark {
  fill: #fafafa;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #fafafa;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.light-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .light-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.light-theme .mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: rgba(0, 0, 0, 0.87);
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip::after {
  background: black;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-table {
  background: white;
}
.light-theme .mat-table thead, .light-theme .mat-table tbody, .light-theme .mat-table tfoot,
.light-theme mat-header-row, .light-theme mat-row, .light-theme mat-footer-row,
.light-theme [mat-header-row], .light-theme [mat-row], .light-theme [mat-footer-row],
.light-theme .mat-table-sticky {
  background: inherit;
}
.light-theme mat-row, .light-theme mat-header-row, .light-theme mat-footer-row,
.light-theme th.mat-header-cell, .light-theme td.mat-cell, .light-theme td.mat-footer-cell {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-cell, .light-theme .mat-footer-cell {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-datepicker-toggle,
.light-theme .mat-datepicker-content .mat-calendar-next-button,
.light-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-table-header-divider::after {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-body-cell-content,
.light-theme .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.87);
  border-color: transparent;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-in-preview {
  color: rgba(0, 0, 0, 0.24);
}
.light-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}
.light-theme .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-calendar-body-comparison-bridge-start::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-comparison-bridge-end::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.light-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-datepicker-toggle-active {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-accent {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.light-theme .mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-divider {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-divider-vertical {
  border-right-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-action-row {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}
.light-theme .mat-expansion-panel-header-title {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel-header-description,
.light-theme .mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.mat-expansion-panel-header {
  height: 48px;
}
.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}
.light-theme .mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-hint {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.light-theme .mat-focused .mat-form-field-required-marker {
  color: #1e40af;
}
.light-theme .mat-form-field-ripple {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.light-theme .mat-error {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.06);
}
.light-theme .mat-icon.mat-primary {
  color: #1e40af;
}
.light-theme .mat-icon.mat-accent {
  color: #1e40af;
}
.light-theme .mat-icon.mat-warn {
  color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-input-element:disabled,
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-form-field.mat-warn .mat-input-element,
.light-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-list-base .mat-list-item {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-list-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-list-item-disabled {
  background-color: #eeeeee;
}
.light-theme .mat-list-option:hover, .light-theme .mat-list-option:focus,
.light-theme .mat-nav-list .mat-list-item:hover,
.light-theme .mat-nav-list .mat-list-item:focus,
.light-theme .mat-action-list .mat-list-item:hover,
.light-theme .mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-list-single-selected-option, .light-theme .mat-list-single-selected-option:hover, .light-theme .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-panel {
  background: white;
}
.light-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-item {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-menu-item[disabled], .light-theme .mat-menu-item[disabled]::after,
.light-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-menu-item .mat-icon-no-color,
.light-theme .mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.light-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-paginator {
  background: white;
}
.light-theme .mat-paginator,
.light-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-decrement,
.light-theme .mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-first,
.light-theme .mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.light-theme .mat-icon-button[disabled] .mat-paginator-increment,
.light-theme .mat-icon-button[disabled] .mat-paginator-first,
.light-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-paginator-container {
  min-height: 56px;
}
.light-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.light-theme .mat-progress-spinner circle, .light-theme .mat-spinner circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-accent circle, .light-theme .mat-spinner.mat-accent circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-warn circle, .light-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.light-theme .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.light-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.light-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-select-value {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-select-panel {
  background: white;
}
.light-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-drawer-container {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer {
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer.mat-drawer-push {
  background-color: white;
}
.light-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side {
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
}
.light-theme .mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-primary .mat-slider-track-fill,
.light-theme .mat-primary .mat-slider-thumb,
.light-theme .mat-primary .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-accent .mat-slider-track-fill,
.light-theme .mat-accent .mat-slider-thumb,
.light-theme .mat-accent .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-warn .mat-slider-track-fill,
.light-theme .mat-warn .mat-slider-thumb,
.light-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.light-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-slider:hover .mat-slider-track-background,
.light-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-disabled .mat-slider-track-background,
.light-theme .mat-slider-disabled .mat-slider-track-fill,
.light-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.light-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-step-header.cdk-keyboard-focused, .light-theme .mat-step-header.cdk-program-focused, .light-theme .mat-step-header:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-step-header:hover {
    background: none;
  }
}
.light-theme .mat-step-header .mat-step-label,
.light-theme .mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-selected,
.light-theme .mat-step-header .mat-step-icon-state-done,
.light-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.light-theme .mat-stepper-horizontal, .light-theme .mat-stepper-vertical {
  background-color: white;
}
.light-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-horizontal-stepper-header::before,
.light-theme .mat-horizontal-stepper-header::after,
.light-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header {
  height: 72px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}
.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}
.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}
.light-theme .mat-sort-header-arrow {
  color: #757575;
}
.light-theme .mat-tab-nav-bar,
.light-theme .mat-tab-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.light-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.light-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}
.light-theme .mat-tab-label, .light-theme .mat-tab-link {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.light-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-primary .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-accent .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-warn .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-toolbar {
  background: whitesmoke;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-toolbar.mat-primary {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-accent {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.light-theme .mat-toolbar .mat-form-field-underline,
.light-theme .mat-toolbar .mat-form-field-ripple,
.light-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.light-theme .mat-toolbar .mat-form-field-label,
.light-theme .mat-toolbar .mat-focused .mat-form-field-label,
.light-theme .mat-toolbar .mat-select-value,
.light-theme .mat-toolbar .mat-select-arrow,
.light-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.light-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.mat-toolbar-multiple-rows {
  min-height: 64px;
}
.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}
@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}
.light-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.light-theme .mat-tree {
  background: white;
}
.light-theme .mat-tree-node,
.light-theme .mat-nested-tree-node {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tree-node {
  min-height: 48px;
}
.light-theme .mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-simple-snackbar-action {
  color: #1e40af;
}
.dark-theme .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-option {
  color: white;
}
.dark-theme .mat-option:hover:not(.mat-option-disabled), .dark-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-active {
  background: rgba(255, 255, 255, 0.04);
  color: white;
}
.dark-theme .mat-option.mat-option-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.dark-theme .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-pseudo-checkbox {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #303030;
}
.dark-theme .mat-pseudo-checkbox-disabled {
  color: #686868;
}
.dark-theme .mat-primary .mat-pseudo-checkbox-checked,
.dark-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-pseudo-checkbox-checked,
.dark-theme .mat-pseudo-checkbox-indeterminate,
.dark-theme .mat-accent .mat-pseudo-checkbox-checked,
.dark-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-warn .mat-pseudo-checkbox-checked,
.dark-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.dark-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.dark-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #686868;
}
.dark-theme .mat-app-background, .dark-theme.mat-app-background {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.dark-theme .mat-autocomplete-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: #424242;
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: white;
}
.dark-theme .mat-badge-content {
  color: white;
  background: #60a5fa;
}
.cdk-high-contrast-active .dark-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.dark-theme .mat-badge-accent .mat-badge-content {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.dark-theme .mat-badge {
  position: relative;
}
.dark-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.dark-theme .mat-badge-disabled .mat-badge-content {
  background: #6e6e6e;
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.dark-theme .ng-animate-disabled .mat-badge-content,
.dark-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.dark-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.dark-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.dark-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.dark-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.dark-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.dark-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.dark-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.dark-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.dark-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.dark-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-button, .dark-theme .mat-icon-button, .dark-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.dark-theme .mat-button.mat-primary, .dark-theme .mat-icon-button.mat-primary, .dark-theme .mat-stroked-button.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-accent, .dark-theme .mat-icon-button.mat-accent, .dark-theme .mat-stroked-button.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-warn, .dark-theme .mat-icon-button.mat-warn, .dark-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.dark-theme .mat-button.mat-primary.mat-button-disabled, .dark-theme .mat-button.mat-accent.mat-button-disabled, .dark-theme .mat-button.mat-warn.mat-button-disabled, .dark-theme .mat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-icon-button.mat-primary.mat-button-disabled, .dark-theme .mat-icon-button.mat-accent.mat-button-disabled, .dark-theme .mat-icon-button.mat-warn.mat-button-disabled, .dark-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-stroked-button.mat-primary.mat-button-disabled, .dark-theme .mat-stroked-button.mat-accent.mat-button-disabled, .dark-theme .mat-stroked-button.mat-warn.mat-button-disabled, .dark-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.dark-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.dark-theme .mat-button .mat-ripple-element, .dark-theme .mat-icon-button .mat-ripple-element, .dark-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.dark-theme .mat-button-focus-overlay {
  background: white;
}
.dark-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button, .dark-theme .mat-raised-button, .dark-theme .mat-fab, .dark-theme .mat-mini-fab {
  color: white;
  background-color: #424242;
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  color: white;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  color: white;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  color: white;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button.mat-primary .mat-ripple-element, .dark-theme .mat-raised-button.mat-primary .mat-ripple-element, .dark-theme .mat-fab.mat-primary .mat-ripple-element, .dark-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-accent .mat-ripple-element, .dark-theme .mat-raised-button.mat-accent .mat-ripple-element, .dark-theme .mat-fab.mat-accent .mat-ripple-element, .dark-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-warn .mat-ripple-element, .dark-theme .mat-raised-button.mat-warn .mat-ripple-element, .dark-theme .mat-fab.mat-warn .mat-ripple-element, .dark-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-stroked-button:not([class*=mat-elevation-z]), .dark-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone,
.dark-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.dark-theme .mat-button-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-appearance-standard {
  color: white;
  background: #424242;
}
.dark-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: white;
}
.dark-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-checked {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: white;
}
.dark-theme .mat-button-toggle-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: black;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: #424242;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #424242;
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-card {
  background: #424242;
  color: white;
}
.dark-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-frame {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-checkmark {
  fill: #303030;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #303030 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #303030;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.dark-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .dark-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #686868;
}
.dark-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #686868;
}
.dark-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.dark-theme .mat-chip.mat-standard-chip {
  background-color: #616161;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip::after {
  background: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-table {
  background: #424242;
}
.dark-theme .mat-table thead, .dark-theme .mat-table tbody, .dark-theme .mat-table tfoot,
.dark-theme mat-header-row, .dark-theme mat-row, .dark-theme mat-footer-row,
.dark-theme [mat-header-row], .dark-theme [mat-row], .dark-theme [mat-footer-row],
.dark-theme .mat-table-sticky {
  background: inherit;
}
.dark-theme mat-row, .dark-theme mat-header-row, .dark-theme mat-footer-row,
.dark-theme th.mat-header-cell, .dark-theme td.mat-cell, .dark-theme td.mat-footer-cell {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-header-cell {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-cell, .dark-theme .mat-footer-cell {
  color: white;
}
.dark-theme .mat-calendar-arrow {
  border-top-color: white;
}
.dark-theme .mat-datepicker-toggle,
.dark-theme .mat-datepicker-content .mat-calendar-next-button,
.dark-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: white;
}
.dark-theme .mat-calendar-table-header {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-table-header-divider::after {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-calendar-body-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-calendar-body-cell-content,
.dark-theme .mat-date-range-input-separator {
  color: white;
  border-color: transparent;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-in-preview {
  color: rgba(255, 255, 255, 0.24);
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-calendar-body-comparison-bridge-start::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-comparison-bridge-end::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: #424242;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.dark-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-datepicker-toggle-active {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.dark-theme .mat-date-range-input-inner[disabled] {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-divider {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-divider-vertical {
  border-right-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-action-row {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: #424242;
  }
}
.dark-theme .mat-expansion-panel-header-title {
  color: white;
}
.dark-theme .mat-expansion-panel-header-description,
.dark-theme .mat-expansion-indicator::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.dark-theme .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.dark-theme .mat-focused .mat-form-field-required-marker {
  color: #60a5fa;
}
.dark-theme .mat-form-field-ripple {
  background-color: white;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.dark-theme .mat-error {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: white;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.15);
}
.dark-theme .mat-icon.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-warn {
  color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-input-element:disabled,
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element option {
  color: rgba(0, 0, 0, 0.87);
}
.dark-theme .mat-input-element option:disabled {
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-warn .mat-input-element,
.dark-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-list-base .mat-list-item {
  color: white;
}
.dark-theme .mat-list-base .mat-list-option {
  color: white;
}
.dark-theme .mat-list-base .mat-subheader {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-list-item-disabled {
  background-color: black;
}
.dark-theme .mat-list-option:hover, .dark-theme .mat-list-option:focus,
.dark-theme .mat-nav-list .mat-list-item:hover,
.dark-theme .mat-nav-list .mat-list-item:focus,
.dark-theme .mat-action-list .mat-list-item:hover,
.dark-theme .mat-action-list .mat-list-item:focus {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-list-single-selected-option, .dark-theme .mat-list-single-selected-option:hover, .dark-theme .mat-list-single-selected-option:focus {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-menu-panel {
  background: #424242;
}
.dark-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-menu-item {
  background: transparent;
  color: white;
}
.dark-theme .mat-menu-item[disabled], .dark-theme .mat-menu-item[disabled]::after,
.dark-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-menu-item .mat-icon-no-color,
.dark-theme .mat-menu-item-submenu-trigger::after {
  color: white;
}
.dark-theme .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.dark-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-paginator {
  background: #424242;
}
.dark-theme .mat-paginator,
.dark-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-paginator-decrement,
.dark-theme .mat-paginator-increment {
  border-top: 2px solid white;
  border-right: 2px solid white;
}
.dark-theme .mat-paginator-first,
.dark-theme .mat-paginator-last {
  border-top: 2px solid white;
}
.dark-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.dark-theme .mat-icon-button[disabled] .mat-paginator-increment,
.dark-theme .mat-icon-button[disabled] .mat-paginator-first,
.dark-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.dark-theme .mat-progress-spinner circle, .dark-theme .mat-spinner circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-accent circle, .dark-theme .mat-spinner.mat-accent circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-warn circle, .dark-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.dark-theme .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.dark-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.dark-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-select-value {
  color: white;
}
.dark-theme .mat-select-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-disabled .mat-select-value {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-arrow {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-select-panel {
  background: #424242;
}
.dark-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-drawer-container {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-drawer {
  background-color: #424242;
  color: white;
}
.dark-theme .mat-drawer.mat-drawer-push {
  background-color: #424242;
}
.dark-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-drawer-side {
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(189, 189, 189, 0.6);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #bdbdbd;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-primary .mat-slider-track-fill,
.dark-theme .mat-primary .mat-slider-thumb,
.dark-theme .mat-primary .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-accent .mat-slider-track-fill,
.dark-theme .mat-accent .mat-slider-thumb,
.dark-theme .mat-accent .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-warn .mat-slider-track-fill,
.dark-theme .mat-warn .mat-slider-thumb,
.dark-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.dark-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-slider:hover .mat-slider-track-background,
.dark-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled .mat-slider-track-background,
.dark-theme .mat-slider-disabled .mat-slider-track-fill,
.dark-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: white;
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: transparent;
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-step-header.cdk-keyboard-focused, .dark-theme .mat-step-header.cdk-program-focused, .dark-theme .mat-step-header:hover {
  background-color: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-step-header:hover {
    background: none;
  }
}
.dark-theme .mat-step-header .mat-step-label,
.dark-theme .mat-step-header .mat-step-optional {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-step-header .mat-step-icon {
  background-color: rgba(255, 255, 255, 0.7);
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-selected,
.dark-theme .mat-step-header .mat-step-icon-state-done,
.dark-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: white;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.dark-theme .mat-stepper-horizontal, .dark-theme .mat-stepper-vertical {
  background-color: #424242;
}
.dark-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-horizontal-stepper-header::before,
.dark-theme .mat-horizontal-stepper-header::after,
.dark-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-sort-header-arrow {
  color: #c6c6c6;
}
.dark-theme .mat-tab-nav-bar,
.dark-theme .mat-tab-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.dark-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: none;
}
.dark-theme .mat-tab-label, .dark-theme .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-header-pagination-chevron {
  border-color: white;
}
.dark-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.dark-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-primary .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-accent .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-warn .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-toolbar {
  background: #212121;
  color: white;
}
.dark-theme .mat-toolbar.mat-primary {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-accent {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.dark-theme .mat-toolbar .mat-form-field-underline,
.dark-theme .mat-toolbar .mat-form-field-ripple,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.dark-theme .mat-toolbar .mat-form-field-label,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-label,
.dark-theme .mat-toolbar .mat-select-value,
.dark-theme .mat-toolbar .mat-select-arrow,
.dark-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.dark-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.dark-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.dark-theme .mat-tree {
  background: #424242;
}
.dark-theme .mat-tree-node,
.dark-theme .mat-nested-tree-node {
  color: white;
}
.dark-theme .mat-snack-bar-container {
  color: rgba(0, 0, 0, 0.87);
  background: #fafafa;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-simple-snackbar-action {
  color: inherit;
}
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00106px);
  -ms-transform: translateY(-1.28119em) scale(0.75);
  width: 133.3333933333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00107px);
  -ms-transform: translateY(-1.28118em) scale(0.75);
  width: 133.3334033333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00108px);
  -ms-transform: translateY(-1.28117em) scale(0.75);
  width: 133.3334133333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28116em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28115em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28114em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
}
.mat-radio-button {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-slider-thumb-label-text {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tab-label, .mat-tab-link {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
@-webkit-keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
@keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.is-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.navbar-link:not(.is-arrowless)::after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 0.625em;
}
.title:not(:last-child),
.subtitle:not(:last-child) {
  margin-bottom: 1.5rem;
}
.is-overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  margin: 0;
  padding: 0;
}
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  font-size: 100%;
  font-weight: normal;
}
ul {
  list-style: none;
}
button,
input,
select,
textarea {
  margin: 0;
}
html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
img,
video {
  height: auto;
  max-width: 100%;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
td:not([align]),
th:not([align]) {
  text-align: left;
}
html {
  background-color: white;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
article,
aside,
figure,
footer,
header,
hgroup,
section {
  display: block;
}
body,
button,
input,
select,
textarea {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
code,
pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace;
}
body {
  color: #4a4a4a;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}
a {
  color: #3273dc;
  cursor: pointer;
  text-decoration: none;
}
a strong {
  color: currentColor;
}
a:hover {
  color: #363636;
}
code {
  background-color: whitesmoke;
  color: #f14668;
  font-size: 0.875em;
  font-weight: normal;
  padding: 0.25em 0.5em 0.25em;
}
hr {
  background-color: whitesmoke;
  border: none;
  display: block;
  height: 2px;
  margin: 1.5rem 0;
}
img {
  height: auto;
  max-width: 100%;
}
input[type=checkbox],
input[type=radio] {
  vertical-align: baseline;
}
small {
  font-size: 0.875em;
}
span {
  font-style: inherit;
  font-weight: inherit;
}
strong {
  color: #363636;
  font-weight: 700;
}
fieldset {
  border: none;
}
pre {
  -webkit-overflow-scrolling: touch;
  background-color: whitesmoke;
  color: #4a4a4a;
  font-size: 0.875em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
  white-space: pre;
  word-wrap: normal;
}
pre code {
  background-color: transparent;
  color: currentColor;
  font-size: 1em;
  padding: 0;
}
table td,
table th {
  vertical-align: top;
}
table td:not([align]),
table th:not([align]) {
  text-align: left;
}
table th {
  color: #363636;
}
.is-clearfix::after {
  clear: both;
  content: " ";
  display: table;
}
.is-pulled-left {
  float: left !important;
}
.is-pulled-right {
  float: right !important;
}
.is-clipped {
  overflow: hidden !important;
}
.is-size-1 {
  font-size: 3rem !important;
}
.is-size-2 {
  font-size: 2.5rem !important;
}
.is-size-3 {
  font-size: 2rem !important;
}
.is-size-4 {
  font-size: 1.5rem !important;
}
.is-size-5 {
  font-size: 1.25rem !important;
}
.is-size-6 {
  font-size: 1rem !important;
}
.is-size-7 {
  font-size: 0.75rem !important;
}
@media screen and (max-width: 768px) {
  .is-size-1-mobile {
    font-size: 3rem !important;
  }

  .is-size-2-mobile {
    font-size: 2.5rem !important;
  }

  .is-size-3-mobile {
    font-size: 2rem !important;
  }

  .is-size-4-mobile {
    font-size: 1.5rem !important;
  }

  .is-size-5-mobile {
    font-size: 1.25rem !important;
  }

  .is-size-6-mobile {
    font-size: 1rem !important;
  }

  .is-size-7-mobile {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-size-1-tablet {
    font-size: 3rem !important;
  }

  .is-size-2-tablet {
    font-size: 2.5rem !important;
  }

  .is-size-3-tablet {
    font-size: 2rem !important;
  }

  .is-size-4-tablet {
    font-size: 1.5rem !important;
  }

  .is-size-5-tablet {
    font-size: 1.25rem !important;
  }

  .is-size-6-tablet {
    font-size: 1rem !important;
  }

  .is-size-7-tablet {
    font-size: 0.75rem !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-size-1-touch {
    font-size: 3rem !important;
  }

  .is-size-2-touch {
    font-size: 2.5rem !important;
  }

  .is-size-3-touch {
    font-size: 2rem !important;
  }

  .is-size-4-touch {
    font-size: 1.5rem !important;
  }

  .is-size-5-touch {
    font-size: 1.25rem !important;
  }

  .is-size-6-touch {
    font-size: 1rem !important;
  }

  .is-size-7-touch {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-size-1-desktop {
    font-size: 3rem !important;
  }

  .is-size-2-desktop {
    font-size: 2.5rem !important;
  }

  .is-size-3-desktop {
    font-size: 2rem !important;
  }

  .is-size-4-desktop {
    font-size: 1.5rem !important;
  }

  .is-size-5-desktop {
    font-size: 1.25rem !important;
  }

  .is-size-6-desktop {
    font-size: 1rem !important;
  }

  .is-size-7-desktop {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-size-1-widescreen {
    font-size: 3rem !important;
  }

  .is-size-2-widescreen {
    font-size: 2.5rem !important;
  }

  .is-size-3-widescreen {
    font-size: 2rem !important;
  }

  .is-size-4-widescreen {
    font-size: 1.5rem !important;
  }

  .is-size-5-widescreen {
    font-size: 1.25rem !important;
  }

  .is-size-6-widescreen {
    font-size: 1rem !important;
  }

  .is-size-7-widescreen {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-size-1-fullhd {
    font-size: 3rem !important;
  }

  .is-size-2-fullhd {
    font-size: 2.5rem !important;
  }

  .is-size-3-fullhd {
    font-size: 2rem !important;
  }

  .is-size-4-fullhd {
    font-size: 1.5rem !important;
  }

  .is-size-5-fullhd {
    font-size: 1.25rem !important;
  }

  .is-size-6-fullhd {
    font-size: 1rem !important;
  }

  .is-size-7-fullhd {
    font-size: 0.75rem !important;
  }
}
.has-text-centered {
  text-align: center !important;
}
.has-text-justified {
  text-align: justify !important;
}
.has-text-left {
  text-align: left !important;
}
.has-text-right {
  text-align: right !important;
}
@media screen and (max-width: 768px) {
  .has-text-centered-mobile {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-centered-tablet {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-centered-tablet-only {
    text-align: center !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-centered-touch {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-centered-desktop {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-centered-desktop-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-centered-widescreen {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-centered-widescreen-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-centered-fullhd {
    text-align: center !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-justified-mobile {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-justified-tablet {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-justified-tablet-only {
    text-align: justify !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-justified-touch {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-justified-desktop {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-justified-desktop-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-justified-widescreen {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-justified-widescreen-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-justified-fullhd {
    text-align: justify !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-left-mobile {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-left-tablet {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-left-tablet-only {
    text-align: left !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-left-touch {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-left-desktop {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-left-desktop-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-left-widescreen {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-left-widescreen-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-left-fullhd {
    text-align: left !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-right-mobile {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-right-tablet {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-right-tablet-only {
    text-align: right !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-right-touch {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-right-desktop {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-right-desktop-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-right-widescreen {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-right-widescreen-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-right-fullhd {
    text-align: right !important;
  }
}
.is-capitalized {
  text-transform: capitalize !important;
}
.is-lowercase {
  text-transform: lowercase !important;
}
.is-uppercase {
  text-transform: uppercase !important;
}
.is-italic {
  font-style: italic !important;
}
.has-text-white {
  color: white !important;
}
a.has-text-white:hover, a.has-text-white:focus {
  color: #e6e6e6 !important;
}
.has-background-white {
  background-color: white !important;
}
.has-text-black {
  color: #0a0a0a !important;
}
a.has-text-black:hover, a.has-text-black:focus {
  color: black !important;
}
.has-background-black {
  background-color: #0a0a0a !important;
}
.has-text-light {
  color: whitesmoke !important;
}
a.has-text-light:hover, a.has-text-light:focus {
  color: #dbdbdb !important;
}
.has-background-light {
  background-color: whitesmoke !important;
}
.has-text-dark {
  color: #363636 !important;
}
a.has-text-dark:hover, a.has-text-dark:focus {
  color: #1c1c1c !important;
}
.has-background-dark {
  background-color: #363636 !important;
}
.has-text-primary {
  color: #00d1b2 !important;
}
a.has-text-primary:hover, a.has-text-primary:focus {
  color: #009e86 !important;
}
.has-background-primary {
  background-color: #00d1b2 !important;
}
.has-text-link {
  color: #3273dc !important;
}
a.has-text-link:hover, a.has-text-link:focus {
  color: #205bbc !important;
}
.has-background-link {
  background-color: #3273dc !important;
}
.has-text-info {
  color: #3298dc !important;
}
a.has-text-info:hover, a.has-text-info:focus {
  color: #207dbc !important;
}
.has-background-info {
  background-color: #3298dc !important;
}
.has-text-success {
  color: #48c774 !important;
}
a.has-text-success:hover, a.has-text-success:focus {
  color: #34a85c !important;
}
.has-background-success {
  background-color: #48c774 !important;
}
.has-text-warning {
  color: #ffdd57 !important;
}
a.has-text-warning:hover, a.has-text-warning:focus {
  color: #ffd324 !important;
}
.has-background-warning {
  background-color: #ffdd57 !important;
}
.has-text-danger {
  color: #f14668 !important;
}
a.has-text-danger:hover, a.has-text-danger:focus {
  color: #ee1742 !important;
}
.has-background-danger {
  background-color: #f14668 !important;
}
.has-text-black-bis {
  color: #121212 !important;
}
.has-background-black-bis {
  background-color: #121212 !important;
}
.has-text-black-ter {
  color: #242424 !important;
}
.has-background-black-ter {
  background-color: #242424 !important;
}
.has-text-grey-darker {
  color: #363636 !important;
}
.has-background-grey-darker {
  background-color: #363636 !important;
}
.has-text-grey-dark {
  color: #4a4a4a !important;
}
.has-background-grey-dark {
  background-color: #4a4a4a !important;
}
.has-text-grey {
  color: #7a7a7a !important;
}
.has-background-grey {
  background-color: #7a7a7a !important;
}
.has-text-grey-light {
  color: #b5b5b5 !important;
}
.has-background-grey-light {
  background-color: #b5b5b5 !important;
}
.has-text-grey-lighter {
  color: #dbdbdb !important;
}
.has-background-grey-lighter {
  background-color: #dbdbdb !important;
}
.has-text-white-ter {
  color: whitesmoke !important;
}
.has-background-white-ter {
  background-color: whitesmoke !important;
}
.has-text-white-bis {
  color: #fafafa !important;
}
.has-background-white-bis {
  background-color: #fafafa !important;
}
.has-text-weight-light {
  font-weight: 300 !important;
}
.has-text-weight-normal {
  font-weight: 400 !important;
}
.has-text-weight-medium {
  font-weight: 500 !important;
}
.has-text-weight-semibold {
  font-weight: 600 !important;
}
.has-text-weight-bold {
  font-weight: 700 !important;
}
.is-family-primary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-secondary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-sans-serif {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-monospace {
  font-family: monospace !important;
}
.is-family-code {
  font-family: monospace !important;
}
.is-block {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .is-block-mobile {
    display: block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-block-tablet {
    display: block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-block-tablet-only {
    display: block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-block-touch {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-block-desktop {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-block-desktop-only {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-block-widescreen {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-block-widescreen-only {
    display: block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-block-fullhd {
    display: block !important;
  }
}
.is-flex {
  display: flex !important;
}
@media screen and (max-width: 768px) {
  .is-flex-mobile {
    display: flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-flex-tablet {
    display: flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-flex-tablet-only {
    display: flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-flex-touch {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-flex-desktop {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-flex-desktop-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-flex-widescreen {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-flex-widescreen-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-flex-fullhd {
    display: flex !important;
  }
}
.is-inline {
  display: inline !important;
}
@media screen and (max-width: 768px) {
  .is-inline-mobile {
    display: inline !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-tablet {
    display: inline !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-tablet-only {
    display: inline !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-touch {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-desktop {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-desktop-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-widescreen {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-widescreen-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-fullhd {
    display: inline !important;
  }
}
.is-inline-block {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  .is-inline-block-mobile {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-block-tablet {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-block-tablet-only {
    display: inline-block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-block-touch {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-block-desktop {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-block-desktop-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-block-widescreen {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-block-widescreen-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-block-fullhd {
    display: inline-block !important;
  }
}
.is-inline-flex {
  display: inline-flex !important;
}
@media screen and (max-width: 768px) {
  .is-inline-flex-mobile {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-flex-tablet {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-flex-tablet-only {
    display: inline-flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-flex-touch {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-flex-desktop {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-flex-desktop-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-flex-widescreen {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-flex-widescreen-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-flex-fullhd {
    display: inline-flex !important;
  }
}
.is-hidden {
  display: none !important;
}
.is-sr-only {
  border: none !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 0.01em !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 0.01em !important;
}
@media screen and (max-width: 768px) {
  .is-hidden-mobile {
    display: none !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-hidden-tablet {
    display: none !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-hidden-tablet-only {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-hidden-touch {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-hidden-desktop {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-hidden-desktop-only {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-hidden-widescreen {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-hidden-widescreen-only {
    display: none !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-hidden-fullhd {
    display: none !important;
  }
}
.is-invisible {
  visibility: hidden !important;
}
@media screen and (max-width: 768px) {
  .is-invisible-mobile {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-invisible-tablet {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-invisible-tablet-only {
    visibility: hidden !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-invisible-touch {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-invisible-desktop {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-invisible-desktop-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-invisible-widescreen {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-invisible-widescreen-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-invisible-fullhd {
    visibility: hidden !important;
  }
}
.is-marginless {
  margin: 0 !important;
}
.is-paddingless {
  padding: 0 !important;
}
.is-radiusless {
  border-radius: 0 !important;
}
.is-shadowless {
  box-shadow: none !important;
}
.is-relative {
  position: relative !important;
}
.column {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0.75rem;
}
.columns.is-mobile > .column.is-narrow {
  flex: none;
}
.columns.is-mobile > .column.is-full {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-three-quarters {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-two-thirds {
  flex: none;
  width: 66.6666%;
}
.columns.is-mobile > .column.is-half {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-one-third {
  flex: none;
  width: 33.3333%;
}
.columns.is-mobile > .column.is-one-quarter {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-one-fifth {
  flex: none;
  width: 20%;
}
.columns.is-mobile > .column.is-two-fifths {
  flex: none;
  width: 40%;
}
.columns.is-mobile > .column.is-three-fifths {
  flex: none;
  width: 60%;
}
.columns.is-mobile > .column.is-four-fifths {
  flex: none;
  width: 80%;
}
.columns.is-mobile > .column.is-offset-three-quarters {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-offset-two-thirds {
  margin-left: 66.6666%;
}
.columns.is-mobile > .column.is-offset-half {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-offset-one-third {
  margin-left: 33.3333%;
}
.columns.is-mobile > .column.is-offset-one-quarter {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-offset-one-fifth {
  margin-left: 20%;
}
.columns.is-mobile > .column.is-offset-two-fifths {
  margin-left: 40%;
}
.columns.is-mobile > .column.is-offset-three-fifths {
  margin-left: 60%;
}
.columns.is-mobile > .column.is-offset-four-fifths {
  margin-left: 80%;
}
.columns.is-mobile > .column.is-0 {
  flex: none;
  width: 0%;
}
.columns.is-mobile > .column.is-offset-0 {
  margin-left: 0%;
}
.columns.is-mobile > .column.is-1 {
  flex: none;
  width: 8.3333333333%;
}
.columns.is-mobile > .column.is-offset-1 {
  margin-left: 8.3333333333%;
}
.columns.is-mobile > .column.is-2 {
  flex: none;
  width: 16.6666666667%;
}
.columns.is-mobile > .column.is-offset-2 {
  margin-left: 16.6666666667%;
}
.columns.is-mobile > .column.is-3 {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-offset-3 {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-4 {
  flex: none;
  width: 33.3333333333%;
}
.columns.is-mobile > .column.is-offset-4 {
  margin-left: 33.3333333333%;
}
.columns.is-mobile > .column.is-5 {
  flex: none;
  width: 41.6666666667%;
}
.columns.is-mobile > .column.is-offset-5 {
  margin-left: 41.6666666667%;
}
.columns.is-mobile > .column.is-6 {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-offset-6 {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-7 {
  flex: none;
  width: 58.3333333333%;
}
.columns.is-mobile > .column.is-offset-7 {
  margin-left: 58.3333333333%;
}
.columns.is-mobile > .column.is-8 {
  flex: none;
  width: 66.6666666667%;
}
.columns.is-mobile > .column.is-offset-8 {
  margin-left: 66.6666666667%;
}
.columns.is-mobile > .column.is-9 {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-offset-9 {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-10 {
  flex: none;
  width: 83.3333333333%;
}
.columns.is-mobile > .column.is-offset-10 {
  margin-left: 83.3333333333%;
}
.columns.is-mobile > .column.is-11 {
  flex: none;
  width: 91.6666666667%;
}
.columns.is-mobile > .column.is-offset-11 {
  margin-left: 91.6666666667%;
}
.columns.is-mobile > .column.is-12 {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-offset-12 {
  margin-left: 100%;
}
@media screen and (max-width: 768px) {
  .column.is-narrow-mobile {
    flex: none;
  }
  .column.is-full-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-mobile {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-mobile {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-mobile {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-mobile {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-mobile {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-mobile {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-mobile {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-mobile {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-mobile {
    margin-left: 50%;
  }
  .column.is-offset-one-third-mobile {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-mobile {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-mobile {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-mobile {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-mobile {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-mobile {
    margin-left: 80%;
  }
  .column.is-0-mobile {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-mobile {
    margin-left: 0%;
  }
  .column.is-1-mobile {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-mobile {
    margin-left: 8.3333333333%;
  }
  .column.is-2-mobile {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-mobile {
    margin-left: 16.6666666667%;
  }
  .column.is-3-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-mobile {
    margin-left: 25%;
  }
  .column.is-4-mobile {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-mobile {
    margin-left: 33.3333333333%;
  }
  .column.is-5-mobile {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-mobile {
    margin-left: 41.6666666667%;
  }
  .column.is-6-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-mobile {
    margin-left: 50%;
  }
  .column.is-7-mobile {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-mobile {
    margin-left: 58.3333333333%;
  }
  .column.is-8-mobile {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-mobile {
    margin-left: 66.6666666667%;
  }
  .column.is-9-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-mobile {
    margin-left: 75%;
  }
  .column.is-10-mobile {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-mobile {
    margin-left: 83.3333333333%;
  }
  .column.is-11-mobile {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-mobile {
    margin-left: 91.6666666667%;
  }
  .column.is-12-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-mobile {
    margin-left: 100%;
  }
}
@media screen and (min-width: 769px), print {
  .column.is-narrow, .column.is-narrow-tablet {
    flex: none;
  }
  .column.is-full, .column.is-full-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters, .column.is-three-quarters-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds, .column.is-two-thirds-tablet {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half, .column.is-half-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-one-third, .column.is-one-third-tablet {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter, .column.is-one-quarter-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth, .column.is-one-fifth-tablet {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths, .column.is-two-fifths-tablet {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths, .column.is-three-fifths-tablet {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths, .column.is-four-fifths-tablet {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
    margin-left: 66.6666%;
  }
  .column.is-offset-half, .column.is-offset-half-tablet {
    margin-left: 50%;
  }
  .column.is-offset-one-third, .column.is-offset-one-third-tablet {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
    margin-left: 80%;
  }
  .column.is-0, .column.is-0-tablet {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0, .column.is-offset-0-tablet {
    margin-left: 0%;
  }
  .column.is-1, .column.is-1-tablet {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1, .column.is-offset-1-tablet {
    margin-left: 8.3333333333%;
  }
  .column.is-2, .column.is-2-tablet {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2, .column.is-offset-2-tablet {
    margin-left: 16.6666666667%;
  }
  .column.is-3, .column.is-3-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3, .column.is-offset-3-tablet {
    margin-left: 25%;
  }
  .column.is-4, .column.is-4-tablet {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4, .column.is-offset-4-tablet {
    margin-left: 33.3333333333%;
  }
  .column.is-5, .column.is-5-tablet {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5, .column.is-offset-5-tablet {
    margin-left: 41.6666666667%;
  }
  .column.is-6, .column.is-6-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6, .column.is-offset-6-tablet {
    margin-left: 50%;
  }
  .column.is-7, .column.is-7-tablet {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7, .column.is-offset-7-tablet {
    margin-left: 58.3333333333%;
  }
  .column.is-8, .column.is-8-tablet {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8, .column.is-offset-8-tablet {
    margin-left: 66.6666666667%;
  }
  .column.is-9, .column.is-9-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9, .column.is-offset-9-tablet {
    margin-left: 75%;
  }
  .column.is-10, .column.is-10-tablet {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10, .column.is-offset-10-tablet {
    margin-left: 83.3333333333%;
  }
  .column.is-11, .column.is-11-tablet {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11, .column.is-offset-11-tablet {
    margin-left: 91.6666666667%;
  }
  .column.is-12, .column.is-12-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12, .column.is-offset-12-tablet {
    margin-left: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .column.is-narrow-touch {
    flex: none;
  }
  .column.is-full-touch {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-touch {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-touch {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-touch {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-touch {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-touch {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-touch {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-touch {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-touch {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-touch {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-touch {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-touch {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-touch {
    margin-left: 50%;
  }
  .column.is-offset-one-third-touch {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-touch {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-touch {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-touch {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-touch {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-touch {
    margin-left: 80%;
  }
  .column.is-0-touch {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-touch {
    margin-left: 0%;
  }
  .column.is-1-touch {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-touch {
    margin-left: 8.3333333333%;
  }
  .column.is-2-touch {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-touch {
    margin-left: 16.6666666667%;
  }
  .column.is-3-touch {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-touch {
    margin-left: 25%;
  }
  .column.is-4-touch {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-touch {
    margin-left: 33.3333333333%;
  }
  .column.is-5-touch {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-touch {
    margin-left: 41.6666666667%;
  }
  .column.is-6-touch {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-touch {
    margin-left: 50%;
  }
  .column.is-7-touch {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-touch {
    margin-left: 58.3333333333%;
  }
  .column.is-8-touch {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-touch {
    margin-left: 66.6666666667%;
  }
  .column.is-9-touch {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-touch {
    margin-left: 75%;
  }
  .column.is-10-touch {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-touch {
    margin-left: 83.3333333333%;
  }
  .column.is-11-touch {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-touch {
    margin-left: 91.6666666667%;
  }
  .column.is-12-touch {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-touch {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .column.is-narrow-desktop {
    flex: none;
  }
  .column.is-full-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-desktop {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-desktop {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-desktop {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-desktop {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-desktop {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-desktop {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-desktop {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-desktop {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-desktop {
    margin-left: 50%;
  }
  .column.is-offset-one-third-desktop {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-desktop {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-desktop {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-desktop {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-desktop {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-desktop {
    margin-left: 80%;
  }
  .column.is-0-desktop {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-desktop {
    margin-left: 0%;
  }
  .column.is-1-desktop {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-desktop {
    margin-left: 8.3333333333%;
  }
  .column.is-2-desktop {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-desktop {
    margin-left: 16.6666666667%;
  }
  .column.is-3-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-desktop {
    margin-left: 25%;
  }
  .column.is-4-desktop {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-desktop {
    margin-left: 33.3333333333%;
  }
  .column.is-5-desktop {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-desktop {
    margin-left: 41.6666666667%;
  }
  .column.is-6-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-desktop {
    margin-left: 50%;
  }
  .column.is-7-desktop {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-desktop {
    margin-left: 58.3333333333%;
  }
  .column.is-8-desktop {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-desktop {
    margin-left: 66.6666666667%;
  }
  .column.is-9-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-desktop {
    margin-left: 75%;
  }
  .column.is-10-desktop {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-desktop {
    margin-left: 83.3333333333%;
  }
  .column.is-11-desktop {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-desktop {
    margin-left: 91.6666666667%;
  }
  .column.is-12-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-desktop {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1216px) {
  .column.is-narrow-widescreen {
    flex: none;
  }
  .column.is-full-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-widescreen {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-widescreen {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-widescreen {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-widescreen {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-widescreen {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-widescreen {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-widescreen {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-widescreen {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-widescreen {
    margin-left: 50%;
  }
  .column.is-offset-one-third-widescreen {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-widescreen {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-widescreen {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-widescreen {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-widescreen {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-widescreen {
    margin-left: 80%;
  }
  .column.is-0-widescreen {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-widescreen {
    margin-left: 0%;
  }
  .column.is-1-widescreen {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-widescreen {
    margin-left: 8.3333333333%;
  }
  .column.is-2-widescreen {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-widescreen {
    margin-left: 16.6666666667%;
  }
  .column.is-3-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-widescreen {
    margin-left: 25%;
  }
  .column.is-4-widescreen {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-widescreen {
    margin-left: 33.3333333333%;
  }
  .column.is-5-widescreen {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-widescreen {
    margin-left: 41.6666666667%;
  }
  .column.is-6-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-widescreen {
    margin-left: 50%;
  }
  .column.is-7-widescreen {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-widescreen {
    margin-left: 58.3333333333%;
  }
  .column.is-8-widescreen {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-widescreen {
    margin-left: 66.6666666667%;
  }
  .column.is-9-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-widescreen {
    margin-left: 75%;
  }
  .column.is-10-widescreen {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-widescreen {
    margin-left: 83.3333333333%;
  }
  .column.is-11-widescreen {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-widescreen {
    margin-left: 91.6666666667%;
  }
  .column.is-12-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-widescreen {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1408px) {
  .column.is-narrow-fullhd {
    flex: none;
  }
  .column.is-full-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-fullhd {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-fullhd {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-fullhd {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-fullhd {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-fullhd {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-fullhd {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-fullhd {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-fullhd {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-fullhd {
    margin-left: 50%;
  }
  .column.is-offset-one-third-fullhd {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-fullhd {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-fullhd {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-fullhd {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-fullhd {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-fullhd {
    margin-left: 80%;
  }
  .column.is-0-fullhd {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-fullhd {
    margin-left: 0%;
  }
  .column.is-1-fullhd {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-fullhd {
    margin-left: 8.3333333333%;
  }
  .column.is-2-fullhd {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-fullhd {
    margin-left: 16.6666666667%;
  }
  .column.is-3-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-fullhd {
    margin-left: 25%;
  }
  .column.is-4-fullhd {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-fullhd {
    margin-left: 33.3333333333%;
  }
  .column.is-5-fullhd {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-fullhd {
    margin-left: 41.6666666667%;
  }
  .column.is-6-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-fullhd {
    margin-left: 50%;
  }
  .column.is-7-fullhd {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-fullhd {
    margin-left: 58.3333333333%;
  }
  .column.is-8-fullhd {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-fullhd {
    margin-left: 66.6666666667%;
  }
  .column.is-9-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-fullhd {
    margin-left: 75%;
  }
  .column.is-10-fullhd {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-fullhd {
    margin-left: 83.3333333333%;
  }
  .column.is-11-fullhd {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-fullhd {
    margin-left: 91.6666666667%;
  }
  .column.is-12-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-fullhd {
    margin-left: 100%;
  }
}
.columns {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.columns:last-child {
  margin-bottom: -0.75rem;
}
.columns:not(:last-child) {
  margin-bottom: calc(1.5rem - 0.75rem);
}
.columns.is-centered {
  justify-content: center;
}
.columns.is-gapless {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
.columns.is-gapless > .column {
  margin: 0;
  padding: 0 !important;
}
.columns.is-gapless:not(:last-child) {
  margin-bottom: 1.5rem;
}
.columns.is-gapless:last-child {
  margin-bottom: 0;
}
.columns.is-mobile {
  display: flex;
}
.columns.is-multiline {
  flex-wrap: wrap;
}
.columns.is-vcentered {
  align-items: center;
}
@media screen and (min-width: 769px), print {
  .columns:not(.is-desktop) {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-desktop {
    display: flex;
  }
}
.columns.is-variable {
  --columnGap: 0.75rem;
  margin-left: calc(-1 * var(--columnGap));
  margin-right: calc(-1 * var(--columnGap));
}
.columns.is-variable .column {
  padding-left: var(--columnGap);
  padding-right: var(--columnGap);
}
.columns.is-variable.is-0 {
  --columnGap: 0rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-0-mobile {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-0-tablet {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-0-tablet-only {
    --columnGap: 0rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-0-touch {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-0-desktop {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-0-desktop-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-0-widescreen {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-0-widescreen-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-0-fullhd {
    --columnGap: 0rem;
  }
}
.columns.is-variable.is-1 {
  --columnGap: 0.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-1-mobile {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-1-tablet {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-1-tablet-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-1-touch {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-1-desktop {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-1-desktop-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-1-widescreen {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-1-widescreen-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-1-fullhd {
    --columnGap: 0.25rem;
  }
}
.columns.is-variable.is-2 {
  --columnGap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-2-mobile {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-2-tablet {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-2-tablet-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-2-touch {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-2-desktop {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-2-desktop-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-2-widescreen {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-2-widescreen-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-2-fullhd {
    --columnGap: 0.5rem;
  }
}
.columns.is-variable.is-3 {
  --columnGap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-3-mobile {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-3-tablet {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-3-tablet-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-3-touch {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-3-desktop {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-3-desktop-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-3-widescreen {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-3-widescreen-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-3-fullhd {
    --columnGap: 0.75rem;
  }
}
.columns.is-variable.is-4 {
  --columnGap: 1rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-4-mobile {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-4-tablet {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-4-tablet-only {
    --columnGap: 1rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-4-touch {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-4-desktop {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-4-desktop-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-4-widescreen {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-4-widescreen-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-4-fullhd {
    --columnGap: 1rem;
  }
}
.columns.is-variable.is-5 {
  --columnGap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-5-mobile {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-5-tablet {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-5-tablet-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-5-touch {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-5-desktop {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-5-desktop-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-5-widescreen {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-5-widescreen-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-5-fullhd {
    --columnGap: 1.25rem;
  }
}
.columns.is-variable.is-6 {
  --columnGap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-6-mobile {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-6-tablet {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-6-tablet-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-6-touch {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-6-desktop {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-6-desktop-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-6-widescreen {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-6-widescreen-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-6-fullhd {
    --columnGap: 1.5rem;
  }
}
.columns.is-variable.is-7 {
  --columnGap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-7-mobile {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-7-tablet {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-7-tablet-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-7-touch {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-7-desktop {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-7-desktop-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-7-widescreen {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-7-widescreen-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-7-fullhd {
    --columnGap: 1.75rem;
  }
}
.columns.is-variable.is-8 {
  --columnGap: 2rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-8-mobile {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-8-tablet {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-8-tablet-only {
    --columnGap: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-8-touch {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-8-desktop {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-8-desktop-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-8-widescreen {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-8-widescreen-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-8-fullhd {
    --columnGap: 2rem;
  }
}
.tile {
  align-items: stretch;
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
}
.tile.is-ancestor {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.tile.is-ancestor:last-child {
  margin-bottom: -0.75rem;
}
.tile.is-ancestor:not(:last-child) {
  margin-bottom: 0.75rem;
}
.tile.is-child {
  margin: 0 !important;
}
.tile.is-parent {
  padding: 0.75rem;
}
.tile.is-vertical {
  flex-direction: column;
}
.tile.is-vertical > .tile.is-child:not(:last-child) {
  margin-bottom: 1.5rem !important;
}
@media screen and (min-width: 769px), print {
  .tile:not(.is-child) {
    display: flex;
  }
  .tile.is-1 {
    flex: none;
    width: 8.3333333333%;
  }
  .tile.is-2 {
    flex: none;
    width: 16.6666666667%;
  }
  .tile.is-3 {
    flex: none;
    width: 25%;
  }
  .tile.is-4 {
    flex: none;
    width: 33.3333333333%;
  }
  .tile.is-5 {
    flex: none;
    width: 41.6666666667%;
  }
  .tile.is-6 {
    flex: none;
    width: 50%;
  }
  .tile.is-7 {
    flex: none;
    width: 58.3333333333%;
  }
  .tile.is-8 {
    flex: none;
    width: 66.6666666667%;
  }
  .tile.is-9 {
    flex: none;
    width: 75%;
  }
  .tile.is-10 {
    flex: none;
    width: 83.3333333333%;
  }
  .tile.is-11 {
    flex: none;
    width: 91.6666666667%;
  }
  .tile.is-12 {
    flex: none;
    width: 100%;
  }
}
.navbar {
  background-color: white;
  min-height: 3.25rem;
  position: relative;
  z-index: 30;
}
.navbar.is-white {
  background-color: white;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > .navbar-item,
.navbar.is-white .navbar-brand .navbar-link {
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
.navbar.is-white .navbar-brand .navbar-link:focus,
.navbar.is-white .navbar-brand .navbar-link:hover,
.navbar.is-white .navbar-brand .navbar-link.is-active {
  background-color: #f2f2f2;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand .navbar-link::after {
  border-color: #0a0a0a;
}
.navbar.is-white .navbar-burger {
  color: #0a0a0a;
}
@media screen and (min-width: 1024px) {
  .navbar.is-white .navbar-start > .navbar-item,
.navbar.is-white .navbar-start .navbar-link,
.navbar.is-white .navbar-end > .navbar-item,
.navbar.is-white .navbar-end .navbar-link {
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
.navbar.is-white .navbar-start .navbar-link:focus,
.navbar.is-white .navbar-start .navbar-link:hover,
.navbar.is-white .navbar-start .navbar-link.is-active,
.navbar.is-white .navbar-end > a.navbar-item:focus,
.navbar.is-white .navbar-end > a.navbar-item:hover,
.navbar.is-white .navbar-end > a.navbar-item.is-active,
.navbar.is-white .navbar-end .navbar-link:focus,
.navbar.is-white .navbar-end .navbar-link:hover,
.navbar.is-white .navbar-end .navbar-link.is-active {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start .navbar-link::after,
.navbar.is-white .navbar-end .navbar-link::after {
    border-color: #0a0a0a;
  }
  .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
    background-color: white;
    color: #0a0a0a;
  }
}
.navbar.is-black {
  background-color: #0a0a0a;
  color: white;
}
.navbar.is-black .navbar-brand > .navbar-item,
.navbar.is-black .navbar-brand .navbar-link {
  color: white;
}
.navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
.navbar.is-black .navbar-brand .navbar-link:focus,
.navbar.is-black .navbar-brand .navbar-link:hover,
.navbar.is-black .navbar-brand .navbar-link.is-active {
  background-color: black;
  color: white;
}
.navbar.is-black .navbar-brand .navbar-link::after {
  border-color: white;
}
.navbar.is-black .navbar-burger {
  color: white;
}
@media screen and (min-width: 1024px) {
  .navbar.is-black .navbar-start > .navbar-item,
.navbar.is-black .navbar-start .navbar-link,
.navbar.is-black .navbar-end > .navbar-item,
.navbar.is-black .navbar-end .navbar-link {
    color: white;
  }
  .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
.navbar.is-black .navbar-start .navbar-link:focus,
.navbar.is-black .navbar-start .navbar-link:hover,
.navbar.is-black .navbar-start .navbar-link.is-active,
.navbar.is-black .navbar-end > a.navbar-item:focus,
.navbar.is-black .navbar-end > a.navbar-item:hover,
.navbar.is-black .navbar-end > a.navbar-item.is-active,
.navbar.is-black .navbar-end .navbar-link:focus,
.navbar.is-black .navbar-end .navbar-link:hover,
.navbar.is-black .navbar-end .navbar-link.is-active {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-start .navbar-link::after,
.navbar.is-black .navbar-end .navbar-link::after {
    border-color: white;
  }
  .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
    background-color: #0a0a0a;
    color: white;
  }
}
.navbar.is-light {
  background-color: whitesmoke;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > .navbar-item,
.navbar.is-light .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
.navbar.is-light .navbar-brand .navbar-link:focus,
.navbar.is-light .navbar-brand .navbar-link:hover,
.navbar.is-light .navbar-brand .navbar-link.is-active {
  background-color: #e8e8e8;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-light .navbar-start > .navbar-item,
.navbar.is-light .navbar-start .navbar-link,
.navbar.is-light .navbar-end > .navbar-item,
.navbar.is-light .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
.navbar.is-light .navbar-start .navbar-link:focus,
.navbar.is-light .navbar-start .navbar-link:hover,
.navbar.is-light .navbar-start .navbar-link.is-active,
.navbar.is-light .navbar-end > a.navbar-item:focus,
.navbar.is-light .navbar-end > a.navbar-item:hover,
.navbar.is-light .navbar-end > a.navbar-item.is-active,
.navbar.is-light .navbar-end .navbar-link:focus,
.navbar.is-light .navbar-end .navbar-link:hover,
.navbar.is-light .navbar-end .navbar-link.is-active {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start .navbar-link::after,
.navbar.is-light .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-dark {
  background-color: #363636;
  color: #fff;
}
.navbar.is-dark .navbar-brand > .navbar-item,
.navbar.is-dark .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active,
.navbar.is-dark .navbar-brand .navbar-link:focus,
.navbar.is-dark .navbar-brand .navbar-link:hover,
.navbar.is-dark .navbar-brand .navbar-link.is-active {
  background-color: #292929;
  color: #fff;
}
.navbar.is-dark .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-dark .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-dark .navbar-start > .navbar-item,
.navbar.is-dark .navbar-start .navbar-link,
.navbar.is-dark .navbar-end > .navbar-item,
.navbar.is-dark .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active,
.navbar.is-dark .navbar-start .navbar-link:focus,
.navbar.is-dark .navbar-start .navbar-link:hover,
.navbar.is-dark .navbar-start .navbar-link.is-active,
.navbar.is-dark .navbar-end > a.navbar-item:focus,
.navbar.is-dark .navbar-end > a.navbar-item:hover,
.navbar.is-dark .navbar-end > a.navbar-item.is-active,
.navbar.is-dark .navbar-end .navbar-link:focus,
.navbar.is-dark .navbar-end .navbar-link:hover,
.navbar.is-dark .navbar-end .navbar-link.is-active {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-start .navbar-link::after,
.navbar.is-dark .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {
    background-color: #363636;
    color: #fff;
  }
}
.navbar.is-primary {
  background-color: #00d1b2;
  color: #fff;
}
.navbar.is-primary .navbar-brand > .navbar-item,
.navbar.is-primary .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active,
.navbar.is-primary .navbar-brand .navbar-link:focus,
.navbar.is-primary .navbar-brand .navbar-link:hover,
.navbar.is-primary .navbar-brand .navbar-link.is-active {
  background-color: #00b89c;
  color: #fff;
}
.navbar.is-primary .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-primary .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-primary .navbar-start > .navbar-item,
.navbar.is-primary .navbar-start .navbar-link,
.navbar.is-primary .navbar-end > .navbar-item,
.navbar.is-primary .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active,
.navbar.is-primary .navbar-start .navbar-link:focus,
.navbar.is-primary .navbar-start .navbar-link:hover,
.navbar.is-primary .navbar-start .navbar-link.is-active,
.navbar.is-primary .navbar-end > a.navbar-item:focus,
.navbar.is-primary .navbar-end > a.navbar-item:hover,
.navbar.is-primary .navbar-end > a.navbar-item.is-active,
.navbar.is-primary .navbar-end .navbar-link:focus,
.navbar.is-primary .navbar-end .navbar-link:hover,
.navbar.is-primary .navbar-end .navbar-link.is-active {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-start .navbar-link::after,
.navbar.is-primary .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
    background-color: #00d1b2;
    color: #fff;
  }
}
.navbar.is-link {
  background-color: #3273dc;
  color: #fff;
}
.navbar.is-link .navbar-brand > .navbar-item,
.navbar.is-link .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
.navbar.is-link .navbar-brand .navbar-link:focus,
.navbar.is-link .navbar-brand .navbar-link:hover,
.navbar.is-link .navbar-brand .navbar-link.is-active {
  background-color: #2366d1;
  color: #fff;
}
.navbar.is-link .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-link .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-link .navbar-start > .navbar-item,
.navbar.is-link .navbar-start .navbar-link,
.navbar.is-link .navbar-end > .navbar-item,
.navbar.is-link .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
.navbar.is-link .navbar-start .navbar-link:focus,
.navbar.is-link .navbar-start .navbar-link:hover,
.navbar.is-link .navbar-start .navbar-link.is-active,
.navbar.is-link .navbar-end > a.navbar-item:focus,
.navbar.is-link .navbar-end > a.navbar-item:hover,
.navbar.is-link .navbar-end > a.navbar-item.is-active,
.navbar.is-link .navbar-end .navbar-link:focus,
.navbar.is-link .navbar-end .navbar-link:hover,
.navbar.is-link .navbar-end .navbar-link.is-active {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-start .navbar-link::after,
.navbar.is-link .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
    background-color: #3273dc;
    color: #fff;
  }
}
.navbar.is-info {
  background-color: #3298dc;
  color: #fff;
}
.navbar.is-info .navbar-brand > .navbar-item,
.navbar.is-info .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
.navbar.is-info .navbar-brand .navbar-link:focus,
.navbar.is-info .navbar-brand .navbar-link:hover,
.navbar.is-info .navbar-brand .navbar-link.is-active {
  background-color: #238cd1;
  color: #fff;
}
.navbar.is-info .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-info .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-info .navbar-start > .navbar-item,
.navbar.is-info .navbar-start .navbar-link,
.navbar.is-info .navbar-end > .navbar-item,
.navbar.is-info .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
.navbar.is-info .navbar-start .navbar-link:focus,
.navbar.is-info .navbar-start .navbar-link:hover,
.navbar.is-info .navbar-start .navbar-link.is-active,
.navbar.is-info .navbar-end > a.navbar-item:focus,
.navbar.is-info .navbar-end > a.navbar-item:hover,
.navbar.is-info .navbar-end > a.navbar-item.is-active,
.navbar.is-info .navbar-end .navbar-link:focus,
.navbar.is-info .navbar-end .navbar-link:hover,
.navbar.is-info .navbar-end .navbar-link.is-active {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-start .navbar-link::after,
.navbar.is-info .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
    background-color: #3298dc;
    color: #fff;
  }
}
.navbar.is-success {
  background-color: #48c774;
  color: #fff;
}
.navbar.is-success .navbar-brand > .navbar-item,
.navbar.is-success .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
.navbar.is-success .navbar-brand .navbar-link:focus,
.navbar.is-success .navbar-brand .navbar-link:hover,
.navbar.is-success .navbar-brand .navbar-link.is-active {
  background-color: #3abb67;
  color: #fff;
}
.navbar.is-success .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-success .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-success .navbar-start > .navbar-item,
.navbar.is-success .navbar-start .navbar-link,
.navbar.is-success .navbar-end > .navbar-item,
.navbar.is-success .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
.navbar.is-success .navbar-start .navbar-link:focus,
.navbar.is-success .navbar-start .navbar-link:hover,
.navbar.is-success .navbar-start .navbar-link.is-active,
.navbar.is-success .navbar-end > a.navbar-item:focus,
.navbar.is-success .navbar-end > a.navbar-item:hover,
.navbar.is-success .navbar-end > a.navbar-item.is-active,
.navbar.is-success .navbar-end .navbar-link:focus,
.navbar.is-success .navbar-end .navbar-link:hover,
.navbar.is-success .navbar-end .navbar-link.is-active {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-start .navbar-link::after,
.navbar.is-success .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
    background-color: #48c774;
    color: #fff;
  }
}
.navbar.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > .navbar-item,
.navbar.is-warning .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
.navbar.is-warning .navbar-brand .navbar-link:focus,
.navbar.is-warning .navbar-brand .navbar-link:hover,
.navbar.is-warning .navbar-brand .navbar-link.is-active {
  background-color: #ffd83d;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-warning .navbar-start > .navbar-item,
.navbar.is-warning .navbar-start .navbar-link,
.navbar.is-warning .navbar-end > .navbar-item,
.navbar.is-warning .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
.navbar.is-warning .navbar-start .navbar-link:focus,
.navbar.is-warning .navbar-start .navbar-link:hover,
.navbar.is-warning .navbar-start .navbar-link.is-active,
.navbar.is-warning .navbar-end > a.navbar-item:focus,
.navbar.is-warning .navbar-end > a.navbar-item:hover,
.navbar.is-warning .navbar-end > a.navbar-item.is-active,
.navbar.is-warning .navbar-end .navbar-link:focus,
.navbar.is-warning .navbar-end .navbar-link:hover,
.navbar.is-warning .navbar-end .navbar-link.is-active {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start .navbar-link::after,
.navbar.is-warning .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
    background-color: #ffdd57;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-danger {
  background-color: #f14668;
  color: #fff;
}
.navbar.is-danger .navbar-brand > .navbar-item,
.navbar.is-danger .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
.navbar.is-danger .navbar-brand .navbar-link:focus,
.navbar.is-danger .navbar-brand .navbar-link:hover,
.navbar.is-danger .navbar-brand .navbar-link.is-active {
  background-color: #ef2e55;
  color: #fff;
}
.navbar.is-danger .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-danger .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-danger .navbar-start > .navbar-item,
.navbar.is-danger .navbar-start .navbar-link,
.navbar.is-danger .navbar-end > .navbar-item,
.navbar.is-danger .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
.navbar.is-danger .navbar-start .navbar-link:focus,
.navbar.is-danger .navbar-start .navbar-link:hover,
.navbar.is-danger .navbar-start .navbar-link.is-active,
.navbar.is-danger .navbar-end > a.navbar-item:focus,
.navbar.is-danger .navbar-end > a.navbar-item:hover,
.navbar.is-danger .navbar-end > a.navbar-item.is-active,
.navbar.is-danger .navbar-end .navbar-link:focus,
.navbar.is-danger .navbar-end .navbar-link:hover,
.navbar.is-danger .navbar-end .navbar-link.is-active {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-start .navbar-link::after,
.navbar.is-danger .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
    background-color: #f14668;
    color: #fff;
  }
}
.navbar > .container {
  align-items: stretch;
  display: flex;
  min-height: 3.25rem;
  width: 100%;
}
.navbar.has-shadow {
  box-shadow: 0 2px 0 0 whitesmoke;
}
.navbar.is-fixed-bottom, .navbar.is-fixed-top {
  left: 0;
  position: fixed;
  right: 0;
  z-index: 30;
}
.navbar.is-fixed-bottom {
  bottom: 0;
}
.navbar.is-fixed-bottom.has-shadow {
  box-shadow: 0 -2px 0 0 whitesmoke;
}
.navbar.is-fixed-top {
  top: 0;
}
html.has-navbar-fixed-top,
body.has-navbar-fixed-top {
  padding-top: 3.25rem;
}
html.has-navbar-fixed-bottom,
body.has-navbar-fixed-bottom {
  padding-bottom: 3.25rem;
}
.navbar-brand,
.navbar-tabs {
  align-items: stretch;
  display: flex;
  flex-shrink: 0;
  min-height: 3.25rem;
}
.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
  background-color: transparent;
}
.navbar-tabs {
  -webkit-overflow-scrolling: touch;
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
}
.navbar-burger {
  color: #4a4a4a;
  cursor: pointer;
  display: block;
  height: 3.25rem;
  position: relative;
  width: 3.25rem;
  margin-left: auto;
}
.navbar-burger span {
  background-color: currentColor;
  display: block;
  height: 1px;
  left: calc(50% - 8px);
  position: absolute;
  transform-origin: center;
  transition-duration: 86ms;
  transition-property: background-color, opacity, transform;
  transition-timing-function: ease-out;
  width: 16px;
}
.navbar-burger span:nth-child(1) {
  top: calc(50% - 6px);
}
.navbar-burger span:nth-child(2) {
  top: calc(50% - 1px);
}
.navbar-burger span:nth-child(3) {
  top: calc(50% + 4px);
}
.navbar-burger:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.navbar-burger.is-active span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.navbar-burger.is-active span:nth-child(2) {
  opacity: 0;
}
.navbar-burger.is-active span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}
.navbar-menu {
  display: none;
}
.navbar-item,
.navbar-link {
  color: #4a4a4a;
  display: block;
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
  position: relative;
}
.navbar-item .icon:only-child,
.navbar-link .icon:only-child {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
a.navbar-item,
.navbar-link {
  cursor: pointer;
}
a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
.navbar-link:focus,
.navbar-link:focus-within,
.navbar-link:hover,
.navbar-link.is-active {
  background-color: #fafafa;
  color: #3273dc;
}
.navbar-item {
  flex-grow: 0;
  flex-shrink: 0;
}
.navbar-item img {
  max-height: 1.75rem;
}
.navbar-item.has-dropdown {
  padding: 0;
}
.navbar-item.is-expanded {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-item.is-tab {
  border-bottom: 1px solid transparent;
  min-height: 3.25rem;
  padding-bottom: calc(0.5rem - 1px);
}
.navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
  background-color: transparent;
  border-bottom-color: #3273dc;
}
.navbar-item.is-tab.is-active {
  background-color: transparent;
  border-bottom-color: #3273dc;
  border-bottom-style: solid;
  border-bottom-width: 3px;
  color: #3273dc;
  padding-bottom: calc(0.5rem - 3px);
}
.navbar-content {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-link:not(.is-arrowless) {
  padding-right: 2.5em;
}
.navbar-link:not(.is-arrowless)::after {
  border-color: #3273dc;
  margin-top: -0.375em;
  right: 1.125em;
}
.navbar-dropdown {
  font-size: 0.875rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.navbar-dropdown .navbar-item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.navbar-divider {
  background-color: whitesmoke;
  border: none;
  display: none;
  height: 2px;
  margin: 0.5rem 0;
}
@media screen and (max-width: 1023px) {
  .navbar > .container {
    display: block;
  }

  .navbar-brand .navbar-item,
.navbar-tabs .navbar-item {
    align-items: center;
    display: flex;
  }

  .navbar-link::after {
    display: none;
  }

  .navbar-menu {
    background-color: white;
    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
    padding: 0.5rem 0;
  }
  .navbar-menu.is-active {
    display: block;
  }

  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-touch {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-touch.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-touch {
    top: 0;
  }
  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 3.25rem);
    overflow: auto;
  }

  html.has-navbar-fixed-top-touch,
body.has-navbar-fixed-top-touch {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-touch,
body.has-navbar-fixed-bottom-touch {
    padding-bottom: 3.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .navbar,
.navbar-menu,
.navbar-start,
.navbar-end {
    align-items: stretch;
    display: flex;
  }

  .navbar {
    min-height: 3.25rem;
  }
  .navbar.is-spaced {
    padding: 1rem 2rem;
  }
  .navbar.is-spaced .navbar-start,
.navbar.is-spaced .navbar-end {
    align-items: center;
  }
  .navbar.is-spaced a.navbar-item,
.navbar.is-spaced .navbar-link {
    border-radius: 4px;
  }
  .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
.navbar.is-transparent .navbar-link:focus,
.navbar.is-transparent .navbar-link:hover,
.navbar.is-transparent .navbar-link.is-active {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }

  .navbar-burger {
    display: none;
  }

  .navbar-item,
.navbar-link {
    align-items: center;
    display: flex;
  }

  .navbar-item.has-dropdown {
    align-items: stretch;
  }
  .navbar-item.has-dropdown-up .navbar-link::after {
    transform: rotate(135deg) translate(0.25em, -0.25em);
  }
  .navbar-item.has-dropdown-up .navbar-dropdown {
    border-bottom: 2px solid #dbdbdb;
    border-radius: 6px 6px 0 0;
    border-top: none;
    bottom: 100%;
    box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
    top: auto;
  }
  .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
    display: block;
  }
  .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .navbar-menu {
    flex-grow: 1;
    flex-shrink: 0;
  }

  .navbar-start {
    justify-content: flex-start;
    margin-right: auto;
  }

  .navbar-end {
    justify-content: flex-end;
    margin-left: auto;
  }

  .navbar-dropdown {
    background-color: white;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top: 2px solid #dbdbdb;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
    display: none;
    font-size: 0.875rem;
    left: 0;
    min-width: 100%;
    position: absolute;
    top: 100%;
    z-index: 20;
  }
  .navbar-dropdown .navbar-item {
    padding: 0.375rem 1rem;
    white-space: nowrap;
  }
  .navbar-dropdown a.navbar-item {
    padding-right: 3rem;
  }
  .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }
  .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
    border-radius: 6px;
    border-top: none;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
    display: block;
    opacity: 0;
    pointer-events: none;
    top: calc(100% + (-4px));
    transform: translateY(-5px);
    transition-duration: 86ms;
    transition-property: opacity, transform;
  }
  .navbar-dropdown.is-right {
    left: auto;
    right: 0;
  }

  .navbar-divider {
    display: block;
  }

  .navbar > .container .navbar-brand,
.container > .navbar .navbar-brand {
    margin-left: -0.75rem;
  }
  .navbar > .container .navbar-menu,
.container > .navbar .navbar-menu {
    margin-right: -0.75rem;
  }

  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-desktop {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-desktop.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-desktop {
    top: 0;
  }

  html.has-navbar-fixed-top-desktop,
body.has-navbar-fixed-top-desktop {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-desktop,
body.has-navbar-fixed-bottom-desktop {
    padding-bottom: 3.25rem;
  }
  html.has-spaced-navbar-fixed-top,
body.has-spaced-navbar-fixed-top {
    padding-top: 5.25rem;
  }
  html.has-spaced-navbar-fixed-bottom,
body.has-spaced-navbar-fixed-bottom {
    padding-bottom: 5.25rem;
  }

  a.navbar-item.is-active,
.navbar-link.is-active {
    color: #0a0a0a;
  }
  a.navbar-item.is-active:not(:focus):not(:hover),
.navbar-link.is-active:not(:focus):not(:hover) {
    background-color: transparent;
  }

  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #fafafa;
  }
}
.hero.is-fullheight-with-navbar {
  min-height: calc(100vh - 3.25rem);
}
.container {
  flex-grow: 1;
  margin: 0 auto;
  position: relative;
  width: auto;
}
.container.is-fluid {
  max-width: none;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media screen and (max-width: 1215px) {
  .container.is-widescreen {
    max-width: 1152px;
  }
}
@media screen and (max-width: 1407px) {
  .container.is-fullhd {
    max-width: 1344px;
  }
}
@media screen and (min-width: 1216px) {
  .container {
    max-width: 1152px;
  }
}
@media screen and (min-width: 1408px) {
  .container {
    max-width: 1344px;
  }
}
.section {
  padding: 3rem 1.5rem;
}
@media screen and (min-width: 1024px) {
  .section.is-medium {
    padding: 9rem 1.5rem;
  }
  .section.is-large {
    padding: 18rem 1.5rem;
  }
}
.title,
.subtitle {
  word-break: break-word;
}
.title em,
.title span,
.subtitle em,
.subtitle span {
  font-weight: inherit;
}
.title sub,
.subtitle sub {
  font-size: 0.75em;
}
.title sup,
.subtitle sup {
  font-size: 0.75em;
}
.title .tag,
.subtitle .tag {
  vertical-align: middle;
}
.title {
  color: #363636;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.125;
}
.title strong {
  color: inherit;
  font-weight: inherit;
}
.title + .highlight {
  margin-top: -0.75rem;
}
.title:not(.is-spaced) + .subtitle {
  margin-top: -1.25rem;
}
.title.is-1 {
  font-size: 3rem;
}
.title.is-2 {
  font-size: 2.5rem;
}
.title.is-3 {
  font-size: 2rem;
}
.title.is-4 {
  font-size: 1.5rem;
}
.title.is-5 {
  font-size: 1.25rem;
}
.title.is-6 {
  font-size: 1rem;
}
.title.is-7 {
  font-size: 0.75rem;
}
.subtitle {
  color: #4a4a4a;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}
.subtitle strong {
  color: #363636;
  font-weight: 600;
}
.subtitle:not(.is-spaced) + .title {
  margin-top: -1.25rem;
}
.subtitle.is-1 {
  font-size: 3rem;
}
.subtitle.is-2 {
  font-size: 2.5rem;
}
.subtitle.is-3 {
  font-size: 2rem;
}
.subtitle.is-4 {
  font-size: 1.5rem;
}
.subtitle.is-5 {
  font-size: 1.25rem;
}
.subtitle.is-6 {
  font-size: 1rem;
}
.subtitle.is-7 {
  font-size: 0.75rem;
}
.is-divider, .is-divider-vertical {
  display: block;
  position: relative;
  border-top: 0.1rem solid #dbdbdb;
  height: 0.1rem;
  margin: 2rem 0;
  text-align: center;
}
.is-divider[data-content]::after, .is-divider-vertical[data-content]::after {
  background: white;
  color: #b5b5b5;
  content: attr(data-content);
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.4rem 0.8rem;
  transform: translateY(-1.1rem);
  text-align: center;
}
@media screen and (min-width: 769px), print {
  .is-divider-vertical {
    display: block;
    flex: none;
    width: auto;
    height: auto;
    padding: 2rem;
    margin: 0;
    position: relative;
    border-top: none;
    min-height: 2rem;
  }
  .is-divider-vertical::before {
    border-left: 0.1rem solid #dbdbdb;
    bottom: 1rem;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 1rem;
    transform: translateX(-50%);
  }
  .is-divider-vertical[data-content]::after {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0.1rem;
    transform: translateY(-50%) translateX(-50%);
  }
}
.is-divider.is-white,
.is-divider-vertical.is-white {
  border-top-color: white;
}
.is-divider.is-white[data-content]::after, .is-divider.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after {
  background: #0a0a0a;
  color: white;
}
.is-divider.is-white::before,
.is-divider-vertical.is-white::before {
  border-left-color: white;
}
.is-divider.is-black,
.is-divider-vertical.is-black {
  border-top-color: #0a0a0a;
}
.is-divider.is-black[data-content]::after, .is-divider.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after {
  background: white;
  color: #0a0a0a;
}
.is-divider.is-black::before,
.is-divider-vertical.is-black::before {
  border-left-color: #0a0a0a;
}
.is-divider.is-light,
.is-divider-vertical.is-light {
  border-top-color: whitesmoke;
}
.is-divider.is-light[data-content]::after, .is-divider.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-light::before,
.is-divider-vertical.is-light::before {
  border-left-color: whitesmoke;
}
.is-divider.is-dark,
.is-divider-vertical.is-dark {
  border-top-color: #363636;
}
.is-divider.is-dark[data-content]::after, .is-divider.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-dark::before,
.is-divider-vertical.is-dark::before {
  border-left-color: #363636;
}
.is-divider.is-primary,
.is-divider-vertical.is-primary {
  border-top-color: #00d1b2;
}
.is-divider.is-primary[data-content]::after, .is-divider.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after {
  background: #fff;
  color: #00d1b2;
}
.is-divider.is-primary::before,
.is-divider-vertical.is-primary::before {
  border-left-color: #00d1b2;
}
.is-divider.is-link,
.is-divider-vertical.is-link {
  border-top-color: #3273dc;
}
.is-divider.is-link[data-content]::after, .is-divider.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after {
  background: #fff;
  color: #3273dc;
}
.is-divider.is-link::before,
.is-divider-vertical.is-link::before {
  border-left-color: #3273dc;
}
.is-divider.is-info,
.is-divider-vertical.is-info {
  border-top-color: #3298dc;
}
.is-divider.is-info[data-content]::after, .is-divider.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after {
  background: #fff;
  color: #3298dc;
}
.is-divider.is-info::before,
.is-divider-vertical.is-info::before {
  border-left-color: #3298dc;
}
.is-divider.is-success,
.is-divider-vertical.is-success {
  border-top-color: #48c774;
}
.is-divider.is-success[data-content]::after, .is-divider.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after {
  background: #fff;
  color: #48c774;
}
.is-divider.is-success::before,
.is-divider-vertical.is-success::before {
  border-left-color: #48c774;
}
.is-divider.is-warning,
.is-divider-vertical.is-warning {
  border-top-color: #ffdd57;
}
.is-divider.is-warning[data-content]::after, .is-divider.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}
.is-divider.is-warning::before,
.is-divider-vertical.is-warning::before {
  border-left-color: #ffdd57;
}
.is-divider.is-danger,
.is-divider-vertical.is-danger {
  border-top-color: #f14668;
}
.is-divider.is-danger[data-content]::after, .is-divider.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after {
  background: #fff;
  color: #f14668;
}
.is-divider.is-danger::before,
.is-divider-vertical.is-danger::before {
  border-left-color: #f14668;
}
.is-divider.is-black-bis,
.is-divider-vertical.is-black-bis {
  border-top-color: #121212;
}
.is-divider.is-black-bis[data-content]::after, .is-divider.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after {
  background: #fff;
  color: #121212;
}
.is-divider.is-black-bis::before,
.is-divider-vertical.is-black-bis::before {
  border-left-color: #121212;
}
.is-divider.is-black-ter,
.is-divider-vertical.is-black-ter {
  border-top-color: #242424;
}
.is-divider.is-black-ter[data-content]::after, .is-divider.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after {
  background: #fff;
  color: #242424;
}
.is-divider.is-black-ter::before,
.is-divider-vertical.is-black-ter::before {
  border-left-color: #242424;
}
.is-divider.is-grey-darker,
.is-divider-vertical.is-grey-darker {
  border-top-color: #363636;
}
.is-divider.is-grey-darker[data-content]::after, .is-divider.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-grey-darker::before,
.is-divider-vertical.is-grey-darker::before {
  border-left-color: #363636;
}
.is-divider.is-grey-dark,
.is-divider-vertical.is-grey-dark {
  border-top-color: #4a4a4a;
}
.is-divider.is-grey-dark[data-content]::after, .is-divider.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after {
  background: #fff;
  color: #4a4a4a;
}
.is-divider.is-grey-dark::before,
.is-divider-vertical.is-grey-dark::before {
  border-left-color: #4a4a4a;
}
.is-divider.is-grey,
.is-divider-vertical.is-grey {
  border-top-color: #7a7a7a;
}
.is-divider.is-grey[data-content]::after, .is-divider.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after {
  background: #fff;
  color: #7a7a7a;
}
.is-divider.is-grey::before,
.is-divider-vertical.is-grey::before {
  border-left-color: #7a7a7a;
}
.is-divider.is-grey-light,
.is-divider-vertical.is-grey-light {
  border-top-color: #b5b5b5;
}
.is-divider.is-grey-light[data-content]::after, .is-divider.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after {
  background: #fff;
  color: #b5b5b5;
}
.is-divider.is-grey-light::before,
.is-divider-vertical.is-grey-light::before {
  border-left-color: #b5b5b5;
}
.is-divider.is-grey-lighter,
.is-divider-vertical.is-grey-lighter {
  border-top-color: #dbdbdb;
}
.is-divider.is-grey-lighter[data-content]::after, .is-divider.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #dbdbdb;
}
.is-divider.is-grey-lighter::before,
.is-divider-vertical.is-grey-lighter::before {
  border-left-color: #dbdbdb;
}
.is-divider.is-white-ter,
.is-divider-vertical.is-white-ter {
  border-top-color: whitesmoke;
}
.is-divider.is-white-ter[data-content]::after, .is-divider.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-white-ter::before,
.is-divider-vertical.is-white-ter::before {
  border-left-color: whitesmoke;
}
.is-divider.is-white-bis,
.is-divider-vertical.is-white-bis {
  border-top-color: #fafafa;
}
.is-divider.is-white-bis[data-content]::after, .is-divider.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #fafafa;
}
.is-divider.is-white-bis::before,
.is-divider-vertical.is-white-bis::before {
  border-left-color: #fafafa;
}
.table thead th.is-1 {
  width: 2.5% !important;
}
.table thead th.is-2 {
  width: 5% !important;
}
.table thead th.is-3 {
  width: 7.5% !important;
}
.table thead th.is-4 {
  width: 10% !important;
}
.table thead th.is-5 {
  width: 20% !important;
}
.table thead th.is-6 {
  width: 30% !important;
}
.table thead th.is-7 {
  width: 33.33% !important;
}
.table thead th.is-8 {
  width: 40% !important;
}
.table thead th.is-9 {
  width: 50% !important;
}
.table thead th.is-10 {
  width: 66.66% !important;
}
.table thead th.is-11 {
  width: 100% !important;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: flex;
}
.ct-chart-pie .ct-label,
.ct-chart-donut .ct-label {
  dominant-baseline: central;
}
.ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-vertical.ct-start {
  align-items: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-label.ct-vertical.ct-end {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}
.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}
.ct-grid-background {
  fill: none;
}
.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}
.ct-line {
  fill: none;
  stroke-width: 4px;
}
.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}
.ct-bar {
  fill: none;
  stroke-width: 10px;
}
.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}
.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #d70206;
}
.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #d70206;
}
.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #f05b4f;
}
.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #f4c63d;
}
.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #f4c63d;
}
.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #d17905;
}
.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #d17905;
}
.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #453d3f;
}
.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #453d3f;
}
.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #59922b;
}
.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #59922b;
}
.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}
.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
  fill: #0544d3;
}
.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}
.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
  fill: #6b0392;
}
.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
  fill: #f05b4f;
}
.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #dda458;
}
.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
  fill: #dda458;
}
.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}
.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
  fill: #eacf7d;
}
.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #86797d;
}
.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
  fill: #86797d;
}
.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}
.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
  fill: #b2c326;
}
.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}
.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
  fill: #6188e2;
}
.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}
.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
  fill: #a748ca;
}
.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-chart-pie .ct-label {
  font-size: 1.5rem;
}
.ct-legend {
  position: relative;
  z-index: 10;
}
.ct-legend li {
  position: relative;
  padding-left: 1.5em;
  padding-right: 0.5em;
  margin-bottom: 3px;
  cursor: pointer;
}
.ct-legend li:before {
  width: 12px;
  height: 12px;
  position: absolute;
  top: 5.5px;
  left: 0;
  content: "";
  border: 3px solid transparent;
  border-radius: 2px;
}
.ct-legend li.inactive:before {
  background: transparent !important;
}
.ct-legend.ct-legend-inside {
  position: absolute;
  right: 0;
}
.ct-legend .ct-series-0:before {
  background-color: #d70206;
  border-color: #d70206;
}
.ct-legend .ct-series-1:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-2:before {
  background-color: #f4c63d;
  border-color: #f4c63d;
}
.ct-legend .ct-series-3:before {
  background-color: #d17905;
  border-color: #d17905;
}
.ct-legend .ct-series-4:before {
  background-color: #453d3f;
  border-color: #453d3f;
}
.ct-legend .ct-series-5:before {
  background-color: #59922b;
  border-color: #59922b;
}
.ct-legend .ct-series-6:before {
  background-color: #0544d3;
  border-color: #0544d3;
}
.ct-legend .ct-series-7:before {
  background-color: #6b0392;
  border-color: #6b0392;
}
.ct-legend .ct-series-8:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-9:before {
  background-color: #dda458;
  border-color: #dda458;
}
.ct-legend .ct-series-10:before {
  background-color: #eacf7d;
  border-color: #eacf7d;
}
.ct-legend .ct-series-11:before {
  background-color: #86797d;
  border-color: #86797d;
}
.ct-legend .ct-series-12:before {
  background-color: #b2c326;
  border-color: #b2c326;
}
.ct-legend .ct-series-13:before {
  background-color: #6188e2;
  border-color: #6188e2;
}
.ct-legend .ct-series-14:before {
  background-color: #a748ca;
  border-color: #a748ca;
}
.ct-bar {
  stroke-width: 50px;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.8);
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45 {
  transform: rotate(-45deg);
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45-end {
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space: nowrap;
}
x-chartist svg {
  overflow: visible;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
html {
  overflow-y: auto;
}
body,
html {
  height: 100%;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
body.modal-open,
html.modal-open {
  overflow-y: hidden;
}
body.modal-open app-navbar,
html.modal-open app-navbar {
  position: fixed;
}
body.sidesheet-open .sidesheet,
html.sidesheet-open .sidesheet {
  display: block;
}
body.cdk-global-scrollblock app-fixed-top-progress-bar,
html.cdk-global-scrollblock app-fixed-top-progress-bar {
  display: none;
}
body mat-icon,
html mat-icon {
  font-size: 16px;
}
@media screen and (max-width: 486px) {
  body mat-icon,
html mat-icon {
    font-size: 20px;
  }
}
body .title,
html .title {
  font-weight: 600;
  font-size: 1.25rem;
}
body .table.is-fullwidth,
html .table.is-fullwidth {
  width: 100%;
  height: 100%;
}
body {
  padding: 0;
  margin: 0;
}
app-admin .mat-tab-body-content {
  padding: 0.5em 1em;
}
.cal-month-view .cal-header {
  text-align: center;
  font-weight: bolder;
}
.cal-month-view .cal-header .cal-cell {
  padding: 5px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  white-space: nowrap;
}
.cal-month-view .cal-days {
  border: 1px solid;
  border-bottom: 0;
}
.cal-month-view .cal-cell-top {
  min-height: 78px;
  flex: 1;
}
.cal-month-view .cal-cell-row {
  display: flex;
}
.cal-month-view .cal-cell {
  float: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.cal-month-view .cal-cell .cal-event {
  pointer-events: all !important;
}
.cal-month-view .cal-day-cell {
  min-height: 100px;
}
@media all and (-ms-high-contrast: none) {
  .cal-month-view .cal-day-cell {
    display: block;
  }
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right: 1px solid;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom: 1px solid;
}
.cal-month-view .cal-day-badge {
  margin-top: 18px;
  margin-left: 10px;
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  border-radius: 10px;
}
.cal-month-view .cal-day-number {
  font-size: 1.2em;
  font-weight: 400;
  opacity: 0.5;
  margin-top: 15px;
  margin-right: 15px;
  float: right;
  margin-bottom: 10px;
}
.cal-month-view .cal-events {
  flex: 1;
  align-items: flex-end;
  margin: 3px;
  line-height: 10px;
  display: flex;
  flex-wrap: wrap;
}
.cal-month-view .cal-event {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 2px;
}
.cal-month-view .cal-day-cell.cal-in-month.cal-has-events {
  cursor: pointer;
}
.cal-month-view .cal-day-cell.cal-out-month .cal-day-number {
  opacity: 0.1;
  cursor: default;
}
.cal-month-view .cal-day-cell.cal-today .cal-day-number {
  font-size: 1.9em;
}
.cal-month-view .cal-open-day-events {
  padding: 15px;
}
.cal-month-view .cal-open-day-events .cal-event {
  position: relative;
  top: 2px;
}
.cal-month-view .cal-out-month .cal-day-badge,
.cal-month-view .cal-out-month .cal-event {
  opacity: 0.3;
}
.cal-month-view .cal-draggable {
  cursor: move;
}
.cal-month-view .cal-drag-active * {
  pointer-events: none;
}
.cal-month-view .cal-event-title {
  cursor: pointer;
}
.cal-month-view .cal-event-title:hover {
  text-decoration: underline;
}
.cal-month-view {
  background-color: #fff;
}
.cal-month-view .cal-cell-row:hover {
  background-color: #fafafa;
}
.cal-month-view .cal-cell-row .cal-cell:hover,
.cal-month-view .cal-cell.cal-has-events.cal-open {
  background-color: #ededed;
}
.cal-month-view .cal-days {
  border-color: #e1e1e1;
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom-color: #e1e1e1;
}
.cal-month-view .cal-day-badge {
  background-color: #b94a48;
  color: #fff;
}
.cal-month-view .cal-event {
  background-color: #1e90ff;
  border-color: #d1e8ff;
  color: #fff;
}
.cal-month-view .cal-day-cell.cal-weekend .cal-day-number {
  color: #8b0000;
}
.cal-month-view .cal-day-cell.cal-today {
  background-color: #e8fde7;
}
.cal-month-view .cal-day-cell.cal-drag-over {
  background-color: #e0e0e0 !important;
}
.cal-month-view .cal-open-day-events {
  color: #fff;
  background-color: #555;
  box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.5);
}
.cal-week-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-week-view * {
  box-sizing: border-box;
}
.cal-week-view .cal-day-headers {
  display: flex;
  padding-left: 70px;
  border: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header {
  flex: 1;
  text-align: center;
  padding: 5px;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left: 1px solid;
}
.cal-week-view .cal-day-headers span {
  font-weight: 400;
  opacity: 0.5;
}
.cal-week-view .cal-day-column {
  flex-grow: 1;
  border-left: solid 1px;
}
.cal-week-view .cal-event {
  font-size: 12px;
  border: 1px solid;
}
.cal-week-view .cal-time-label-column {
  width: 70px;
  height: 100%;
}
.cal-week-view .cal-current-time-marker {
  position: absolute;
  width: 100%;
  height: 2px;
  z-index: 2;
}
.cal-week-view .cal-all-day-events {
  border: solid 1px;
  border-top: 0;
  border-bottom-width: 3px;
  padding-top: 3px;
  position: relative;
}
.cal-week-view .cal-all-day-events .cal-day-columns {
  height: 100%;
  width: 100%;
  display: flex;
  position: absolute;
  top: 0;
  z-index: 0;
}
.cal-week-view .cal-all-day-events .cal-events-row {
  position: relative;
  height: 31px;
  margin-left: 70px;
}
.cal-week-view .cal-all-day-events .cal-event-container {
  display: inline-block;
  position: absolute;
}
.cal-week-view .cal-all-day-events .cal-event-container.resize-active {
  z-index: 1;
  pointer-events: none;
}
.cal-week-view .cal-all-day-events .cal-event {
  padding: 0 5px;
  margin-left: 2px;
  margin-right: 2px;
  height: 28px;
  line-height: 28px;
}
.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-time-label-column {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.cal-week-view .cal-all-day-events .cal-resize-handle {
  width: 6px;
  height: 100%;
  cursor: col-resize;
  position: absolute;
  top: 0;
}
.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end {
  right: 0;
}
.cal-week-view .cal-event,
.cal-week-view .cal-header {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cal-week-view .cal-drag-active {
  pointer-events: none;
  z-index: 1;
}
.cal-week-view .cal-drag-active * {
  pointer-events: none;
}
.cal-week-view .cal-time-events {
  position: relative;
  border: solid 1px;
  border-top: 0;
  display: flex;
}
.cal-week-view .cal-time-events .cal-day-columns {
  display: flex;
  flex-grow: 1;
}
.cal-week-view .cal-time-events .cal-day-column {
  position: relative;
}
.cal-week-view .cal-time-events .cal-events-container {
  position: relative;
}
.cal-week-view .cal-time-events .cal-event-container {
  position: absolute;
  z-index: 1;
}
.cal-week-view .cal-time-events .cal-event {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  margin: 1px;
  padding: 0 5px;
  line-height: 25px;
}
.cal-week-view .cal-time-events .cal-resize-handle {
  width: 100%;
  height: 4px;
  cursor: row-resize;
  position: absolute;
}
.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end {
  bottom: 0;
}
.cal-week-view .cal-hour-segment {
  position: relative;
}
.cal-week-view .cal-hour-segment::after {
  content: " ";
}
.cal-week-view .cal-event-container:not(.cal-draggable) {
  cursor: pointer;
}
.cal-week-view .cal-draggable {
  cursor: move;
}
.cal-week-view mwl-calendar-week-view-hour-segment,
.cal-week-view .cal-hour-segment {
  display: block;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom: thin dashed;
}
.cal-week-view .cal-time {
  font-weight: bold;
  padding-top: 5px;
  width: 70px;
  text-align: center;
}
.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time {
  display: none;
}
.cal-week-view .cal-starts-within-day .cal-event {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.cal-week-view .cal-ends-within-day .cal-event {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view {
  background-color: #fff;
  border-top: solid 1px #e1e1e1;
}
.cal-week-view .cal-day-headers {
  border-color: #e1e1e1;
  border-top: 0;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:hover,
.cal-week-view .cal-day-headers .cal-drag-over {
  background-color: #ededed;
}
.cal-week-view .cal-day-column {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-event {
  background-color: #d1e8ff;
  border-color: #1e90ff;
  color: #1e90ff;
}
.cal-week-view .cal-all-day-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-header.cal-today {
  background-color: #e8fde7;
}
.cal-week-view .cal-header.cal-weekend span {
  color: #8b0000;
}
.cal-week-view .cal-time-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: #ededed;
}
.cal-week-view .cal-hour-odd {
  background-color: #fafafa;
}
.cal-week-view .cal-drag-over .cal-hour-segment {
  background-color: #ededed;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom-color: #e1e1e1;
}
.cal-week-view .cal-current-time-marker {
  background-color: #ea4334;
}
.cal-day-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-day-view mwl-calendar-week-view-header {
  display: none;
}
.cal-day-view .cal-events-container {
  margin-left: 70px;
}
.cal-day-view .cal-day-column {
  border-left: 0;
}
.cal-day-view .cal-current-time-marker {
  margin-left: 70px;
  width: calc(100% - 70px);
}
.cal-tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  font-size: 11px;
  word-wrap: break-word;
  opacity: 0.9;
}
.cal-tooltip.cal-tooltip-top {
  padding: 5px 0;
  margin-top: -3px;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
}
.cal-tooltip.cal-tooltip-right {
  padding: 0 5px;
  margin-left: 3px;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
}
.cal-tooltip.cal-tooltip-bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
}
.cal-tooltip.cal-tooltip-left {
  padding: 0 5px;
  margin-left: -3px;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
}
.cal-tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  text-align: center;
  border-radius: 0.25rem;
}
.cal-tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  border-top-color: #000;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  border-right-color: #000;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  border-bottom-color: #000;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  border-left-color: #000;
}
.cal-tooltip-inner {
  color: #fff;
  background-color: #000;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-dialog-container {
  border-radius: 0.875rem !important;
  border: 1px solid transparent;
  padding: 15px !important;
  text-align: center;
}
.mat-dialog-container .modalWindow {
  width: 250px;
}
.mat-dialog-container .modalWindow h1 {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow h2, .mat-dialog-container .modalWindow mat-card.base-card mat-card-header, mat-card.base-card .mat-dialog-container .modalWindow mat-card-header, .mat-dialog-container .modalWindow mat-card.admin-event mat-card-header, mat-card.admin-event .mat-dialog-container .modalWindow mat-card-header {
  font-size: 0.8125rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow .logoContainer {
  display: flex;
  justify-content: center;
  font-size: 1.8125rem;
  margin: 1.7rem 0 2rem 0;
}
.mat-dialog-container .modalWindow .logoContainer .logo {
  box-shadow: 0px 1px 4px 2px rgba(0, 0, 0, 0.2);
  padding: 5px 15px;
  border-radius: 7px;
}
.mat-dialog-container .modalWindow button {
  margin: 0.25rem;
  width: 112px;
}
.mat-dialog-container .mat-form-field-flex .mat-form-field-appearance-outline {
  background-color: white;
  box-shadow: inset 0 1px 3px 1px LightGray;
}
.mat-dialog-container .mat-form-field-infix {
  border: 0px none white;
}
.mat-form-field {
  width: 100%;
  line-height: 1.5;
}
.mat-form-field .mat-form-field-wrapper .mat-icon {
  vertical-align: bottom;
  margin-right: 5px;
}
app-search-button .mat-search_field input {
  padding-left: 8px;
  padding-right: 36px;
}
app-search-button .mat-search_field .mat-form-field-underline {
  height: 3px;
  background-color: #434343;
  border-radius: 1.5px;
}
app-search-button .mat-search_field.mat-form-field-should-float label.mat-form-field-label {
  opacity: 0;
  transition: all 0.4s ease-in;
  transform: translateY(-1.28125em) scale(1.5) perspective(100px) translateZ(0.001px);
}
app-search-button .mat-search_field label.mat-form-field-label {
  opacity: 1;
  transition: all 0.2s ease-in-out;
  font-size: 1rem;
  top: 2rem;
  text-align: left;
  width: 80%;
  padding-left: 3rem;
}
.topics-table .mat-radio-label {
  width: 20px;
}
.mat-checkbox-layout {
  white-space: normal !important;
}
.mat-select-panel-wrap {
  position: relative;
  top: 40px;
}
.mat-select-panel-wrap:has(.jems3-select-panel-compact) {
  top: 23px;
  left: 29px;
}
.mat-select-panel.jems3-select-panel {
  -webkit-animation: none !important;
          animation: none !important;
  transition: none !important;
}
.compact .mat-form-field {
  line-height: 1.125;
}
.compact .mat-form-field .mat-form-field-wrapper {
  padding-bottom: 0;
}
.compact .mat-form-field .mat-form-field-underline {
  bottom: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.buttons .is-divider {
  margin: 2rem 0;
}
@media screen and (max-width: 599px) {
  .buttons .is-divider {
    margin: 1rem 0;
  }
}
.buttons .is-divider:after {
  background-color: whitesmoke;
  transform: translateY(-0.95rem);
  font-weight: bold;
}
a {
  outline: 0;
}
a:hover {
  text-decoration: none;
}
button {
  height: 26px;
}
button.mat-button,
button.mat-flat-button,
button.mat-stroked-button {
  line-height: 26px;
}
.close.button {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  line-height: 28px;
  font-size: 22px;
  cursor: pointer;
  text-align: center;
  z-index: 2;
}
.ripple-button.mat-raised-button {
  font-weight: 600;
  height: 34px;
  border-radius: 7px;
}
.ripple-button.mat-raised-button .mat-icon {
  vertical-align: baseline !important;
}
.ripple-button.mat-raised-button.selected {
  padding: 0 0.5rem;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button.selected:hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected) {
  padding: 0 0.5rem;
  background: transparent;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button:not(.selected):hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected):active {
  box-shadow: none;
  color: #3c4043;
}
.ripple-button.mat-raised-button.mat-raised-button.cdk-program-focused .mat-button-focus-overlay {
  opacity: 0;
}
.submissions .filters, .reviews .filters, .events .filters, .myevents .filters, .committees .filters, .event-admin .filters {
  display: flex;
}
.submissions .filters .toggle, .reviews .filters .toggle, .events .filters .toggle, .myevents .filters .toggle, .committees .filters .toggle, .event-admin .filters .toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 600;
}
.submissions .filters .toggle .mat-checkbox-label, .reviews .filters .toggle .mat-checkbox-label, .events .filters .toggle .mat-checkbox-label, .myevents .filters .toggle .mat-checkbox-label, .committees .filters .toggle .mat-checkbox-label, .event-admin .filters .toggle .mat-checkbox-label {
  margin-right: 8px;
  height: 100%;
  font-size: 13px;
}
.submissions .filters .toggle .notify-button, .reviews .filters .toggle .notify-button, .events .filters .toggle .notify-button, .myevents .filters .toggle .notify-button, .committees .filters .toggle .notify-button, .event-admin .filters .toggle .notify-button {
  color: red;
}
.notify-button {
  color: red !important;
}
.file-icon-buttons {
  line-height: 30px;
  text-align: right;
}
.file-icon-buttons button {
  height: 30px;
  width: 30px;
  line-height: 30px;
}
.file-icon-buttons .smaller-button, .file-icon-buttons .smaller-button mat-icon {
  height: 18px;
  width: 18px;
  line-height: 18px;
  font-size: 0.8rem;
}
.file-icon-buttons app-file-upload {
  margin-left: 0.5em;
  display: inline-block;
  line-height: 18px;
}
.app-icon-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid transparent;
  border-radius: 6px !important;
  line-height: 40px !important;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: background-color 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button ::ng-deep .mat-button-ripple,
.app-icon-button ::ng-deep .mat-button-focus-overlay {
  display: none !important;
}
.app-icon-button .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button:not(.mat-button-disabled):not(:disabled):hover .mat-icon {
  opacity: 0.9;
}
.app-icon-button.menu-open .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.app-icon-button:focus-visible {
  outline: 2px solid var(--c-accent, #7C2D12);
  outline-offset: 2px;
}
.chair-button.mat-flat-button,
.chair-button.mat-stroked-button {
  text-transform: none;
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
  min-width: 96px;
  padding: 0 16px;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}
.chair-button.mat-flat-button .mat-button-wrapper,
.chair-button.mat-stroked-button .mat-button-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.chair-button.chair-button--primary.mat-flat-button {
  font-weight: 500;
}
.chair-button.chair-button--secondary.mat-stroked-button {
  font-weight: 430;
  background-color: #f9f8f7;
  color: #373734;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button {
  background-color: #202020;
  color: #c4c2bd;
  border-color: #5a5651;
}
.chair-button.mat-flat-button:not(.mat-button-disabled):hover,
.chair-button.mat-stroked-button:not(.mat-button-disabled):hover {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary.mat-flat-button:not(.mat-button-disabled):hover {
  filter: brightness(0.93);
}
.chair-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.chair-button.mat-button-disabled,
.chair-button:disabled,
.chair-button[disabled] {
  color: #999999 !important;
}
.dark-theme .chair-button.mat-button-disabled,
.dark-theme .chair-button:disabled,
.dark-theme .chair-button[disabled] {
  color: #666666 !important;
}
.chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.chair-button.chair-button--primary.mat-flat-button:disabled,
.chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #1e40af !important;
  color: #ffffff !important;
  opacity: 0.5;
}
.dark-theme .chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button:disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #60a5fa !important;
  color: #ffffff !important;
  opacity: 0.55;
}
.chair-button:not(.mat-button-base) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-width: 96px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 430;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  color: #373734;
}
.chair-button:not(.mat-button-base) mat-icon,
.chair-button:not(.mat-button-base) .mat-icon,
.chair-button:not(.mat-button-base) .material-symbols-outlined,
.chair-button:not(.mat-button-base) .jems3s,
.chair-button:not(.mat-button-base) .jems3r {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  margin-right: 6px;
  flex-shrink: 0;
}
.chair-button:not(.mat-button-base):focus {
  outline: none;
}
.chair-button:not(.mat-button-base):focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.chair-button:not(.mat-button-base):disabled, .chair-button:not(.mat-button-base)[disabled] {
  cursor: default;
  pointer-events: none;
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .chair-button:not(.mat-button-base):disabled,
.dark-theme .chair-button:not(.mat-button-base)[disabled] {
  color: rgba(255, 255, 255, 0.38);
}
.chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #202020;
  border-color: #3a3937;
  color: #c4c2bd;
}
.chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #064ad9;
  border-color: #064ad9;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #60a5fa;
  border-color: #60a5fa;
  color: white;
}
.chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #e91414;
  border-color: #e91414;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #FF6B6B;
  border-color: #FF6B6B;
  color: black;
}
.chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary:not(.mat-button-base):not(:disabled):hover,
.chair-button.chair-button--warn:not(.mat-button-base):not(:disabled):hover {
  filter: brightness(0.93);
}
.chair-button.chair-button--primary:not(.mat-button-base):disabled,
.chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.chair-button.chair-button--warn:not(.mat-button-base):disabled,
.chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #202020;
  border-color: #3a3937;
}
button.mat-raised-button {
  display: inline-grid;
  vertical-align: middle;
  align-content: center;
  border-radius: 8px;
}
button.mat-raised-button .mat-icon {
  line-height: 1.4rem;
}
button.mat-raised-button span {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  vertical-align: middle;
  padding-left: 4px;
}
button.mat-raised-button span.mat-button-wrapper {
  padding: 0;
  display: inline-block;
  vertical-align: middle;
}
button.mat-raised-button:hover {
  box-shadow: 1px 1px 7px #8b8d8f;
}
button.profile-button, button.mat-icon-button.profile-button {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 26px;
}
button[color].mat-raised-button span.mat-button-wrapper:not(:has(.mat-icon)), button[color].mat-raised-button span.mat-button-wrapper:has(span) {
  color: #fff;
}
button.mat-raised-button.mat-button-disabled.mat-button-disabled[disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.chair-header-icon-button {
  position: relative;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background-color: white;
  border: 1px solid #D6D3D1 !important;
  border-radius: 6px !important;
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.chair-header-icon-button.mat-button-disabled, .chair-header-icon-button:disabled {
  cursor: default;
  pointer-events: none;
}
.chair-header-icon-button.menu-open {
  border-color: #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
  background-color: white !important;
}
.chair-header-icon-button.has-active .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.chair-header-icon-button .chair-header-icon-button-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  background-color: #064ad9;
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  letter-spacing: 0;
  pointer-events: none;
  position: absolute;
  top: -6px;
  right: -6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.dark-theme .chair-header-icon-button-badge,
.dark-theme .bell-badge,
.dark-theme .seg-badge {
  line-height: 14px !important;
}
.dark-theme .chair-header-icon-button-badge {
  line-height: 16px !important;
  padding-top: 0.5px !important;
}
.dark-theme .chair-header-icon-button {
  background-color: black;
  border-color: #5a5651 !important;
  color: #c4c2bd;
}
.dark-theme .chair-header-icon-button .mat-icon {
  color: inherit;
}
.dark-theme .chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button.menu-open {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button .chair-header-icon-button-badge {
  background-color: #60a5fa;
  color: black;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-tooltip.cardTooltip {
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background: white;
  color: white;
  padding: 12px;
  font-size: 0.8125rem;
}
.sg-crit-tooltip {
  background-color: rgba(97, 97, 97, 0.92);
  color: #fff;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  max-width: 300px;
  white-space: pre-line;
  text-align: left;
  word-break: break-word;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.dark-theme .sg-crit-tooltip {
  background-color: #F5F5F4;
  color: #1C1917;
}
.dark-theme .mat-tooltip {
  background-color: #F5F5F4 !important;
  color: #1C1917 !important;
}
.notification-menu button.mat-menu-item {
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: normal;
  text-overflow: initial;
  height: auto;
  line-height: 1rem;
  padding: 1rem 2rem;
}
.notification-menu button.mat-menu-item:not(:last-child) {
  border-bottom-style: solid;
  border-bottom-color: #192a59;
  border-bottom-width: 1px;
}
.notification-menu button.mat-menu-item .time {
  margin-top: 0.5em;
}
.notification-menu button.mat-menu-item .time mat-icon {
  font-size: 16px;
  line-height: 16px;
  height: 16px;
  width: 16px;
  margin-right: 4px;
}
.notification-menu button.mat-menu-item .time span {
  font-size: 12px;
  line-height: 12px;
  display: inline-block;
  vertical-align: middle;
}
app-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.2s;
}
app-sidebar mat-sidenav .mat-list button.mat-icon-button {
  transition: margin 0.2s;
  color: #434343;
}
app-sidebar.mini mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.3s;
  padding: 0 7px;
}
app-sidebar .mat-sidenav .mat-icon svg {
  width: 16px;
}
app-admin-event-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  margin: 0px;
  padding: 4px;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container {
  display: grid;
  overflow: hidden;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container mat-list.bottom-aligned {
  align-self: flex-end;
  align-self: end;
  margin-bottom: 0.5em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.mat-menu-panel {
  padding: 5px 0 !important;
}
.mat-menu-content {
  padding: 0 !important;
}
.mat-menu-item {
  border: 0 !important;
  outline: 0 !important;
  background-color: transparent;
  border-radius: 6px !important;
  font-weight: 500 !important;
  height: 30px !important;
  margin: 2px 0 !important;
  padding: 0 12px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
}
.mat-menu-item .mat-icon {
  margin-right: 8px !important;
}
.mat-divider {
  margin: 0 0px !important;
}
.container-option .mat-menu-item,
.mat-menu-panel.tpc-user-menu .mat-menu-item,
.tpc-user-menu .mat-menu-item {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 1 !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}
.tpc-user-menu.user-menu .mat-menu-item,
.mat-menu-panel.tpc-user-menu.user-menu .mat-menu-item {
  height: 28px !important;
  min-height: 28px !important;
}
.container-option .mat-menu-item .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.tpc-user-menu .mat-menu-item .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  padding-top: 0 !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.container-option .mat-menu-item:hover .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item:hover .mat-icon,
.tpc-user-menu .mat-menu-item:hover .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.container-option .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu,
.tpc-user-menu {
  padding: 8px 4px 5px 4px !important;
  border-radius: 6px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-focus-overlay,
.tpc-user-menu .mat-menu-item .mat-ripple,
.tpc-user-menu .mat-menu-item .mat-button-ripple,
.tpc-user-menu .mat-menu-item .mat-button-focus-overlay {
  display: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-divider,
.tpc-user-menu .mat-divider {
  margin: 6px -4px !important;
}
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item .flag,
.tpc-user-menu .container-language-compact .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu .container-theme,
.mat-menu-panel.tpc-user-menu .container-layout,
.mat-menu-panel.tpc-user-menu .container-language-compact,
.tpc-user-menu .container-theme,
.tpc-user-menu .container-layout,
.tpc-user-menu .container-language-compact {
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  cursor: default !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class) {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  opacity: 1 !important;
}
.email-template-edit-dialog-panel .mat-dialog-container {
  overflow-x: hidden;
  background-color: #F5F5F4;
}
.dark-theme .email-template-edit-dialog-panel .mat-dialog-container {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.recipient-search-popover {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 300px;
  padding: 10px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.recipient-search-popover app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.recipient-search-popover app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
.light-theme .recipient-search-popover {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.dark-theme .recipient-search-popover {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.dark-theme .recipient-search-popover .mat-form-field-flex {
  background-color: #202020 !important;
}
.variable-slash-menu {
  width: 100%;
  box-sizing: border-box;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.variable-slash-menu .variable-slash-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  height: auto;
  padding: 5px 8px;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  line-height: 1.4;
}
.variable-slash-menu .variable-slash-item .vte-chip {
  flex: 0 0 auto;
  padding: 0 8px;
}
.variable-slash-menu .variable-slash-item .var-desc {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
}
.light-theme .variable-slash-menu {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.light-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .variable-slash-menu .variable-slash-item:hover, .light-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #e8e6e3;
}
.dark-theme .variable-slash-menu {
  background-color: #202020;
  border: 1px solid #3a3937;
}
.dark-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .variable-slash-menu .variable-slash-item:hover, .dark-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #34332f;
}
.vte-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 4px 0 8px;
  margin: 0 1px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background-color: #eff6ff;
  color: #064ad9;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: baseline;
}
.vte-chip .vte-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 100ms ease, background-color 100ms ease;
}
.vte-chip .vte-chip-remove:hover {
  opacity: 1;
  background-color: rgba(17, 69, 194, 0.14);
}
.vte-readonly .vte-chip-remove {
  display: none;
}
.vte-preview-var {
  background-color: #e6f0ff;
  border-radius: 3px;
  padding: 0 2px;
}
.dark-theme .vte-preview-var {
  background-color: rgba(92, 142, 240, 0.3);
}
.dark-theme .vte-chip {
  background-color: rgba(92, 142, 240, 0.22);
  border-color: rgba(92, 142, 240, 0.55);
  color: #60a5fa;
}
.dark-theme .vte-chip .vte-chip-remove:hover {
  background-color: rgba(92, 142, 240, 0.3);
}
.menu-option {
  display: flex;
}
.menu-option .disabled-button {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .disabled-button mat-icon {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .mat-menu-item {
  margin: 2px 5px !important;
}
.mat-menu-panel.tpc-user-menu.view-profile-menu .mat-menu-item,
.tpc-user-menu.view-profile-menu .mat-menu-item {
  position: relative !important;
  padding-left: 28px !important;
}
.tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  background-color: #c4c2bd;
}
:root[data-os=mac] .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active {
  background-color: #064ad9 !important;
}
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: white !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active {
  background-color: #60a5fa !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: black !important;
}
:root:not([data-os=mac]):not([data-os=windows]) .jems-popover-panel {
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
@-webkit-keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
:root[data-os=windows] .jems-popover-panel {
  -webkit-animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
          animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
}
:root[data-os=windows] .jems-popover-panel.opens-up {
  -webkit-animation-name: jems-popover-in-win-up;
          animation-name: jems-popover-in-win-up;
}
@-webkit-keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .jems-popover-panel {
    -webkit-animation: none;
            animation: none;
  }
}
:root {
  --jems-hover-bg: #e8e6e3;
  --jems-hover-fg: #373734;
}
:root:not([data-os=mac]) .dark-theme {
  --jems-hover-bg: #34332f;
  --jems-hover-fg: #c4c2bd;
}
:root[data-os=mac] {
  --jems-hover-bg: AccentColor;
  --jems-hover-fg: #fff;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item,
:root[data-os=mac] .jems-popover-panel [role=menuitem],
:root[data-os=mac] .jems-popover-panel .jems-select-option,
:root[data-os=mac] .mat-select-panel .mat-option,
:root[data-os=mac] .mat-autocomplete-panel .mat-option {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item.mat-menu-item:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option:hover,
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option.active,
:root[data-os=mac] .mat-select-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-select-panel .mat-option.mat-option.cdk-keyboard-focused:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option.cdk-keyboard-focused:not(.mat-option-disabled) {
  background-color: AccentColor !important;
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .material-symbols-outlined,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .material-symbols-outlined,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.cdk-keyboard-focused .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.cdk-keyboard-focused .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.cdk-keyboard-focused .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.cdk-keyboard-focused .mat-option-text {
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected.active::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active::before,
:root[data-os=mac] .jems-popover-panel .mat-menu-item.is-current:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected.mat-active::before {
  background-color: #fff !important;
}
app-custom-form app-multiline-text-input app-custom-form mat-form-field {
  padding-left: 2.5em;
}
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-label-wrapper,
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-underline {
  display: none;
}
.event-admin h3 .subtitle, .event-admin .section .section-title .subtitle, .section .event-admin .section-title .subtitle, .event-admin .card-title .subtitle {
  font-size: 1.25rem;
  font-weight: 300;
}
.event-admin h4 .subtitle, .event-admin .card-subtitle .subtitle {
  font-size: 1.1875rem;
  font-weight: 300;
}
.event-admin h5 .subtitle, .event-admin .card-content .subtitle, .event-admin mat-card.event a .warning-public-at .subtitle, mat-card.event a .event-admin .warning-public-at .subtitle {
  font-size: 1.15rem;
  font-weight: 200;
}
.event-admin h6 .subtitle {
  font-size: 1.1rem;
  font-weight: 200;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-snack-bar-container.error, .mat-snack-bar-container.notification, .mat-snack-bar-container.warning {
  margin-left: 103px;
}
.mat-snack-bar-container.error {
  background: #CC0029;
  color: #fafafa;
}
.mat-snack-bar-container.notification {
  background: #7FC15C;
  color: #fafafa;
}
.mat-snack-bar-container.warning {
  background: #ffe289;
  color: #333333;
}
.mat-fab .mat-button-wrapper .mat-icon {
  vertical-align: initial;
  color: #fff;
}
.paginator-container {
  position: relative;
  padding: 10px 0;
}
.paginator-container mat-paginator {
  position: absolute;
  top: 0;
  width: 100%;
}
.paginator-container mat-paginator.bottom {
  top: unset;
  bottom: 0;
}
.paginator-container mat-paginator .mat-paginator-outer-container {
  border-radius: 4px;
  margin-bottom: 10px;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}
.paginator-container mat-paginator .mat-paginator-outer-container .mat-paginator-container {
  justify-content: space-between;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.show-all-submissions .mat-card {
  margin-bottom: 2em;
}
.show-all-submissions .mat-card .paper-info .main > .columns {
  margin: -0.75rem -0.75rem 0 -0.75rem;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row {
  margin: 0;
  padding-bottom: 0;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row h2, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header {
  text-transform: uppercase;
}
.show-all-submissions .mat-card .paper-info .main > .columns h2, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header {
  padding-top: 0;
}
.show-all-submissions .pagebreak {
  -moz-column-break-after: always;
       break-after: always;
}
.show-all-submissions-container {
  background-color: #babfcd;
  padding: 1em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
mat-card {
  margin-bottom: 1em;
}
@media screen and (max-width: 486px) {
  mat-card {
    padding: 0.5rem;
  }
}
mat-card:hover {
  box-shadow: 0 12px 10px -1px rgba(0, 0, 0, 0.1), 0 -1px 20px 0 rgba(0, 0, 0, 0.1);
}
mat-card .mat-card-header-text {
  margin: 0 5px;
}
mat-card.event {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  width: 100%;
}
mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
  border-radius: 8px;
  border: 2px solid transparent;
}
mat-card.event a {
  padding: 0;
  display: flex;
  flex-direction: row;
}
mat-card.event a .horizontal-align {
  float: right;
}
mat-card.event a .information {
  width: 100%;
}
mat-card.event a .warning {
  width: 40%;
  align-self: center;
  float: right;
  padding: 1rem 0 0.5rem 2rem;
}
mat-card.event a .warning + .information {
  width: 60%;
  /* override */
}
@media screen and (max-width: 768px) {
  mat-card.event a {
    flex-direction: column;
  }
  mat-card.event a .information {
    width: 100%;
  }
  mat-card.event a .warning {
    width: 100%;
    text-align: center;
    padding: 1rem 2rem 0.5rem 2rem;
  }
  mat-card.event a .horizontal-align {
    float: none;
  }
}
mat-card.event a:link {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a:visited {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a .warning-public-at {
  background-color: rgba(200, 200, 200, 0.5);
  border-radius: 10rem;
  padding: 0.5rem 1rem;
  text-align: center;
}
mat-card.event mat-card-title {
  margin-bottom: 0.5rem;
}
mat-card.event mat-card-subtitle {
  margin-bottom: 0.25rem;
}
mat-card.event .float-right {
  float: right;
}
mat-card.event .left-button {
  margin-left: 6px;
}
mat-card.subconferences {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  background: #ededed;
  width: 100%;
}
mat-card.admin-event {
  box-shadow: 0 0 0 0 !important;
  border-radius: 8px;
  width: 100%;
  border-width: 1px;
  border-style: solid;
  padding: 0 !important;
  margin-bottom: 1em;
}
mat-card.admin-event mat-card-header {
  background-color: #ededed;
  color: #434343;
  font-weight: 600 !important;
  width: 100%;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.admin-event mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  line-height: normal;
}
mat-card.admin-event mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.admin-event mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.admin-event mat-card-content {
  padding: 1rem;
  margin: 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel {
  margin: 0.5rem 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel mat-action-row {
  padding: 1rem;
}
mat-card.admin-event mat-card-actions {
  margin: 0 !important;
  padding: 1rem !important;
}
mat-card.admin-event table .mat-footer-cell {
  border-bottom-width: 0;
}
mat-card.admin-event table .mat-header-cell {
  border-bottom-color: white;
}
mat-card.admin-event table .mat-cell {
  border-bottom-color: white;
}
mat-card.base-card {
  box-shadow: 0 0 0 0 !important;
  width: 100%;
  padding: 0;
  margin-bottom: 2em;
}
mat-card.base-card mat-card-header {
  font-weight: 600 !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.base-card mat-card-header .closed-header {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
mat-card.base-card mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  margin-right: 5px;
  font-size: 1rem;
  line-height: normal;
}
mat-card.base-card mat-card-header .mat-icon-button .mat-icon {
  font-size: 16px;
}
mat-card.base-card mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.base-card mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.base-card mat-card-content {
  padding: 1rem;
  margin: 0;
}
.card-title {
  color: #434343;
}
.section {
  padding-top: 0px !important;
}
.section .section-title {
  font-size: 1rem;
  padding-bottom: 0.5rem;
}
.section .section-content {
  padding-left: 1.4rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.ngx-mat-timepicker-spacer {
  vertical-align: middle;
  padding-bottom: 0.75em;
}
.mat-datepicker-content .time-container {
  margin: 0 auto !important;
  padding-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 220px;
}
.mat-datepicker-content .time-container::before {
  display: none !important;
}
.mat-datepicker-content .time-container .ngx-mat-timepicker {
  flex: 0 0 auto;
  transform: translateX(-35px);
}
.mat-datepicker-content .time-container app-time-zone-input,
.mat-datepicker-content .time-container .container-button {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.cdk-overlay-pane.is-clean-picker .actions button {
  pointer-events: none !important;
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
.cdk-overlay-pane .actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cdk-overlay-pane .actions button .mat-button-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button mat-icon,
.cdk-overlay-pane .actions button .mat-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button + button {
  margin-left: 2px !important;
}
.cdk-overlay-pane .actions {
  justify-content: center !important;
  padding-top: 17px !important;
  padding-bottom: 17px !important;
}
.cdk-overlay-pane .actions button,
.cdk-overlay-pane .actions button * {
  transition: none !important;
}
.cdk-overlay-pane .actions button:first-child .mat-button-focus-overlay {
  opacity: 0 !important;
}
.cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #e8e6e3 !important;
}
.dark-theme .cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #34332f !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #064ad9 !important;
  border-color: #064ad9 !important;
  color: #fff !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) .mat-icon {
  color: #fff !important;
}
.dark-theme .cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #60a5fa !important;
  border-color: #60a5fa !important;
}
.mat-datepicker-content {
  border-radius: 6px !important;
  padding: 0 !important;
  background-color: #f9f8f7 !important;
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  width: 256px !important;
  min-width: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.mat-datepicker-content .mat-calendar {
  padding: 0;
  width: auto !important;
}
.mat-calendar {
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
}
.mat-calendar .mat-calendar-header {
  padding: 12px 12px 0;
}
.mat-calendar .mat-calendar-header .mat-calendar-controls {
  margin: 0 !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button,
.mat-calendar .mat-calendar-header .mat-calendar-next-button {
  width: 24px !important;
  height: 24px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 4px !important;
  color: rgba(0, 0, 0, 0.55) !important;
  transition: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button::before, .mat-calendar .mat-calendar-header .mat-calendar-previous-button::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::before,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper .mat-icon,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper .mat-icon {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: currentColor;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-ripple {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button:hover,
.mat-calendar .mat-calendar-header .mat-calendar-next-button:hover {
  color: rgba(0, 0, 0, 0.85) !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button,
.mat-calendar .mat-calendar-header .mat-calendar-period-button *,
.mat-calendar .mat-calendar-header .mat-calendar-body-label,
.mat-calendar .mat-calendar-header .mat-calendar-table-header th {
  text-transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button {
  padding: 0 8px;
  min-height: auto;
  line-height: 1.4;
}
.mat-calendar .mat-calendar-content {
  padding: 8px !important;
}
.mat-calendar .mat-calendar-table {
  max-width: 200px;
  margin: 0 auto;
}
.mat-calendar .mat-calendar-body tr:first-child td {
  padding-top: 8px !important;
}
.mat-calendar .mat-calendar-period-button {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #373734;
}
.mat-calendar .mat-calendar-period-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.mat-calendar .mat-calendar-period-button:hover {
  background-color: #e8e6e3 !important;
}
.mat-calendar .mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 500;
  padding: 0 !important;
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  box-shadow: none !important;
}
.mat-calendar .mat-calendar-table-header-divider {
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
.mat-calendar .mat-calendar-table-header-divider::after {
  display: none;
}
.mat-calendar .mat-calendar-body-label {
  height: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}
.mat-calendar .mat-calendar-table-header tr {
  padding-bottom: 0;
}
.mat-calendar .mat-calendar-body tr {
  height: 26px;
}
.mat-calendar .mat-calendar-body-cell {
  height: 26px !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  height: 24px !important;
  width: 24px !important;
  line-height: 24px !important;
  top: 1px !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  font-size: 13px;
  font-weight: 430;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.ngx-mat-timepicker {
  font-family: inherit;
  font-size: 13px;
}
.ngx-mat-timepicker input,
.ngx-mat-timepicker .mat-input-element {
  font-size: 13px;
  font-weight: 430;
  font-family: inherit;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table td {
  padding: 0 !important;
  line-height: 1 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button {
  width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  padding: 0 !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  color: rgba(0, 0, 0, 0.55) !important;
  box-shadow: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(0, 0, 0, 0.06) !important;
  color: rgba(0, 0, 0, 0.85) !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-focus-overlay,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-ripple,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-ripple {
  display: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button mat-icon,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-icon {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-wrapper {
  padding-bottom: 0 !important;
  margin: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-infix {
  padding: 0 !important;
  border-top: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-underline,
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-subscript-wrapper {
  display: none !important;
}
app-datetimepicker-input.filter-styled {
  display: inline-flex;
}
app-datetimepicker-input.filter-styled:not(.column) {
  flex: 0 0 auto;
  width: 260px;
}
app-datetimepicker-input.filter-styled .datepicker-input {
  width: 100%;
}
app-datetimepicker-input.filter-styled .mat-form-field {
  width: 100%;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-datetimepicker-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-hint-wrapper,
app-datetimepicker-input.filter-styled .mat-hint {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-label-wrapper {
  display: none;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 10px 0 3px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  cursor: pointer;
  overflow: hidden;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-input-element,
app-datetimepicker-input.filter-styled .container-date-time-mask {
  cursor: pointer;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  min-width: 0;
}
app-datetimepicker-input.filter-styled ._container-input {
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-suffix {
  order: -1;
  align-self: center;
  margin-right: 1px;
  display: inline-flex;
  align-items: center;
  position: relative;
  top: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  line-height: 1;
  padding: 0;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 100ms ease;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-ripple,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-datepicker-toggle-default-icon,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle svg {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  content: "calendar_today";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  color: rgba(0, 0, 0, 0.55);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(0, 0, 0, 0.85);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
}
app-datetimepicker-input.filter-styled ._container-input {
  gap: 6px !important;
  align-items: center;
  flex-wrap: nowrap;
}
app-datetimepicker-input.filter-styled .container-date-time-mask {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  white-space: nowrap;
  color: #373734;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-datetimepicker-input.filter-styled .container-date-time-mask span {
  font-size: 13px !important;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(0, 0, 0, 0.5) !important;
  font-weight: 400;
}
app-datetimepicker-input.filter-styled .offset {
  font-size: 11px;
  font-weight: 400;
  opacity: 0.4;
  white-space: nowrap;
  flex: 0 9999 auto;
  min-width: 0;
  overflow: hidden;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer > span {
  display: inline-flex;
  align-items: center;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 0;
  line-height: 18px;
  padding: 0;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-ripple,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-icon {
  font-size: 15px !important;
  width: 15px;
  height: 15px;
  line-height: 15px;
  opacity: 0.4;
  color: inherit;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms ease;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button:hover .mat-icon {
  opacity: 0.7;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .container-date-time-mask {
  color: #c4c2bd;
}
.dark-theme app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(255, 255, 255, 0.6) !important;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button,
.dark-theme .mat-datepicker-content .mat-calendar-next-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button:hover,
.dark-theme .mat-datepicker-content .mat-calendar-next-button:hover {
  color: rgba(255, 255, 255, 0.9) !important;
  background-color: rgba(255, 255, 255, 0.14) !important;
}
.dark-theme .mat-datepicker-content {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button {
  color: #c4c2bd;
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button:hover {
  background-color: #34332f !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-table-header th {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.mat-calendar-body-selected {
  background-color: #064ad9 !important;
  color: #fff !important;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa !important;
}
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(6, 74, 217, 0.15) !important;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.22) !important;
}
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #064ad9 !important;
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #60a5fa !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-select-input.filter-styled,
app-select-input-flag.filter-styled,
app-select-input-le.filter-styled, app-multiline-text-input.filter-styled, app-input-filter-autocomplete.filter-styled, app-text-input.filter-styled {
  display: block;
}
app-select-input.filter-styled > .numeric-input,
app-select-input-flag.filter-styled > .numeric-input,
app-select-input-le.filter-styled > .numeric-input, app-multiline-text-input.filter-styled > .numeric-input, app-input-filter-autocomplete.filter-styled > .numeric-input, app-text-input.filter-styled > .numeric-input,
app-select-input.filter-styled > div,
app-select-input-flag.filter-styled > div,
app-select-input-le.filter-styled > div,
app-multiline-text-input.filter-styled > div,
app-input-filter-autocomplete.filter-styled > div,
app-text-input.filter-styled > div {
  width: 100%;
  position: relative;
}
app-select-input.filter-styled mat-form-field,
app-select-input-flag.filter-styled mat-form-field,
app-select-input-le.filter-styled mat-form-field, app-multiline-text-input.filter-styled mat-form-field, app-input-filter-autocomplete.filter-styled mat-form-field, app-text-input.filter-styled mat-form-field {
  width: 100%;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-wrapper,
app-select-input-flag.filter-styled .mat-form-field-wrapper,
app-select-input-le.filter-styled .mat-form-field-wrapper, app-multiline-text-input.filter-styled .mat-form-field-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-wrapper, app-text-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-outline,
app-select-input-flag.filter-styled .mat-form-field-outline,
app-select-input-le.filter-styled .mat-form-field-outline, app-multiline-text-input.filter-styled .mat-form-field-outline, app-input-filter-autocomplete.filter-styled .mat-form-field-outline, app-text-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-underline,
app-select-input-flag.filter-styled .mat-form-field-underline,
app-select-input-le.filter-styled .mat-form-field-underline, app-multiline-text-input.filter-styled .mat-form-field-underline, app-input-filter-autocomplete.filter-styled .mat-form-field-underline, app-text-input.filter-styled .mat-form-field-underline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-label-wrapper,
app-select-input-flag.filter-styled .mat-form-field-label-wrapper,
app-select-input-le.filter-styled .mat-form-field-label-wrapper, app-multiline-text-input.filter-styled .mat-form-field-label-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-label-wrapper, app-text-input.filter-styled .mat-form-field-label-wrapper {
  display: none !important;
}
app-select-input.filter-styled .mat-placeholder-required,
app-select-input-flag.filter-styled .mat-placeholder-required,
app-select-input-le.filter-styled .mat-placeholder-required, app-multiline-text-input.filter-styled .mat-placeholder-required, app-input-filter-autocomplete.filter-styled .mat-placeholder-required, app-text-input.filter-styled .mat-placeholder-required {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-flag.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-le.filter-styled .mat-form-field-subscript-wrapper, app-multiline-text-input.filter-styled .mat-form-field-subscript-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-subscript-wrapper, app-text-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-select-input.filter-styled .mat-error,
app-select-input-flag.filter-styled .mat-error,
app-select-input-le.filter-styled .mat-error, app-multiline-text-input.filter-styled .mat-error, app-input-filter-autocomplete.filter-styled .mat-error, app-text-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-select-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input-flag.filter-styled .mat-form-field-hint-wrapper,
app-select-input-le.filter-styled .mat-form-field-hint-wrapper, app-multiline-text-input.filter-styled .mat-form-field-hint-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-hint-wrapper, app-text-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input.filter-styled .mat-hint,
app-select-input-flag.filter-styled .mat-hint,
app-select-input-le.filter-styled .mat-hint,
app-multiline-text-input.filter-styled .mat-hint,
app-input-filter-autocomplete.filter-styled .mat-hint,
app-text-input.filter-styled .mat-hint {
  display: none !important;
}
app-select-input.filter-styled .ti-description,
app-select-input-flag.filter-styled .ti-description,
app-select-input-le.filter-styled .ti-description, app-multiline-text-input.filter-styled .ti-description, app-input-filter-autocomplete.filter-styled .ti-description, app-text-input.filter-styled .ti-description {
  position: absolute;
  top: 0;
  left: 2px;
  right: 2px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 11px;
  font-weight: 430;
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: auto;
}
app-select-input.filter-styled .ti-description .required-mark,
app-select-input-flag.filter-styled .ti-description .required-mark,
app-select-input-le.filter-styled .ti-description .required-mark, app-multiline-text-input.filter-styled .ti-description .required-mark, app-input-filter-autocomplete.filter-styled .ti-description .required-mark, app-text-input.filter-styled .ti-description .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 16px 0 0;
  padding: 0 10px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  overflow: hidden;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-flag.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-le.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-multiline-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-input-filter-autocomplete.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn) {
  padding-right: 0 !important;
}
app-select-input.filter-styled .mat-form-field-infix,
app-select-input-flag.filter-styled .mat-form-field-infix,
app-select-input-le.filter-styled .mat-form-field-infix, app-multiline-text-input.filter-styled .mat-form-field-infix, app-input-filter-autocomplete.filter-styled .mat-form-field-infix, app-text-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
  min-width: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
}
app-select-input.filter-styled .mat-form-field-prefix,
app-select-input-flag.filter-styled .mat-form-field-prefix,
app-select-input-le.filter-styled .mat-form-field-prefix, app-multiline-text-input.filter-styled .mat-form-field-prefix, app-input-filter-autocomplete.filter-styled .mat-form-field-prefix, app-text-input.filter-styled .mat-form-field-prefix,
app-select-input.filter-styled .mat-form-field-suffix,
app-select-input-flag.filter-styled .mat-form-field-suffix,
app-select-input-le.filter-styled .mat-form-field-suffix,
app-multiline-text-input.filter-styled .mat-form-field-suffix,
app-input-filter-autocomplete.filter-styled .mat-form-field-suffix,
app-text-input.filter-styled .mat-form-field-suffix {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1;
  color: #373734;
  top: 0 !important;
  margin: 0;
  padding: 0;
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
  cursor: text;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element {
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: middle !important;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element,
app-select-input.filter-styled .mat-select-value-text,
app-select-input-flag.filter-styled .mat-select-value-text,
app-select-input-le.filter-styled .mat-select-value-text,
app-multiline-text-input.filter-styled .mat-select-value-text,
app-input-filter-autocomplete.filter-styled .mat-select-value-text,
app-text-input.filter-styled .mat-select-value-text {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  color: #373734;
}
app-select-input.filter-styled .mat-form-field-label,
app-select-input-flag.filter-styled .mat-form-field-label,
app-select-input-le.filter-styled .mat-form-field-label, app-multiline-text-input.filter-styled .mat-form-field-label, app-input-filter-autocomplete.filter-styled .mat-form-field-label, app-text-input.filter-styled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.5);
}
app-select-input.filter-styled .mat-form-field-flex:hover,
app-select-input-flag.filter-styled .mat-form-field-flex:hover,
app-select-input-le.filter-styled .mat-form-field-flex:hover, app-multiline-text-input.filter-styled .mat-form-field-flex:hover, app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover, app-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-select-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-flag.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-le.mat-focused.filter-styled .mat-form-field-flex, app-multiline-text-input.mat-focused.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.mat-focused.filter-styled .mat-form-field-flex, app-text-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field-flex:focus-within,
app-select-input-flag.filter-styled .mat-form-field-flex:focus-within,
app-select-input-le.filter-styled .mat-form-field-flex:focus-within,
app-multiline-text-input.filter-styled .mat-form-field-flex:focus-within,
app-input-filter-autocomplete.filter-styled .mat-form-field-flex:focus-within,
app-text-input.filter-styled .mat-form-field-flex:focus-within {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
app-select-input.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex {
  border-color: #e91414;
}
app-select-input.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex {
  opacity: 0.55;
  box-shadow: none;
  pointer-events: none;
}
app-select-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-flag.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-le.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-multiline-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-input-filter-autocomplete.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description {
  opacity: 0.55;
}
app-multiline-text-input.filter-styled > .multiline-text-input {
  width: 100%;
  position: relative;
}
app-multiline-text-input.filter-styled .mat-form-field-flex {
  align-items: flex-start;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  padding: 8px 10px !important;
}
app-multiline-text-input.filter-styled:has(> .multiline-text-input > .ti-description) .mat-form-field-flex {
  margin-top: 16px !important;
}
app-multiline-text-input.filter-styled .mat-form-field-infix {
  display: block;
  align-self: auto;
  padding: 0 !important;
  width: 100%;
}
app-multiline-text-input.filter-styled textarea.mat-input-element {
  resize: none;
  overflow: hidden;
  box-sizing: content-box;
  line-height: 1.5 !important;
  padding: 0 0 2px !important;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.72);
}
app-select-input.filter-styled .mat-select-trigger,
app-select-input-flag.filter-styled .mat-select-trigger,
app-select-input-le.filter-styled .mat-select-trigger {
  display: flex;
  align-items: center;
  width: 100%;
}
app-select-input.filter-styled .mat-select-value,
app-select-input-flag.filter-styled .mat-select-value,
app-select-input-le.filter-styled .mat-select-value {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
app-select-input.filter-styled .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-right: -8px;
  border: 1px solid #D6D3D1;
  border-radius: 4px;
  background-color: transparent;
  line-height: 0;
  transform: none !important;
  vertical-align: middle;
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(0, 0, 0, 0.06);
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input.filter-styled .mat-focused .mat-select-arrow,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(0, 0, 0, 0.85);
}
app-select-input.filter-styled .mat-select-arrow,
app-select-input-flag.filter-styled .mat-select-arrow,
app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  width: 10px;
  height: 12px;
  margin: 0 !important;
  transform: none !important;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  background-color: transparent;
  border-color: #5a5651;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.55);
}
app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
  padding: 6px;
}
@media screen and (max-width: 768px) {
  app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
    display: block !important;
    width: 100% !important;
  }
}
.mat-select-panel,
.mat-autocomplete-panel,
.mat-datepicker-content {
  margin-top: 1px;
}
.mat-datepicker-content {
  margin-bottom: 2px;
}
.mat-autocomplete-panel-above .mat-autocomplete-panel.user-search-autocomplete {
  margin-bottom: 1px;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-input-element,
.dark-theme app-text-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input.filter-styled .mat-input-element,
.dark-theme app-select-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input-flag.filter-styled .mat-input-element,
.dark-theme app-select-input-flag.filter-styled .mat-select-value-text,
.dark-theme app-select-input-le.filter-styled .mat-input-element,
.dark-theme app-select-input-le.filter-styled .mat-select-value-text,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-input-element,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-value-text,
.dark-theme app-multiline-text-input.filter-styled .mat-input-element,
.dark-theme app-multiline-text-input.filter-styled .mat-select-value-text {
  color: #c4c2bd;
}
.dark-theme app-text-input.filter-styled .ti-description,
.dark-theme app-select-input.filter-styled .ti-description,
.dark-theme app-select-input-flag.filter-styled .ti-description,
.dark-theme app-select-input-le.filter-styled .ti-description,
.dark-theme app-input-filter-autocomplete.filter-styled .ti-description,
.dark-theme app-multiline-text-input.filter-styled .ti-description {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-arrow,
.dark-theme app-multiline-text-input.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.cdk-overlay-pane app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cdk-overlay-pane app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.paperBackground {
  color: #373734;
  border-radius: 6px;
  color: #363636;
}
.paperBackground a, .paperBackground .fa-file-pdf, .paperBackground .fa-upload {
  color: #064ad9 !important;
}
.paperBackground a:hover, .paperBackground .fa-file-pdf:hover, .paperBackground .fa-upload:hover {
  color: #064ad9 !important;
}
.dark-theme .paperBackground a, .dark-theme .paperBackground .fa-file-pdf, .dark-theme .paperBackground .fa-upload {
  color: #60a5fa !important;
}
.dark-theme .paperBackground a:hover, .dark-theme .paperBackground .fa-file-pdf:hover, .dark-theme .paperBackground .fa-upload:hover {
  color: #60a5fa !important;
}
.paperBackground .submission {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground .review {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground.submission.pending, .paperBackground.submission.pending.paper-status {
  background-color: #e5e5e5 !important;
}
.paperBackground.submission.pending .mat-icon.status-icon, .paperBackground.submission.pending.paper-status .mat-icon.status-icon {
  color: #6b6b6b !important;
}
.paperBackground.submission.active, .paperBackground.submission.active.paper-status {
  background-color: #FFFF55 !important;
}
.paperBackground.submission.active .mat-icon.status-icon, .paperBackground.submission.active.paper-status .mat-icon.status-icon {
  color: #1f3a93 !important;
}
.paperBackground.submission.accepted, .paperBackground.submission.accepted.paper-status {
  background-color: #99FF99 !important;
}
.paperBackground.submission.accepted .mat-icon.status-icon, .paperBackground.submission.accepted.paper-status .mat-icon.status-icon {
  color: #1c7530 !important;
}
.paperBackground.submission.rejected, .paperBackground.submission.rejected.paper-status {
  background-color: #ffbdbd !important;
}
.paperBackground.submission.rejected .mat-icon.status-icon, .paperBackground.submission.rejected.paper-status .mat-icon.status-icon {
  color: #b3261e !important;
}
.paperBackground.submission.withdrawn, .paperBackground.submission.withdrawn.paper-status {
  background-color: #DDDDDD !important;
}
.paperBackground.submission.withdrawn .mat-icon.status-icon, .paperBackground.submission.withdrawn.paper-status .mat-icon.status-icon {
  color: #808080 !important;
}
.paperBackground.submission.ready, .paperBackground.submission.ready.paper-status {
  background-color: #6da36f !important;
}
.paperBackground.submission.ready .mat-icon.status-icon, .paperBackground.submission.ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.submission.not-ready, .paperBackground.submission.not-ready.paper-status {
  background-color: #f93826 !important;
}
.paperBackground.submission.not-ready .mat-icon.status-icon, .paperBackground.submission.not-ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned, .paperBackground.review.assigned.paper-status {
  background-color: #FFFFFF !important;
}
.paperBackground.review.assigned .mat-icon.status-icon, .paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.notified, .paperBackground.review.notified.paper-status {
  background-color: #94C0FB !important;
}
.paperBackground.review.notified .mat-icon.status-icon, .paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.confirmed, .paperBackground.review.confirmed.paper-status {
  background-color: #FFD860 !important;
}
.paperBackground.review.confirmed .mat-icon.status-icon, .paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.declined, .paperBackground.review.declined.paper-status {
  background-color: #C6C6C6 !important;
}
.paperBackground.review.declined .mat-icon.status-icon, .paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.reminded, .paperBackground.review.reminded.paper-status {
  background-color: #FF8FA0 !important;
}
.paperBackground.review.reminded .mat-icon.status-icon, .paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.late, .paperBackground.review.late.paper-status {
  background-color: #fa5b5b !important;
}
.paperBackground.review.late .mat-icon.status-icon, .paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.delegated, .paperBackground.review.delegated.paper-status {
  background-color: #ff89c9 !important;
}
.paperBackground.review.delegated .mat-icon.status-icon, .paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.completed, .paperBackground.review.completed.paper-status {
  background-color: #63FCC8 !important;
}
.paperBackground.review.completed .mat-icon.status-icon, .paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.draft, .paperBackground.review.draft.paper-status {
  background-color: #AAAAAA !important;
}
.paperBackground.review.draft .mat-icon.status-icon, .paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned.paper-status {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: #b3b3b3 !important;
}
.paperBackground.review.notified.paper-status {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: #096aed !important;
}
.paperBackground.review.confirmed.paper-status {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: #c69500 !important;
}
.paperBackground.review.declined.paper-status {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: #7a7a7a !important;
}
.paperBackground.review.reminded.paper-status {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: #f50025 !important;
}
.paperBackground.review.late.paper-status {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: #b60606 !important;
}
.paperBackground.review.delegated.paper-status {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: #ef0082 !important;
}
.paperBackground.review.completed.paper-status {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: #04c282 !important;
}
.paperBackground.review.draft.paper-status {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: #5e5e5e !important;
}
.paperBackground.submission.paper-status {
  border-radius: 999px !important;
}
.paperBackground.review.paper-status {
  border-radius: 3px !important;
}
.statusBackground.submission.pending.icon-status-mobile {
  background-color: #e5e5e5 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.pending.icon-status-mobile .mat-icon.icon {
  color: #6b6b6b !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.pending.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.active.icon-status-mobile {
  background-color: #FFFF55 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.active.icon-status-mobile .mat-icon.icon {
  color: #1f3a93 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.active.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.accepted.icon-status-mobile {
  background-color: #99FF99 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.accepted.icon-status-mobile .mat-icon.icon {
  color: #1c7530 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.accepted.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.rejected.icon-status-mobile {
  background-color: #ffbdbd !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.rejected.icon-status-mobile .mat-icon.icon {
  color: #b3261e !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.rejected.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.withdrawn.icon-status-mobile {
  background-color: #DDDDDD !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.withdrawn.icon-status-mobile .mat-icon.icon {
  color: #808080 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.withdrawn.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: #FFFFFF !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.assigned.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #94C0FB !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.notified.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #FFD860 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.confirmed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #C6C6C6 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.declined.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #FF8FA0 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.reminded.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fa5b5b !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.late.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ff89c9 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.delegated.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #63FCC8 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.completed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #AAAAAA !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.draft.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: #b3b3b3 !important;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: #096aed !important;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: #c69500 !important;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: #7a7a7a !important;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: #f50025 !important;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: #b60606 !important;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: #ef0082 !important;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: #04c282 !important;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: #5e5e5e !important;
}
.statusBackground.submission.icon-status-mobile {
  border-radius: 999px !important;
}
.statusBackground.review.icon-status-mobile {
  border-radius: 3px !important;
}
.submission-form-item p .field-title {
  font-weight: bold;
}
.submission-form-item p .field-description {
  font-style: italic;
}
.legend, .caption {
  margin: 1em 0;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.025rem;
}
.legend span, .caption span {
  padding: 0.25em;
  margin: 0 0.25em;
  min-width: 90px;
  display: inline-block;
  text-align: center;
  font-weight: 500;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.page-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.page-notice > .material-symbols-outlined,
.page-notice > .mat-icon {
  flex-shrink: 0;
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .page-notice {
  color: #c4c2bd;
  opacity: 0.7;
}
.home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
  margin-left: 0.5rem;
}
@media only screen and (max-width: 414px) {
  .home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
    display: none;
  }
}
.home .user-dashboard .vspacer, .home .submissions .vspacer, .home .reviews .vspacer, .home .events .vspacer, .home .myevents .vspacer, .home .committees .vspacer {
  margin-top: 16px;
}
.home .submissions, .home .reviews {
  padding-bottom: 16px;
}
.admin .event-admin .subconferences .columns {
  margin-bottom: 0;
}
markdown h1 {
  font-size: 2rem;
}
markdown h2, markdown mat-card.admin-event mat-card-header, mat-card.admin-event markdown mat-card-header, markdown mat-card.base-card mat-card-header, mat-card.base-card markdown mat-card-header {
  font-size: 1.5rem;
}
markdown h3, markdown .card-title, markdown .section .section-title, .section markdown .section-title {
  font-size: 1.3125rem;
}
markdown h4, markdown .card-subtitle {
  font-size: 1.1875rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.main-header {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.main-header .main-title {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin-left: 8px;
  min-height: 60px;
  flex-basis: content;
  flex-grow: 1;
  flex-shrink: 1;
  padding-top: 15px;
  padding-bottom: 15px;
}
.main-header .filterAndOptions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
@media only screen and (max-width: 414px) {
  .main-header .filterAndOptions {
    justify-content: center;
  }
}
.main-header .options {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0 0.5rem;
  height: 60px;
}
.main-header .options .mat-checkbox-label {
  margin-right: 0.5rem;
  height: 100%;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.main-header .options .notify-button {
  color: red;
}
.main-header .options:has(app-custom-search) {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.main-header .filters {
  display: inline-flex;
  align-items: center;
  height: 60px;
}
.main-header .filters button {
  margin: 0 0.5rem;
}
.main-header .filters .filterLabel {
  display: contents;
}
@media only screen and (max-width: 414px) {
  .main-header .filters .filterLabel {
    display: none;
  }
}
.main-header .action-buttons {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  height: 60px;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
.main-header .action-buttons button {
  margin: 0 0.25rem;
}
@media screen and (max-width: 768px) {
  .main-header .main-title {
    min-height: 60px;
    height: auto;
  }
  .main-header .action-buttons {
    width: 100%;
    justify-content: flex-end;
  }
}
.main-body {
  padding: 0rem;
}
.main-header > .page-filter-row {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.separator {
  padding: 0;
}
.separator hr {
  background-color: #e0e0e0;
  color: #e0e0e0;
  height: 1px;
  margin: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 1.3rem);
  }
}
@media screen and (max-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
@media screen and (max-width: 768px) {
  .separator hr {
    margin-left: calc(-1 * 1rem);
  }
}
@media screen and (max-width: 486px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
.section {
  padding: 1rem 0;
}
.section-header {
  margin-bottom: 0.5rem 0;
}
.section-body {
  padding: 0.5rem 0;
}
.section + .section,
.section + .row-md,
.row-md + .section {
  border-top-width: 1px;
  border-top-style: solid;
  margin-top: 0.3rem;
  padding-top: 1rem !important;
}
.subsection {
  padding: 1.25rem;
}
.subsection-header {
  margin-bottom: 0.5rem;
}
.subsection-body {
  padding: 0.5rem;
}
.subsubsection {
  padding: 1.5rem;
}
.home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-submission-view) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-presentation-certificate) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-export-submissions) .experimental-sidebar {
  box-shadow: 6px 0 10px -1px rgba(0, 0, 0, 0.11);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
}
.mat-sidenav-content:has(app-event-publication) {
  --canvas-padding-bottom: 1px;
}
.page-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB;
}
mat-sidenav-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-submission-view) .mat-sidenav-content,
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-content,
.sidebar:has(app-export-submissions) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: #EEECEB !important;
}
html:has(body.light-theme):has(app-export-submissions) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-export-submissions) {
  background-color: black;
}
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-submission-view) .mat-drawer-content {
  overflow: visible !important;
}
html:has(app-submission-view) {
  overflow-anchor: none;
}
.sidebar:has(app-calendar-view) .mat-drawer-container,
.sidebar:has(app-calendar-view) .mat-drawer-content {
  overflow: visible !important;
}
.sidebar:has(app-event-program) .mat-sidenav-content,
.sidebar:has(app-event-program) .mat-drawer-container,
.dark-theme .sidebar:has(app-event-program) .mat-sidenav-content,
.dark-theme .sidebar:has(app-event-program) .mat-drawer-container {
  background-color: var(--program-paper, #ffffff) !important;
}
html:has(body.light-theme):has(app-event-program),
html:has(body.dark-theme):has(app-event-program) {
  background-color: var(--program-paper, #ffffff);
}
.dark-theme .page-content:has(app-submission-view) {
  background-color: black;
}
.dark-theme .sidebar:has(app-submission-view) .mat-sidenav-content,
.dark-theme .sidebar:has(app-submission-view) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-content,
.dark-theme .sidebar:has(app-export-submissions) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-submission-view) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-submission-view) {
  background-color: black;
}
app-home .home .page-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB !important;
}
app-home .home:has(app-presentation-certificate) {
  background-color: #EEECEB !important;
}
mat-sidenav-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: #EEECEB !important;
}
.page-content:has(app-presentation-certificate),
.sidebar:has(app-presentation-certificate) .mat-drawer-container,
.sidebar:has(app-presentation-certificate) .mat-drawer-content {
  overflow: visible !important;
}
[scroll=no]:has(app-presentation-certificate) {
  overflow: visible !important;
}
.dark-theme app-home .home .page-content:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme app-home .home:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme .sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.dark-theme .sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-presentation-certificate) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-presentation-certificate) {
  background-color: black;
}
.home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  border-bottom-color: transparent !important;
}
.dark-theme .home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
html[data-device=mobile-portrait] body {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0));
}
html[data-device=mobile-portrait] app-navbar .navbar {
  top: var(--chrome-top-offset);
  bottom: auto;
  height: 48px;
  align-items: center;
  padding: 0 8px;
  border-top: none;
  border-bottom: 1px solid transparent;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  position: fixed !important;
  bottom: -1px !important;
  left: 0 !important;
  right: 0 !important;
  height: 64px !important;
  padding: 0;
  padding-bottom: env(safe-area-inset-bottom, 0);
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 0 !important;
  background-color: #f9f8f7 !important;
  border-top: 1px solid #E7E5E4;
  z-index: 30;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .navbar-items-underline {
  -webkit-clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
          clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 6px 4px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::before,
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::after {
  display: none !important;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  border-top-color: #3a3937;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 8px 0 4px !important;
  padding: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo img {
  display: block !important;
  height: 22px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo picture {
  display: inline-flex !important;
  width: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .spacer {
  display: none;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  margin-left: auto;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  position: relative;
  justify-content: flex-start !important;
  padding-top: 6px !important;
  transition: background-color 120ms ease-out;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(0, 0, 0, 0.05) !important;
  transition-duration: 40ms;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  min-width: 14px !important;
  height: 14px !important;
  padding: 1px 4px 0 !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  line-height: 12px !important;
  border: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badges {
  transform: translate(-4px, 0) !important;
  z-index: 100 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  z-index: 100 !important;
  position: relative;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  z-index: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  box-sizing: content-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 5px 15px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid #E7E5E4;
  opacity: 1;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .label-short {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 3px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected {
  background: transparent !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected .mat-icon {
  opacity: 1;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  border-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(255, 255, 255, 0.05) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar {
  padding-top: env(safe-area-inset-top, 0) !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  background: transparent !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  border-top: none !important;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.06), 0 -3px 10px rgba(0, 0, 0, 0.04);
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo,
html[data-device=mobile-portrait] app-navbar .navbar .spacer,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .command-palette-trigger,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .support-help-button,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container app-user-notifications {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  padding-left: 4px;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot {
  display: inline-flex !important;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0;
  flex: 0 0 56px;
  min-width: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-button {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin-top: -14px !important;
  line-height: 36px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-photo {
  width: 36px !important;
  height: 36px !important;
  border-radius: 6px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
html[data-device=mobile-portrait] .page-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
  z-index: auto !important;
  top: 0 !important;
  padding-bottom: 0 !important;
}
html[data-device=mobile-portrait] .main-header.main-header.main-header.main-header.main-header.main-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  min-height: 48px !important;
  padding: env(safe-area-inset-top, 0) 12px 0 !important;
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: calc(31 + 1) !important;
  overflow: visible;
}
html[data-device=mobile-portrait] .main-header.main-header::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%) !important;
  pointer-events: none;
  -webkit-backdrop-filter: blur(3px) saturate(115%);
  backdrop-filter: blur(3px) saturate(115%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
}
html[data-device=mobile-portrait] .main-header.main-header.is-scrolled {
  box-shadow: none !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .main-title,
html[data-device=mobile-portrait] .main-header.main-header .page-actions {
  display: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter app-custom-search {
  flex: 0 0 auto !important;
  width: auto !important;
  display: inline-block !important;
}
html[data-device=mobile-portrait] app-custom-search .shortcut-hint {
  display: none !important;
}
html[data-device=mobile-portrait] app-custom-search .chip-expanded,
html[data-device=mobile-portrait] app-custom-search .chip-trigger {
  border-radius: 999px !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .chair-header-icon-button--filter {
  background-color: white !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .main-body {
  padding-top: calc(48px + env(safe-area-inset-top, 0)) !important;
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar .navbar-items,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  background-color: #202020 !important;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.5), 0 -6px 14px rgba(0, 0, 0, 0.35) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar {
  background: transparent !important;
  border-bottom: none !important;
}
body.dark-theme[data-device=mobile-portrait] .chair-header-icon-button--filter,
html[data-device=mobile-portrait] body.dark-theme .chair-header-icon-button--filter {
  background-color: black !important;
}
body.dark-theme[data-device=mobile-portrait] .main-header.main-header::before,
html[data-device=mobile-portrait] body.dark-theme .main-header.main-header::before {
  background: linear-gradient(to bottom, rgba(32, 32, 32, 0.5) 0%, rgba(32, 32, 32, 0) 100%) !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate {
  transform: none !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  touch-action: none !important;
  background: #f9f8f7;
  border-radius: 20px 20px 0 0 !important;
  padding-top: 18px !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0) + 12px) !important;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.18) !important;
  -webkit-animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
          animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 4px;
  border-radius: 3px;
  background: #D6D3D1;
  pointer-events: none;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate::before {
  background: #5a5651;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate {
  background: #202020;
}
html[data-device=mobile-portrait] body:has(.mobile-user-sheet-candidate) .jems-popover-backdrop {
  background: rgba(20, 20, 20, 0.42) !important;
  -webkit-animation: mobile-user-scrim-in 240ms ease-out;
          animation: mobile-user-scrim-in 240ms ease-out;
}
@-webkit-keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@-webkit-keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
@keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate),
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate) body {
  overflow: hidden !important;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  touch-action: none;
}
body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: none !important;
}
html[data-device=mobile-portrait] body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: flex !important;
}
html[data-device=mobile-portrait] body .desktop-only-menu-item.desktop-only-menu-item.desktop-only-menu-item {
  display: none !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  padding: 8px 0 !important;
  gap: 4px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent;
  border: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn .mat-icon {
  margin: 0 !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-flag .flag {
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  display: inline-block;
  width: 1px;
  height: 20px;
  margin: 0 6px;
  background: #E7E5E4;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  background: #3a3937;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
  min-height: 0 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 20px 12px;
  border-bottom: 1px solid #E7E5E4;
  touch-action: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E7E5E4;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  font-size: 14px;
  font-weight: 600;
  color: #363636;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  font-size: 12px;
  color: #373734;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.5);
  margin-top: 2px;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  display: block !important;
  padding: 14px 20px 4px !important;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  background: transparent !important;
  cursor: default;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item .mat-icon {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  border-bottom-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  background: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  color: #F6F6F6;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  color: #c4c2bd;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  display: flex;
  flex-direction: column;
  padding: 4px 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item, html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] {
  height: 46px !important;
  line-height: 46px !important;
  font-size: 14px !important;
  padding: 0 20px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item .mat-icon,
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] .mat-icon {
  margin-right: 14px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-nav-visible {
  display: none !important;
}
body.export-submissions-active .mat-sidenav-content {
  padding: 0 !important;
}
body:has(.sidebar.legacy-chrome-disabled:not(.wide-mode)) {
  --content-left-offset: var(--experimental-sidebar-width, 240px);
}
body:has(.sidebar.wide-mode) {
  --content-left-offset: 0px;
  --breadcrumb-reserved-height: 0px;
}
body:has(.sidebar:not(.legacy-chrome-disabled):not(.wide-mode)) {
  --content-left-offset: var(--admin-submenu-width, 165px);
  --breadcrumb-reserved-height: calc(26px + 55px);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.empty-page-panel {
  max-width: 560px;
  margin: 3rem auto;
  padding: 2.5rem 2.5rem 2rem;
  background: transparent;
  border: 1px dashed #E7E5E4;
  border-radius: 8px;
  text-align: center;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #373734;
}
body.dark-theme .empty-page-panel {
  border-color: #3a3937;
  color: #c4c2bd;
}
.empty-page-title {
  margin: 0 0 0.75rem;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #373734;
  letter-spacing: -0.005em;
  line-height: 1.3;
}
body.dark-theme .empty-page-title {
  color: #c4c2bd;
}
.empty-page-message {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.is-invisible {
  visibility: hidden;
  pointer-events: none;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  outline: none;
  transition: border-color 100ms ease-out, box-shadow 100ms ease-out;
}
.jems3-native-input.jems3-native-input--textarea {
  height: auto;
  min-height: calc(26px * 3);
  padding: 6px 10px;
  resize: vertical;
  line-height: 1.4;
}
.jems3-native-input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input::placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.jems3-native-input:focus {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.jems3-native-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-input[aria-invalid=true] {
  border-color: #e91414;
}
.jems3-native-input-label {
  display: block;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.55);
  margin-bottom: 4px;
  letter-spacing: 0;
}
.jems3-native-input-label .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
.jems3-native-input-error {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  color: #e91414;
  line-height: 1.3;
  min-height: 1em;
}
.jems3-native-input-labelrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.jems3-native-input-labelrow .jems3-native-input-label {
  margin-bottom: 4px;
}
.jems3-native-input-labelrow .jems3-native-input-error {
  margin-top: 0;
  text-align: right;
}
body.dark-theme .jems3-native-input {
  color: #c4c2bd;
  background-color: black;
  border-color: #3a3937;
}
body.dark-theme .jems3-native-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #5a5651;
}
body.dark-theme .jems3-native-input:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
body.dark-theme .jems3-native-input[aria-invalid=true] {
  border-color: #FF6B6B;
}
body.dark-theme .jems3-native-input-label {
  color: rgba(255, 255, 255, 0.6);
}
body.dark-theme .jems3-native-input-error {
  color: #FF6B6B;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 96px;
  height: 26px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  background-color: transparent;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  cursor: pointer;
  text-decoration: none;
  outline: none;
}
.jems3-native-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
}
.jems3-native-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-button.jems3-native-button--primary {
  background-color: #064ad9;
  color: #fff;
  border-color: #064ad9;
}
.jems3-native-button.jems3-native-button--primary:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--primary:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--primary {
  background-color: #60a5fa;
  color: #0a1a2e;
  border-color: #60a5fa;
}
.jems3-native-button.jems3-native-button--secondary {
  border-color: #D6D3D1;
  color: #373734;
}
.jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(0, 0, 0, 0.04);
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary {
  border-color: #5a5651;
  color: #c4c2bd;
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(255, 255, 255, 0.06);
}
.jems3-native-button.jems3-native-button--danger {
  background-color: #e91414;
  color: #fff;
  border-color: #e91414;
}
.jems3-native-button.jems3-native-button--danger:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--danger:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--danger {
  background-color: #FF6B6B;
  color: #2a0a0a;
  border-color: #FF6B6B;
}
.jems3-native-button.jems3-native-button--block {
  width: 100%;
}
.small-table {
  width: 100%;
}
.small-table .mat-header-row {
  height: 28px;
}
.small-table .mat-header-row .mat-header-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-header-row .mat-header-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-header-row th {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-header-row .mat-column-status, .small-table .mat-header-row .mat-column-event, .small-table .mat-header-row .mat-column-trackFileName, .small-table .mat-header-row .mat-column-deadline, .small-table .mat-header-row .mat-column-button {
  text-align: center;
}
.small-table .mat-header-row .mat-column-status {
  width: 55px;
}
.small-table .mat-header-row .mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-header-row .mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-header-row .mat-column-button {
  width: 220px;
}
.small-table .mat-row .mat-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-row .mat-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-row td {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-row .mat-column-status, .small-table .mat-row .mat-column-event, .small-table .mat-row .mat-column-trackFileName, .small-table .mat-row .mat-column-deadline, .small-table .mat-row .mat-column-button {
  text-align: center;
}
.small-table .mat-row td.mat-column-status {
  width: 55px;
}
.small-table .mat-row td.mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-row td.mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-row td.mat-column-button {
  width: 220px;
}
.small-table tr.upcoming .mat-column-deadline {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table tr.late .mat-column-deadline {
  background-color: RGBA(165, 42, 42, 0.5);
}
.small-table.legend .upcoming {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table.legend .late {
  background-color: RGBA(165, 42, 42, 0.5);
}
table.simple-table {
  width: 100%;
}
table.simple-table th {
  font-weight: 600;
}
table.simple-table th, table.simple-table td {
  vertical-align: middle;
  border: 1px solid white;
  font-size: 0.875rem;
  height: 30px;
  padding: 0 0.5rem;
}
table.simple-table th.mat-header-cell:first-of-type, table.simple-table th.mat-cell:first-of-type, table.simple-table th.mat-header-cell:last-of-type, table.simple-table th.mat-cell:last-of-type, table.simple-table td.mat-header-cell:first-of-type, table.simple-table td.mat-cell:first-of-type, table.simple-table td.mat-header-cell:last-of-type, table.simple-table td.mat-cell:last-of-type {
  padding: 0 0.5rem;
}
table.simple-table th .content-button, table.simple-table td .content-button {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
  flex-wrap: wrap;
}
table.simple-table th .content-button span, table.simple-table td .content-button span {
  padding-right: 0.25rem;
}
table.simple-table th .content-button.justify-center, table.simple-table td .content-button.justify-center {
  justify-content: center;
}
table.simple-table th:first-child, table.simple-table td:first-child {
  border-left-style: none;
}
table.simple-table th:last-child, table.simple-table td:last-child {
  border-right-style: none;
}
table.simple-table tr {
  height: 30px;
}
table.simple-table tfoot td {
  border-right-style: none;
  border-left-style: none;
  border-bottom-style: none;
}
table.simple-table tfoot td button {
  margin: 0.5rem;
}
table.simple-table .flexed {
  width: 100%;
  vertical-align: middle;
  display: inline-flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .flexed mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .no-line {
  border-right-style: none;
  border-bottom-style: none;
}
table.simple-table .no-right-line {
  border-right-style: none;
}
table.simple-table .no-bottom-line {
  border-bottom-style: none;
}
table.simple-table .no-padding {
  padding: 0;
}
table.simple-table .mat-icon-button {
  width: 25px;
  height: 25px;
  line-height: normal;
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
}
table.simple-table .mat-icon-button a {
  color: black;
}
table.simple-table .mat-button-wrapper {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
}
table.simple-table .mat-button-wrapper .mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.highlight-table {
  max-width: 100%;
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0px 1px !important;
}
table.highlight-table th, table.highlight-table td {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid;
  padding: 0 0.5em !important;
}
table.highlight-table th {
  font-size: 0.875rem;
  font-weight: 600;
  padding-top: 0;
  border: none !important;
}
table.highlight-table tbody > tr, table.highlight-table tfoot > tr {
  background-color: #ededed;
}
table.highlight-table th:last-child {
  font-size: 0.8125rem;
}
table.highlight-table th:last-child .mat-icon {
  font-size: 0.875rem;
  vertical-align: baseline;
}
table.highlight-table td:first-child, table.highlight-table td:last-child {
  font-size: 0.75rem;
  border: none !important;
}
table.highlight-table td:first-child {
  padding-right: 12px !important;
}
table.highlight-table td:nth-child(2) {
  border-left: 2px solid transparent;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.highlight-table td:nth-last-child(2) {
  border-right: 2px solid transparent;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.highlight-table tr:hover td {
  border-top: 2px solid;
  border-bottom: 2px solid;
}
table.highlight-table tr:hover td:first-child, table.highlight-table tr:hover td:last-child {
  border: none !important;
}
table.highlight-table tr:hover td:nth-child(2) {
  border-left: 2px solid;
}
table.highlight-table tr:hover td:nth-last-child(2) {
  border-right: 2px solid;
}
table.highlight-table tr:hover td.mat-footer-cell {
  border: none !important;
}
table.highlight-table tfoot td {
  border: none !important;
}
table .mat-sort-header-container {
  justify-content: center !important;
}
.mat-sort-header {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-container {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-content,
.mat-sort-header .mat-sort-header-arrow {
  pointer-events: auto;
  cursor: pointer;
}
table.jems3-table {
  width: 100%;
  background-color: transparent !important;
  border-collapse: separate;
  border-spacing: 1px 1px !important;
}
table.jems3-table tr.mat-header-row,
table.jems3-table tr.mat-row {
  height: auto !important;
}
table.jems3-table th,
table.jems3-table th.mat-header-cell {
  background-color: transparent !important;
  border: none;
  font-size: 12px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  padding: 2px 0.5rem;
  vertical-align: bottom;
  color: rgba(0, 0, 0, 0.541) !important;
  text-align: center;
}
table.jems3-table td,
table.jems3-table td.mat-cell {
  background-color: #F1F0EF;
  border: none;
  padding: 2px 8.5px;
  font-size: 13px;
  font-weight: 400;
  color: #373734;
  vertical-align: middle;
}
table.jems3-table td:first-of-type,
table.jems3-table td.mat-cell:first-of-type {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.jems3-table td:last-of-type,
table.jems3-table td.mat-cell:last-of-type {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table th.jems3-table-numbering,
table.jems3-table td.jems3-table-numbering,
table.jems3-table th.jems3-table-numbering.mat-header-cell,
table.jems3-table td.jems3-table-numbering.mat-cell {
  background-color: transparent !important;
  border-radius: 0 !important;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0;
  padding-right: 0.5rem;
  text-align: right;
  font-size: 12px;
  font-weight: 430;
  color: #373734;
}
table.jems3-table td.jems3-table-numbering + td,
table.jems3-table td.jems3-table-numbering + td.mat-cell {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.dark-theme table.jems3-table th.jems3-table-numbering,
.dark-theme table.jems3-table td.jems3-table-numbering,
.dark-theme table.jems3-table th.jems3-table-numbering.mat-header-cell,
.dark-theme table.jems3-table td.jems3-table-numbering.mat-cell {
  color: #c4c2bd;
}
table.jems3-table-hover {
  border-spacing: 0 1px !important;
}
table.jems3-table-hover tbody tr,
table.jems3-table-hover tr.mat-row {
  cursor: pointer;
}
table.jems3-table-hover td:not(.jems3-table-numbering) {
  position: relative;
}
table.jems3-table-hover td:not(.jems3-table-numbering)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-sizing: border-box;
  border-radius: inherit;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: #f9f8f7;
  pointer-events: none;
}
table.jems3-table-hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover td.jems3-table-numbering + td::after {
  border-left: 2px solid transparent;
}
table.jems3-table-hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-selectable th:last-of-type,
table.jems3-table-selectable th.mat-header-cell:last-of-type,
table.jems3-table-selectable td:last-of-type,
table.jems3-table-selectable td:last-of-type {
  background-color: transparent !important;
  border-radius: 0 !important;
  text-align: center;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0.5rem;
  padding-right: 0;
}
table.jems3-table-selectable th:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable th.mat-header-cell:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container {
  transform: scale(0.8);
  margin-right: 0;
}
table.jems3-table-selectable td:nth-last-of-type(2),
table.jems3-table-selectable td:nth-last-of-type(2) {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #064ad9;
  border-bottom-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
table.jems3-table-hover.jems3-table-selectable td:last-of-type::after {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2)::before {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  background-color: black;
}
.dark-theme table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:not(.jems3-table-numbering)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.jems3-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78716C;
  text-decoration: none;
  cursor: pointer;
  line-height: 0;
  background: transparent;
  border: 0;
  padding: 4px;
  height: auto;
  border-radius: 50%;
}
.jems3-table-action mat-icon,
.jems3-table-action .material-symbols-outlined {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.jems3-table-action:hover {
  color: #064ad9;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.06);
}
.jems3-table-action:active {
  background-color: rgba(0, 0, 0, 0.12);
}
.jems3-table-action:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 1px;
}
.dark-theme .jems3-table-action {
  color: #c4c2bd;
}
.dark-theme .jems3-table-action:hover {
  color: #60a5fa;
  background-color: rgba(255, 255, 255, 0.08);
}
.dark-theme .jems3-table-action:active {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme table.jems3-table th,
.dark-theme table.jems3-table th.mat-header-cell {
  color: rgba(255, 255, 255, 0.7) !important;
}
.dark-theme table.jems3-table td,
.dark-theme table.jems3-table td.mat-cell {
  background-color: #202020;
  color: #c4c2bd;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.topic-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0 10px;
  min-height: 1.4rem;
  border-radius: 16px;
  white-space: nowrap;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
  background-color: #ededed;
  color: #363636;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.span-threshold-pop {
  background: #ffffff;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.32);
  padding: 12px 14px 4px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.span-threshold-pop__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 500;
  color: #373734;
}
.dark-theme .span-threshold-pop {
  background: #202020;
  border-color: #3a3937;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7);
}
.dark-theme .span-threshold-pop .span-threshold-pop__title {
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-score-cell {
  display: block;
  content-visibility: auto;
  contain-intrinsic-size: auto 400px auto 72px;
  padding: 4px 0;
}
.score-grid {
  display: grid;
  align-items: stretch;
  justify-items: stretch;
  row-gap: 1px;
  -moz-column-gap: 0;
       column-gap: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.score-grid .sg-rl {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.score-grid .sg-rr {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.score-grid .sg-row {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  align-items: stretch;
  min-height: 18px;
}
.score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #F5F5F4;
  position: relative;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row > *::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-sizing: border-box;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.08);
  pointer-events: none;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  background-color: rgba(255, 255, 255, 0.1);
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rl::after {
  border-left: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rr::after {
  border-right: 2px solid transparent;
}
.no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #fff;
}
.dark-theme .no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row {
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row {
  box-shadow: none;
}
.score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #FAFAF9;
}
.score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #34332f;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.score-grid > *:not(.sg-row), .score-grid .sg-row > * {
  min-width: 0;
  max-width: 100%;
  padding: 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.score-grid .sg-reviewer {
  text-align: left;
}
.score-grid .sg-status-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}
.score-grid a {
  color: inherit;
}
.score-grid .sg-hidden-eye {
  font-size: 12px;
  display: inline;
  vertical-align: middle;
}
.score-grid .sg-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 3px;
  border: 1px solid transparent;
  overflow: visible;
  line-height: 1;
}
.score-grid .sg-status mat-icon {
  font-size: 9px;
  width: 9px;
  height: 9px;
  line-height: 9px;
}
.score-grid .sg-status.assigned {
  background-color: white;
  border-color: #999999;
  color: #999999;
}
.score-grid .sg-status.assigned mat-icon {
  color: #999999;
}
.score-grid .sg-status.notified {
  background-color: #f6faff;
  border-color: #0754bc;
  color: #0754bc;
}
.score-grid .sg-status.notified mat-icon {
  color: #0754bc;
}
.score-grid .sg-status.confirmed {
  background-color: #fff1c6;
  border-color: #936f00;
  color: #936f00;
}
.score-grid .sg-status.confirmed mat-icon {
  color: #936f00;
}
.score-grid .sg-status.declined {
  background-color: #f9f9f9;
  border-color: #606060;
  color: #606060;
}
.score-grid .sg-status.declined mat-icon {
  color: #606060;
}
.score-grid .sg-status.reminded {
  background-color: #fff5f7;
  border-color: #c2001d;
  color: #c2001d;
}
.score-grid .sg-status.reminded mat-icon {
  color: #c2001d;
}
.score-grid .sg-status.late {
  background-color: #fdbebe;
  border-color: #850404;
  color: #850404;
}
.score-grid .sg-status.late mat-icon {
  color: #850404;
}
.score-grid .sg-status.delegated {
  background-color: #ffeff8;
  border-color: #bc0066;
  color: #bc0066;
}
.score-grid .sg-status.delegated mat-icon {
  color: #bc0066;
}
.score-grid .sg-status.completed {
  background-color: #c7feeb;
  border-color: #039060;
  color: #039060;
}
.score-grid .sg-status.completed mat-icon {
  color: #039060;
}
.score-grid .sg-status.draft {
  background-color: #dddddd;
  border-color: #444444;
  color: #444444;
}
.score-grid .sg-status.draft mat-icon {
  color: #444444;
}
.score-grid .sg-foot {
  font-weight: 600;
}
.score-grid .sg-foot.sg-rl {
  text-align: right;
}
.score-grid.score-grid-head {
  align-items: end;
}
.score-grid.score-grid-head > * {
  color: #0000008A;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.2;
}
.dark-theme .score-grid.score-grid-head > * {
  color: #FFFFFFB3;
}
.score-grid.score-grid-head .sg-crit-head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.score-grid.score-grid-head .sg-crit-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 4px;
  border-radius: 4px;
  background-color: #E7E5E4;
  color: #373734;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1;
}
.dark-theme .score-grid.score-grid-head .sg-crit-pill {
  background-color: rgba(255, 255, 255, 0.14);
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.my-custom-dialog-class mat-dialog-container {
  overflow: hidden;
}
.session-dialog-panel .mat-dialog-container {
  background-color: white;
}
.dark-theme .session-dialog-panel .mat-dialog-container {
  background-color: black;
}
.subs-v2-item.cdk-drag-preview {
  box-sizing: border-box;
  list-style: none;
  padding: 3px 0;
  font-size: 13px;
  color: #373734;
}
.subs-v2-item.cdk-drag-preview .subs-v2-remove {
  display: none;
}
.subs-v2-item.cdk-drag-preview .subs-v2-card {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  opacity: 0.97;
}
.subs-v2-item.cdk-drag-preview .subs-v2-order {
  flex: 0 0 auto;
  align-self: center;
  min-width: 18px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: rgba(0, 0, 0, 0.5);
}
.subs-v2-item.cdk-drag-preview .subs-v2-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title,
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title {
  font-weight: 500;
}
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  font-size: 11px;
  font-weight: 430;
  color: rgba(0, 0, 0, 0.5);
}
.dark-theme .subs-v2-item.cdk-drag-preview {
  color: #c4c2bd;
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-card {
  border-color: #5a5651;
  background-color: #202020;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.55);
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-order,
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-authors {
  color: rgba(255, 255, 255, 0.5);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.seg {
  display: inline-flex;
  align-items: stretch;
  padding: 2px;
  border: 1px solid #E7E5E4;
  border-radius: 999px;
  background: transparent;
}
.seg-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 430;
  line-height: 1;
  letter-spacing: 0;
  color: #373734;
  padding: 0 14px;
  height: 28px;
  border-radius: 999px;
  white-space: nowrap;
}
.seg-btn:hover:not(.is-active) {
  background: rgba(0, 0, 0, 0.045);
}
.seg-btn.is-active {
  background: #e8e6e3;
  color: #000;
  font-weight: 500;
}
.seg-btn:disabled {
  cursor: default;
  opacity: 0.6;
}
.seg-btn--icon {
  height: 24px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.seg-btn--icon .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .seg {
  border-color: #3a3937;
}
.dark-theme .seg-btn {
  color: #c4c2bd;
}
.dark-theme .seg-btn:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.06);
}
.dark-theme .seg-btn.is-active {
  background: #34332f;
  color: #f2f1ee;
}
.seg.is-sliding {
  position: relative;
}
.seg.is-sliding .seg-btn {
  position: relative;
  z-index: 1;
}
.seg.is-sliding .seg-btn.is-active {
  background: transparent;
}
.seg.is-sliding .seg-btn:hover:not(.is-active) {
  background: transparent;
}
.seg-thumb {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  z-index: 0;
  border-radius: 999px;
  background: #e8e6e3;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
  pointer-events: none;
}
.dark-theme .seg-thumb {
  background: #34332f;
}
@media (prefers-reduced-motion: reduce) {
  .seg-thumb {
    transition: none;
  }
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.jems3-submission-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 96px;
  min-width: 0;
  max-width: 96px;
  height: 22px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-submission-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  font-variation-settings: "wght" 400, "FILL" 1;
  flex-shrink: 0;
}
.jems3-submission-status.pending {
  background-color: #e5e5e5;
  color: #434343;
}
.jems3-submission-status.pending .mat-icon, .jems3-submission-status.pending .icon {
  color: #6b6b6b;
}
.jems3-submission-status.active {
  background-color: #FFFF55;
  color: #434343;
}
.jems3-submission-status.active .mat-icon, .jems3-submission-status.active .icon {
  color: #1f3a93;
}
.jems3-submission-status.accepted {
  background-color: #99FF99;
  color: #434343;
}
.jems3-submission-status.accepted .mat-icon, .jems3-submission-status.accepted .icon {
  color: #1c7530;
}
.jems3-submission-status.rejected {
  background-color: #ffbdbd;
  color: #434343;
}
.jems3-submission-status.rejected .mat-icon, .jems3-submission-status.rejected .icon {
  color: #b3261e;
}
.jems3-submission-status.withdrawn {
  background-color: #DDDDDD;
  color: #434343;
}
.jems3-submission-status.withdrawn .mat-icon, .jems3-submission-status.withdrawn .icon {
  color: #808080;
}
.jems3-submission-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-submission-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
.jems3-review-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 144px;
  min-width: 0;
  max-width: 144px;
  height: 20px;
  padding: 0 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-review-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  flex-shrink: 0;
}
.jems3-review-status.assigned {
  background-color: white;
  border: 1px solid #999999;
  color: #999999;
}
.jems3-review-status.notified {
  background-color: #f6faff;
  border: 1px solid #0754bc;
  color: #0754bc;
}
.jems3-review-status.confirmed {
  background-color: #fff1c6;
  border: 1px solid #936f00;
  color: #936f00;
}
.jems3-review-status.declined {
  background-color: #f9f9f9;
  border: 1px solid #606060;
  color: #606060;
}
.jems3-review-status.reminded {
  background-color: #fff5f7;
  border: 1px solid #c2001d;
  color: #c2001d;
}
.jems3-review-status.late {
  background-color: #fdbebe;
  border: 1px solid #850404;
  color: #850404;
}
.jems3-review-status.delegated {
  background-color: #ffeff8;
  border: 1px solid #bc0066;
  color: #bc0066;
}
.jems3-review-status.completed {
  background-color: #c7feeb;
  border: 1px solid #039060;
  color: #039060;
}
.jems3-review-status.draft {
  background-color: #dddddd;
  border: 1px solid #444444;
  color: #444444;
}
.jems3-review-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-review-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
:root {
  --jems-link-color: #064ad9;
}
/* global styles */
.light-theme .title {
  color: #363636;
}
.dark-theme .title {
  color: #F6F6F6;
}
.light-theme .subtitle {
  color: #363636;
}
.dark-theme .subtitle {
  color: #F6F6F6;
}
.light-theme strong {
  color: #363636;
}
.dark-theme strong {
  color: #F6F6F6;
}
.light-theme .close.button {
  color: #030303;
}
.dark-theme .close.button {
  color: #ffffff;
}
.light-theme .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-frame {
  border-color: #A8A29E;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox-frame {
  background-color: transparent;
}
.dark-theme .mat-checkbox-frame {
  background-color: transparent;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #064ad9 !important;
}
.dark-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #D6D3D1 !important;
}
.light-theme table.jems3-table-selectable th .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #064ad9 !important;
}
.dark-theme table.jems3-table-selectable th .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #202020 !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #202020 !important;
}
.light-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #000;
}
.dark-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #f2f1ee;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #064ad9;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #fff;
}
.dark-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #000;
}
.light-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #0080ff;
}
.mat-pseudo-checkbox {
  border-radius: 4px !important;
  border-width: 1.5px !important;
}
.light-theme .mat-pseudo-checkbox {
  color: #908985 !important;
}
.dark-theme .mat-pseudo-checkbox {
  color: #A8A29E !important;
}
.light-theme .mat-pseudo-checkbox::after {
  color: #f9f8f7 !important;
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #202020 !important;
}
.light-theme .mat-pseudo-checkbox-checked {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-checked {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.light-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985;
}
.dark-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E;
}
.light-theme .mat-slide-toggle-thumb {
  background-color: #908985;
}
.dark-theme .mat-slide-toggle-thumb {
  background-color: #A8A29E;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #000;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #f2f1ee;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #A8A29E;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #fff;
}
.dark-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #000;
}
.light-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #000;
}
.dark-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #f2f1ee;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #D6D3D1;
}
.light-theme .main-header .main-title {
  color: #373734;
}
.dark-theme .main-header .main-title {
  color: #c4c2bd;
}
.light-theme .section-title {
  color: #373734;
}
.dark-theme .section-title {
  color: #c4c2bd;
}
.light-theme .main-header .main-title .main-title-icon {
  color: #000;
}
.dark-theme .main-header .main-title .main-title-icon {
  color: #f2f1ee;
}
/* simple-table */
.light-theme table.simple-table {
  background-color: #ededed;
}
.dark-theme table.simple-table {
  background-color: #262626;
}
.light-theme table.simple-table th {
  background-color: #d1d1d1;
}
.dark-theme table.simple-table th {
  background-color: #4d4d4d;
}
.light-theme table.simple-table th {
  color: #363636;
}
.dark-theme table.simple-table th {
  color: #F6F6F6;
}
/* table */
.light-theme table.highlight-table {
  background-color: white;
}
.dark-theme table.highlight-table {
  background-color: black;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: white;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: black;
}
.light-theme table.highlight-table tr:hover td {
  border-top-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-top-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td {
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-bottom-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
.dark-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
/* <a> */
.light-theme a {
  color: #064ad9;
}
.dark-theme a {
  color: #60a5fa;
}
.light-theme a:hover {
  color: #064ad9;
}
.dark-theme a:hover {
  color: #60a5fa;
}
/* <button> */
.light-theme button:disabled {
  color: #999999;
}
.dark-theme button:disabled {
  color: #666666;
}
.light-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #e8e6e3;
}
.dark-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #34332f;
}
.light-theme .app-icon-button.menu-open {
  background-color: #e9e8e6;
}
.dark-theme .app-icon-button.menu-open {
  background-color: #3a3936;
}
/* mat-accordion */
.light-theme .mat-accordion .mat-expansion-panel {
  background-color: #ededed;
}
.dark-theme .mat-accordion .mat-expansion-panel {
  background-color: #262626;
}
/* mat-form-field */
.light-theme .mat-form-field-infix {
  color: #363636;
}
.dark-theme .mat-form-field-infix {
  color: #F6F6F6;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #ffffff;
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #ffffff;
}
/* mat-divider */
.light-theme .mat-divider {
  border-bottom: 1px solid white;
}
.dark-theme .mat-divider {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.light-theme .mat-divider {
  border-top: "";
}
.dark-theme .mat-divider {
  border-top: 1px solid black;
}
/* app-admin */
.light-theme app-admin .admin {
  background-color: white;
}
.dark-theme app-admin .admin {
  background-color: black;
}
/* app-admin-navbar */
.light-theme app-admin-navbar .admin-navbar nav {
  background-color: white;
}
.dark-theme app-admin-navbar .admin-navbar nav {
  background-color: black;
}
.light-theme app-admin-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-admin-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-admin-navbar .logo img {
  filter: "";
}
.dark-theme app-admin-navbar .logo img {
  filter: grayscale(1) invert(1);
}
/* app-admin-event-sidebar */
.light-theme app-admin-event-sidebar .label {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .label {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .mat-icon {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .mat-icon {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .chair-button .mat-icon,
.dark-theme app-admin-event-sidebar .chair-button .mat-icon {
  color: inherit;
}
.light-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: white;
}
.dark-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: black;
}
body.light-theme,
html:has(body.light-theme) {
  background-color: white;
}
body.dark-theme,
html:has(body.dark-theme) {
  background-color: black;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .submenu-drag-handle, .light-theme .experimental-sidebar-child-drag-handle {
  color: #000;
}
.dark-theme app-admin-event-sidebar .submenu-drag-handle, .dark-theme .experimental-sidebar-child-drag-handle {
  color: #f2f1ee;
}
.light-theme .experimental-flyout-drag-handle {
  color: #000;
}
.dark-theme .experimental-flyout-drag-handle {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .navbar {
  background-color: #FAFAF9;
}
.dark-theme app-admin-event-sidebar .navbar {
  background-color: #262626;
}
.light-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
.dark-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
.light-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #3a3937;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-top-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.light-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #D6D3D1 !important;
  box-shadow: 1px 0 0 #D6D3D1 !important;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.dark-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #5a5651 !important;
  box-shadow: 1px 0 0 #5a5651 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-user-info {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-user-info {
  color: #f2f1ee;
}
.cdk-drag-preview.experimental-sidebar-child {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 28px;
  padding: 0 14px 0 26px;
  margin: 0;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-favorite-btn,
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-drag-handle {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-sidebar-child {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-sidebar-child:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.experimental-flyout-item {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 32px;
  padding: 6px 14px 6px 26px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-flyout-item > span {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-drag-handle,
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-favorite-btn {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-flyout-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-flyout-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.mat-list-item {
  box-sizing: border-box;
  height: 36px;
  padding: 0 14px 0 14px;
  margin: 0;
  border-radius: 6px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.mat-list-item .mat-list-item-content {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.cdk-drag-preview.mat-list-item .submenu-drag-handle {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-right: 2px;
  visibility: hidden;
}
.cdk-drag-preview.mat-list-item .submenu-item-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.mat-list-item .submenu-favorite-btn {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  visibility: hidden;
}
.light-theme .cdk-drag-preview.mat-list-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.mat-list-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.mat-list-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .mat-list-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #f9f8f7;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #202020;
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #3a3937;
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  border-top-color: #E7E5E4;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .classic-submenu {
  background-color: #f9f8f7;
  color: #373734;
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .classic-submenu {
  background-color: #202020;
  color: #c4c2bd;
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.light-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #D6D3D1;
  box-shadow: 1px 0 0 #D6D3D1;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.dark-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #5a5651;
  box-shadow: 1px 0 0 #5a5651;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb {
  display: block;
  height: 0;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb {
  top: var(--chrome-top-offset);
  z-index: 900;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb-segment {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #c4c2bd;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  color: #000;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #3a3937;
}
.dark-theme .sidebar:not(.legacy-chrome-disabled) .activity-bar {
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.5) !important;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: black;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.light-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected {
  background-color: transparent !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #373734;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #c4c2bd;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-navbar .command-palette-trigger:hover {
  background-color: #e8e6e3 !important;
  border-color: #E7E5E4;
}
.dark-theme app-navbar .command-palette-trigger:hover {
  background-color: #34332f !important;
  border-color: #3a3937;
}
.light-theme app-custom-search .shortcut-hint,
.light-theme app-navbar .shortcut-hint {
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .shortcut-hint,
.dark-theme app-navbar .shortcut-hint {
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger {
  background-color: white !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-trigger {
  background-color: black !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.dark-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.light-theme app-custom-search .chip-expanded {
  background-color: white !important;
  background-clip: padding-box !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-expanded {
  background-color: black !important;
  background-clip: padding-box !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.dark-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #5a5651;
}
.light-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
}
.light-theme app-custom-search .chip-trigger,
.light-theme app-custom-search .chip-expanded {
  color: #373734;
}
.dark-theme app-custom-search .chip-trigger,
.dark-theme app-custom-search .chip-expanded {
  color: #c4c2bd;
}
.light-theme app-custom-search .chip-clear:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.dark-theme app-custom-search .chip-clear:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .main.reviews .separator,
.light-theme .main.submissions .separator,
.light-theme .submission-ranking-filter-overlay .separator {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .main.reviews .separator,
.dark-theme .main.submissions .separator,
.dark-theme .submission-ranking-filter-overlay .separator {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .topics-panel {
  display: flex;
  flex-direction: column;
  width: 440px;
  max-width: calc(100vw - 24px);
  max-height: min(70vh, 460px);
  overflow: hidden;
  border-radius: 12px;
  padding: 14px 16px;
  text-align: left;
}
.light-theme .topics-selection-panel .topics-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .topics-selection-panel .topics-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .panel-header {
  flex: 0 0 auto;
  margin-bottom: 6px;
}
.topics-selection-panel .panel-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #373734;
}
.topics-selection-panel .topics-count {
  flex: 0 0 auto;
  font-size: 0.75rem;
  color: #78716C;
  margin-bottom: 8px;
}
.topics-selection-panel .topics-count.invalid {
  color: #CC0029;
}
.topics-selection-panel .topics-tree {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.topics-selection-panel .topic-category {
  margin-top: 6px;
}
.topics-selection-panel .topic-category .category-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #373734;
  margin: 6px 0 2px;
}
.topics-selection-panel .topic-category .topic-item {
  margin-left: 14px;
}
.topics-selection-panel .topic-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 4px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8125rem;
  color: #373734;
}
.topics-selection-panel .topic-item:hover {
  background-color: #e8e6e3;
}
.topics-selection-panel .topic-item input {
  flex: 0 0 auto;
  cursor: pointer;
}
.topics-selection-panel .topic-item span {
  line-height: 1.3;
}
.topics-selection-panel .topics-empty {
  font-size: 0.8125rem;
  color: #78716C;
}
.dark-theme .topics-selection-panel .panel-title,
.dark-theme .topics-selection-panel .topic-category .category-name,
.dark-theme .topics-selection-panel .topic-item {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topics-count {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topic-item:hover {
  background-color: #34332f;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.light-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.dark-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #34332f !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #908985 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #A8A29E !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #78716C !important;
  border-color: #78716C !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #D6D3D1 !important;
  border-color: #D6D3D1 !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.light-theme .mat-slide-toggle-content {
  color: #373734;
}
.dark-theme .mat-slide-toggle-content {
  color: #c4c2bd;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #f9f8f7 !important;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985 !important;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.light-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.dark-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #34332f !important;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.light-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.dark-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.tpc-user-menu {
  display: block;
  box-sizing: border-box;
  padding: 5px 0;
  min-width: 160px;
  border-radius: 6px;
}
.light-theme .tpc-user-menu {
  background-color: #f9f8f7;
  box-shadow: none;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.review-info-panel {
  box-sizing: border-box;
  min-width: 200px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.8125rem;
}
.review-info-panel .review-info-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 3px 0;
}
.review-info-panel .review-info-label {
  font-weight: 400;
  white-space: nowrap;
}
.review-info-panel .review-info-value {
  font-weight: 500;
  text-align: right;
}
.review-info-panel .review-info-value a {
  text-decoration: none;
}
.light-theme .review-info-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
  color: #373734;
}
.light-theme .review-info-panel .review-info-label {
  color: #78716C;
}
.light-theme .review-info-panel .review-info-value a {
  color: #064ad9;
}
.dark-theme .review-info-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
  color: #c4c2bd;
}
.dark-theme .review-info-panel .review-info-label {
  color: #c4c2bd;
  opacity: 0.6;
}
.dark-theme .review-info-panel .review-info-value a {
  color: #60a5fa;
}
.find-reviewers-dialog .mat-dialog-container {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.find-reviewers-dialog app-find-reviewers-by-interest,
.find-reviewers-dialog app-reviewer-finder {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.cdk-overlay-container {
  z-index: 1200 !important;
}
.notifications-menu {
  z-index: 1100;
  transform-origin: top center;
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
.notifications-menu.above {
  transform-origin: bottom center;
}
.menu-chart-v2,
.menu-container {
  display: block;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 5px 0;
}
.menu-chart-v2 .container-option {
  display: block !important;
}
.menu-chart-v2 .container-option .mat-menu-item {
  height: 32px !important;
  line-height: 32px !important;
  font-size: 14px;
  font-weight: 430;
  padding: 0 12px !important;
  border-radius: 6px;
  width: calc(100% - 8px) !important;
  margin: 0 4px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.menu-chart-v2 .container-option .mat-menu-item .mat-icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  color: rgba(0, 0, 0, 0.55);
  margin: 0;
}
.menu-chart-v2 .container-option .mat-menu-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.menu-chart-v2 .container-option .mat-menu-item:hover .mat-icon {
  color: rgba(0, 0, 0, 0.85);
}
.menu-chart-v2 > .toggle-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px !important;
  min-height: 32px;
  max-height: 32px;
  margin: 0 4px;
  padding: 0;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  height: 24px;
  line-height: 24px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-bar {
  margin-left: 8px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  background: transparent !important;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-content,
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-label {
  font-size: 14px;
  font-weight: 430;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle:hover {
  background: transparent !important;
}
.menu-chart-v2 mat-divider,
.menu-container mat-divider {
  width: 100% !important;
  max-width: none !important;
  margin: 4px 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.dark-theme .jems-popover-panel mat-divider,
.dark-theme .tpc-user-menu mat-divider,
.dark-theme .menu-chart-v2 mat-divider,
.dark-theme .menu-container mat-divider {
  border-top-color: #000;
}
.light-theme .menu-chart-v2,
.light-theme .menu-container {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.container-option {
  text-decoration: none !important;
  color: inherit !important;
}
.light-theme .container-option .mat-menu-item,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.light-theme .tpc-user-menu .mat-menu-item {
  color: #373734 !important;
}
.light-theme .container-option .mat-menu-item .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.light-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #000 !important;
}
.light-theme .container-option .mat-menu-item:hover:not([disabled]),
.light-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .container-option .mat-menu-item,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.dark-theme .tpc-user-menu .mat-menu-item {
  color: #c4c2bd !important;
}
.dark-theme .container-option .mat-menu-item .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.dark-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #f2f1ee !important;
}
.dark-theme .container-option .mat-menu-item:hover:not([disabled]),
.dark-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.container-option .mat-menu-item[disabled],
.mat-menu-panel.tpc-user-menu .mat-menu-item[disabled],
.tpc-user-menu .mat-menu-item[disabled] {
  opacity: 0.45 !important;
  cursor: default !important;
  pointer-events: none !important;
}
.container-option .mat-menu-item.disabled-hoverable,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable,
.tpc-user-menu .mat-menu-item.disabled-hoverable {
  opacity: 0.45 !important;
  cursor: default !important;
}
.container-option .mat-menu-item.disabled-hoverable:hover,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable:hover,
.tpc-user-menu .mat-menu-item.disabled-hoverable:hover {
  background-color: transparent !important;
}
.container-option.has-tip {
  display: block;
  position: relative;
}
.jems-menu-tip {
  position: absolute;
  top: calc(100% + 4px);
  left: 8px;
  z-index: 10;
  max-width: 260px;
  padding: 6px 8px;
  border-radius: 4px;
  background-color: rgba(97, 97, 97, 0.96);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.container-option.has-tip:hover .jems-menu-tip {
  opacity: 1;
  visibility: visible;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .tpc-user-menu {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .container-button .time-zone-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .container-button .time-zone-button:hover:not([disabled]), .dark-theme .container-button .time-zone-button.menu-open {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.jems-tzview-menu {
  min-width: 300px;
  padding: 8px 4px !important;
}
.jems-tzview-menu .jems-tzview-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 26px;
  padding: 0 8px;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
}
.jems-tzview-menu .jems-tzview-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tzview-menu .jems-tzview-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tzview-menu .jems-tzview-time {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tzview-menu .jems-tzview-row {
  color: #c4c2bd;
}
.dark-theme .jems-tzview-menu .jems-tzview-tag, .dark-theme .jems-tzview-menu .jems-tzview-time {
  color: rgba(255, 255, 255, 0.55);
}
.jems-tz-menu {
  min-width: 260px;
  padding: 5px 4px !important;
  max-height: 320px;
  overflow-y: auto;
}
.jems-tz-menu .jems-tz-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 26px;
  padding: 0 8px 0 28px;
  position: relative;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}
.jems-tz-menu .jems-tz-option:hover {
  background-color: #e8e6e3;
}
.jems-tz-menu .jems-tz-option.selected::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.jems-tz-menu .jems-tz-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tz-menu .jems-tz-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tz-menu .jems-tz-offset {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tz-menu .jems-tz-option {
  color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-option:hover {
  background-color: #34332f;
}
.dark-theme .jems-tz-menu .jems-tz-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-tag, .dark-theme .jems-tz-menu .jems-tz-offset {
  color: rgba(255, 255, 255, 0.55);
}
.jems-popover-backdrop {
  z-index: 2000 !important;
}
.jems-popover-panel {
  z-index: 2001 !important;
}
.cdk-overlay-container .mat-tooltip-panel,
.cdk-overlay-container .cdk-overlay-pane:has(.mat-tooltip),
.mat-tooltip {
  z-index: 2010 !important;
}
.cdk-overlay-container {
  z-index: 2010 !important;
}
.dark-theme .ti-copy-btn {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .ti-copy-btn:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .ti-copy-btn.is-copied {
  color: #69f0ae;
}
.dark-theme .jems-select-menu .jems-select-option {
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-option.active {
  background-color: #34332f;
}
.dark-theme .jems-select-menu .jems-select-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter {
  background-color: #202020;
}
.dark-theme .jems-select-menu .jems-select-filter-input {
  background-color: black;
  border-color: #3a3937;
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .menu-chart-v2,
.dark-theme .menu-container {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.mat-select-panel.jems3-select-panel .mat-option.mat-active,
.mat-select-panel.my-select-status-panel .mat-option.mat-active,
.mat-autocomplete-panel .mat-option.mat-active {
  background-color: transparent !important;
}
.mat-select-panel.jems3-select-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-select-panel.jems3-select-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-select-panel.jems3-select-panel .mat-pseudo-checkbox {
  transform: scale(0.8);
}
.mat-select-panel.jems3-select-panel .mat-optgroup-label {
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
}
.light-theme .mat-select-panel.jems3-select-panel,
.light-theme .mat-select-panel.my-select-status-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .mat-select-panel.jems3-select-panel,
.dark-theme .mat-select-panel.my-select-status-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #373734;
  position: relative;
  padding-left: 28px !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #373734 !important;
  background: transparent !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-checked,
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-indeterminate {
  color: #064ad9 !important;
  background-color: #064ad9 !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #c4c2bd;
  position: relative;
  padding-left: 28px !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #c4c2bd !important;
  background: transparent !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #c4c2bd;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple,
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple {
  padding-left: 12px !important;
}
.mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple.mat-selected {
  background: transparent !important;
}
.mat-autocomplete-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-autocomplete-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-autocomplete-panel.user-search-autocomplete {
  overflow-x: auto;
  min-width: 300px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: min(800px, 90vw);
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option) {
  padding: 0 0 5px !important;
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option:last-child) {
  padding-bottom: 0 !important;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option {
  min-width: 100%;
  overflow: visible;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option-text {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 32px !important;
  line-height: 32px;
  border-radius: 0;
  color: #064ad9;
  font-weight: 500;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-option-text {
  display: flex;
  align-items: center;
  line-height: normal;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .create-user-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 1px solid #E7E5E4;
}
.light-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  background-color: #f9f8f7;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  color: #60a5fa;
  background-color: #202020;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option::after {
  border-bottom-color: #3a3937;
}
.light-theme .mat-autocomplete-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .mat-autocomplete-panel .mat-option {
  color: #373734;
}
.light-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.dark-theme .mat-autocomplete-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-autocomplete-panel .mat-option {
  color: #c4c2bd;
}
.dark-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.light-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.light-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #d8d5cf !important;
}
.dark-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #474540 !important;
}
.status-chip-filter {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  width: 96px !important;
  min-width: 0 !important;
  max-width: 96px !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  flex-shrink: 0;
  display: inline-block !important;
  text-align: center !important;
}
.status-chip-filter.pending {
  background-color: #e5e5e5 !important;
  color: #434343 !important;
}
.status-chip-filter.pending .mat-icon, .status-chip-filter.pending .icon {
  color: #6b6b6b !important;
}
.status-chip-filter.active {
  background-color: #FFFF55 !important;
  color: #434343 !important;
}
.status-chip-filter.active .mat-icon, .status-chip-filter.active .icon {
  color: #1f3a93 !important;
}
.status-chip-filter.accepted {
  background-color: #99FF99 !important;
  color: #434343 !important;
}
.status-chip-filter.accepted .mat-icon, .status-chip-filter.accepted .icon {
  color: #1c7530 !important;
}
.status-chip-filter.rejected {
  background-color: #ffbdbd !important;
  color: #434343 !important;
}
.status-chip-filter.rejected .mat-icon, .status-chip-filter.rejected .icon {
  color: #b3261e !important;
}
.status-chip-filter.withdrawn {
  background-color: #DDDDDD !important;
  color: #434343 !important;
}
.status-chip-filter.withdrawn .mat-icon, .status-chip-filter.withdrawn .icon {
  color: #808080 !important;
}
.status-chip-filter .scf-body {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  vertical-align: middle;
}
.status-chip-filter .icon {
  font-size: 13px !important;
  width: 13px !important;
  height: 13px !important;
  line-height: 13px !important;
  font-variation-settings: "wght" 400, "FILL" 1 !important;
  flex-shrink: 0;
  margin: 0 !important;
}
.status-chip-filter .label {
  line-height: 1;
}
app-select-input.filter-styled:has(.status-chip-trigger) .mat-form-field-flex,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel {
  min-width: 0 !important;
  width: -webkit-max-content !important;
  width: -moz-max-content !important;
  width: max-content !important;
  padding: 7px 4px !important;
}
.mat-select-panel.status-chip-select-panel .status-chip-filter {
  position: relative;
  top: -2px;
}
.mat-select-panel.status-chip-select-panel .mat-option {
  width: auto;
  margin-bottom: 4px;
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option:last-child {
  margin-bottom: 0;
}
.mat-select-panel.status-chip-select-panel .mat-option-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option-ripple {
  display: none !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #d8d5cf !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #474540 !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
/* app-event-wizard */
.light-theme app-event-wizard .task-text {
  color: #373734;
}
.dark-theme app-event-wizard .task-text {
  color: #c4c2bd;
}
.light-theme .section + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .section {
  border-top-color: #3a3937;
}
.light-theme .section + .row-md {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .row-md {
  border-top-color: #3a3937;
}
.light-theme .row-md + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .row-md + .section {
  border-top-color: #3a3937;
}
.light-theme .review-settings .dependent-option::before {
  background-color: #E7E5E4;
}
.dark-theme .review-settings .dependent-option::before {
  background-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: white;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: black;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #E7E5E4;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
.light-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #FAFAF9;
}
.dark-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #44403C;
}
.light-theme .confirmation-dialog .dialog-icon-question {
  color: #44403C;
}
.dark-theme .confirmation-dialog .dialog-icon-question {
  color: #E7E5E4;
}
.light-theme .confirmation-dialog .dialog-icon-warning {
  color: #B45309;
}
.dark-theme .confirmation-dialog .dialog-icon-warning {
  color: #FCD34D;
}
.light-theme .confirmation-dialog .dialog-icon-success {
  color: #15803D;
}
.dark-theme .confirmation-dialog .dialog-icon-success {
  color: #4ADE80;
}
.light-theme .confirmation-dialog .dialog-title {
  color: #363636;
}
.dark-theme .confirmation-dialog .dialog-title {
  color: #F6F6F6;
}
.light-theme .confirmation-dialog .dialog-content {
  color: #373734;
}
.dark-theme .confirmation-dialog .dialog-content {
  color: #c4c2bd;
}
/* mat-card */
.light-theme mat-card mat-card-title {
  color: #434343;
}
.dark-theme mat-card mat-card-title {
  color: #ffffff;
}
.light-theme mat-card.base-card {
  background-color: #f9f8f7;
}
.dark-theme mat-card.base-card {
  background-color: #202020;
}
.light-theme mat-card.base-card {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.base-card {
  border: 1px solid #3a3937;
}
.light-theme mat-card.base-card {
  color: #262626;
}
.dark-theme mat-card.base-card {
  color: #ededed;
}
.light-theme mat-card.event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.event {
  background-color: #202020;
}
.light-theme mat-card.event {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event .event-parent span {
  color: #363636;
}
.dark-theme mat-card.event .event-parent span {
  color: #F6F6F6;
}
.light-theme mat-card.event .event-parent a {
  color: #363636;
}
.dark-theme mat-card.event .event-parent a {
  color: #F6F6F6;
}
.light-theme mat-card.event:hover {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event:hover {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.dark-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.light-theme .mat-card-header {
  background-color: #ededed;
}
.dark-theme .mat-card-header {
  background-color: #262626;
}
.light-theme .mat-card-header {
  color: #434343;
}
.dark-theme .mat-card-header {
  color: #D6D6D6;
}
.light-theme mat-card.admin-event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.admin-event {
  background-color: #202020;
}
.light-theme mat-card.admin-event {
  border-color: #E7E5E4;
}
.dark-theme mat-card.admin-event {
  border-color: #3a3937;
}
.light-theme mat-card.admin-event {
  color: #373734;
}
.dark-theme mat-card.admin-event {
  color: #c4c2bd;
}
/* app-tracks */
.light-theme app-tracks .tracks-card mat-card.track {
  background-color: #f9f8f7;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  background-color: #202020;
}
.light-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #E7E5E4;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #3a3937;
}
.light-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #030303;
}
.dark-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #ffffff;
}
/* app-sidebar-item */
.light-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #67E8F9;
}
.light-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #434343;
}
.dark-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #67E8F9;
}
.light-theme app-sidebar-item .label-full {
  color: #373734;
}
.dark-theme app-sidebar-item .label-full {
  color: #c4c2bd;
}
.light-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #f2f1ee;
}
.light-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #f2f1ee;
}
.light-theme app-navbar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-navbar .navbar {
  border-top-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-top-color: #3a3937;
}
.light-theme app-navbar .navbar {
  background-color: #f9f8f7 !important;
}
.dark-theme app-navbar .navbar {
  background-color: #202020 !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #ffffff !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #2e2e2e !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #D6D3D1 !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #5a5651 !important;
}
.sidebar-item.jems-toolbar-button {
  transition: background-color 260ms cubic-bezier(0.4, 0, 0.2, 1), border-color 260ms cubic-bezier(0.4, 0, 0.2, 1);
}
.light-theme .sidebar-item.jems-toolbar-button:hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  background-color: #34332f !important;
}
.light-theme .sidebar-item.jems-toolbar-button {
  color: #373734;
}
.dark-theme .sidebar-item.jems-toolbar-button {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  color: #f2f1ee;
}
.light-theme .sidebar-item .label-short {
  color: #373734;
}
.dark-theme .sidebar-item .label-short {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #f2f1ee;
}
/* app-sidebar-item-admin */
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #1C1917;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #D6D6D6;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #f0efed;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #363432;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #e9e8e6;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #42403c;
}
/* Activity bar overrides — in this layout the bg highlight lives on the button
   (40×40 square), not on the mat-icon. Zero out the legacy .mat-icon bg from
   the rules above and apply matching hover/selected bg to the button itself. */
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #e9e8e6;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #3a3936;
}
/* app-event */
.light-theme app-event .name a {
  color: #434343;
}
.dark-theme app-event .name a {
  color: #bbbbbb;
}
.light-theme app-event .sub-event .label {
  color: #434343;
}
.dark-theme app-event .sub-event .label {
  color: #ffffff;
}
/* app-event-view */
.light-theme app-event-view .event.card .information .name {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .name {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .sub-event .name a {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .sub-event .name a {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .label {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .label {
  color: #ffffff;
}
/* app-event-user-view */
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #030303;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #ffffff;
}
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #ffffff;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #030303;
}
/* app-user-search */
.light-theme app-user-search .user-search .user-box {
  background-color: white;
}
.dark-theme app-user-search .user-search .user-box {
  background-color: black;
}
/* app-topics */
.light-theme app-topics .topics .mat-chip {
  background-color: #ededed;
}
.dark-theme app-topics .topics .mat-chip {
  background-color: #262626;
}
.light-theme app-topics .topics .mat-chip {
  color: #363636;
}
.dark-theme app-topics .topics .mat-chip {
  color: #F6F6F6;
}
/* app-event-topics */
.light-theme app-event-topics .event-topics .subtitle {
  color: #434343;
}
.dark-theme app-event-topics .event-topics .subtitle {
  color: #D6D6D6;
}
/* app-user-event-topics */
.light-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #e3e5eb;
}
.dark-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #262626;
}
.light-theme app-user-event-topics .event-topics button.mat-fab mat-icon {
  color: #434343;
}
.dark-theme app-user-event-topics .event-topics button.mat-fab mat-icon {
  color: #D6D6D6;
}
/* app-event-send-email */
.light-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #262626;
}
.light-theme app-event-send-email .event-send-email mat-card-content {
  color: #363636;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  color: #F6F6F6;
}
/* app-event-settings-email — bloco de tabela REMOVIDO (auditoria): a tabela
   migrou pro `.jems3-table jems3-table-hover`, que seta background/color com
   `!important`; estas 3 regras (sem !important) viviam mortas/overridden. O chrome
   da tabela vem 100% do `.jems3-table` global. */
/* app-navbar */
.light-theme app-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-navbar .logo img {
  filter: "";
}
.dark-theme app-navbar .logo img {
  filter: grayscale(1) invert(1);
}
.light-theme app-navbar .navbar {
  box-shadow: "";
}
.dark-theme app-navbar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
/* app-avatar-profile */
.light-theme .mat-menu-panel {
  background-color: #F6F6F6;
}
.dark-theme .mat-menu-panel {
  background-color: #383838;
}
.light-theme .experimental-flyout {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .experimental-flyout::before {
  border-right-color: #E7E5E4 !important;
}
.light-theme .experimental-flyout::after {
  border-right-color: #f9f8f7 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item {
  color: #373734 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-title {
  background-color: #f0efed;
  color: #000;
  border-color: #E7E5E4;
}
.dark-theme .experimental-flyout {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .experimental-flyout::before {
  border-right-color: #3a3937 !important;
}
.dark-theme .experimental-flyout::after {
  border-right-color: #202020 !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item {
  color: #c4c2bd !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-title {
  background-color: #34332f;
  color: #f2f1ee;
  border-color: #3a3937;
}
.light-theme .mat-menu-panel {
  box-shadow: "";
}
.dark-theme .mat-menu-panel {
  box-shadow: 0px 2px 10px 1px black;
}
.light-theme .mat-menu-content .mat-menu-item .mat-icon, .light-theme .mat-menu-item {
  color: #434343;
}
.dark-theme .mat-menu-content .mat-menu-item .mat-icon, .dark-theme .mat-menu-item {
  color: #D6D6D6;
}
.light-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #064ad9;
}
.dark-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #60a5fa;
}
.light-theme button.mat-menu-item:hover {
  color: white;
}
.dark-theme button.mat-menu-item:hover {
  color: white;
}
.light-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.dark-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.light-theme .mat-menu-content .container-theme .highlight-button, .light-theme .mat-menu-content .container-layout .highlight-button, .light-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: #e0e0e0;
}
.dark-theme .mat-menu-content .container-theme .highlight-button, .dark-theme .mat-menu-content .container-layout .highlight-button, .dark-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: rgba(255, 255, 255, 0.15);
}
/* app-fixed-top-progress-bar */
.light-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #F6F6F6;
}
.dark-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #262626;
}
/* app-home */
.light-theme app-home .home {
  background-color: white;
}
.dark-theme app-home .home {
  background-color: black;
}
.light-theme app-home .home {
  color: black;
}
.dark-theme app-home .home {
  color: white;
}
.light-theme app-home .home .page-content {
  background-color: white;
}
.dark-theme app-home .home .page-content {
  background-color: black;
}
/* app-paper-info */
.light-theme app-paper-info .paper-info a {
  color: #363636;
}
.dark-theme app-paper-info .paper-info a {
  color: #F6F6F6;
}
/* app-dialog-timezone */
.light-theme .timeZonePanel table thead tr th {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  background-color: #262626;
}
.light-theme .timeZonePanel table thead tr th {
  border-bottom-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  border-bottom-color: #262626;
}
.light-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #030303;
}
.light-theme .timeZonePanel table tbody tr td {
  background-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr td {
  background-color: #181818;
}
.light-theme .timeZonePanel table tbody tr td {
  border-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td {
  border-color: #262626;
}
.light-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  background-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #030303;
}
/* app-landing */
.light-theme app-landing .landing .content-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .content-container {
  background-color: #262626;
}
.light-theme app-landing .landing .content-container .logo.image {
  filter: "";
}
.dark-theme app-landing .landing .content-container .logo.image {
  filter: invert(1);
}
.light-theme app-landing .landing .content-container i {
  color: #363636;
}
.dark-theme app-landing .landing .content-container i {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  color: #363636;
}
.dark-theme app-landing .landing .language-container {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .language-container {
  background-color: #262626;
}
/* app-events */
.light-theme app-events .events .main-title i {
  color: #088838;
}
.dark-theme app-events .events .main-title i {
  color: #2DD4BF;
}
/* app-submissions */
.light-theme app-submissions .submissions .main-title i {
  color: #064ad9;
}
.dark-theme app-submissions .submissions .main-title i {
  color: #60a5fa;
}
/* app-reviews */
.light-theme app-reviews .reviews .main-title i {
  color: #F59E0B;
}
.dark-theme app-reviews .reviews .main-title i {
  color: #FCD34D;
}
/* app-paper-review-list */
.light-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: white;
}
.dark-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: black;
}
/* app-committees */
.light-theme app-committees .committees .main-title i {
  color: #DC2626;
}
.dark-theme app-committees .committees .main-title i {
  color: #FF1A1A;
}
/* app-my-events */
.light-theme app-my-events .myevents .main-title i {
  color: #7708AF;
}
.dark-theme app-my-events .myevents .main-title i {
  color: #BC5DDF;
}
/* app-session-chairings */
.light-theme app-session-chairings .session-chairings .main-title i {
  color: #4F46E5;
}
.dark-theme app-session-chairings .session-chairings .main-title i {
  color: #818CF8;
}
/* app-publication-chairings */
.light-theme app-publication-chairings .publication-chairings .main-title i {
  color: #0891B2;
}
.dark-theme app-publication-chairings .publication-chairings .main-title i {
  color: #67E8F9;
}
/* app-submissions-list-table (ANTIGO) — bloco de tabela REMOVIDO (auditoria):
   o componente é DEAD CODE (0 usos em template; substituído pelo `-v2`), então este
   sistema de borda (border-right white/black + frame de hover `!important`) nunca
   renderizava. NOTA: o arquivo `.ts` continua existindo só pelo export `Collection`
   usado em `show-all-submissions` — refactor futuro: extrair `Collection` p/ um tipo
   compartilhado e então apagar o componente + sua declaração no app.module. */
/* app-submissions-list-table-v2 */
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.5));
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.5));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-left-color: rgba(0, 0, 0, 0.4);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #F6F6F6;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #c4c2bd;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: black;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .title {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) a, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-file-pdf, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-upload {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill--missing,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-name,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon-missing {
  color: #373734 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.paperBackground:not(.no-status-color) td.mat-cell.description:not(:first-child):not(:last-child) a span {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color td.mat-cell app-file-pill .file-pill-icon {
  color: #60a5fa !important;
}
/* app-submissions-field-filter-v2 */
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #f9f8f7;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #202020;
}
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #E7E5E4;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #3a3937;
}
/* app-submissions-list-filter */
.light-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: "";
}
.dark-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: rgba(0, 0, 0, 0.75);
}
/* app-file-rules-card */
.light-theme app-file-rules-card .file-card .top-file-card {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .top-file-card {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .uploading {
  background-color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .uploading {
  background-color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .notUploading {
  background-color: white;
}
.dark-theme app-file-rules-card .file-card .notUploading {
  background-color: black;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .info-column .file-required {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .info-column .file-required {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #666666;
}
.light-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #2e9e44;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #66BB6A;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .download-bar {
  background-color: #ededed;
}
.dark-theme app-file-rules-card .download-bar {
  background-color: #262626;
}
.light-theme app-file-upload .success-icon {
  color: #2e9e44;
}
.dark-theme app-file-upload .success-icon {
  color: #66BB6A;
}
/* app-file-upload */
.light-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #666666;
}
/* app-custom-form-text-question */
.light-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #ffffff;
}
.dark-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #030303;
}
/* app-export-submissions */
.light-theme app-export-submissions .export-submissions .section .name a {
  color: #363636;
}
.dark-theme app-export-submissions .export-submissions .section .name a {
  color: #F6F6F6;
}
/* app-event-publication */
.light-theme app-event-publication .publication-controls .mat-card {
  background-color: white;
}
.dark-theme app-event-publication .publication-controls .mat-card {
  background-color: black;
}
/* app-publication-fixed-control */
.light-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: white;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: black;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lighten #363636, 60;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lightgray;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .content .content-list h3, .light-theme app-proceeding-step .content .content-list .card-title, .light-theme app-proceeding-step .content .content-list .section .section-title, .section .light-theme app-proceeding-step .content .content-list .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .content .content-list h3, .dark-theme app-proceeding-step .content .content-list .card-title, .dark-theme app-proceeding-step .content .content-list .section .section-title, .section .dark-theme app-proceeding-step .content .content-list .section-title {
  color: #F6F6F6;
}
.light-theme app-proceeding-step .content .not-included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .not-included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .track {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .track {
  border: 1px solid white;
}
.light-theme app-proceeding-step h3, .light-theme app-proceeding-step .card-title, .light-theme app-proceeding-step .section .section-title, .section .light-theme app-proceeding-step .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step h3, .dark-theme app-proceeding-step .card-title, .dark-theme app-proceeding-step .section .section-title, .section .dark-theme app-proceeding-step .section-title {
  color: #F6F6F6;
}
/* app-proceeding-index-item */
.light-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-proceeding-author-index-item */
.light-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-calendar-view */
.light-theme app-calendar-view .container-view-date {
  color: #363636;
}
.dark-theme app-calendar-view .container-view-date {
  color: #F6F6F6;
}
.light-theme app-calendar-view mwl-calendar-week-view {
  color: "";
}
.dark-theme app-calendar-view mwl-calendar-week-view {
  color: #F6F6F6;
}
.light-theme app-calendar-view .cal-day-headers {
  background-color: "";
}
.dark-theme app-calendar-view .cal-day-headers {
  background-color: #4d4d4d;
}
.light-theme app-calendar-view .cal-week-view, .light-theme .cal-time, .light-theme .cal-hour-segment {
  background-color: "";
}
.dark-theme app-calendar-view .cal-week-view, .dark-theme .cal-time, .dark-theme .cal-hour-segment {
  background-color: #262626;
}
.light-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.light-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
/* app-chip-checkbox */
.light-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: rgba(255, 255, 255, 0.75);
}
.light-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: rgba(255, 255, 255, 0.75);
}
/* app-dashboard-settings */
.light-theme app-dashboard-settings .dataset-menu {
  background-color: #ededed;
}
.dark-theme app-dashboard-settings .dataset-menu {
  background-color: #262626;
}
.light-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #064ad9;
}
.dark-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #60a5fa;
}
/* app-chart-component */
.light-theme app-chart-component .chart-container {
  background-color: #ededed;
}
.dark-theme app-chart-component .chart-container {
  background-color: #262626;
}
.light-theme app-chart-component .chart-container {
  border-color: #E7E5E4;
}
.dark-theme app-chart-component .chart-container {
  border-color: #3a3937;
}
.light-theme app-chart-component .chart-container .ct-axis-title {
  fill: #363636;
}
.dark-theme app-chart-component .chart-container .ct-axis-title {
  fill: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-label {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .ct-label {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .legend-title {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .legend-title {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-grid {
  stroke: #00000033;
}
.dark-theme app-chart-component .chart-container .ct-grid {
  stroke: #ffffff33;
}
.light-theme app-chart-component .ct-legend li {
  color: #363636;
}
.dark-theme app-chart-component .ct-legend li {
  color: #F6F6F6;
}
/* app-chart-component-v2 */
.light-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-v2 {
  background-color: #ededed;
}
.dark-theme app-chart-component-v2 .chart-v2 {
  background-color: #262626;
}
.light-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
/* app-math-captcha */
.light-theme app-math-captcha .container {
  color: #363636;
}
.dark-theme app-math-captcha .container {
  color: #F6F6F6;
}
.light-theme app-math-captcha #buttonInput {
  background-color: #064ad9;
}
.dark-theme app-math-captcha #buttonInput {
  background-color: #60a5fa;
}
.light-theme app-math-captcha .cls-1 {
  fill: #064ad9;
}
.dark-theme app-math-captcha .cls-1 {
  fill: #60a5fa;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .sections-list .hyperlink {
  color: #064ad9;
}
.dark-theme app-proceeding-step .sections-list .hyperlink {
  color: #60a5fa;
}
.light-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #434343 !important;
}
.dark-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #D6D6D6 !important;
}
.light-theme app-proceeding-step .sections-list {
  border-color: #434343;
}
.dark-theme app-proceeding-step .sections-list {
  border-color: #D6D6D6;
}
/* app-custom-input */
.light-theme .custom-input {
  background-color: white;
}
.dark-theme .custom-input {
  background-color: black;
}
.light-theme .custom-input {
  border: 2px solid rgba(0, 0, 0, 0.25);
}
.dark-theme .custom-input {
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.light-theme .custom-input {
  color: #363636;
}
.dark-theme .custom-input {
  color: #F6F6F6;
}
/* app-support-button */
.light-theme app-support-button .support-button {
  background-color: #ededed;
}
.dark-theme app-support-button .support-button {
  background-color: #262626;
}
.light-theme app-support-button .support-button .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-button .mat-icon {
  color: white;
}
.light-theme app-support-button .support-card {
  background-color: #ededed;
}
.dark-theme app-support-button .support-card {
  background-color: #262626;
}
.light-theme app-support-button .support-card {
  color: black;
}
.dark-theme app-support-button .support-card {
  color: white;
}
.light-theme app-support-button .support-card .card-title {
  color: black;
}
.dark-theme app-support-button .support-card .card-title {
  color: white;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-event-setttings-email */
.light-theme app-event-settings-email .event-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-settings-email .event-email mat-card-content {
  background-color: #262626;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-user-notifications — regras antigas removidas. O painel agora é
   escopado no componente (user-notifications.component.scss). Referenciam
   estrutura antiga (`.notifications-container .table-container table`,
   `.options mat-icon.button`) que não existe mais. */
/* app-dashboard-chart-v2 */
.light-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #ededed;
}
.dark-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #262626;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #4d5258;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #F6F6F6;
}
/* app-admin-event-view */
.light-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-dashboard-settings (tab labels) */
.light-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-user-notifications */
.light-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #ededed;
}
.dark-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #262626;
}
.light-theme .notifications-menu .options mat-icon {
  color: #363636;
}
.dark-theme .notifications-menu .options mat-icon {
  color: #F6F6F6;
}
/* app-assign-review-suggestion */
.light-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.dark-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.light-theme app-assign-review-suggestion .table-weight thead {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight thead {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #ededed;
}
.dark-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #262626;
}
.light-theme app-assign-review-suggestion .table-weight td, .light-theme th {
  border: 1px solid #F6F6F6;
}
.dark-theme app-assign-review-suggestion .table-weight td, .dark-theme th {
  border: 1px solid black;
}
/* Mobile layout (TPC chair, viewport < 768px) — see
 * admin-event-sidebar.component.{ts,html,scss}. View encapsulation is
 * Emulated on this component; the mobile chrome SCSS is co-located with
 * the component, but theme tokens (which use light-/dark-theme classes
 * applied to <body>) must live here at the global scope, otherwise the
 * `.light-theme` / `.dark-theme` body selectors don't survive Emulated
 * encapsulation and the rules are silently dropped. */
.light-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #34332f;
}
/* app-event-program */
.light-theme app-event-program .session-ghost {
  color: rgba(0, 0, 0, 0.55);
}
.dark-theme app-event-program .session-ghost {
  color: rgba(255, 255, 255, 0.55);
}
.light-theme app-event-program .session-ghost:hover {
  border-color: rgba(0, 0, 0, 0.35);
}
.dark-theme app-event-program .session-ghost:hover {
  border-color: rgba(255, 255, 255, 0.35);
}
.light-theme app-event-program .session-ghost {
  color: rgba(0, 0, 0, 0.75);
}
.dark-theme app-event-program .session-ghost {
  color: rgba(255, 255, 255, 0.75);
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #000;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #f2f1ee;
}
.light-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #E7E5E4;
}
.dark-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #302C29;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #434343 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #2DD4BF !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #F59E0B !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #FCD34D !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #4F46E5 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #818CF8 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #0891B2 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #67E8F9 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #DC2626 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #FF1A1A !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #7708AF !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #BC5DDF !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #f9f8f7 !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32)) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 8px !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  padding: 0 !important;
  min-height: 0 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  min-height: 0 !important;
  padding: 8px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #202020 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7)) !important;
  box-shadow: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  display: flex !important;
  align-items: center !important;
  height: 36px !important;
  min-height: 36px !important;
  line-height: 1 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 6px !important;
  margin-bottom: 6px !important;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #373734 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:last-child {
  margin-bottom: 0 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  border-color: #3a3937 !important;
  color: #c4c2bd !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #ffffff !important;
  position: relative;
  box-shadow: none !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #2e2e2e !important;
  box-shadow: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: var(--accent-width, calc(100% - 2px));
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  -webkit-clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
          clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
  background: var(--accent-background, none);
  background-color: #373734;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #F59E0B;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #FCD34D;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #DC2626;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #FF1A1A;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #7708AF;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #BC5DDF;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #4F46E5;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #818CF8;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #0891B2;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #67E8F9;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  position: relative;
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi),
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badges {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  transform: translate(4px, -6px) !important;
  display: inline-flex;
  gap: 3px;
  pointer-events: none;
  z-index: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  color: #1f1f1f;
  letter-spacing: 0;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.is-zero {
  display: none;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-confirmed {
  background-color: #FFD860;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-notified {
  background-color: #94C0FB;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-pending {
  background-color: #FAB65C;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  background-color: transparent !important;
  color: #373734 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
  background-color: transparent !important;
  color: #c4c2bd !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected:hover:not([disabled]) {
  background-color: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected:hover:not([disabled]) {
  background-color: #2e2e2e !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--c-accent, #7C2D12);
  color: #fff;
  padding: 8px 14px;
  z-index: 10000;
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus, .skip-link:focus-visible {
  top: 8px;
  left: 8px;
}
.cards-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.view-mode-full {
  background-color: #EEECEB;
}
body.view-mode-full app-fixed-top-progress-bar {
  display: none !important;
}
body.view-mode-full.dark-theme {
  background-color: black;
}
.view-mode-full-shell {
  padding-left: 1.3rem;
  padding-right: 1.3rem;
}
@media (max-width: 767px) {
  .view-mode-full-shell {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}
.main {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-checkbox-ripple .mat-ripple-element {
  display: none;
}
.mat-checkbox-checkmark-path {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important;
}
.mat-checkbox .mat-checkbox-layout {
  align-items: center;
}
.mat-checkbox .mat-checkbox-inner-container {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.mat-checkbox .mat-checkbox-frame {
  border-width: 1.5px;
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-background {
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-checkmark {
  transform: scale(0.8);
  transform-origin: center;
}
.mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline-offset: 2px;
}
.mat-checkbox.mat-checkbox-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 4px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-checkbox:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:indeterminate {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-checkbox:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-checkbox:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-checkbox {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-checkbox:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:indeterminate {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23202020' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-checkbox:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-radio {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 50%;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-radio:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23f9f8f7'/%3E%3C/svg%3E");
}
.jems3-native-radio:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-radio:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-radio:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-radio {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-radio:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23202020'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-radio:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-radio:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-slide-toggle .mat-slide-toggle-ripple {
  display: none;
}
.mat-slide-toggle {
  height: auto !important;
  line-height: 1.3 !important;
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  position: relative;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: 60%;
  mask-size: 60%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-bar {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline-offset: 2px;
}
.mat-slide-toggle.mat-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.mat-slide-toggle .mat-slide-toggle-bar {
  width: 32px;
  height: 18px;
  border-radius: 9px;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  width: 10px;
  height: 10px;
  top: 4px;
  left: 4px;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), top 150ms cubic-bezier(0.25, 0.8, 0.25, 1), left 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  width: 10px;
  height: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {
  width: 14px;
  height: 14px;
  top: 2px;
  left: 2px;
  transform: translate3d(14px, 0, 0) !important;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  width: 14px;
  height: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  -webkit-mask-size: 55%;
  mask-size: 55%;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  box-shadow: none !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-radio-button .mat-radio-ripple {
  display: none;
}
.mat-radio-button .mat-radio-container {
  width: 16px;
  height: 16px;
}
.mat-radio-button .mat-radio-outer-circle {
  width: 16px;
  height: 16px;
  border-width: 1.5px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button .mat-radio-inner-circle {
  width: 16px;
  height: 16px;
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1), background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button.mat-radio-checked .mat-radio-inner-circle {
  transform: scale(0.375);
}
.mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline-offset: 2px;
}
.mat-radio-button.mat-radio-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@font-face {
  font-family: "jems3r";
  src: url("/assets/fonts/jems3r.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3r {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3r" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3r.fa-calendar-alt:before {
  content: "";
}
.jems3r.fa-check-square:before {
  content: "";
}
.jems3r.fa-clock:before {
  content: "";
}
.jems3r.fa-edit:before {
  content: "";
}
.jems3r.fa-eye:before {
  content: "";
}
.jems3r.fa-eye-slash:before {
  content: "";
}
.jems3r.fa-file-alt:before {
  content: "";
}
.jems3r.fa-lightbulb:before {
  content: "";
}
.jems3r.fa-minus-square:before {
  content: "";
}
.jems3r.fa-paper-plane:before {
  content: "";
}
.jems3r.fa-square:before {
  content: "";
}
.jems3r.fa-sticky-note:before {
  content: "";
}
.jems3r.fa-bell:before {
  content: "";
}
.jems3r.fa-plus-square:before {
  content: "";
}
@font-face {
  font-family: "jems3s";
  src: url("/assets/fonts/jems3s.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3s {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3s" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3s.fa-angle-double-down:before {
  content: "";
}
.jems3s.fa-angle-double-left:before {
  content: "";
}
.jems3s.fa-angle-double-up:before {
  content: "";
}
.jems3s.fa-arrow-right:before {
  content: "";
}
.jems3s.fa-balance-scale:before {
  content: "";
}
.jems3s.fa-bars:before {
  content: "";
}
.jems3s.fa-book:before {
  content: "";
}
.jems3s.fa-border-none:before {
  content: "";
}
.jems3s.fa-calendar-alt:before {
  content: "";
}
.jems3s.fa-calendar-check:before {
  content: "";
}
.jems3s.fa-camera:before {
  content: "";
}
.jems3s.fa-check-circle:before {
  content: "";
}
.jems3s.fa-check-double:before {
  content: "";
}
.jems3s.fa-check:before {
  content: "";
}
.jems3s.fa-chevron-down:before {
  content: "";
}
.jems3s.fa-chevron-up:before {
  content: "";
}
.jems3s.fa-clipboard-check:before {
  content: "";
}
.jems3s.fa-clipboard:before {
  content: "";
}
.jems3s.fa-clock:before {
  content: "";
}
.jems3s.fa-cogs:before {
  content: "";
}
.jems3s.fa-comment-dots:before {
  content: "";
}
.jems3s.fa-comment:before {
  content: "";
}
.jems3s.fa-comments:before {
  content: "";
}
.jems3s.fa-download:before {
  content: "";
}
.jems3s.fa-edit:before {
  content: "";
}
.jems3s.fa-ellipsis-h:before {
  content: "";
}
.jems3s.fa-envelope:before {
  content: "";
}
.jems3s.fa-exclamation-circle:before {
  content: "";
}
.jems3s.fa-exclamation:before {
  content: "";
}
.jems3s.fa-exclamation-triangle:before {
  content: "";
}
.jems3s.fa-eye-slash:before {
  content: "";
}
.jems3s.fa-eye:before {
  content: "";
}
.jems3s.fa-file-download:before {
  content: "";
}
.jems3s.fa-file-excel:before {
  content: "";
}
.jems3s.fa-file-pdf:before {
  content: "";
}
.jems3s.fa-file-word:before {
  content: "";
}
.jems3s.fa-filter:before {
  content: "";
}
.jems3s.fa-globe:before {
  content: "";
}
.jems3s.fa-history:before {
  content: "";
}
.jems3s.fa-home:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-hourglass:before {
  content: "";
}
.jems3s.fa-id-badge:before {
  content: "";
}
.jems3s.fa-indent:before {
  content: "";
}
.jems3s.fa-info-circle:before {
  content: "";
}
.jems3s.fa-info:before {
  content: "";
}
.jems3s.fa-lightbulb:before {
  content: "";
}
.jems3s.fa-list-alt:before {
  content: "";
}
.jems3s.fa-lock:before {
  content: "";
}
.jems3s.fa-map-marker-alt:before {
  content: "";
}
.jems3s.fa-minus-square:before {
  content: "";
}
.jems3s.fa-paper-plane:before {
  content: "";
}
.jems3s.fa-pencil-alt:before {
  content: "";
}
.jems3s.fa-pen:before {
  content: "";
}
.jems3s.fa-plus-circle:before {
  content: "";
}
.jems3s.fa-plus:before {
  content: "";
}
.jems3s.fa-plus-square:before {
  content: "";
}
.jems3s.fa-question-circle:before {
  content: "";
}
.jems3s.fa-search:before {
  content: "";
}
.jems3s.fa-sign-out-alt:before {
  content: "";
}
.jems3s.fa-sliders-h:before {
  content: "";
}
.jems3s.fa-sort-amount-up-alt:before {
  content: "";
}
.jems3s.fa-sync-alt:before {
  content: "";
}
.jems3s.fa-tachometer-alt:before {
  content: "";
}
.jems3s.fa-tag:before {
  content: "";
}
.jems3s.fa-thumbs-down:before {
  content: "";
}
.jems3s.fa-thumbs-up:before {
  content: "";
}
.jems3s.fa-times-circle:before {
  content: "";
}
.jems3s.fa-times:before {
  content: "";
}
.jems3s.fa-trash-alt:before {
  content: "";
}
.jems3s.fa-trash:before {
  content: "";
}
.jems3s.fa-undo:before {
  content: "";
}
.jems3s.fa-unlock-alt:before {
  content: "";
}
.jems3s.fa-upload:before {
  content: "";
}
.jems3s.fa-user-circle:before {
  content: "";
}
.jems3s.fa-user-cog:before {
  content: "";
}
.jems3s.fa-user-edit:before {
  content: "";
}
.jems3s.fa-users-slash:before {
  content: "";
}
.jems3s.fa-window-close:before {
  content: "";
}
.jems3s.fa-star:before {
  content: "";
}
.jems3s.fa-users:before {
  content: "";
}
.jems3s.fa-file-alt:before {
  content: "";
}
.jems3s.fa-level-up-alt:before {
  content: "";
}
.jems3s.fa-question:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-headset:before {
  content: "";
}
.jems3s.fa-city:before {
  content: "";
}
.jems3s.fa-file:before {
  content: "";
}
.jems3s.fa-file-archive:before {
  content: "";
}
.jems3s.fa-bell:before {
  content: "";
}
.jems3s.fa-envelope-open:before {
  content: "";
}
.jems3s.fa-sticky-note:before {
  content: "";
}
.jems3s.fa-laptop:before {
  content: "";
}
.jems3s.fa-moon:before {
  content: "";
}
.jems3s.fa-sun:before {
  content: "";
}
.tpc-md3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-feature-settings: "kern", "liga", "calt", "tnum";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-display-large {
  font-size: 3.5625rem;
  line-height: 4rem;
  font-weight: 400;
  letter-spacing: -0.015625rem;
}
.tpc-md3 .md3-display-medium {
  font-size: 2.8125rem;
  line-height: 3.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-display-small {
  font-size: 2.25rem;
  line-height: 2.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-large {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-medium {
  font-size: 1.75rem;
  line-height: 2.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-small {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-large {
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-medium {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.009375rem;
}
.tpc-md3 .md3-title-small {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-body-large {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-body-medium {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-body-small {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  letter-spacing: 0.025rem;
}
.tpc-md3 .md3-label-large {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-label-medium {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-label-small {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --chart-status-pending: #e5e5e5;
  --chart-status-active: #FFFF55;
  --chart-status-accepted: #99FF99;
  --chart-status-rejected: #ffbdbd;
  --chart-status-withdrawn: #DDDDDD;
  --chart-status-assigned: #FFFFFF;
  --chart-status-notified: #94C0FB;
  --chart-status-confirmed: #FFD860;
  --chart-status-declined: #C6C6C6;
  --chart-status-reminded: #FF8FA0;
  --chart-status-late: #fa5b5b;
  --chart-status-delegated: #ff89c9;
  --chart-status-completed: #63FCC8;
  --chart-status-draft: #AAAAAA;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.installed-app .event-breadcrumb,
body.installed-app .experimental-sidebar {
  border-top: 1px solid #E7E5E4;
}
body.installed-app.dark-theme .event-breadcrumb,
body.installed-app.dark-theme .experimental-sidebar {
  border-top-color: #3a3937;
}
:root {
  --chrome-top-offset: 0px;
}
body.proxy-active {
  --chrome-top-offset: 30px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL19jb3JlLnNjc3MiLCIuLi8uLi9fZm9udHMtbG9jYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9fdGhlbWluZy5zY3NzIiwiLi4vLi4vX3RoZW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvYW5pbWF0aW9ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL21peGlucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL2luaXRpYWwtdmFyaWFibGVzLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL21pbmlyZXNldC5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvYmFzZS9nZW5lcmljLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL2hlbHBlcnMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2dyaWQvY29sdW1ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvZ3JpZC90aWxlcy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvY29tcG9uZW50cy9uYXZiYXIuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL2NvbnRhaW5lci5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvbGF5b3V0L3NlY3Rpb24uc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL3RpdGxlLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvZGVyaXZlZC12YXJpYWJsZXMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS1kaXZpZGVyL3NyYy9zYXNzL2luZGV4LnNhc3MiLCIuLi8uLi9fYnVsbWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3MvY2hhcnRpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3Mvc2V0dGluZ3MvX2NoYXJ0aXN0LXNldHRpbmdzLnNjc3MiLCIuLi8uLi9fY2hhcnRpc3Quc2NzcyIsIi4uLy4uL19jb2xvcnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiLi4vLi4vX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL21vbnRoL2NhbGVuZGFyLW1vbnRoLXZpZXcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmd1bGFyLWNhbGVuZGFyL3Njc3MvbW9kdWxlcy93ZWVrL2NhbGVuZGFyLXdlZWstdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2RheS9jYWxlbmRhci1kYXktdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2NvbW1vbi9jYWxlbmRhci10b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19pbnB1dC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19oZWFkZXItaWNvbi1idXR0b24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL19taXhpbnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2N1c3RvbS1mb3JtLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ldmVudC1hZG1pbi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc25hY2tiYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2ZhYi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fcGFnaW5hdG9yLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zaG93LWFsbC1zdWJtaXNzaW9ucy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGF0ZXRpbWUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2Zvcm0tZmllbGQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3BhcGVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19sZWdlbmQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX25vdGljZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9faG9tZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbWFya2Rvd24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0cnVjdHVyZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZW1wdHktcGFnZS1wYW5lbC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbmF0aXZlLWlucHV0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19uYXRpdmUtYnV0dG9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdG9waWMtY2hpcC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdGhyZXNob2xkLWJhbmQtcG9wb3Zlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc2NvcmUtZ3JpZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGlhbG9nLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zZWdtZW50ZWQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0YXR1cy1jaGlwLnNjc3MiLCIuLi8uLi9fY29sb3Itc2NoZW1lLnNjc3MiLCIuLi8uLi9fei1pbmRleC5zY3NzIiwiLi4vLi4vX2ExMXkuc2NzcyIsIi4uLy4uL192aWV3LW1vZGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21hdC1jaGVja2JveC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3JhZGlvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtc2xpZGUtdG9nZ2xlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtcmFkaW8uc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Iuc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Muc2NzcyIsIi4uLy4uL190eXBvZ3JhcGh5LW1kMy5zY3NzIiwiLi4vLi4vX2NoYXJ0LXZhcnMuc2NzcyIsIi4uLy4uL19pbnN0YWxsZWQtYXBwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDK0NoQixpSEFBQTtBQUNBO0VBQ0Usd0NBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnRkFBQTtBRDdDRjtBQytDQTs7RUFVRSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EscUNBQUE7RUFDQSxtQ0FBQTtBRHJERjtBQ3dEQSxnRkFBQTtBQUNBLGlCQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlFQUFBO0VBQ0Esc0ZBQUE7QURyREY7QUN1REEsYUFBQTtBQUNBO0VBQ0Usb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxxRUFBQTtFQUNBLG9FQUFBO0FEckRGO0FD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QkFBQTtFVHN6Sko7O0VTdnpKRTtJQUNFLDBCQUFBO0VUMHpKSjs7RVMzekpFO0lBQ0UsNkJBQUE7RVQ4ekpKO0FBQ0Y7QUtyd0pFO0VJM0RFO0lBQ0UsMEJBQUE7RVRtMEpKOztFU3AwSkU7SUFDRSw0QkFBQTtFVHUwSko7O0VTeDBKRTtJQUNFLDBCQUFBO0VUMjBKSjs7RVM1MEpFO0lBQ0UsNEJBQUE7RVQrMEpKOztFU2gxSkU7SUFDRSw2QkFBQTtFVG0xSko7O0VTcDFKRTtJQUNFLDBCQUFBO0VUdTFKSjs7RVN4MUpFO0lBQ0UsNkJBQUE7RVQyMUpKO0FBQ0Y7QUsxeEpFO0VJbkVFO0lBQ0UsMEJBQUE7RVRnMkpKOztFU2oySkU7SUFDRSw0QkFBQTtFVG8ySko7O0VTcjJKRTtJQUNFLDBCQUFBO0VUdzJKSjs7RVN6MkpFO0lBQ0UsNEJBQUE7RVQ0MkpKOztFUzcySkU7SUFDRSw2QkFBQTtFVGczSko7O0VTajNKRTtJQUNFLDBCQUFBO0VUbzNKSjs7RVNyM0pFO0lBQ0UsNkJBQUE7RVR3M0pKO0FBQ0Y7QUtuekpFO0VJdkVFO0lBQ0UsMEJBQUE7RVQ2M0pKOztFUzkzSkU7SUFDRSw0QkFBQTtFVGk0Sko7O0VTbDRKRTtJQUNFLDBCQUFBO0VUcTRKSjs7RVN0NEpFO0lBQ0UsNEJBQUE7RVR5NEpKOztFUzE0SkU7SUFDRSw2QkFBQTtFVDY0Sko7O0VTOTRKRTtJQUNFLDBCQUFBO0VUaTVKSjs7RVNsNUpFO0lBQ0UsNkJBQUE7RVRxNUpKO0FBQ0Y7QUtqMEpJO0VJdEZBO0lBQ0UsMEJBQUE7RVQwNUpKOztFUzM1SkU7SUFDRSw0QkFBQTtFVDg1Sko7O0VTLzVKRTtJQUNFLDBCQUFBO0VUazZKSjs7RVNuNkpFO0lBQ0UsNEJBQUE7RVRzNkpKOztFU3Y2SkU7SUFDRSw2QkFBQTtFVDA2Sko7O0VTMzZKRTtJQUNFLDBCQUFBO0VUODZKSjs7RVMvNkpFO0lBQ0UsNkJBQUE7RVRrN0pKO0FBQ0Y7QUsvMEpJO0VJckdBO0lBQ0UsMEJBQUE7RVR1N0pKOztFU3g3SkU7SUFDRSw0QkFBQTtFVDI3Sko7O0VTNTdKRTtJQUNFLDBCQUFBO0VUKzdKSjs7RVNoOEpFO0lBQ0UsNEJBQUE7RVRtOEpKOztFU3A4SkU7SUFDRSw2QkFBQTtFVHU4Sko7O0VTeDhKRTtJQUNFLDBCQUFBO0VUMjhKSjs7RVM1OEpFO0lBQ0UsNkJBQUE7RVQrOEpKO0FBQ0Y7QVN2N0pFO0VBQ0UsNkJBQUE7QVR5N0pKO0FTMTdKRTtFQUNFLDhCQUFBO0FUNjdKSjtBUzk3SkU7RUFDRSwyQkFBQTtBVGk4Sko7QVNsOEpFO0VBQ0UsNEJBQUE7QVRxOEpKO0FLejZKRTtFSXhCRTtJQUNFLDZCQUFBO0VUcThKSjtBQUNGO0FLMzZKRTtFSXpCRTtJQUNFLDZCQUFBO0VUdThKSjtBQUNGO0FLNTZKRTtFSTFCRTtJQUNFLDZCQUFBO0VUeThKSjtBQUNGO0FLNzZKRTtFSTNCRTtJQUNFLDZCQUFBO0VUMjhKSjtBQUNGO0FLOTZKRTtFSTVCRTtJQUNFLDZCQUFBO0VUNjhKSjtBQUNGO0FLOTZKSTtFSTlCQTtJQUNFLDZCQUFBO0VUKzhKSjtBQUNGO0FLejZKSTtFSXJDQTtJQUNFLDZCQUFBO0VUaTlKSjtBQUNGO0FLejZKSTtFSXZDQTtJQUNFLDZCQUFBO0VUbTlKSjtBQUNGO0FLcDZKSTtFSTlDQTtJQUNFLDZCQUFBO0VUcTlKSjtBQUNGO0FLdjlKRTtFSXhCRTtJQUNFLDhCQUFBO0VUay9KSjtBQUNGO0FLeDlKRTtFSXpCRTtJQUNFLDhCQUFBO0VUby9KSjtBQUNGO0FLejlKRTtFSTFCRTtJQUNFLDhCQUFBO0VUcy9KSjtBQUNGO0FLMTlKRTtFSTNCRTtJQUNFLDhCQUFBO0VUdy9KSjtBQUNGO0FLMzlKRTtFSTVCRTtJQUNFLDhCQUFBO0VUMC9KSjtBQUNGO0FLMzlKSTtFSTlCQTtJQUNFLDhCQUFBO0VUNC9KSjtBQUNGO0FLdDlKSTtFSXJDQTtJQUNFLDhCQUFBO0VUOC9KSjtBQUNGO0FLdDlKSTtFSXZDQTtJQUNFLDhCQUFBO0VUZ2dLSjtBQUNGO0FLajlKSTtFSTlDQTtJQUNFLDhCQUFBO0VUa2dLSjtBQUNGO0FLcGdLRTtFSXhCRTtJQUNFLDJCQUFBO0VUK2hLSjtBQUNGO0FLcmdLRTtFSXpCRTtJQUNFLDJCQUFBO0VUaWlLSjtBQUNGO0FLdGdLRTtFSTFCRTtJQUNFLDJCQUFBO0VUbWlLSjtBQUNGO0FLdmdLRTtFSTNCRTtJQUNFLDJCQUFBO0VUcWlLSjtBQUNGO0FLeGdLRTtFSTVCRTtJQUNFLDJCQUFBO0VUdWlLSjtBQUNGO0FLeGdLSTtFSTlCQTtJQUNFLDJCQUFBO0VUeWlLSjtBQUNGO0FLbmdLSTtFSXJDQTtJQUNFLDJCQUFBO0VUMmlLSjtBQUNGO0FLbmdLSTtFSXZDQTtJQUNFLDJCQUFBO0VUNmlLSjtBQUNGO0FLOS9KSTtFSTlDQTtJQUNFLDJCQUFBO0VUK2lLSjtBQUNGO0FLampLRTtFSXhCRTtJQUNFLDRCQUFBO0VUNGtLSjtBQUNGO0FLbGpLRTtFSXpCRTtJQUNFLDRCQUFBO0VUOGtLSjtBQUNGO0FLbmpLRTtFSTFCRTtJQUNFLDRCQUFBO0VUZ2xLSjtBQUNGO0FLcGpLRTtFSTNCRTtJQUNFLDRCQUFBO0VUa2xLSjtBQUNGO0FLcmpLRTtFSTVCRTtJQUNFLDRCQUFBO0VUb2xLSjtBQUNGO0FLcmpLSTtFSTlCQTtJQUNFLDRCQUFBO0VUc2xLSjtBQUNGO0FLaGpLSTtFSXJDQTtJQUNFLDRCQUFBO0VUd2xLSjtBQUNGO0FLaGpLSTtFSXZDQTtJQUNFLDRCQUFBO0VUMGxLSjtBQUNGO0FLM2lLSTtFSTlDQTtJQUNFLDRCQUFBO0VUNGxLSjtBQUNGO0FTM2xLQTtFQUNFLHFDQUFBO0FUNmxLRjtBUzNsS0E7RUFDRSxvQ0FBQTtBVDhsS0Y7QVM1bEtBO0VBQ0Usb0NBQUE7QVQrbEtGO0FTN2xLQTtFQUNFLDZCQUFBO0FUZ21LRjtBUzVsS0U7RUFDRSx1QkFBQTtBVCtsS0o7QVM3bEtJO0VBRUUseUJBQUE7QVQrbEtOO0FTOWxLRTtFQUNFLGtDQUFBO0FUaW1LSjtBU3htS0U7RUFDRSx5QkFBQTtBVDJtS0o7QVN6bUtJO0VBRUUsdUJBQUE7QVQybUtOO0FTMW1LRTtFQUNFLG9DQUFBO0FUNm1LSjtBU3BuS0U7RUFDRSw0QkFBQTtBVHVuS0o7QVNybktJO0VBRUUseUJBQUE7QVR1bktOO0FTdG5LRTtFQUNFLHVDQUFBO0FUeW5LSjtBU2hvS0U7RUFDRSx5QkFBQTtBVG1vS0o7QVNqb0tJO0VBRUUseUJBQUE7QVRtb0tOO0FTbG9LRTtFQUNFLG9DQUFBO0FUcW9LSjtBUzVvS0U7RUFDRSx5QkFBQTtBVCtvS0o7QVM3b0tJO0VBRUUseUJBQUE7QVQrb0tOO0FTOW9LRTtFQUNFLG9DQUFBO0FUaXBLSjtBU3hwS0U7RUFDRSx5QkFBQTtBVDJwS0o7QVN6cEtJO0VBRUUseUJBQUE7QVQycEtOO0FTMXBLRTtFQUNFLG9DQUFBO0FUNnBLSjtBU3BxS0U7RUFDRSx5QkFBQTtBVHVxS0o7QVNycUtJO0VBRUUseUJBQUE7QVR1cUtOO0FTdHFLRTtFQUNFLG9DQUFBO0FUeXFLSjtBU2hyS0U7RUFDRSx5QkFBQTtBVG1yS0o7QVNqcktJO0VBRUUseUJBQUE7QVRtcktOO0FTbHJLRTtFQUNFLG9DQUFBO0FUcXJLSjtBUzVyS0U7RUFDRSx5QkFBQTtBVCtyS0o7QVM3cktJO0VBRUUseUJBQUE7QVQrcktOO0FTOXJLRTtFQUNFLG9DQUFBO0FUaXNLSjtBU3hzS0U7RUFDRSx5QkFBQTtBVDJzS0o7QVN6c0tJO0VBRUUseUJBQUE7QVQyc0tOO0FTMXNLRTtFQUNFLG9DQUFBO0FUNnNLSjtBUzFzS0U7RUFDRSx5QkFBQTtBVDZzS0o7QVM1c0tFO0VBQ0Usb0NBQUE7QVQrc0tKO0FTbHRLRTtFQUNFLHlCQUFBO0FUcXRLSjtBU3B0S0U7RUFDRSxvQ0FBQTtBVHV0S0o7QVMxdEtFO0VBQ0UseUJBQUE7QVQ2dEtKO0FTNXRLRTtFQUNFLG9DQUFBO0FUK3RLSjtBU2x1S0U7RUFDRSx5QkFBQTtBVHF1S0o7QVNwdUtFO0VBQ0Usb0NBQUE7QVR1dUtKO0FTMXVLRTtFQUNFLHlCQUFBO0FUNnVLSjtBUzV1S0U7RUFDRSxvQ0FBQTtBVCt1S0o7QVNsdktFO0VBQ0UseUJBQUE7QVRxdktKO0FTcHZLRTtFQUNFLG9DQUFBO0FUdXZLSjtBUzF2S0U7RUFDRSx5QkFBQTtBVDZ2S0o7QVM1dktFO0VBQ0Usb0NBQUE7QVQrdktKO0FTbHdLRTtFQUNFLDRCQUFBO0FUcXdLSjtBU3B3S0U7RUFDRSx1Q0FBQTtBVHV3S0o7QVMxd0tFO0VBQ0UseUJBQUE7QVQ2d0tKO0FTNXdLRTtFQUNFLG9DQUFBO0FUK3dLSjtBUzd3S0E7RUFDRSwyQkFBQTtBVGd4S0Y7QVMvd0tBO0VBQ0UsMkJBQUE7QVRreEtGO0FTanhLQTtFQUNFLDJCQUFBO0FUb3hLRjtBU254S0E7RUFDRSwyQkFBQTtBVHN4S0Y7QVNyeEtBO0VBQ0UsMkJBQUE7QVR3eEtGO0FTdHhLQTtFQUNFLCtMQUFBO0FUeXhLRjtBU3Z4S0E7RUFDRSwrTEFBQTtBVDB4S0Y7QVN4eEtBO0VBQ0UsK0xBQUE7QVQyeEtGO0FTenhLQTtFQUNFLGlDQUFBO0FUNHhLRjtBUzF4S0E7RUFDRSxpQ0FBQTtBVDZ4S0Y7QVN0eEtFO0VBQ0UseUJBQUE7QVR5eEtKO0FLejFLRTtFSWtFRTtJQUNFLHlCQUFBO0VUMnhLSjtBQUNGO0FLMzFLRTtFSWlFRTtJQUNFLHlCQUFBO0VUNnhLSjtBQUNGO0FLNTFLRTtFSWdFRTtJQUNFLHlCQUFBO0VUK3hLSjtBQUNGO0FLNzFLRTtFSStERTtJQUNFLHlCQUFBO0VUaXlLSjtBQUNGO0FLOTFLRTtFSThERTtJQUNFLHlCQUFBO0VUbXlLSjtBQUNGO0FLOTFLSTtFSTREQTtJQUNFLHlCQUFBO0VUcXlLSjtBQUNGO0FLejFLSTtFSXFEQTtJQUNFLHlCQUFBO0VUdXlLSjtBQUNGO0FLejFLSTtFSW1EQTtJQUNFLHlCQUFBO0VUeXlLSjtBQUNGO0FLcDFLSTtFSTRDQTtJQUNFLHlCQUFBO0VUMnlLSjtBQUNGO0FTeDBLRTtFQUNFLHdCQUFBO0FUMDBLSjtBSzE0S0U7RUlrRUU7SUFDRSx3QkFBQTtFVDQwS0o7QUFDRjtBSzU0S0U7RUlpRUU7SUFDRSx3QkFBQTtFVDgwS0o7QUFDRjtBSzc0S0U7RUlnRUU7SUFDRSx3QkFBQTtFVGcxS0o7QUFDRjtBSzk0S0U7RUkrREU7SUFDRSx3QkFBQTtFVGsxS0o7QUFDRjtBSy80S0U7RUk4REU7SUFDRSx3QkFBQTtFVG8xS0o7QUFDRjtBSy80S0k7RUk0REE7SUFDRSx3QkFBQTtFVHMxS0o7QUFDRjtBSzE0S0k7RUlxREE7SUFDRSx3QkFBQTtFVHcxS0o7QUFDRjtBSzE0S0k7RUltREE7SUFDRSx3QkFBQTtFVDAxS0o7QUFDRjtBS3I0S0k7RUk0Q0E7SUFDRSx3QkFBQTtFVDQxS0o7QUFDRjtBU3ozS0U7RUFDRSwwQkFBQTtBVDIzS0o7QUszN0tFO0VJa0VFO0lBQ0UsMEJBQUE7RVQ2M0tKO0FBQ0Y7QUs3N0tFO0VJaUVFO0lBQ0UsMEJBQUE7RVQrM0tKO0FBQ0Y7QUs5N0tFO0VJZ0VFO0lBQ0UsMEJBQUE7RVRpNEtKO0FBQ0Y7QUsvN0tFO0VJK0RFO0lBQ0UsMEJBQUE7RVRtNEtKO0FBQ0Y7QUtoOEtFO0VJOERFO0lBQ0UsMEJBQUE7RVRxNEtKO0FBQ0Y7QUtoOEtJO0VJNERBO0lBQ0UsMEJBQUE7RVR1NEtKO0FBQ0Y7QUszN0tJO0VJcURBO0lBQ0UsMEJBQUE7RVR5NEtKO0FBQ0Y7QUszN0tJO0VJbURBO0lBQ0UsMEJBQUE7RVQyNEtKO0FBQ0Y7QUt0N0tJO0VJNENBO0lBQ0UsMEJBQUE7RVQ2NEtKO0FBQ0Y7QVMxNktFO0VBQ0UsZ0NBQUE7QVQ0NktKO0FLNStLRTtFSWtFRTtJQUNFLGdDQUFBO0VUODZLSjtBQUNGO0FLOStLRTtFSWlFRTtJQUNFLGdDQUFBO0VUZzdLSjtBQUNGO0FLLytLRTtFSWdFRTtJQUNFLGdDQUFBO0VUazdLSjtBQUNGO0FLaC9LRTtFSStERTtJQUNFLGdDQUFBO0VUbzdLSjtBQUNGO0FLai9LRTtFSThERTtJQUNFLGdDQUFBO0VUczdLSjtBQUNGO0FLai9LSTtFSTREQTtJQUNFLGdDQUFBO0VUdzdLSjtBQUNGO0FLNStLSTtFSXFEQTtJQUNFLGdDQUFBO0VUMDdLSjtBQUNGO0FLNStLSTtFSW1EQTtJQUNFLGdDQUFBO0VUNDdLSjtBQUNGO0FLditLSTtFSTRDQTtJQUNFLGdDQUFBO0VUODdLSjtBQUNGO0FTMzlLRTtFQUNFLCtCQUFBO0FUNjlLSjtBSzdo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UjtBQUNGO0FLOTNOSTtFS3VYSTtJQUNFLGlCQUFBO0VWMGdOUjtBQUNGO0FVdmlOTTtFQUNFLG9CQUFBO0FWeWlOUjtBS3A3TkU7RUs2WU07SUFDRSxvQkFBQTtFVjBpTlI7QUFDRjtBS3I3TkU7RUs0WU07SUFDRSxvQkFBQTtFVjRpTlI7QUFDRjtBS3Q3TkU7RUsyWU07SUFDRSxvQkFBQTtFVjhpTlI7QUFDRjtBS3Y3TkU7RUswWU07SUFDRSxvQkFBQTtFVmdqTlI7QUFDRjtBS3g3TkU7RUt5WU07SUFDRSxvQkFBQTtFVmtqTlI7QUFDRjtBS3g3Tkk7RUt1WUk7SUFDRSxvQkFBQTtFVm9qTlI7QUFDRjtBS243Tkk7RUtnWUk7SUFDRSxvQkFBQTtFVnNqTlI7QUFDRjtBS243Tkk7RUs4WEk7SUFDRSxvQkFBQTtFVndqTlI7QUFDRjtBSzk2Tkk7RUt1WEk7SUFDRSxvQkFBQTtFVjBqTlI7QUFDRjtBVXZsTk07RUFDRSxtQkFBQTtBVnlsTlI7QUtwK05FO0VLNllNO0lBQ0UsbUJBQUE7RVYwbE5SO0FBQ0Y7QUtyK05FO0VLNFlNO0lBQ0UsbUJBQUE7RVY0bE5SO0FBQ0Y7QUt0K05FO0VLMllNO0lBQ0UsbUJBQUE7RVY4bE5SO0FBQ0Y7QUt2K05FO0VLMFlNO0lBQ0UsbUJBQUE7RVZnbU5SO0FBQ0Y7QUt4K05FO0VLeVlNO0lBQ0UsbUJBQUE7RVZrbU5SO0FBQ0Y7QUt4K05JO0VLdVlJO0lBQ0UsbUJBQUE7RVZvbU5SO0FBQ0Y7QUtuK05JO0VLZ1lJO0lBQ0UsbUJBQUE7RVZzbU5SO0FBQ0Y7QUtuK05JO0VLOFhJO0lBQ0UsbUJBQUE7RVZ3bU5SO0FBQ0Y7QUs5OU5JO0VLdVhJO0lBQ0UsbUJBQUE7RVYwbU5SO0FBQ0Y7QVV2b05NO0VBQ0Usb0JBQUE7QVZ5b05SO0FLcGhPRTtFSzZZTTtJQUNFLG9CQUFBO0VWMG9OUjtBQUNGO0FLcmhPRTtFSzRZTTtJQUNFLG9CQUFBO0VWNG9OUjtBQUNGO0FLdGhPRTtFSzJZTTtJQUNFLG9CQUFBO0VWOG9OUjtBQUNGO0FLdmhPRTtFSzBZTTtJQUNFLG9CQUFBO0VWZ3BOUjtBQUNGO0FLeGhPRTtFS3lZTTtJQUNFLG9CQUFBO0VWa3BOUjtBQUNGO0FLeGhPSTtFS3VZSTtJQUNFLG9CQUFBO0VWb3BOUjtBQUNGO0FLbmhPSTtFS2dZSTtJQUNFLG9CQUFBO0VWc3BOUjtBQUNGO0FLbmhPSTtFSzhYSTtJQUNFLG9CQUFBO0VWd3BOUjtBQUNGO0FLOWdPSTtFS3VYSTtJQUNFLG9CQUFBO0VWMHBOUjtBQUNGO0FVdnJOTTtFQUNFLGlCQUFBO0FWeXJOUjtBS3BrT0U7RUs2WU07SUFDRSxpQkFBQTtFVjByTlI7QUFDRjtBS3JrT0U7RUs0WU07SUFDRSxpQkFBQTtFVjRyTlI7QUFDRjtBS3RrT0U7RUsyWU07SUFDRSxpQkFBQTtFVjhyTlI7QUFDRjtBS3ZrT0U7RUswWU07SUFDRSxpQkFBQTtFVmdzTlI7QUFDRjtBS3hrT0U7RUt5WU07SUFDRSxpQkFBQTtFVmtzTlI7QUFDRjtBS3hrT0k7RUt1WUk7SUFDRSxpQkFBQTtFVm9zTlI7QUFDRjtBS25rT0k7RUtnWUk7SUFDRSxpQkFBQTtFVnNzTlI7QUFDRjtBS25rT0k7RUs4WEk7SUFDRSxpQkFBQTtFVndzTlI7QUFDRjtBSzlqT0k7RUt1WEk7SUFDRSxpQkFBQTtFVjBzTlI7QUFDRjtBVXZ1Tk07RUFDRSxvQkFBQTtBVnl1TlI7QUtwbk9FO0VLNllNO0lBQ0Usb0JBQUE7RVYwdU5SO0FBQ0Y7QUtybk9FO0VLNFlNO0lBQ0Usb0JBQUE7RVY0dU5SO0FBQ0Y7QUt0bk9FO0VLMllNO0lBQ0Usb0JBQUE7RVY4dU5SO0FBQ0Y7QUt2bk9FO0VLMFlNO0lBQ0Usb0JBQUE7RVZndk5SO0FBQ0Y7QUt4bk9FO0VLeVlNO0lBQ0Usb0JBQUE7RVZrdk5SO0FBQ0Y7QUt4bk9JO0VLdVlJO0lBQ0Usb0JBQUE7RVZvdk5SO0FBQ0Y7QUtubk9JO0VLZ1lJO0lBQ0Usb0JBQUE7RVZzdk5SO0FBQ0Y7QUtubk9JO0VLOFhJO0lBQ0Usb0JBQUE7RVZ3dk5SO0FBQ0Y7QUs5bU9JO0VLdVhJO0lBQ0Usb0JBQUE7RVYwdk5SO0FBQ0Y7QVV2eE5NO0VBQ0UsbUJBQUE7QVZ5eE5SO0FLcHFPRTtFSzZZTTtJQUNFLG1CQUFBO0VWMHhOUjtBQUNGO0FLcnFPRTtFSzRZTTtJQUNFLG1CQUFBO0VWNHhOUjtBQUNGO0FLdHFPRTtFSzJZTTtJQUNFLG1CQUFBO0VWOHhOUjtBQUNGO0FLdnFPRTtFSzBZTTtJQUNFLG1CQUFBO0VWZ3lOUjtBQUNGO0FLeHFPRTtFS3lZTTtJQUNFLG1CQUFBO0VWa3lOUjtBQUNGO0FLeHFPSTtFS3VZSTtJQUNFLG1CQUFBO0VWb3lOUjtBQUNGO0FLbnFPSTtFS2dZSTtJQUNFLG1CQUFBO0VWc3lOUjtBQUNGO0FLbnFPSTtFSzhYSTtJQUNFLG1CQUFBO0VWd3lOUjtBQUNGO0FLOXBPSTtFS3VYSTtJQUNFLG1CQUFBO0VWMHlOUjtBQUNGO0FVdjBOTTtFQUNFLG9CQUFBO0FWeTBOUjtBS3B0T0U7RUs2WU07SUFDRSxvQkFBQTtFVjAwTlI7QUFDRjtBS3J0T0U7RUs0WU07SUFDRSxvQkFBQTtFVjQwTlI7QUFDRjtBS3R0T0U7RUsyWU07SUFDRSxvQkFBQTtFVjgwTlI7QUFDRjtBS3Z0T0U7RUswWU07SUFDRSxvQkFBQTtFVmcxTlI7QUFDRjtBS3h0T0U7RUt5WU07SUFDRSxvQkFBQTtFVmsxTlI7QUFDRjtBS3h0T0k7RUt1WUk7SUFDRSxvQkFBQTtFVm8xTlI7QUFDRjtBS250T0k7RUtnWUk7SUFDRSxvQkFBQTtFVnMxTlI7QUFDRjtBS250T0k7RUs4WEk7SUFDRSxvQkFBQTtFVncxTlI7QUFDRjtBSzlzT0k7RUt1WEk7SUFDRSxvQkFBQTtFVjAxTlI7QUFDRjtBVXYzTk07RUFDRSxpQkFBQTtBVnkzTlI7QUtwd09FO0VLNllNO0lBQ0UsaUJBQUE7RVYwM05SO0FBQ0Y7QUtyd09FO0VLNFlNO0lBQ0UsaUJBQUE7RVY0M05SO0FBQ0Y7QUt0d09FO0VLMllNO0lBQ0UsaUJBQUE7RVY4M05SO0FBQ0Y7QUt2d09FO0VLMFlNO0lBQ0UsaUJBQUE7RVZnNE5SO0FBQ0Y7QUt4d09FO0VLeVlNO0lBQ0UsaUJBQUE7RVZrNE5SO0FBQ0Y7QUt4d09JO0VL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SjtBQUNGO0FLcjJRSTtFUXhHQTtJQUNFLGlCQUFBO0ViZzlRSjtBQUNGO0FLcDNRSTtFUTlHSjtJQW1CSSxpQkFBQTtFYm05UUY7QUFDRjtBSzEyUUk7RVE3SEo7SUFxQkksaUJBQUE7RWJzOVFGO0FBQ0Y7QWMxK1FBO0VBQ0Usb0JBTGdCO0Fkay9RbEI7QUtqNVFFO0VTeEZFO0lBQ0Usb0JBVG1CO0VkcS9RdkI7RWMzK1FFO0lBQ0UscUJBVmtCO0VkdS9RdEI7QUFDRjtBZXYrUUE7O0VBR0Usc0JBQUE7QWZ5K1FGO0FleCtRRTs7OztFQUVFLG9CQUFBO0FmNCtRSjtBZTMrUUU7O0VBQ0UsaUJBcEJhO0Fma2dSakI7QWU3K1FFOztFQUNFLGlCQXJCYTtBZnFnUmpCO0FlLytRRTs7RUFDRSxzQkFBQTtBZmsvUUo7QWVoL1FBO0VBQ0UsY1Q1QmE7RVMrQmIsZVRITztFU0lQLGdCVEtnQjtFU0poQixrQkFuQ2tCO0Fmb2hScEI7QWVoL1FFO0VBQ0UsY0FwQ2lCO0VBcUNqQixvQkFwQ2tCO0Fmc2hSdEI7QWVqL1FFO0VBQ0Usb0JBQUE7QWZtL1FKO0FlbC9RRTtFQUNFLG9CQTdCdUI7QWZpaFIzQjtBZWgvUUk7RUFDRSxlQ3NERTtBaEI0N1FSO0Flbi9RSTtFQUNFLGlCQ3NERTtBaEIrN1FSO0FldC9RSTtFQUNFLGVDc0RFO0FoQms4UVI7QWV6L1FJO0VBQ0UsaUJDc0RFO0FoQnE4UVI7QWU1L1FJO0VBQ0Usa0JDc0RFO0FoQnc4UVI7QWUvL1FJO0VBQ0UsZUNzREU7QWhCMjhRUjtBZWxnUkk7RUFDRSxrQkNzREU7QWhCODhRUjtBZWxnUkE7RUFDRSxjVC9DYTtFU2tEYixrQlRyQk87RVNzQlAsZ0JUakJjO0VTa0JkLGlCQTdDcUI7QWZnalJ2QjtBZWxnUkU7RUFDRSxjVHZEVztFU3dEWCxnQlRuQmM7QU51aFJsQjtBZW5nUkU7RUFDRSxvQkEvQ3VCO0Fmb2pSM0I7QWVqZ1JJO0VBQ0UsZUNvQ0U7QWhCKzlRUjtBZXBnUkk7RUFDRSxpQkNvQ0U7QWhCaytRUjtBZXZnUkk7RUFDRSxlQ29DRTtBaEJxK1FSO0FlMWdSSTtFQUNFLGlCQ29DRTtBaEJ3K1FSO0FlN2dSSTtFQUNFLGtCQ29DRTtBaEIyK1FSO0FlaGhSSTtFQUNFLGVDb0NFO0FoQjgrUVI7QWVuaFJJO0VBQ0Usa0JDb0NFO0FoQmkvUVI7QWlCcmxSQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FSa0I7RUFTbEIsY0FBQTtFQUNBLGtCQUFBO0FqQndsUkY7QWlCcmxSQTtFQUNFLGlCQUFBO0VBQ0EsY1hQYTtFV1FiLDJCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQlhtQk87RVdsQlAsc0JBQUE7RUFHQSw4QkFBQTtFQUNBLGtCQUFBO0FqQndsUkY7QUszaFJFO0VZM0RGO0lBRUksY0FBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxTQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0VqQnlsUkY7RWlCeGxSRTtJQUNFLGlDQUFBO0lBQ0EsWUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBO0lBQ0EsU0FBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUdBLDJCQUFBO0VqQjBsUko7RWlCemxSRTtJQUNFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxlQUFBO0lBR0EsNENBQUE7RWpCMmxSSjtBQUNGO0FpQnJsUkk7O0VBQ0UsdUJBSE07QWpCNGxSWjtBaUJ2bFJNOzs7RUFDRSxtQkFMVztFQU1YLFlBUEk7QWpCa21SWjtBaUJ6bFJNOztFQUNFLHdCQVZJO0FqQnNtUlo7QWlCcG1SSTs7RUFDRSx5QkFITTtBakIwbVJaO0FpQnJtUk07OztFQUNFLGlCQUxXO0VBTVgsY0FQSTtBakJnblJaO0FpQnZtUk07O0VBQ0UsMEJBVkk7QWpCb25SWjtBaUJsblJJOztFQUNFLDRCQUhNO0FqQnduUlo7QWlCbm5STTs7O0VBQ0UsOEJBTFc7RUFNWCxpQkFQSTtBakI4blJaO0FpQnJuUk07O0VBQ0UsNkJBVkk7QWpCa29SWjtBaUJob1JJOztFQUNFLHlCQUhNO0FqQnNvUlo7QWlCam9STTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjRvUlo7QWlCbm9STTs7RUFDRSwwQkFWSTtBakJncFJaO0FpQjlvUkk7O0VBQ0UseUJBSE07QWpCb3BSWjtBaUIvb1JNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCMHBSWjtBaUJqcFJNOztFQUNFLDBCQVZJO0FqQjhwUlo7QWlCNXBSSTs7RUFDRSx5QkFITTtBakJrcVJaO0FpQjdwUk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakJ3cVJaO0FpQi9wUk07O0VBQ0UsMEJBVkk7QWpCNHFSWjtBaUIxcVJJOztFQUNFLHlCQUhNO0FqQmdyUlo7QWlCM3FSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQnNyUlo7QWlCN3FSTTs7RUFDRSwwQkFWSTtBakIwclJaO0FpQnhyUkk7O0VBQ0UseUJBSE07QWpCOHJSWjtBaUJ6clJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCb3NSWjtBaUIzclJNOztFQUNFLDBCQVZJO0FqQndzUlo7QWlCdHNSSTs7RUFDRSx5QkFITTtBakI0c1JaO0FpQnZzUk07OztFQUNFLDhCQUxXO0VBTVgsY0FQSTtBakJrdFJaO0FpQnpzUk07O0VBQ0UsMEJBVkk7QWpCc3RSWjtBaUJwdFJJOztFQUNFLHlCQUhNO0FqQjB0Ulo7QWlCcnRSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQmd1Ulo7QWlCdnRSTTs7RUFDRSwwQkFWSTtBakJvdVJaO0FpQmx1Ukk7O0VBQ0UseUJBSE07QWpCd3VSWjtBaUJudVJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCOHVSWjtBaUJydVJNOztFQUNFLDBCQVZJO0FqQmt2Ulo7QWlCaHZSSTs7RUFDRSx5QkFITTtBakJzdlJaO0FpQmp2Uk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakI0dlJaO0FpQm52Uk07O0VBQ0UsMEJBVkk7QWpCZ3dSWjtBaUI5dlJJOztFQUNFLHlCQUhNO0FqQm93Ulo7QWlCL3ZSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjB3Ulo7QWlCandSTTs7RUFD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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtB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Z0R0bmRRO0VBQ0UseUJBQUE7QWhEd25kVjtBZ0Rob2RNO0VBS0Usb0NBQUE7QWhEOG5kUjtBZ0Q1bmRRO0VBQ0UsdUJBQUE7QWhEOG5kVjtBZ0R0b2RNO0VBS0Usb0NBQUE7QWhEb29kUjtBZ0Rsb2RRO0VBQ0UsdUJBQUE7QWhEb29kVjtBZ0Q1b2RNO0VBS0Usb0NBQUE7QWhEMG9kUjtBZ0R4b2RRO0VBQ0UsdUJBQUE7QWhEMG9kVjtBZ0RscGRNO0VBS0Usb0NBQUE7QWhEZ3BkUjtBZ0Q5b2RRO0VBQ0UsdUJBQUE7QWhEZ3BkVjtBZ0R4cGRNO0VBS0Usb0NBQUE7QWhEc3BkUjtBZ0RwcGRRO0VBQ0UsdUJBQUE7QWhEc3BkVjtBZ0Q5cGRNO0VBS0Usb0NBQUE7QWhENHBkUjtBZ0QxcGRRO0VBQ0UsdUJBQUE7QWhENHBkVjtBZ0RwcWRNO0VBS0Usb0NBQUE7QWhEa3FkUjtBZ0RocWRRO0VBQ0UsdUJBQUE7QWhEa3FkVjtBZ0QxcWRNO0VBS0Usb0NBQUE7QWhEd3FkUjtBZ0R0cWRRO0VBQ0UsdUJBQUE7QWhEd3FkVjtBZ0RocmRNO0VBS0Usb0NBQUE7QWhEOHFkUjtBZ0Q1cWRRO0VBQ0UsdUJBQUE7QWhEOHFkVjtBZ0R0cmRNO0VBS0Usb0NBQUE7QWhEb3JkUjtBZ0RscmRRO0VBQ0UsdUJBQUE7QWhEb3JkVjtBZ0Q1cmRNO0VBS0Usb0NBQUE7QWhEMHJkUjtBZ0R4cmRRO0VBQ0UsdUJBQUE7QWhEMHJkVjtBZ0QxcWRNO0VBQ0Usa0NBQUE7RUFDQSxvQ0FBQTtBaEQ0cWRSO0FnRHpxZFE7RUFDRSx5QkFBQTtBaEQycWRWO0FnRGpyZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRG1yZFI7QWdEaHJkUTtFQUNFLHlCQUFBO0FoRGtyZFY7QWdEeHJkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEMHJkUjtBZ0R2cmRRO0VBQ0UseUJBQUE7QWhEeXJkVjtBZ0QvcmRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERpc2RSO0FnRDlyZFE7RUFDRSx5QkFBQTtBaERnc2RWO0FnRHRzZE07RUFDRSxvQ0FBQTtF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QjtBdEJtZ2lCM0I7QXlENXJoQkk7O0VBRUksdUNuQ3pVbUI7QXRCdWdpQjNCO0F5RDlxaEJROztFQUVJLHNGQUFBO0F6RGdyaEJaO0F5RDNxaEJROztFQUVJLHNGQUFBO0F6RDZxaEJaO0F5RDFwaEJJOzs7O0VBSUksd0NBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0F6RDZwaEJSO0F5RHpwaEJJOzs7O0VBSUkscUJBQUE7RUFDQSxlQUFBO0F6RDJwaEJSO0F5RHZwaEJJOztFQUVJLDRCQUFBO0VBQ0EsK0JBQUE7QXpEeXBoQlI7QXlEbHBoQkk7Ozs7RUFJSSx5Qm5DdnRCWTtFbUN3dEJaLDRCbkN4dEJZO0F0QjQyaUJwQjtBeURscGhCSTs7Ozs7Ozs7RUFRSSwwQm5DbHVCWTtBdEJzM2lCcEI7QXlEbHBoQkk7Ozs7RUFJSSwyQm5DeHVCWTtBdEI0M2lCcEI7QXlEL29oQkk7Ozs7RUFJSSx5Qm5DaHZCaUI7RW1DaXZCakIsNEJuQ2p2QmlCO0F0Qm00aUJ6QjtBeURocGhCSTs7Ozs7Ozs7RUFRSSwwQm5DM3ZCaUI7QXRCNjRpQnpCO0F5RGhwaEJJOzs7O0VBSUksMkJuQ2p3QmlCO0F0Qm01aUJ6QjtBeUQzb2hCSTtFQUF5QixhQUFBO0F6RCtvaEI3QjtBeUQ5b2hCSTtFQUFpQyxhQUFBO0F6RGlwaEJyQztBeURocGhCSTtFQUNJLG1DQUFBO0F6RGtwaEJSO0F5RGhwaEJJOztFQUVJLHVDbkNuZG1CO0F0QnFtaUIzQjtBeUQ1b2hCSTs7OztFQUlJLDJCbkMxeEJZO0F0Qnc2aUJwQjtBeURwb2hCSTtFQUNJLHVCbkN0eEJnQjtBdEI2NWlCeEI7QXlEcG9oQkk7O0VBRUksMkNBQUE7RUFDQSw4Q0FBQTtBekRzb2hCUjtBeURwb2hCSTs7OztFQUlJLDRDQUFBO0F6RHNvaEJSO0F5RHBvaEJJOztFQUVJLDZDQUFBO0F6RHNvaEJSO0F5RDluaEJBOztFQUVJLGtHQUFBO0F6RGlvaEJKO0F5RDluaEJBOztFQUVJLGtHQUFBO0F6RGlv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RztBdEJtNmtCYjtBc0MzeWxCTTtFQUNFLHFCaEJJRztBdEIweWxCWDtBc0MxeWxCTTtFQUNJLHFCaEJGQztBdEIreWxCWDtBc0NuemxCTTtFQUNFLHFCaEJJRztBdEJremxCWDtBc0NsemxCTTtFQUNJLHFCaEJIQztBdEJ3emxCWDtBc0MzemxCTTtFQUNFLDZCMEJ3RXVFO0FoRXN2bEIvRTtBc0MxemxCTTtFQUNJLDZCMEJtRWtGO0FoRTB2bEI1RjtBc0NuMGxCTTtFQUNFLHlCaEJLRztBdEJpMGxCWDtBc0NsMGxCTTtFQUNJLHlCaEJIQztBdEJ3MGxCWDtBc0MzMGxCTTtFQUNFLHlCaEJLRztBdEJ5MGxCWDtBc0MxMGxCTTtFQUNJLHlCaEJIQztBdEJnMWxCWDtBc0NuMWxCTTtFQUNFLHlCaEJLRztBdEJpMWxCWDtBc0NsMWxCTTtFQUNJLHlCaEJIQztBdEJ3MWxCWDtBc0MzMWxCTTtFQUNFLHlCaEJLRztBdEJ5MWxCWDtBc0MxMWxCTTtFQUNJLHlCaEJIQztBdEJnMmxCWDtBc0NuMmxCTTtFQUNFLG9DMEI0Rk47QWhFMHdsQkY7QXNDbDJsQk07RUFDSSxvQzBCd0ZSO0FoRTZ3bEJGO0FzQzMybEJNO0VBQ0Usb0MwQjJHTjtBaEVtd2xCRjtBc0MxMmxCTTtFQUNJLG9DMEJ1R1I7QWhFc3dsQkY7QXNDbjNsQk07RUFDRSwwQjBCa0hzRTtBaEVvd2xCOUU7QXNDbDNsQk07RUFDSSwwQjBCNkcwRztBaEV3d2xCcEg7QXNDMzNsQk07RUFDRSxvQzBCbUgyRTtBaEUyd2xCbkY7QXNDMTNsQk07RUFDSSxvQzBCOEcrRztBaEUrd2xCekg7QXNDbjRsQk07RUFDRSxrQmhCK0s4QjtBdEJ1dGxCdEM7QXNDbDRsQk07RUFDSSxxQmhCNEtpQztBdEJ5dGxCM0M7QXNDMzRsQk07RUFDRSx5QmhCTUc7QXRCdzRsQlg7QXNDMTRsQk07RUFDSSx5QmhCVEM7QXRCczVsQlg7QXNDbjVsQk07RUFDRSx5QmhCTUc7QXRCZzVsQlg7QXNDbDVsQk07RUFDSSx5QmhCVEM7QXRCODVsQlg7QXNDMzVsQk07RUFDRSx5QmhCMkNZO0F0Qm0zbEJwQjtBc0MxNWxCTTtFQUNJLHlCaEJIQztBdEJnNmxCWDtBc0NuNmxCTTtFQUNFLHlCaEIyQ1k7QXRCMjNsQnBCO0FzQ2w2bEJNO0VBQ0kseUJoQkhDO0F0Qnc2bEJYO0FzQzM2bEJNO0VBQ0UscUJoQjJDWTtBdEJtNGxCcEI7QXNDMTZsQk07RUFDSSxxQmhCSEM7QXRCZzdsQlg7QXNDbjdsQk07RUFDRSx5QmhCMkNZO0F0QjI0bEJwQjtBc0NsN2xCTTtFQUNJLHlCaEJUQztBdEI4N2xCWDtBc0MzN2xCTTtFQUNFLHlCaEIyQ1k7QXRCbTVsQnBCO0FzQzE3bEJNO0VBQ0kseUJoQlRDO0F0QnM4bEJYO0FzQ244bEJNO0VBQ0Usc0IwQjBJZ0g7QWhFNHpsQnhIO0FzQ2w4bEJNO0VBQ0ksc0IwQnFJb0g7QWhFZzBsQjlIO0FzQzM4bEJNO0VBQ0UsMEIwQjZJZ0c7QWhFaTBsQnhHO0FzQzE4bEJNO0VBQ0ksMEIwQndJaUg7QWhFcTBsQjNIO0FnRTF6bEJBO0VBQ0UsNkJBQUE7RUFDQSw4QkFBQTtBaEU2emxCRjtBc0N4OWxCTTtFQUNFLHlCMEI2SjZEO0FoRTh6bEJyRTtBc0N2OWxCTTtFQUNJLHlCMEJ3SmlGO0FoRWswbEIzRjtBc0NoK2xCTTtFQUNFLHlCMEIrSm9FO0FoRW8wbEI1RTtBc0MvOWxCTTtFQUNJLHlCMEIwSndHO0FoRXcwbEJsSDtBc0N4K2xCTTtFQUNFLG9DMEJpS2dGO0FoRTAwbEJ4RjtBc0N2K2xCTTtFQUNJLG9DMEI0Sm9HO0FoRTgwbEI5RztBc0NoL2xCTTtFQUNFLG9DMEJrS3NGO0FoRWkxbEI5RjtBc0MvK2xCTTtFQUNJLG9DMEI2SjBHO0FoRXExbEJwSDtBc0N4L2xCTTtFQUNFLDZCMEJvTHlFO0FoRXUwbEJqRjtBc0N2L2xCTTtFQUNJLDZCMEIrS29GO0FoRTIwbEI5RjtBc0NoZ21CTTtFQUNFLHFDMEJxTG1FO0FoRTgwbEIzRTtBc0MvL2xCTTtFQUNJLHFDMEJnTDhGO0FoRWsxbEJ4RztBc0N4Z21CTTtFQUNFLHlCaEJJRztBdEJ1Z21CWDtBc0N2Z21CTTtFQUNJLHlCaEJGQztBdEI0Z21CWDtBc0NoaG1CTTtFQUNFLHlCaEJLRztBdEI4Z21CWDtBc0MvZ21CTTtFQUNJLHlCaEJIQztBdEJxaG1CWDtBc0N4aG1CTTtFQUNFLHlCaEJLRztBdEJzaG1CWDtBc0N2aG1CTTtFQUNJLHlCaEJIQztBdEI2aG1CWDtBc0NoaW1CTTtFQUNFLHlCaEJ3S21CO0F0QjIzbEIzQjtBc0MvaG1CTTtFQUNJLHlCaEJvS3NCO0F0QjgzbEJoQztBc0N4aW1CTTtFQUNFLHlCaEJ3S21CO0F0Qm00bEIzQjtBc0N2aW1CTTtFQUNJLHlCaEJvS3NCO0F0QnM0bEJoQztBc0Noam1CTTtFQUNFLGtDMEIrTTZHO0FoRW8ybEJySDtBc0MvaW1CTTtFQUNJLHFDMEIwTW1LO0FoRXcybEI3SztBc0N4am1CTTtFQUNFLHlCaEJNRztBdEJxam1CWDtBc0N2am1CTTtFQUNJLHlCaEJUQztBdEJta21CWDtBc0Noa21CTTtFQUNFLHlCaEJNRztBdEI2am1CWDtBc0Mvam1CTTtFQUNJLHlCaEJUQztBdEIya21CWDtBc0N4a21CTTtFQUNFLHFCaEJJRztBdEJ1a21CWDtBc0N2a21CTTtFQUNJLHFCaEJGQztBdEI0a21CWDtBc0NobG1CTTtFQUNFLDZCMEI2TjRGO0FoRXMzbEJwRztBc0Mva21CTTtFQUNJLDZCMEJ3TnVHO0FoRTAzbEJqSDtBc0N4bG1CTTtFQUNFLHlCaEJLRztBdEJzbG1CWDtBc0N2bG1CTTtFQUNJLHlCaEJIQztBdEI2bG1CWDtBc0NobW1CTTtFQUNFLHlCaEJLRztBdEI4bG1CWDtBc0MvbG1CTTtFQUNJLHlCaEJIQztBdEJxbW1CWDtBc0N4bW1CTTtFQUNFLHFCaEJJRztBdEJ1bW1CWDtBc0N2bW1CTTtFQUNJLHFCaEJIQztBdEI2bW1CWDtBc0Nobm1CTTtFQUNFLHFCaEJJRztBdEIrbW1CWDtBc0MvbW1CTTtFQUNJLHFCaEJIQztBdEJxbm1CWDtBc0N4bm1CTTtFQUNFLHlCaEJ3S21CO0F0Qm05bEIzQjtBc0N2bm1CTTtFQUNJLHlCaEJvS3NCO0F0QnM5bEJoQztBc0Nob21CTTtFQUNFLHlCaEJ3S21CO0F0QjI5bEIzQjtBc0Mvbm1CTTtFQUNJLHlCaEJvS3NCO0F0Qjg5bEJoQztBc0N4b21CTTtFQUNFLHlCaEIyQ1k7QXRCZ21tQnBCO0FzQ3ZvbUJNO0VBQ0kseUJoQkhDO0F0QjZvbUJYO0FzQ2hwbUJNO0VBQ0UseUJoQjJDWTtBdEJ3bW1CcEI7QXNDL29tQk07RUFDSSx5QmhCSEM7QXRCcXBtQlg7QXNDeHBtQk07RUFDRSxxQmhCMkNZO0F0QmdubUJwQjtBc0N2cG1CTTtFQUNJLHFCaEJIQztBdEI2cG1CWDtBc0NocW1CTTtFQUNFLHFCaEIyQ1k7QXRCd25tQnBCO0FzQy9wbUJNO0VBQ0kscUJoQkhDO0F0QnFxbUJYO0FzQ3hxbUJNO0VBQ0UseUJoQjJDWTtBdEJnb21CcEI7QXNDdnFtQk07RUFDSSx5QmhCVEM7QXRCbXJtQlg7QXNDaHJtQk07RUFDRSx5QmhCMkNZO0F0QndvbUJwQjtBc0MvcW1CTTtFQUNJLHlCaEJUQztBdEIycm1CWDtBc0N4cm1CTTtFQUNFLHNCMEIwUDZJO0FoRWk4bEJySjtBc0N2cm1CTTtFQUNJLHNCMEJxUGlKO0FoRXE4bEIzSjtBc0Noc21CTTtFQUNFLGtCaEIrSzhCO0F0Qm9obUJ0QztBc0Mvcm1CTTtFQUNJLHFCaEI0S2lDO0F0QnNobUIzQztBc0N4c21CTTtFQUNFLHlCaEJNRztBdEJxc21CWDtBc0N2c21CTTtFQUNJLHlCaEJUQztBdEJtdG1CWDtBc0NodG1CTTtFQUNFLHlCaEJNRztBdEI2c21CWDtBc0Mvc21CTTtFQUNJLHlCaEJUQztBdEIydG1CWDtBc0N4dG1CTTtFQUNFLDBCMEJ3UXdHO0FoRW05bEJoSDtBc0N2dG1CTTtFQUNJLDBCMEJtUXlIO0FoRXU5bEJuSTtBc0NodW1CTTtFQUNFLDBCMEI4UXNHO0FoRXE5bEI5RztBc0MvdG1CTTtFQUNJLDBCMEJ5UXVIO0FoRXk5bEJqSTtBc0N4dW1CTTtFQUNFLHlCaEJLRztBdEJzdW1CWDtBc0N2dW1CTTtFQUNJLHlCaEJIQztBdEI2dW1CWDtBc0Nodm1CTTtFQUNFLGNoQjhLdUI7QXRCcWttQi9CO0FzQy91bUJNO0VBQ0ksY2hCMkswQjtBdEJ1a21CcEM7QXNDeHZtQk07RUFDRSxjaEI4S3VCO0F0QjZrbUIvQjtBc0N2dm1CTTtFQUNJLGNoQjJLMEI7QXRCK2ttQnBDO0FzQ2h3bUJNO0VBQ0UsV2hCK0s4QjtBdEJvbG1CdEM7QXNDL3ZtQk07RUFDSSxjaEI0S2lDO0F0QnNsbUIzQztBZ0V0K2xCQSxpQkFBQTtBMUJsU007RUFDRSx5QmhCbVdpQjtBdEJ5NmxCekI7QXNDeHdtQk07RUFDSSx5QmhCK1ZvQjtBdEI0NmxCOUI7QXNDanhtQk07RUFDRSx5QmhCcVd3QjtBdEIrNmxCaEM7QXNDaHhtQk07RUFDSSx5QmhCaVcyQjtBdEJrN2xCckM7QXNDenhtQk07RUFDRSxjaEJnRVE7QXRCNHRtQmhCO0FzQ3h4bUJNO0VBQ0ksY2hCNERXO0F0Qit0bUJyQjtBZ0UxL2xCQSxVQUFBO0ExQnZTTTtFQUNFLHVCaEI4RGE7QXRCdXVtQnJCO0FzQ2p5bUJNO0VBQ0ksdUJoQjBEZ0I7QXRCMHVtQjFCO0FzQzF5bUJNO0VBQ0UseUJoQm1XaUI7QXRCMDhsQnpCO0FzQ3p5bUJNO0VBQ0kseUJoQitWb0I7QXRCNjhsQjlCO0FzQ2x6bUJNO0VBQ0UscUJoQm1XaUI7QXRCazlsQnpCO0FzQ2p6bUJNO0VBQ0kscUJoQitWb0I7QXRCcTlsQjlCO0FzQzF6bUJNO0VBQ0UseUJoQjhEYTtBdEIrdm1CckI7QXNDenptQk07RUFDSSx5QmhCMERnQjtBdEJrd21CMUI7QXNDbDBtQk07RUFDRSxxQ2hCd1dtQjtBdEI2OWxCM0I7QXNDajBtQk07RUFDSSx5QmhCdUNlO0F0QjZ4bUJ6QjtBc0MxMG1CTTtFQUNFLHdDaEJ3V21CO0F0QnErbEIzQjtBc0N6MG1CTTtFQUNJLDRCaEJ1Q2U7QXRCcXltQnpCO0FzQ2wxbUJNO0VBQ0UsWTBCNlNzRjtBaEV3aW1COUY7QXNDajFtQk07RUFDSSxZMEJ3UzBGO0FoRTRpbUJwRztBc0MxMW1CTTtFQUNFLFkwQjhTcUY7QWhFK2ltQjdGO0FzQ3oxbUJNO0VBQ0ksWTBCeVN5RjtBaEVtam1Cbkc7QXNDbDJtQk07RUFDRSxzQ2hCd1dtQjtBdEI2L2xCM0I7QXNDajJtQk07RUFDSSwwQmhCdUNlO0F0QjZ6bUJ6QjtBc0MxMm1CTTtFQUNFLHVDaEJ3V21CO0F0QnFnbUIzQjtBc0N6Mm1CTTtFQUNJLDJCaEJ1Q2U7QXRCcTBtQnpCO0FzQ2wzbUJNO0VBQ0UsWTBCaVQwRjtBaEVva21CbEc7QXNDajNtQk07RUFDSSxZMEI0UzhGO0FoRXdrbUJ4RztBZ0V0a21CQSxRQUFBO0ExQnBUTTtFQUNFLGNoQjJDWTtBdEJtMW1CcEI7QXNDMTNtQk07RUFDSSxjaEJ1Q2U7QXRCczFtQnpCO0FzQ240bUJNO0VBQ0UsY2hCMkNZO0F0QjIxbUJwQjtBc0NsNG1CTTtFQUNJLGNoQnVDZTtBdEI4MW1CekI7QWdFbmxtQkEsYUFBQTtBMUJ4VE07RUFDRSxjaEJ3VmdCO0F0QnVqbUJ4QjtBc0MzNG1CTTtFQUNJLGNoQm9Wa0I7QXRCMGptQjVCO0FzQ3A1bUJNO0VBQ0UseUJoQnVMa0M7QXRCZ3VtQjFDO0FzQ241bUJNO0VBQ0kseUJoQm1McUM7QXRCbXVtQi9DO0FzQzU1bUJNO0VBQ0UseUJoQllJO0F0Qm01bUJaO0FzQzM1bUJNO0VBQ0kseUJoQnFMd0M7QXRCeXVtQmxEO0FnRXBtbUJBLGtCQUFBO0ExQmhVTTtFQUNFLHlCaEI2RmdCO0F0QjIwbUJ4QjtBc0NwNm1CTTtFQUNJLHlCaEJ5Rm1CO0F0QjgwbUI3QjtBZ0UxbW1CQSxtQkFBQTtBMUJuVU07RUFDRSxjaEJnRVE7QXRCaTNtQmhCO0FzQzc2bUJNO0VBQ0ksY2hCNERXO0F0Qm8zbUJyQjtBc0N0N21CTTtFQUNFLGNoQnFZSztBdEJvam1CYjtBc0NyN21CTTtFQUNJLGNoQmtZRztBdEJzam1CYjtBc0M5N21CTTtFQUNFLGNoQnFZSztBdEI0am1CYjtBc0M3N21CTTtFQUNJLGNoQmtZRztBdEI4am1CYjtBZ0U5bm1CQSxnQkFBQTtBMUJ4VU07RUFDRSw4QjBCd1U2RDtBaEVrb21CckU7QXNDdDhtQk07RUFDSSxrRDBCbVU0RTtBaEVzb21CdEY7QXNDLzhtQk07RUFDRSxjMEJ5VTBEO0FoRXlvbUJsRTtBc0M5OG1CTTtFQUNJLDJCMEJvVTREO0FoRTZvbUJ0RTtBZ0Uzb21CQSxjQUFBO0ExQjVVTTtFQUNFLHVCaEJ5RFc7QXRCazZtQm5CO0FzQ3Y5bUJNO0VBQ0ksdUJoQnFEYztBdEJxNm1CeEI7QWdFanBtQkEscUJBQUE7QTFCL1VNO0VBQ0UsdUJoQnlEVztBdEIyNm1CbkI7QXNDaCttQk07RUFDSSx1QmhCcURjO0F0Qjg2bUJ4QjtBc0N6K21CTTtFQUNFLGtCMEJnVnlFO0FoRTRwbUJqRjtBc0N4K21CTTtFQUNJLHNDMEIyVTJFO0FoRWdxbUJyRjtBc0NqL21CTTtFQUNFLFUwQmlWaUU7QWhFbXFtQnpFO0FzQ2gvbUJNO0VBQ0ksOEIwQjRVbUU7QWhFdXFtQjdFO0FnRXJxbUJBLDRCQUFBO0ExQnBWTTtFQUNFLGNoQitIYztBdEI4M21CdEI7QXNDei9tQk07RUFDSSxjaEIySGlCO0F0Qmk0bUIzQjtBc0NsZ25CTTtFQUNFLGNoQitIYztBdEJzNG1CdEI7QXNDamduQk07RUFDSSxjaEIySGlCO0F0Qnk0bUIzQjtBZ0VqcW1CQTs7RUFFRSxjQUFBO0FoRW9xbUJGO0FzQy9nbkJNO0VBQ0UsdUJoQnlEVztBdEJ5OW1CbkI7QXNDOWduQk07RUFDSSx1QmhCcURjO0F0QjQ5bUJ4QjtBZ0VqcW1CQTs7RUFFRSx1QjFDOVRpQjtBdEJrK21CbkI7QWdFbHFtQkE7O0VBRUUsdUIxQ2pVc0I7QXRCcyttQnhCO0FzQ2ppbkJNO0VBQ0UseUJoQnVMa0M7QXRCNjJtQjFDO0FzQ2hpbkJNO0VBQ0kseUJoQm1McUM7QXRCZzNtQi9DO0FzQ3ppbkJNO0VBQ0UsY2hCOEt1QjtBdEI4M21CL0I7QXNDeGluQk07RUFDSSxjaEIySzBCO0F0Qmc0bUJwQztBc0Nqam5CTTtFQUNFLHlCaEJ1TGtDO0F0QjYzbUIxQztBc0Noam5CTTtFQUNJLHlCaEJtTHFDO0F0Qmc0bUIvQztBc0N6am5CTTtFQUNFLGNoQjhLdUI7QXRCODRtQi9CO0FzQ3hqbkJNO0VBQ0ksY2hCMkswQjtBdEJnNW1CcEM7QXNDamtuQk07RUFDRSxXaEIrSzhCO0F0QnE1bUJ0QztBc0Noa25CTTtFQUNJLGNoQjRLaUM7QXRCdTVtQjNDO0FzQ3prbkJNO0VBQ0UsV2hCK0s4QjtBdEI2NW1CdEM7QXNDeGtuQk07RUFDSSxjaEI0S2lDO0F0Qis1bUIzQztBZ0Uzcm1CQTtFQUFnRCxXMUN0T1Y7QXRCcTZtQnRDO0FnRTlybUJBO0VBQWdELGMxQ3JPTDtBdEJ1Nm1CM0M7QXNDemxuQk07RUFDRSxzQzBCdVpnRjtBaEVxc21CeEY7QXNDeGxuQk07RUFDSSxrQjBCa1pzRztBaEV5c21CaEg7QXNDam1uQk07RUFDRSw4QjBCd1p3RTtBaEU0c21CaEY7QXNDaG1uQk07RUFDSSxVMEJtWjhGO0FoRWd0bUJ4RztBc0N6bW5CTTtFQUNFLHlCaEJIRztBdEIrbW5CWDtBc0N4bW5CTTtFQUNJLHlCaEJtSnFCO0F0Qnc5bUIvQjtBc0Nqbm5CTTtFQUNFLDBDMEIwWjBFO0FoRTB0bUJsRjtBc0Nobm5CTTtFQUNJLDBDMEJxWnVHO0FoRTh0bUJqSDtBc0N6bm5CTTtFQUNFLDRCaEJDRztBdEIybm5CWDtBc0N4bm5CTTtFQUNJLDRCaEJxSW1CO0F0QnMvbUI3QjtBc0Nqb25CTTtFQUNFLHlCaEJ3S21CO0F0QjQ5bUIzQjtBc0Nob25CTTtFQUNJLHlCaEJvS3NCO0F0Qis5bUJoQztBc0N6b25CTTtFQUNFLDRCaEJDRztBdEIyb25CWDtBc0N4b25CTTtFQUNJLDRCaEJxSW1CO0F0QnNnbkI3QjtBc0NqcG5CTTtFQUNFLFdoQitLOEI7QXRCcSttQnRDO0FzQ2hwbkJNO0VBQ0ksY2hCNEtpQztBdEJ1K21CM0M7QXNDenBuQk07RUFDRSxjaEI4S3VCO0F0QjgrbUIvQjtBc0N4cG5CTTtFQUNJLGNoQjJLMEI7QXRCZy9tQnBDO0FzQ2pxbkJNO0VBQ0UsY2hCOEt1QjtBdEJzL21CL0I7QXNDaHFuQk07RUFDSSxjaEIySzBCO0F0QncvbUJwQztBc0N6cW5CTTtFQUNFLHNDMEJxYTBGO0FoRXV3bUJsRztBc0N4cW5CTTtFQUNJLGtCMEJnYWdIO0FoRTJ3bUIxSDtBc0Nqcm5CTTtFQUNFLDhCMEJzYWtGO0FoRTh3bUIxRjtBc0Nocm5CTTtFQUNJLFUwQmlhd0c7QWhFa3htQmxIO0FzQ3pybkJNO0VBQ0UseUJoQndLbUI7QXRCb2huQjNCO0FzQ3hybkJNO0VBQ0kseUJoQm9Lc0I7QXRCdWhuQmhDO0FzQ2pzbkJNO0VBQ0UsMkJoQkNHO0F0Qm1zbkJYO0FzQ2hzbkJNO0VBQ0ksMkJoQnFJbUI7QXRCOGpuQjdCO0FzQ3pzbkJNO0VBQ0UseUJoQkNHO0F0QjJzbkJYO0FzQ3hzbkJNO0VBQ0kseUJoQnFJbUI7QXRCc2tuQjdCO0FnRXh4bUJBO0VBQ0UsK0JBQUE7QWhFMnhtQkY7QWdFenhtQkE7RUFDRSwrQkFBQTtBaEU0eG1CRjtBZ0V2eG1CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTB4bUJGO0FnRXh4bUJBOztFQUVFLHNDQUFBO0VBQ0Esc0NBQUE7QWhFMnhtQkY7QXNDcnVuQk07RUFDRSx5QmhCd0ttQjtBdEJna25CM0I7QXNDcHVuQk07RUFDSSx5QmhCb0tzQjtBdEJta25CaEM7QXNDN3VuQk07RUFDRSx5QmhCd0ttQjtBdEJ3a25CM0I7QXNDNXVuQk07RUFDSSx5QmhCb0tzQjtBdEIya25CaEM7QXNDcnZuQk07RUFDRSx1QzBCOGRvSDtBaEUweG1CNUg7QXNDcHZuQk07RUFDSSx1QzBCeWRtSjtBaEU4eG1CN0o7QXNDN3ZuQk07RUFDRSxvQzBCK2RpSDtBaEVpeW1Cekg7QXNDNXZuQk07RUFDSSxvQzBCMGRnSjtBaEVxeW1CMUo7QXNDcnduQk07RUFDRSxjaEI4S3VCO0F0QjBsbkIvQjtBc0Nwd25CTTtFQUNJLGNoQjJLMEI7QXRCNGxuQnBDO0FzQzd3bkJNO0VBQ0UsV2hCK0s4QjtBdEJpbW5CdEM7QXNDNXduQk07RUFDSSxjaEI0S2lDO0F0Qm1tbkIzQztBc0NyeG5CTTtFQUNFLFdoQitLOEI7QXRCeW1uQnRDO0FzQ3B4bkJNO0VBQ0ksY2hCNEtpQztBdEIybW5CM0M7QXNDN3huQk07RUFDRSx5QmhCdUxrQztBdEJ5bW5CMUM7QXNDNXhuQk07RUFDSSx5QmhCbUxxQztBdEI0bW5CL0M7QXNDcnluQk07RUFDRSx5QmhCdUxrQztBdEJpbm5CMUM7QXNDcHluQk07RUFDSSx5QmhCbUxxQztBdEJvbm5CL0M7QXNDN3luQk07RUFDRSxXaEIrSzhCO0F0QmlvbkJ0QztBc0M1eW5CTTtFQUNJLGNoQjRLaUM7QXRCbW9uQjNDO0FzQ3J6bkJNO0VBQ0UseUJoQnVMa0M7QXRCaW9uQjFDO0FzQ3B6bkJNO0VBQ0kseUJoQm1McUM7QXRCb29uQi9DO0FzQzd6bkJNO0VBQ0UsV2hCK0s4QjtBdEJpcG5CdEM7QXNDNXpuQk07RUFDSSxjaEI0S2lDO0F0Qm1wbkIzQztBc0NyMG5CTTtFQUNFLGNoQjhLdUI7QXRCMHBuQi9CO0FzQ3AwbkJNO0VBQ0ksY2hCMkswQjtBdEI0cG5CcEM7QXNDNzBuQk07RUFDRSx5QmhCdUxrQztBdEJ5cG5CMUM7QXNDNTBuQk07RUFDSSx5QmhCbUxxQztBdEI0cG5CL0M7QXNDcjFuQk07RUFDRSxXaEIrSzhCO0F0QnlxbkJ0QztBc0NwMW5CTTtFQUNJLGNoQjRLaUM7QXRCMnFuQjNDO0FzQzcxbkJNO0VBQ0UseUJoQnVMa0M7QXRCeXFuQjFDO0FzQzUxbkJNO0VBQ0kseUJoQm1McUM7QXRCNHFuQi9DO0FzQ3IybkJNO0VBQ0UsV2hCK0s4QjtBdEJ5cm5CdEM7QXNDcDJuQk07RUFDSSxjaEI0S2lDO0F0QjJybkIzQztBc0M3Mm5CTTtFQUNFLHNDMEJ5Z0JxRztBaEV1Mm1CN0c7QXNDNTJuQk07RUFDSSxrQjBCb2dCMkg7QWhFMjJtQnJJO0FzQ3IzbkJNO0VBQ0UsOEIwQjBnQjZGO0FoRTgybUJyRztBc0NwM25CTTtFQUNJLFUwQnFnQm1IO0FoRWszbUI3SDtBc0M3M25CTTtFQUNFLHNDMEIrZ0I2RjtBaEVpM21Cckc7QXNDNTNuQk07RUFDSSxrQjBCMGdCbUg7QWhFcTNtQjdIO0FzQ3I0bkJNO0VBQ0UsOEIwQmdoQnFGO0FoRXczbUI3RjtBc0NwNG5CTTtFQUNJLFUwQjJnQjJHO0FoRTQzbUJySDtBc0M3NG5CTTtFQUNFLFdoQitLOEI7QXRCaXVu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c0I7QS9CMi9uQnhCO0FnRS96bUJBO0VBQ0UsYUFBQTtFQUNBLHVCQUFBO0FoRWswbUJGO0FnRTV6bUJBO0VBQ0UsNERBQUE7QWhFK3ptQkY7QXNDamxvQk07RUFDRSx5QmhCd0ttQjtBdEI0Nm5CM0I7QXNDaGxvQk07RUFDSSx5QmhCb0tzQjtBdEIrNm5CaEM7QXNDemxvQk07RUFDRSw0QmhCQ0c7QXRCMmxvQlg7QXNDeGxvQk07RUFDSSw0QmhCcUltQjtBdEJzOW5CN0I7QXNDam1vQk07RUFDRSx5QmhCQ0c7QXRCbW1vQlg7QXNDaG1vQk07RUFDSSx5QmhCcUltQjtBdEI4OW5CN0I7QWdFenptQkE7RUFDRSx5QjFDeG9CeUI7RTBDeW9CekIsYzFDbm9CNkI7RTBDb29CN0IsK0JBQUE7QWhFNHptQkY7QWdFMXptQkE7RUFDRSx5QjFDNW9COEI7RTBDNm9COUIsYzFDdG9Ca0M7RTBDdW9CbEMsK0JBQUE7QWhFNnptQkY7QWdFeHptQkE7O0VBRUUsMkIxQzV6QlM7RTBDNnpCVCwyQkFBQTtBaEUyem1CRjtBZ0V6em1CQTs7RUFFRSwyQjFDdnJCMkI7RTBDd3JCM0IsMkJBQUE7QWhFNHptQkY7QWdFcHptQkE7RUFDRSxjQUFBO0VBQ0EsU0FBQTtBaEV1em1CRjtBZ0Vyem1CQTtFQUlFLDZCQUFBO0VBR0EsWUN0ekJnQjtBakV5bW9CbEI7QWdFM3ltQkE7RUFDRSxjMUMvcUJ5QztBdEI2OW5CM0M7QXNDL29vQk07RUFDRSxjaEI4S3VCO0F0Qm8rbkIvQjtBc0M5b29CTTtFQUNJLGNoQjJLMEI7QXRCcytuQnBDO0FzQ3Zwb0JNO0VBQ0UsV2hCK0s4QjtBdEIyK25CdEM7QXNDdHBvQk07RUFDSSxjaEI0S2lDO0F0QjYrbkIzQztBc0MvcG9CTTtFQUNFLFdoQitLOEI7QXRCbS9uQnRDO0FzQzlwb0JNO0VBQ0ksY2hCNEtpQztBdEJxL25CM0M7QXNDdnFvQk07RUFDRSx5QmhCdUxrQztBdEJtL25CMUM7QXNDdHFvQk07RUFDSSx5QmhCbUxxQztBdEJzL25CL0M7QXNDL3FvQk07RUFDRSx5QmhCdUxrQztBdEIyL25CMUM7QXNDOXFvQk07RUFDSSx5QmhCbUxxQztBdEI4L25CL0M7QXNDdnJvQk07RUFDRSxXaEIrSzhCO0F0QjJnb0J0QztBc0N0cm9CTTtFQUNJLGNoQjRLaUM7QXRCNmdvQjNDO0FzQy9yb0JNO0VBQ0UsY2hCOEt1QjtBdEJvaG9CL0I7QXNDOXJvQk07RUFDSSxjaEIySzBCO0F0QnNob0JwQztBc0N2c29CTTtFQUNFLHlCaEJ1TGtDO0F0Qm1ob0IxQztBc0N0c29CTTtFQUNJLHlCaEJtTHFDO0F0QnNob0IvQztBc0Mvc29CTTtFQUNFLHlCaEJ3S21CO0F0QjBpb0IzQjtBc0M5c29CTTtFQUNJLHlCaEJvS3NCO0F0QjZpb0JoQztBc0N2dG9CTTtFQUNFLDJCaEJDRztBdEJ5dG9CWDtBc0N0dG9CTTtFQUNJLDJCaEJxSW1CO0F0Qm9sb0I3QjtBZ0VoMW1CQTtFQUNFLG1EQUFBO0FoRW0xbUJGO0FzQ251b0JNO0VBQ0UsNEJoQkNHO0F0QnF1b0JYO0FzQ2x1b0JNO0VBQ0ksMEIwQmk1QjZHO0FoRW8xbUJ2SDtBc0MzdW9CTTtFQUNFLFdoQitLOEI7QXRCK2pvQnRDO0FzQzF1b0JNO0VBQ0ksY2hCNEtpQztBdEJpa29CM0M7QWdFbjFtQkE7RUFDRSxvQ0FBQTtBaEVzMW1CRjtBZ0VwMW1CQTtFQUNFLG9DQUFBO0FoRXUxbUJGO0FnRW4xbUJBOztFQUVFLG9DQUFBO0FoRXMxbUJGO0FnRXAxbUJBOztFQUVFLG9DQUFBO0FoRXUxbUJGO0FnRXgwbUJBOzs7O0VBSUUsd0NBQUE7QWhFMjBtQkY7QWdFcDBtQkE7O0VBRUUsb0NBQUE7QWhFdTBtQkY7QWdFcjBtQkE7O0VBRUUsb0NBQUE7QWhFdzBtQkY7QWdFOXptQkE7RUFDRSxjMUMxeUI2QjtBdEIybW9CL0I7QWdFL3ptQkE7O0VBRUUsVzFDN3lCb0M7QXRCK21vQnRDO0FnRWgwbUJBO0VBQ0UsYzFDL3lCa0M7QXRCa25vQnBDO0FnRWowbUJBOztFQUVFLGMxQ2x6QnlDO0F0QnNub0IzQztBZ0U3em1CQTs7RUFFRSxvQ0FBQTtBaEVnMG1CRjtBZ0U5em1C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cXptQjFCO0FnRXB6bUJFO0VBQU8sZ0JBQUE7QWhFdXptQlQ7QWdFcnptQkE7RUFDRSxvQkFBQTtFQUNBLGMxQ3h0Q1M7QXRCZ2hwQlg7QWdFbnptQkU7OztFQUVjLGMxQ3BqQ29CO0F0QjIyb0JwQztBZ0V0em1CRTtFQUFnQixjMUNyakNrQjtBdEI4Mm9CcEM7QWdFeHptQkU7RUFBb0IseUIxQzlpQ3lCO0F0Qnkyb0IvQztBZ0Vyem1CQTs7RUFFRSxvQ0FBQTtBaEV3em1CRjtBZ0V0em1CQTs7RUFFRSxvQ0FBQTtBaEV5em1CRjtBZ0Vwem1CQTtFQUNFLGdDQUFBO0FoRXV6bUJGO0FnRXJ6bUJBO0VBQ0UsZ0NBQUE7QWhFd3ptQkY7QWdFcHptQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFdXptQkY7QWdFcnptQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFd3ptQkY7QXNDaGtwQk07RUFDRSxjaEI4S3VCO0F0QnE1b0IvQjtBc0MvanBCTTtFQUNJLGNoQjJLMEI7QXRCdTVvQnBDO0FzQ3hrcEJNO0VBQ0Usb0MwQml4Q3VHO0FoRTB6bUIvRztBc0N2a3BCTTtFQUNJLG9DMEI0d0NvSTtBaEU4em1COUk7QXNDaGxwQk07RUFDRSxvQzBCa3hDZ0k7QWhFaTBtQnhJO0FzQy9rcEJNO0VBQ0ksb0MwQjZ3QzZKO0FoRXEwbUJ2SztBc0N4bHBCTTtFQUNFLG9DMEJ3eENnSDtBaEVtMG1CeEg7QXNDdmxwQk07RUFDSSxvQzBCbXhDNkk7QWhFdTBtQnZKO0FzQ2htcEJNO0VBQ0UsZ0QwQjZ4QzhHO0FoRXMwbUJ0SDtBc0MvbHBCTTtFQUNJLGdEMEJ3eENvSjtBaEUwMG1COUo7QXNDeG1wQk07RUFDRSwyQjBCOHhDMEg7QWhFNjBtQmxJO0FzQ3ZtcEJNO0VBQ0ksMkIwQnl4Q3lJO0FoRWkxbUJuSjtBZ0U3MG1CQTs7RUFFRSxvQ0FBQTtBaEVnMW1CRjtBZ0U5MG1CQTs7RUFFRSxvQ0FBQTtBaEVpMW1CRjtBZ0U5MG1CQTs7RUFFRSxvQ0FBQTtBaEVpMW1CRjtBZ0Uv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V0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsMkJBQUE7RUFDQSx5QjFDMW9EeUI7RTBDMm9EekIsdVFBQUE7RUFDQSwrUEFBQTtBaEV3dW1CTjtBZ0VwdW1CRTtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FoRXN1bUJKO0FnRXB1bUJFO0VBQ0UsMEIxQzN0RFM7RTBDNHREVCxnQmpDOXNEcUI7RWlDK3NEckIsZ0JBQUE7QWhFc3VtQko7QWdFcHVtQkU7RUFDRSxjQUFBO0VBQ0EsMEIxQ2p1RFM7RTBDa3VEVCxnQmpDcHREcUI7RWlDcXREckIsa0NBQUE7QWhFc3VtQko7QWdFaHVtQkU7RUFDRSxjMUNycURnQztBdEJ3NHBCcEM7QWdFbHVtQkk7RUFBVSx5QjFDOXBEaUM7QXRCbTRwQi9DO0FnRXB1bUJJO0VBQXFCLHlCMUN2cURXO0F0Qjg0cEJwQztBZ0VydW1CRTtFQUFnQyxnQzFDN3VEaEI7QXRCcTlwQmxCO0FnRWp1bUJBO0VBQXlCLHdCQUFBO0FoRXF1bUJ6QjtBZ0VwdW1CQTtFQUFzQix3QkFBQTtBaEV3dW1CdEI7QWdFcnVtQkE7OztFQUVlLHdCQUFBO0FoRXl1bUJmO0FnRXR1bUJBO0VBQXlCLHdCQUFBO0FoRTB1bUJ6QjtBZ0VsdW1CQTtFQUNFLGdDMUN0d0RnQjtBdEIyK3BCbEI7QWdFcHVtQkU7RUFDRSwyQzFDM3ZEcUI7RTBDNHZEckIsK0IxQ253RG9CO0F0QnkrcEJ4QjtBZ0VwdW1CRTtFQUFjLGNBQUE7QWhFdXVtQmhCO0FnRTl0bUJFO0VBQ0UsYzFDanREZ0M7QXRCazdwQnBDO0FnRWh1bUJJO0VBQVcseUIxQzFzRGdDO0F0QjY2cEIvQztBZ0VsdW1CSTtFQUFxQix5QjFDbnREVztBdEJ3N3BCcEM7QWdFbnVtQkU7RUFBc0IseUIxQzV0RFE7QXRCazhwQmhDO0FnRXJ1bUJFO0VBQ0UsdUIxQzcwRG9CO0UwQzgwRHBCLHFCMUM5dkR5QjtFMEMrdkR6QixjMUN6dERnQztBdEJnOHBCcEM7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QWdFbHFtQkU7RUFBZ0Usa0NBQUE7QWhFcXFtQmxFO0FnRWxxbUJFOztFQUNtQyxvQ0FBQTtBaEVzcW1CckM7QWdFcnFtQkU7RUFBZ0Usa0NBQUE7QWhFd3FtQmxFO0FnRTlwbUJFOzs7RUFHRSxvQ0FBQTtFQUNBLHlCQUFBO0FoRWlxbUJKO0FnRS9wbUJJOzs7Ozs7RUFFRSx5QkFBQTtBaEVxcW1CTjtBZ0VscW1CRTs7O0VBR0Usb0NBQUE7RUFDQSx5QkFBQTtBaEVvcW1CSjtBZ0UvcG1CQSxxQkFBQTtBMUJoMkVNO0VBQ0UsY2hCOEt1QjtBdEJxMXFCL0I7QXNDLy9xQk07RUFDSSxjaEIySzBCO0F0QnUxcUJwQztBc0N4Z3JCTTtFQUNFLHlCaEJDRztBdEIwZ3JCWDtBc0N2Z3JCTTtFQUNJLHlCaEJxSW1CO0F0QnE0cUI3QjtBc0NoaHJCTTtFQUNFLHlCaEJDRztBdEJraHJCWDtBc0MvZ3JCTTtFQUNJLHlCaEJxSW1CO0F0QjY0cUI3QjtBc0N4aHJCTTtFQUNFLHlCaEJDRztBdEIwaHJCWDtBc0N2aHJCTTtFQUNJLHlCaEJxSW1CO0F0QnE1cUI3QjtBc0NoaXJCTTtFQUNFLHlCaEJDRztBdEJraXJCWDtBc0MvaHJCTTtFQUNJLHlCaEJxSW1CO0F0QjY1cUI3QjtBc0N4aXJCTTtFQUNFLHVCaEJ5RFc7QXRCay9xQm5CO0FzQ3ZpckJNO0VBQ0ksdUJoQnFEYztBdEJxL3FCeEI7QXNDaGpyQk07RUFDRSxxQmhCQ0c7QXRCa2pyQlg7QXNDL2lyQk07RUFDSSxxQmhCcUltQjtBdEI2NnFCN0I7QXNDeGpyQk07RUFDRSwwQzBCMjNFbUc7QWhFZ3NtQjNHO0FzQ3ZqckJNO0VBQ0kseUMwQnMzRWlJO0FoRW9zbUIzSTtBc0Noa3JCTTtFQUNFLHlCaEJIRztBdEJza3JCWDtBc0MvanJCTTtFQUNJLHlCaEJDQztBdEJpa3JCWDtBc0N4a3JCTTtFQUNFLGNoQk1HO0F0QnFrckJYO0FzQ3ZrckJNO0VBQ0ksY2hCSkM7QXRCOGtyQlg7QXNDaGxyQk07RUFDRSxjMEJrNEVpRjtBaEVpdG1CekY7QXNDL2tyQk07RUFDSSxjMEI2M0V3RjtBaEVxdG1CbEc7QXNDeGxyQk07RUFDRSxjMEJtNEVpRjtBaEV3dG1CekY7QXNDdmxyQk07RUFDSSxjMEI4M0V3RjtBaEU0dG1CbEc7QXNDaG1yQk07RUFDRSxjaEJnRVE7QXRCbWlyQmhCO0FzQy9sckJNO0VBQ0ksY2hCNERXO0F0QnNpckJyQjtBc0N4bXJCTTtFQUNFLGNoQjhLdUI7QXRCNjdxQi9CO0FzQ3ZtckJNO0VBQ0ksY2hCMkswQjtBdEIrN3FCcEM7QWdFeHVtQkEsYUFBQTtBMUJ4NEVNO0VBQ0UsY2hCK0hjO0F0QnEvcUJ0QjtBc0NobnJCTTtFQUNJLGNoQmtZRztBdEJpdnFCYjtBc0N6bnJCTTtFQUNFLHlCaEJ3S21CO0F0Qm85cUIzQjtBc0N4bnJCTTtFQUNJLHlCaEJvS3NCO0F0QnU5cUJoQztBc0Nqb3JCTTtFQUNFLHlCMEIrNEU0RDtBaEVxdm1CcEU7QXNDaG9yQk07RUFDSSx5QjBCMDRFMEY7QWhFeXZtQnBHO0FzQ3pvckJNO0VBQ0UsY2hCOEZxQjtBdEI4aXJCN0I7QXNDeG9yQk07RUFDSSxjaEJ3RmM7QXRCbWpyQnhCO0FzQ2pwckJNO0VBQ0UseUJoQndLbUI7QXRCNCtxQjNCO0FzQ2hwckJNO0VBQ0kseUJoQm9Lc0I7QXRCKytxQmhDO0FzQ3pwckJNO0VBQ0UseUIwQms1RXdEO0FoRTB3bUJoRTtBc0N4cHJCTTtFQUNJLHlCMEI2NEVzRjtBaEU4d21CaEc7QXNDanFyQk07RUFDRSxjaEJnRVE7QXRCb21yQmhCO0FzQ2hxckJNO0VBQ0ksY2hCNERXO0F0QnVtckJyQjtBc0N6cXJCTTtFQUNFLGNoQmdFUTtBdEI0bXJCaEI7QXNDeHFyQk07RUFDSSxjaEI0RFc7QXRCK21yQnJCO0FzQ2pyckJNO0VBQ0UseUIwQnM1RThEO0FoRTh4bUJ0RTtBc0NocnJCTTtFQUNJLHlCMEJpNUU0RjtBaEVreW1CdEc7QXNDenJyQk07RUFDRSxnQjBCdTVFMEY7QWhFcXltQmxHO0FzQ3hyckJNO0VBQ0ksZ0IwQms1RThGO0FoRXl5bUJ4RztBc0Nqc3JCTTtFQUNFLHlCaEJtV2lCO0F0QmkycUJ6QjtBc0Noc3JCTTtFQUNJLHlCaEIrVm9CO0F0Qm8ycUI5QjtBc0N6c3JCTTtFQUNFLGNoQitIYztBdEI2a3JCdEI7QXNDeHNyQk07RUFDSSxjaEIySGlCO0F0QmdsckIzQjtBc0NqdHJCTTtFQUNFLHlCaEJ3S21CO0F0QjRpckIzQjtBc0NodHJCTTtFQUNJLHlCaEJvS3NCO0F0QitpckJoQztBc0N6dHJCTTtFQUNFLHFCaEJDRztBdEIydHJCWDtBc0N4dHJCTTtFQUNJLHFCaEJxSW1CO0F0QnNsckI3QjtBc0NqdXJCTTtFQUNFLGNoQjhLdUI7QXRCc2pyQi9CO0FzQ2h1ckJNO0VBQ0ksY2hCMkswQjtBdEJ3anJCcEM7QWdFcDBtQkEsZUFBQTtBMUJyNkVNO0VBQ0UseUJoQndLbUI7QXRCcWtyQjNCO0FzQ3p1ckJNO0VBQ0kseUJoQm9Lc0I7QXRCd2tyQmhDO0FzQ2x2ckJNO0VBQ0UseUIwQnM2RTZFO0FoRSswbUJyRjtBc0NqdnJCTTtFQUNJLHlCMEJpNkUyRztBaEVtMW1Cckg7QXNDMXZyQk07RUFDRSxjaEJxWUs7QXRCdzNxQmI7QXNDenZyQk07RUFDSSxjaEJrWUc7QXRCMDNxQmI7QWdFeDFtQkEscUJBQUE7QTFCMTZFTTtFQUNFLGNoQjRPbUI7QXRCMGhyQjNCO0FzQ2x3ckJNO0VBQ0ksY2hCd09zQjtBdEI2aHJCaEM7QXNDM3dyQk07RUFDRSxjaEIyQ1k7QXRCbXVyQnBCO0FzQzF3ckJNO0VBQ0ksY2hCdUNlO0F0QnN1ckJ6QjtBc0NueHJCTTtFQUNFLGNoQm1QdUI7QXRCbWlyQi9CO0FzQ2x4ckJNO0VBQ0ksY2hCK08wQjtBdEJzaXJCcEM7QXNDM3hyQk07RUFDRSxjaEJxUG9CO0F0QnlpckI1QjtBc0MxeHJCTTtFQUNJLGNoQmlQdUI7QXRCNGlyQmpDO0FzQ255ckJNO0VBQ0UsY2hCdVBzQjtBdEIraXJCOUI7QXNDbHlyQk07RUFDSSxjaEJtUHlCO0F0QmtqckJuQztBc0MzeXJCTTtFQUNFLGNoQjRQaUM7QXRCa2pyQnpDO0FzQzF5ckJNO0VBQ0ksY2hCd1BvQztBdEJxanJCOUM7QXNDbnpyQk07RUFDRSxjaEJpUXFDO0F0QnFqckI3QztBc0NsenJCTTtFQUNJLGNoQjZQd0M7QXRCd2pyQmxEO0FzQzN6ckJNO0VBQ0UsY2hCK0hjO0F0QityckJ0QjtBc0MxenJCTTtFQUNJLGNoQndPc0I7QXRCcWxyQmhDO0FzQ24wckJNO0VBQ0UseUJoQjRPbUI7QXRCMGxyQjNCO0FzQ2wwckJNO0VBQ0kseUJoQndPc0I7QXRCNmxyQmhDO0FzQzMwckJNO0VBQ0UseUJoQjJDWTtBdEJteXJCcEI7QXNDMTByQk07RUFDSSx5QmhCdUNlO0F0QnN5ckJ6QjtBc0NuMXJCTTtFQUNFLHlCaEJtUHVCO0F0Qm1tckIvQjtBc0NsMXJCTTtFQUNJLHlCaEIrTzBCO0F0QnNtckJwQztBc0MzMXJCTTtFQUNFLHlCaEJxUG9CO0F0QnltckI1QjtBc0MxMXJCTTtFQUNJLHlCaEJpUHVCO0F0QjRtckJqQztBc0NuMnJCTTtFQUNFLHlCaEJ1UHNCO0F0QittckI5QjtBc0NsMnJCTTtFQUNJLHlCaEJtUHlCO0F0QmtuckJuQztBc0MzMnJCTTtFQUNFLHlCaEI0UGlDO0F0QmtuckJ6QztBc0MxMnJCTTtFQUNJLHlCaEJ3UG9DO0F0QnFuckI5QztBc0NuM3JCTTtFQUNFLHlCaEJpUXFDO0F0QnFuckI3QztBc0NsM3JCTTtFQUNJLHlCaEI2UHdDO0F0QnduckJsRDtBc0MzM3JCTTtFQUNFLGNoQjhLdUI7QXRCZ3RyQi9CO0FzQzEzckJNO0VBQ0ksY2hCMkswQjtBdEJrdHJCcEM7QXNDbjRyQk07RUFDRSxXaEIrSzhCO0F0QnV0ckJ0QztBc0NsNHJCTTtFQUNJLGNoQjRLaUM7QXRCeXRyQjNDO0FzQzM0ckJNO0VBQ0UsV2hCK0s4QjtBdEIrdHJCdEM7QXNDMTRyQk07RUFDSSxjaEI0S2lDO0F0Qml1ckIzQztBc0NuNXJCTTtFQUNFLDRCaEJDRztBdEJxNXJCWDtBc0NsNXJCTTtFQUNJLDRCaEJxSW1CO0F0Qmd4ckI3QjtBc0MzNXJCTTtFQUNFLHlCaEJDRztBdEI2NXJCWDtBc0MxNXJCTTtFQUNJLHlCaEJxSW1CO0F0Qnd4ckI3QjtBc0NuNnJCTTtFQUNFLG9DMEI4OEVxRTtBaEV3OW1CN0U7QXNDbDZyQk07RUFDSSxvQzBCeThFeUc7QWhFNDltQm5IO0FzQzM2ckJNO0VBQ0Usb0MwQmcrRThGO0FoRTg4bUJ0RztBc0MxNnJCTTtFQUNJLG9DMEIyOUVnSDtBaEVrOW1CMUg7QXNDbjdyQk07RUFDRSxnQzBCaStFMEY7QWhFcTltQmxHO0FzQ2w3ckJNO0VBQ0ksZ0MwQjQ5RWdJO0FoRXk5bUIxSTtBZ0U5OG1CQTtFQUNFLGdIQUFBO0FoRWk5bUJGO0FzQy83ckJNO0VBQ0Usd0MwQm8vRXFGO0FoRTg4bUI3RjtBc0M5N3JCTTtFQUNJLG1EMEIrK0U4RztBaEVrOW1CeEg7QWdFajltQkE7RUFDRSxvQ0FBQTtBaEVvOW1CRjtBc0MzOHJCTTtFQUNFLGNoQjhLdUI7QXRCZ3lyQi9CO0FzQzE4ckJNO0VBQ0ksY2hCMkswQjtBdEJreXJCcEM7QXNDbjlyQk07RUFDRSxXaEIrSzhCO0F0QnV5ckJ0QztBc0NsOXJCTTtFQUNJLGNoQjRLaUM7QXRCeXlyQjNDO0FzQzM5ckJNO0VBQ0UsV2hCK0s4QjtBdEIreXJCdEM7QXNDMTlyQk07RUFDSSxjaEI0S2lDO0F0Qml6ckIzQztBc0NuK3JCTTtFQUNFLGNoQjhLdUI7QXRCd3pyQi9CO0FzQ2wrckJNO0VBQ0ksY2hCMkswQjtBdEIwenJCcEM7QXNDMytyQk07RUFDRSxXaEIrSzhCO0F0Qit6ckJ0QztBc0MxK3JCTTtFQUNJLGNoQjRLaUM7QXRCaTByQjNDO0FzQ24vckJNO0VBQ0UsV2hCK0s4QjtBdEJ1MHJCdEM7QXNDbC9yQk07RUFDSSxjaEI0S2lDO0F0QnkwckIzQztBZ0V4L21CQSwyQkFBQTtBMUJuZ0ZNO0VBQ0UsY2hCT0c7QXRCdy9yQlg7QXNDMy9yQk07RUFDSSxjaEJxSnlCO0F0QnkyckJuQztBc0NwZ3NCTTtFQUNFLHlCaEJXSTtBdEI0L3JCWjtBc0NuZ3NCTTtFQUNJLHlCaEI4Sm9DO0F0QncyckI5QztBc0M1Z3NCTTtFQUNFLHlCaEJZSTtBdEJtZ3NCWjtBc0MzZ3NCTTtFQUNJLHlCaEJnS3VDO0F0QjgyckJqRDtBZ0U1Z25CQTs7K0VBQUE7QTFCeGdGTTtFQUNFLDZCMEIwZ0ZxSjtBaEVnaG5CN0o7QXNDdGhzQk07RUFDSSw2QjBCcWdGZ0s7QWhFb2huQjFLO0FzQy9oc0JNO0VBQ0UsNkIwQjJnRm9LO0FoRXVobkI1SztBc0M5aHNCTTtFQUNJLDZCMEJzZ0YrSztBaEUyaG5Cekw7QXNDdmlzQk07RUFDRSx5QmhCdUxrQztBdEJtM3JCMUM7QXNDdGlzQk07RUFDSSx5QmhCbUxxQztBdEJzM3JCL0M7QXNDL2lzQk07RUFDRSx5QmhCWUk7QXRCc2lzQlo7QXNDOWlzQk07RUFDSSx5QmhCcUx3QztBdEI0M3JCbEQ7QWdFdmluQkEsY0FBQTtBMUJoaEZNO0VBQ0UsY2hCK0hjO0F0QjQ3ckJ0QjtBc0N2anNCTTtFQUNJLGNoQjBYRTtBdEJnc3JCWjtBc0Noa3NCTTtFQUNFLGNoQitIYztBdEJvOHJCdEI7QXNDL2pzQk07RUFDSSxjaEJrWUc7QXRCZ3NyQmI7QWdFcGpuQkEsbUJBQUE7QTFCcGhGTTtFQUNFLGNoQitIYztBdEI2OHJCdEI7QXNDeGtzQk07RUFDSSxjaEIwWEU7QXRCaXRyQlo7QXNDamxzQk07RUFDRSxjaEIrSGM7QXRCcTlyQnRCO0FzQ2hsc0JNO0VBQ0ksY2hCMFhFO0F0Qnl0ckJaO0FzQ3psc0JNO0VBQ0UsY2hCK0hjO0F0QjY5ckJ0QjtBc0N4bHNCTTtFQUNJLGNoQmtZRztBdEJ5dHJCYjtBZ0V4a25CQSx3QkFBQTtBMUJ6aEZNO0VBQ0UsY2hCcVlLO0F0Qmd1ckJiO0FzQ2ptc0JNO0VBQ0ksY2hCa1lHO0F0Qmt1ckJiO0FzQzFtc0JNO0VBQ0UseUJoQnVZSztBdEJzdXJCYjtBc0N6bXNCTTtFQUNJLHlCaEJnWUc7QXRCNHVyQmI7QWdFOWtuQkEsb0JBQUE7QTFCcGlGTTtFQUNFLHVCaEI4RGE7QXRCd2pzQnJCO0FzQ2xuc0JNO0VBQ0ksdUJoQjBEZ0I7QXRCMmpzQjFCO0FnRXBsbkJBLGVBQUE7QTFCdmlGTTtFQUNFLHlCaEI2RmdCO0F0Qmtpc0J4QjtBc0MzbnNCTTtFQUNJLHlCaEJ5Rm1CO0F0QnFpc0I3QjtBc0Nwb3NCTTtFQUNFLGNoQmdFUTtBdEJ1a3NCaEI7QXNDbm9zQk07RUFDSSxjaEI0RFc7QXRCMGtzQnJCO0FnRWptbkJBLHFCQUFBO0ExQjNpRk07RUFDRSxjaEIrSGM7QXRCaWhzQnRCO0FzQzVvc0JNO0VBQ0ksY2hCMkhpQjtBdEJvaHNCM0I7QWdFdm1uQkEsMEJBQUE7QTFCOWlGTTtFQUNFLHlCaEJtSm9CO0F0QnNnc0I1QjtBc0NycHNCTTtFQUNJLHlCaEIrSXVCO0F0Qnlnc0JqQztBc0M5cHNCTTtFQUNFLGNoQitIYztBdEJraXNCdEI7QXNDN3BzQk07RUFDSSxjaEIySGlCO0F0QnFpc0IzQjtBZ0Vwbm5CQSx5QkFBQTtBMUJsakZNO0VBQ0UseUJoQjZGZ0I7QXRCNmtzQnhCO0FzQ3Rxc0JNO0VBQ0kseUJoQnlGbUI7QXRCZ2xzQjdCO0FzQy9xc0JNO0VBQ0UsY2hCZ0VRO0F0Qmtuc0JoQjtBc0M5cXNCTTtFQUNJLGNoQjREVztBdEJxbnNCckI7QWdFam9uQkE7OztpREFBQTtBQUtBLGVBQUE7QTFCM2pGTTtFQUNFLGtCMEIyakZtRTtBaEVvb25CM0U7QXNDM3JzQk07RUFDSSxzQzBCc2pGcUU7QWhFd29uQi9FO0FzQ3Bzc0JNO0VBQ0UsVTBCNGpGMkQ7QWhFMm9uQm5FO0FzQ25zc0JNO0VBQ0ksOEIwQnVqRjZEO0FoRStvbkJ2RTtBc0M1c3NCTTtFQUNFLGMwQjZqRjZEO0FoRWtwbkJyRTtBc0Mzc3NCTTtFQUNJLDBDMEJ3akYrRDtBaEVzcG5CekU7QWdFcHBuQkEsdUJBQUE7QTFCaGtGTTtFQUNFLHlCaEJpWG9CO0F0QnUyckI1QjtBc0NwdHNCTTtFQUNJLHlCaEI2V3VCO0F0QjAyckJqQztBZ0V0cG5CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDcGdGc0I7QS9CeXBzQnhCO0FnRTdvbkJFO0VBQ0Usc0NBQUE7QWhFK29uQko7QWdFN29uQkU7RUFDRSxzQ0FBQTtBaEUrb25CSjtBZ0U1b25CRTtFQUNFLHlCQUFBO0FoRThvbkJKO0FnRTVvbkJFO0VBQ0Usb0NBQUE7RUFDQSxzQkFBQTtBaEU4b25CSjtBZ0Uxb25CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFNG9uQko7QWdFeG9uQkU7RUFDRSx5QjFDam1GUTtFMENxbUZSLFcxQ2o4RWtDO0UwQ2s4RWxDLHFCMUNobkZPO0F0QnV2c0JYO0FnRW5vbkJBO0VBQ0Usb0NBQUE7RUFPQSx3Q0FBQTtFQUNBLGtEakNwakZzQjtBL0JvcnNCeEI7QWdFMW5uQkU7RUFDRSxzQ0FBQTtBaEU0bm5CSjtBZ0Uxbm5CRTtFQUNFLHNDQUFBO0FoRTRubkJKO0FnRXpubkJFO0VBQ0UseUJBQUE7QWhFMm5uQko7QWdFem5uQkU7RUFDRSxvQ0FBQTtFQUNBLHlCQUFBO0FoRTJubkJKO0FnRXhubkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEUwbm5CSjtBZ0Vsbm5CRTtFQUtFLHlCMUMxK0UyQztFMEMyK0UzQyxjMUNsL0V1QztFMENtL0V2QyxxQjFDMWhGeUI7QXRCMG9zQjdCO0FzQ3J4c0JNO0VBQ0UsYzBCdXFGNkQ7QWhFaW5uQnJFO0FzQ3B4c0JNO0VBQ0ksa0MwQmtxRitEO0FoRXFubkJ6RTtBc0M3eHNCTTtFQUNFLGNoQitIYztBdEJpcXNCdEI7QXNDNXhzQk07RUFDSSxjaEIySGlCO0F0Qm9xc0IzQjtBc0NyeXNCTTtFQUNFLHlCaEIyQ1k7QXRCNnZzQnBCO0FzQ3B5c0JNO0VBQ0kseUJoQnVDZTtBdEJnd3NCekI7QXNDN3lzQk07RUFDRSxZaEI4SWE7QXRCa3FzQnJCO0FzQzV5c0JNO0VBQ0ksWWhCMElnQjtBdEJxcXNCMUI7QXNDcnpzQk07RUFDRSxZaEI4SWE7QXRCMHFzQnJCO0FzQ3B6c0JNO0VBQ0ksWWhCMElnQjtBdEI2cXNCMUI7QXNDN3pzQk07RUFDRSx5QmhCb1JxQjtBdEI0aXNCN0I7QXNDNXpzQk07RUFDSSwyQzBCdXFGMlA7QWhFd3BuQnJRO0FnRXRwbkJBLCtCQUFBO0ExQi9xRk07RUFDRSx5QmhCc01rQjtBdEJtb3NCMUI7QXNDcjBzQk07RUFDSSx5QmhCa01xQjtBdEJzb3NCL0I7QWdFMXBuQkEsYUFBQTtBMUJwckZNO0VBQ0UsdUJoQjhEYTtBdEJveHNCckI7QXNDOTBzQk07RUFDSSx1QmhCMERnQjtBdEJ1eHNCMUI7QXNDdjFzQk07RUFDRSxZaEIrRGtCO0F0QjJ4c0IxQjtBc0N0MXNCTTtFQUNJLFloQnlEVztBdEJneXNCckI7QXNDLzFzQk07RUFDRSx1QmhCOERhO0F0Qm95c0JyQjtBc0M5MXNCTTtFQUNJLHVCaEIwRGdCO0F0QnV5c0IxQjtBZ0U5cW5CQSxtQkFBQTtBMUJ6ckZNO0VBQ0UsY2hCZ0VRO0F0QjJ5c0JoQjtBc0N2MnNCTTtFQUNJLGNoQjREVztBdEI4eXNCckI7QWdFbnJuQkEsd0JBQUE7QTFCN3JGTTtFQUNFLHlCaEI2RmdCO0F0QnV4c0J4QjtBc0NoM3NCTTtFQUNJLHlCaEJ5Rm1CO0F0QjB4c0I3QjtBc0N6M3NCTTtFQUNFLDRCaEI2RmdCO0F0Qit4c0J4QjtBc0N4M3NCTTtFQUNJLDRCaEJ5Rm1CO0F0Qmt5c0I3QjtBc0NqNHNCTTtFQUNFLDJCaEJ1WUs7QXRCNi9yQmI7QXNDaDRzQk07RUFDSSwyQmhCZ1lHO0F0Qm1nc0JiO0FzQ3o0c0JNO0VBQ0UseUJoQnVZSztBdEJxZ3NCYjtBc0N4NHNCTTtFQUNJLHlCMEIyckY0RjtBaEVndG5CdEc7QXNDajVzQk07RUFDRSxxQmhCNkZnQjtBdEJ1enNCeEI7QXNDaDVzQk07RUFDSSxxQmhCeUZtQjtBdEIwenNCN0I7QXNDejVzQk07RUFDRSwyQmhCNkZnQjtBdEIrenNCeEI7QXNDeDVzQk07RUFDSSwyQmhCeUZtQjtBdEJrMHNCN0I7QXNDajZzQk07RUFDRSx5QmhCNkZnQjtBdEJ1MHNCeEI7QXNDaDZzQk07RUFDSSx5QmhCeUZtQjtBdEIwMHNCN0I7QXNDejZzQk07RUFDRSwyQmhCdVlLO0F0QnFpc0JiO0FzQ3g2c0JNO0VBQ0ksMkJoQmdZRztBdEIyaXNCYjtBZ0UxdW5CQSxnQkFBQTtBMUJ2c0ZNO0VBQ0UseUJoQjZGZ0I7QXRCdzFzQnhCO0FzQ2o3c0JNO0VBQ0kseUJoQnlGbUI7QXRCMjFzQjdCO0FzQzE3c0JNO0VBQ0UsVTBCd3NGMEY7QWhFcXZuQmxHO0FzQ3o3c0JNO0VBQ0ksaUIwQm1zRjRGO0FoRXl2bkJ0RztBc0NsOHNCTTtFQUNFLGNoQmdFUTtBdEJxNHNCaEI7QXNDajhzQk07RUFDSSxjaEI0RFc7QXRCdzRzQnJCO0FzQzE4c0JNO0VBQ0UsY2hCZ0VRO0F0QjY0c0JoQjtBc0N6OHNCTTtFQUNJLGNoQjREVztBdEJnNXNCckI7QXNDbDlzQk07RUFDRSx5QmhCNkZnQjtBdEJ3M3NCeEI7QXNDajlzQk07RUFDSSx5QmhCeUZtQjtBdEIyM3NCN0I7QWdFNXduQkEsZUFBQTtBMUI5c0ZNO0VBQ0UsY2hCNE9tQjtBdEJrdnNCM0I7QXNDMTlzQk07RUFDSSxjaEJ3T3NCO0F0QnF2c0JoQztBZ0VseG5CQSxvQkFBQTtBMUJqdEZNO0VBQ0UsY2hCMkNZO0F0QjQ3c0JwQjtBc0NuK3NCTTtFQUNJLGNoQnVDZTtBdEIrN3NCekI7QWdFeHhuQkEsZ0JBQUE7QTFCcHRGTTtFQUNFLGNoQm1QdUI7QXRCNnZzQi9CO0FzQzUrc0JNO0VBQ0ksY2hCK08wQjtBdEJnd3NCcEM7QWdFOXhuQkEsMEJBQUE7QTFCdnRGTTtFQUNFLG1CaEJ5RFc7QXRCZzhzQm5CO0FzQ3Ivc0JNO0VBQ0ksbUJoQnFEYztBdEJtOHNCeEI7QWdFcHluQkEsbUJBQUE7QTFCMXRGTTtFQUNFLGNoQnFQb0I7QXRCNndzQjVCO0FzQzkvc0JNO0VBQ0ksY2hCaVB1QjtBdEJneHNCakM7QWdFMXluQkEsa0JBQUE7QTFCN3RGTTtFQUNFLGNoQnVQc0I7QXRCb3hzQjlCO0FzQ3ZndEJNO0VBQ0ksY2hCbVB5QjtBdEJ1eHNCbkM7QWdFaHpuQkEsMEJBQUE7QTFCaHVGTTtFQUNFLGNoQjRQaUM7QXRCd3hzQnpDO0FzQ2hodEJNO0VBQ0ksY2hCd1BvQztBdEIyeHNCOUM7QWdFdHpuQkEsOEJBQUE7QTFCbnVGTTtFQUNFLGNoQmlRcUM7QXRCNHhzQjdDO0FzQ3podEJNO0VBQ0ksY2hCNlB3QztBdEIreHNCbEQ7QWdFNXpuQkE7Ozs7OzhFQUFBO0FBT0Esa0NBQUE7QTFCN3VGTTtFQUNFLHVCaEI4RGE7QXRCOCtzQnJCO0FzQ3hpdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCaS9zQjFCO0FzQ2pqdEJNO0VBQ0Usd0UwQml2Rm9HO0FoRW0wbkI1RztBc0NoanRCTTtFQUNJLGtFMEI0dUZvTDtBaEV1MG5COUw7QXNDemp0Qk07RUFDRSw2RTBCcXZGMkc7QWhFdTBuQm5IO0FzQ3hqdEJNO0VBQ0ksdUUwQmd2RjBMO0FoRTIwbkJwTTtBc0Nqa3RCTTtFQUNFLHVFMEJ5dkZpSTtBaEUyMG5Cekk7QXNDaGt0Qk07RUFDSSxpRTBCb3ZGZ047QWhFKzBuQjFOO0FzQ3prdEJNO0VBQ0UsZ0JoQnVFYTtBdEJxZ3RCckI7QXNDeGt0Qk07RUFDSSxnQmhCbUVnQjtBdEJ3Z3RCMUI7QXNDamx0Qk07RUFDRSx1QmhCOERhO0F0QnNodEJyQjtBc0NobHRCTTtFQUNJLHVCaEIwRGdCO0F0QnlodEIxQjtBc0N6bHRCTTtFQUNFLHVCaEI4RGE7QXRCOGh0QnJCO0FzQ3hsdEJNO0VBQ0ksdUJoQjBEZ0I7QXRCaWl0QjFCO0FzQ2ptdEJNO0VBQ0UsdUJoQjhEYTtBdEJzaXRCckI7QXNDaG10Qk07RUFDSSx1QmhCMERnQjtBdEJ5aXRCMUI7QWdFdjFuQkU7O0VBRUUscUMxQzM2RXVCO0UwQzQ2RXZCLHdDMUM1NkV1QjtBdEJzd3NCM0I7QWdFdjFuQkU7O0VBRUUscUMxQ2o3RXVCO0UwQ2s3RXZCLHdDMUNsN0V1QjtFMENtN0V2QixzQzFDbjdFdUI7QXRCNHdzQjNCO0FnRXQxbkJFOztFQUVFLHFDMUN4N0V1QjtFMEN5N0V2Qix3QzFDejdFdUI7RTBDMDdFdkIsdUMxQzE3RXVCO0F0Qmt4c0IzQjtBZ0V6Mm5CRTs7RUFFRSxxQzFDMzZFdUI7RTBDNDZFdkIsd0MxQzU2RXVCO0F0Qnd4c0IzQjtBZ0V6Mm5CRTs7RUFFRSxxQzFDajdFdUI7RTBDazdFdkIsd0MxQ2w3RXVCO0UwQ203RXZCLHNDMUNuN0V1QjtBdEI4eHNCM0I7QWdFeDJuQkU7O0VBRUUscUMxQ3g3RXVCO0UwQ3k3RXZCLHdDMUN6N0V1QjtFMEMwN0V2Qix1QzFDMTdFdUI7QXRCb3lzQjNCO0FnRTMzbkJFOztFQUVFLDJDQTZCb0M7RUE1QnBDLDhDQTRCb0M7QWhFaTJuQnhDO0FnRTEzbkJFOztFQUVFLDJDQXVCb0M7RUF0QnBDLDhDQXNCb0M7RUFyQnBDLDRDQXFCb0M7QWhFdTJuQnhDO0FnRXozbkJFOztFQUVFLDJDQWdCb0M7RUFmcEMsOENBZW9DO0VBZHBDLDZDQWNvQztBaEU2Mm5CeEM7QWdFdjJuQkU7O0VBRUUscUNBQUE7QWhFeTJuQko7QXNDbHF0Qk07RUFDRSxjaEJnRVE7QXRCcW10QmhCO0FzQ2pxdEJNO0VBQ0ksY2hCNERXO0F0QndtdEJyQjtBc0MxcXRCTTtFQUNFLGNoQjhLdUI7QXRCKy9zQi9CO0FzQ3pxdEJNO0VBQ0ksY2hCMkswQjtBdEJpZ3RCcEM7QXNDbHJ0Qk07RUFDRSxnQmhCdUVhO0F0QjhtdEJyQjtBc0NqcnRCTTtFQUNJLGdCaEJtRWdCO0F0QmludEIxQjtBc0MxcnRCTTtFQUNFLHVCaEI4RGE7QXRCK250QnJCO0FzQ3pydEJNO0VBQ0ksdUJoQjBEZ0I7QXRCa290QjFCO0FzQ2xzdEJNO0VBQ0UsdUJoQjhEYTtBdEJ1b3RCckI7QXNDanN0Qk07RUFDSSx1QmhCMERnQjtBdEIwb3RCMUI7QWdFNTNuQkU7RUFDRSxjMUNocUYyQjtBdEIraHRCL0I7QWdFNzNuQkk7RUFBcUIsYzFDaHhGVDtBdEJncHRCaEI7QWdFLzNuQkk7RUFBUyxjMUNqeEZHO0F0Qm1wdEJoQjtBZ0U3M25CSTtFQUE4Qix5QkFBQTtBaEVnNG5CbEM7QWdFejNuQkk7Ozs7RUFHd0MseUJBQUE7QWhFNDNuQjVDO0FnRTMzbkJJO0VBQWdDLHlCQUFBO0FoRTgzbkJwQztBZ0V0M25CQTtFQUNFLHlCQUFBO0FoRXkzbkJGO0FnRWozbkJBO0VBQ0UseUJBQUE7QWhFbzNuQkY7QWdFajNuQkEsb0NBQUE7QTFCdjNGTTtFQUNFLHlCaEJ3S21CO0F0Qm9rdEIzQjtBc0N4dXRCTTtFQUNJLHlCaEJvS3NCO0F0QnVrdEJoQztBc0NqdnRCTTtFQUNFLHFCaEJDRztBdEJtdnRCWDtBc0NodnRCTTtFQUNJLHFCaEJxSW1CO0F0QjhtdEI3QjtBZ0U5M25CQSxnQ0FBQTtBMUIzM0ZNO0VBQ0Usb0IwQjIzRjZHO0FoRWs0bkJySDtBc0N6dnRCTTtFQUNJLHFDMEJzM0YrRztBaEVzNG5Cekg7QWdFcDRuQkEsd0JBQUE7QTFCOTNGTTtFQUNFLHlCQUFBO0F0Q3N3dEJSO0FzQ2x3dEJNO0VBQ0kseUJoQitGWTtBdEJzcXRCdEI7QXNDM3d0Qk07RUFDRSx5QmhCMkNZO0F0Qm11dEJwQjtBc0Mxd3RCTTtFQUNJLHlCaEJ1Q2U7QXRCc3V0QnpCO0FzQ254dEJNO0VBQ0UsdUJoQnlEVztBdEI2dHRCbkI7QXNDbHh0Qk07RUFDSSx1QmhCcURjO0F0Qmd1dEJ4QjtBc0MzeHRCTTtFQUNFLHlCQUFBO0F0Qzh4dEJSO0FzQzF4dEJNO0VBQ0kseUJoQitGWTtBdEI4cnRCdEI7QXNDbnl0Qk07RUFDRSxjaEJLRztBdEJpeXRCWDtBc0NseXRCTTtFQUNJLGNoQjJLMEI7QXRCMG50QnBDO0FzQzN5dEJNO0VBQ0UsY2hCS0c7QXRCeXl0Qlg7QXNDMXl0Qk07RUFDSSxjaEIySzBCO0F0QmtvdEJwQztBc0NuenRCTTtFQUNFLGNoQjhDZTtBdEJ3d3RCdkI7QXNDbHp0Qk07RUFDSSxjaEIwQ2tCO0F0QjJ3dEI1QjtBc0MzenRCTTtFQUNFLGNoQndWZ0I7QXRCcytzQnhCO0FzQzF6dEJNO0VBQ0ksY2hCb1ZrQjtBdEJ5K3NCNUI7QXNDbjB0Qk07RUFDRSxjaEIyQ1k7QXRCMnh0QnBCO0FzQ2wwdEJNO0VBQ0ksY2hCdUNlO0F0Qjh4dEJ6QjtBc0MzMHRCTTtFQUNFLGNoQjJDWTtBdEJteXRCcEI7QXNDMTB0Qk07RUFDSSxjaEJ1Q2U7QXRCc3l0QnpCO0FzQ24xdEJNO0VBQ0UsY2hCOENlO0F0Qnd5dEJ2QjtBc0NsMXRCTTtFQUNJLGNoQjBDa0I7QXRCMnl0QjVCO0FzQzMxdEJNO0VBQ0UsY2hCZ0RlO0F0Qjh5dEJ2QjtBc0MxMXRCTTtFQUNJLGNoQjRDa0I7QXRCaXp0QjVCO0FzQ24ydEJNO0VBQ0UsY2hCOENlO0F0Qnd6dEJ2QjtBc0NsMnRCTTtFQUNJLGNoQjBDa0I7QXRCMnp0QjVCO0FzQzMydEJNO0VBQ0UsY2hCOENlO0F0QmcwdEJ2QjtBc0MxMnRCTTtFQUNJLGNoQjBDa0I7QXRCbTB0QjVCO0FzQ24zdEJNO0VBQ0UseUJoQjZGZ0I7QXRCeXh0QnhCO0FzQ2wzdEJNO0VBQ0kseUJoQnlGbUI7QXRCNHh0QjdCO0FzQzMzdEJNO0VBQ0UsY2hCZ0RlO0F0QjgwdEJ2QjtBc0MxM3RCTTtFQUNJLGNoQjRDa0I7QXRCaTF0QjVCO0FnRTUrbkJBLG9CQUFBO0ExQnY1Rk07RUFDRSxjaEIyQ1k7QXRCNDF0QnBCO0FzQ240dEJNO0VBQ0ksY2hCdUNlO0F0QisxdEJ6QjtBc0M1NHRCTTtFQUNFLGNoQndWZ0I7QXRCdWp0QnhCO0FzQzM0dEJNO0VBQ0ksY2hCb1ZrQjtBdEIwanRCNUI7QWdFdi9uQkEsa0NBQUE7QTFCNzVGTTtFQUNFLHlCaEJ1WUs7QXRCaWh0QmI7QXNDcDV0Qk07RUFDSSx5QmhCZ1lHO0F0QnVodEJiO0FnRTcvbkJBLDJCQUFBO0ExQmg2Rk07RUFDRSxjaEJnRVE7QXRCaTJ0QmhCO0FzQzc1dEJNO0VBQ0ksY2hCNERXO0F0Qm8ydEJyQjtBZ0VuZ29CQSwwQkFBQTtBMUJuNkZNO0VBQ0UsdUJoQjhEYTtBdEI0MnRCckI7QXNDdDZ0Qk07RUFDSSx1QmhCMERnQjtBdEIrMnRCMUI7QWdFemdvQkEsa0NBQUE7QTFCdDZGTTtFQUNFLHVCaEI4RGE7QXRCcTN0QnJCO0FzQy82dEJNO0VBQ0ksdUJoQjBEZ0I7QXRCdzN0QjFCO0FzQ3g3dEJNO0VBQ0Usb0MwQnU2RmtIO0FoRW9ob0IxSDtBc0N2N3RCTTtFQUNJLG9DMEJrNkZnSjtBaEV3aG9CMUo7QXNDaDh0Qk07RUFDRSxvQzBCdzZGa0g7QWhFMmhvQjFIO0FzQy83dEJNO0VBQ0ksb0MwQm02RmdKO0FoRStob0IxSjtBc0N4OHRCTTtFQUNFLDBCaEJrRWE7QXRCeTR0QnJCO0FzQ3Y4dEJNO0VBQ0ksZ0JoQjhEZ0I7QXRCNDR0QjFCO0FnRXBpb0JBLHdCQUFBO0ExQjU2Rk07RUFDRSxjaEJnRVE7QXRCbzV0QmhCO0FzQ2g5dEJNO0VBQ0ksY2hCNERXO0F0QnU1dEJyQjtBc0N6OXRCTTtFQUNFLHVCMEI2NkZpRjtBaEUraW9CekY7QXNDeDl0Qk07RUFDSSx1QjBCdzZGZ0c7QWhFbWpvQjFHO0FzQ2ordEJNO0VBQ0UsdUIwQjg2RjZFO0FoRXNqb0JyRjtBc0NoK3RCTTtFQUNJLHVCMEJ5NkY0RjtBaEUwam9CdEc7QXNDeit0Qk07RUFDRSx1QjBCKzZGMEU7QWhFNmpvQmxGO0FzQ3grdEJNO0VBQ0ksdUIwQjA2RnlGO0FoRWlrb0JuRztBc0NqL3RCTTtFQUNFLGNoQmdFUTtBdEJvN3RCaEI7QXNDaC90Qk07RUFDSSxjaEI0RFc7QXRCdTd0QnJCO0FnRS9qb0JBLDhCQUFBO0ExQjE3Rk07RUFDRSxjMEIwN0YrRjtBaEVta29Cdkc7QXNDei90Qk07RUFDSSxrQzBCcTdGaUc7QWhFdWtvQjNHO0FnRXJrb0JBLHFDQUFBO0ExQjc3Rk07RUFDRSxjMEI2N0ZzRztBaEV5a29COUc7QXNDbGd1Qk07RUFDSSxrQzBCdzdGd0c7QWhFNmtvQmxIO0FnRTNrb0JBLHNCQUFBO0ExQmg4Rk07RUFDRSxjaEJnRVE7QXRCKzh0QmhCO0FzQzNndUJNO0VBQ0ksY2hCNERXO0F0Qms5dEJyQjtBc0NwaHVCTTtFQUNFLFMwQmk4RjhFO0FoRXNsb0J0RjtBc0NuaHVCTTtFQUNJLGNoQjREVztBdEIwOXRCckI7QXNDNWh1Qk07RUFDRSxvQjBCazhGbUY7QWhFNmxvQjNGO0FzQzNodUJNO0VBQ0kseUJoQmlXMkI7QXRCNnJ0QnJDO0FzQ3BpdUJNO0VBQ0Usb0IwQm04RitHO0FoRW9tb0J2SDtBc0NuaXVCTTtFQUNJLHlCaEJ5Rm1CO0F0QjY4dEI3QjtBc0M1aXVCTTtFQUNFLG9DMEJvOEZvSDtBaEUybW9CNUg7QXNDM2l1Qk07RUFDSSwwQzBCKzdGa0k7QWhFK21vQjVJO0FzQ3BqdUJNO0VBQ0Usb0MwQnE4Rm9LO0FoRWtub0I1SztBc0NuanVCTTtFQUNJLDBDMEJnOEZrTDtBaEVzbm9CNUw7QWdFcG5vQkEsc0JBQUE7QTFCeDhGTTtFQUNFLFMwQis4RjhGO0FoRWlub0J0RztBc0M1anVCTTtFQUNJLGdDMEIwOEZnRztBaEVxbm9CMUc7QXNDcmt1Qk07RUFDRSxTMEJnOUZvRztBaEV3bm9CNUc7QXNDcGt1Qk07RUFDSSxnQzBCMjhGc0c7QWhFNG5vQmhIO0FnRTFub0JBLDJCQUFBO0ExQm45Rk07RUFDRSx5QmhCNkZnQjtBdEJvL3RCeEI7QXNDN2t1Qk07RUFDSSx5QmhCeUZtQjtBdEJ1L3RCN0I7QXNDdGx1Qk07RUFDRSxjaEIyQ1k7QXRCOGl1QnBCO0FzQ3JsdUJNO0VBQ0ksY2hCdUNlO0F0QmlqdUJ6QjtBZ0V2b29CQSx3QkFBQTtBMUJ2OUZNO0VBQ0UseUJoQjZGZ0I7QXRCcWd1QnhCO0FzQzlsdUJNO0VBQ0kseUJoQnlGbUI7QXRCd2d1QjdCO0FzQ3ZtdUJNO0VBQ0UscUJoQkNHO0F0QnltdUJYO0FzQ3RtdUJNO0VBQ0kscUJoQnFJbUI7QXRCbyt0QjdCO0FzQy9tdUJNO0VBQ0UsYWhCZ0VRO0F0QmtqdUJoQjtBc0M5bXVCTTtFQUNJLGFoQjREVztBdEJxanVCckI7QXNDdm51Qk07RUFDRSxjaEJnRVE7QXRCMGp1QmhCO0FzQ3RudUJNO0VBQ0ksY2hCNERXO0F0QjZqdUJyQjtBc0MvbnVCTTtFQUNFLGNoQmdFUTtBdEJra3VCaEI7QXNDOW51Qk07RUFDSSxjaEI0RFc7QXRCcWt1QnJCO0FzQ3ZvdUJNO0VBQ0UsaUJoQjZmVztBdEI2b3RCbkI7QXNDdG91Qk07RUFDSSxpQmhCeWZjO0F0QmdwdEJ4QjtBc0Mvb3VCTTtFQUNFLGNoQmdFUTtBdEJrbHVCaEI7QXNDOW91Qk07RUFDSSxjaEI0RFc7QXRCcWx1QnJCO0FnRXRyb0JBLDJCQUFBO0ExQmorRk07RUFDRSxhaEJnRVE7QXRCMmx1QmhCO0FzQ3ZwdUJNO0VBQ0ksYWhCNERXO0F0QjhsdUJyQjtBc0NocXVCTTtFQUNFLGNoQmdFUTtBdEJtbXVCaEI7QXNDL3B1Qk07RUFDSSxjaEI0RFc7QXRCc211QnJCO0FzQ3hxdUJNO0VBQ0UseUJoQjZGZ0I7QXRCOGt1QnhCO0FzQ3ZxdUJNO0VBQ0kseUJoQnlGbUI7QXRCaWx1QjdCO0FzQ2hydUJNO0VBQ0Usd0MwQm8rRnFGO0FoRStzb0I3RjtBc0MvcXVCTTtFQUNJLHdDMEIrOUYyRztBaEVtdG9Cckg7QXNDeHJ1Qk07RUFDRSxrQzBCcStGK0U7QWhFc3RvQnZGO0FzQ3ZydUJNO0VBQ0ksa0MwQmcrRnFHO0FoRTB0b0IvRztBc0Noc3VCTTtFQUNFLHdDMEJzK0ZvRztBaEU2dG9CNUc7QXNDL3J1Qk07RUFDSSx3QzBCaStGMEg7QWhFaXVvQnBJO0FzQ3hzdUJNO0VBQ0Usa0MwQnUrRjhGO0FoRW91b0J0RztBc0N2c3VCTTtFQUNJLGtDMEJrK0ZvSDtBaEV3dW9COUg7QXNDaHR1Qk07RUFDRSw0QjBCdytGd0Y7QWhFMnVvQmhHO0FzQy9zdUJNO0VBQ0ksNEIwQm0rRjhHO0FoRSt1b0J4SDtBZ0U3dW9CQSxxQkFBQTtBMUIzK0ZNO0VBQ0UsY2hCZ0VRO0F0QjRwdUJoQjtBc0N4dHVCTTtFQUNJLGNoQjREVztBdEIrcHVCckI7QXNDanV1Qk07RUFDRSx5QmhCMkNZO0F0QnlydUJwQjtBc0NodXVCTTtFQUNJLHlCaEJ1Q2U7QXRCNHJ1QnpCO0FzQ3p1dUJNO0VBQ0UsYWhCMkNZO0F0QmlzdUJwQjtBc0N4dXVCTTtFQUNJLGFoQnVDZTtBdEJvc3VCekI7QWdFandvQkEsd0JBQUE7QTFCaC9GTTtFQUNFLGNoQjJDWTtBdEIwc3VCcEI7QXNDanZ1Qk07RUFDSSxjaEJ1Q2U7QXRCNnN1QnpCO0FzQzF2dUJNO0VBQ0UseUIwQmkvRnVGO0FoRTR3b0IvRjtBc0N6dnVCTTtFQUNJLHlCMEI0K0ZzSDtBaEVneG9CaEk7QXNDbHd1Qk07RUFDRSxxQmhCK0hjO0F0QnNvdUJ0QjtBc0Nqd3VCTTtFQUNJLHFCaEIySGlCO0F0QnlvdUIzQjtBZ0VyeG9CQSxxQkFBQTtBMUJyL0ZNO0VBQ0UsdUJoQjhEYTtBdEJndHVCckI7QXNDMXd1Qk07RUFDSSx1QmhCMERnQjtBdEJtdHVCMUI7QXNDbnh1Qk07RUFDRSxxQzBCcy9GdUQ7QWhFZ3lvQi9EO0FzQ2x4dUJNO0VBQ0ksMEMwQmkvRitGO0FoRW95b0J6RztBc0MzeHVCTTtFQUNFLGNoQmdFUTtBdEI4dHVCaEI7QXNDMXh1Qk07RUFDSSxjaEI0RFc7QXRCaXV1QnJCO0FnRXp5b0JBLHVCQUFBO0ExQjEvRk07RUFDRSx5QmhCNkZnQjtBdEIwc3VCeEI7QXNDbnl1Qk07RUFDSSx5QmhCeUZtQjtBdEI2c3VCN0I7QXNDNXl1Qk07RUFDRSxZaEIrRGtCO0F0Qmd2dUIxQjtBc0MzeXVCTTtFQUNJLFloQnlEVztBdEJxdnVCckI7QXNDcHp1Qk07RUFDRSx5QmhCNkZnQjtBdEIwdHVCeEI7QXNDbnp1Qk07RUFDSSx5QmhCeUZtQjtBdEI2dHVCN0I7QXNDNXp1Qk07RUFDRSxZaEIrRGtCO0F0Qmd3dUIxQjtBc0MzenVCTTtFQUNJLFloQnlEVztBdEJxd3VCckI7QXNDcDB1Qk07RUFDRSxZaEIrRGtCO0F0Qnd3dUIxQjtBc0NuMHVCTTtFQUNJLFloQnlEVztBdEI2d3VCckI7QXNDNTB1Qk07RUFDRSxZaEIrRGtCO0F0Qmd4dUIxQjtBc0MzMHVCTTtFQUNJLFloQnlEVztBdEJxeHVCckI7QWdFbDFvQkEsOEJBQUE7QTFCbGdHTTtFQUNFLHlCaEI2RmdCO0F0QjJ2dUJ4QjtBc0NwMXVCTTtFQUNJLHlCaEJ5Rm1CO0F0Qjh2dUI3QjtBc0M3MXVCTTtFQUNFLFloQitEa0I7QXRCaXl1QjFCO0FzQzUxdUJNO0VBQ0ksWWhCeURXO0F0QnN5dUJyQjtBZ0UvMW9CQTs7O3FEQUFBO0FBSUEsMkJBQUE7QTFCMWdHTTtFQUNFLG1CaEI2RmdCO0F0Qmd4dUJ4QjtBc0N6MnVCTTtFQUNJLG1CaEJ5Rm1CO0F0Qm14dUI3QjtBc0NsM3VCTTtFQUNFLGtDMEIyZ0crRTtBaEUwMm9CdkY7QXNDajN1Qk07RUFDSSxrQzBCc2dHcUc7QWhFODJvQi9HO0FzQzEzdUJNO0VBQ0Usd0MwQjRnR3FGO0FoRWkzb0I3RjtBc0N6M3VCTTtFQUNJLHdDMEJ1Z0cyRztBaEVxM29Cckg7QXNDbDR1Qk07RUFDRSxrQzBCNmdHOEY7QWhFdzNvQnRHO0FzQ2o0dUJNO0VBQ0ksa0MwQndnR29IO0FoRTQzb0I5SDtBc0MxNHVCTTtFQUNFLHdDMEI4Z0dvRztBaEUrM29CNUc7QXNDejR1Qk07RUFDSSx3QzBCeWdHMEg7QWhFbTRvQnBJO0FzQ2w1dUJNO0VBQ0UsNEIwQitnR3dGO0FoRXM0b0JoRztBc0NqNXVCTTtFQUNJLDRCMEIwZ0c4RztBaEUwNG9CeEg7QXNDMTV1Qk07RUFDRSxjaEJrWUk7QXRCMmh1Qlo7QXNDejV1Qk07RUFDSSxjaEI0RFc7QXRCZzJ1QnJCO0FzQ2w2dUJNO0VBQ0UseUIwQmloR21IO0FoRW81b0IzSDtBc0NqNnVCTTtFQUNJLHlCMEI0Z0c0STtBaEV3NW9CdEo7QXNDMTZ1Qk07RUFDRSx3QjBCa2hHa0g7QWhFMjVvQjFIO0FzQ3o2dUJNO0VBQ0ksd0IwQjZnRzJJO0FoRSs1b0JySjtBc0NsN3VCTTtFQUNFLGFoQmdFUTtBdEJxM3VCaEI7QXNDajd1Qk07RUFDSSxhaEI0RFc7QXRCdzN1QnJCO0FzQzE3dUJNO0VBQ0UsYWhCZ0VRO0F0QjYzdUJoQjtBc0N6N3VCTTtFQUNJLGFoQjREVztBdEJnNHVCckI7QXNDbDh1Qk07RUFDRSxhaEJnRVE7QXRCcTR1QmhCO0FzQ2o4dUJNO0VBQ0ksYWhCNERXO0F0Qnc0dUJyQjtBc0MxOHVCTTtFQUNFLGFoQmdFUTtBdEI2NHVCaEI7QXNDejh1Qk07RUFDSSxhaEI0RFc7QXRCZzV1QnJCO0FzQ2w5dUJNO0VBQ0UsYWhCZ0VRO0F0QnE1dUJoQjtBc0NqOXVCTTtFQUNJLGFoQjREVztBdEJ3NXVCckI7QXNDMTl1Qk07RUFDRSxhaEJnRVE7QXRCNjV1QmhCO0FzQ3o5dUJNO0VBQ0ksYWhCNERXO0F0Qmc2dUJyQjtBc0NsK3VCTTtFQUNFLGFoQmdFUTtBdEJxNnVCaEI7QXNDait1Qk07RUFDSSxhaEI0RFc7QXRCdzZ1QnJCO0FzQzErdUJNO0VBQ0UsZWhCZ0VRO0F0QjY2dUJoQjtBc0N6K3VCTTtFQUNJLGVoQjREVztBdEJnN3VCckI7QWdFcjlvQkEseUJBQUE7QTFCN2hHTTtFQUNFLGNoQmdFUTtBdEJzN3VCaEI7QXNDbC91Qk07RUFDSSxjaEI0RFc7QXRCeTd1QnJCO0FnRTM5b0JBLHdDQUFBO0ExQmhpR007RUFDRSxjaEJnRVE7QXRCKzd1QmhCO0FzQzMvdUJNO0VBQ0ksY2hCNERXO0F0Qms4dUJyQjtBZ0VqK29CQSwyQkFBQTtBMUJuaUdNO0VBQ0UseUJoQjZGZ0I7QXRCMjZ1QnhCO0FzQ3BndkJNO0VBQ0kseUJoQnlGbUI7QXRCODZ1QjdCO0FzQzdndkJNO0VBQ0UsY2hCZ0VRO0F0Qmc5dUJoQjtBc0M1Z3ZCTTtFQUNJLGNoQjREVztBdEJtOXVCckI7QWdFOStvQkEsaUNBQUE7QTFCdmlHTTtFQUNFLDZCMEIyaUc4RjtBaEU4K29CdEc7QXNDcmh2Qk07RUFDSSw2QjBCc2lHeUc7QWhFay9vQm5IO0FzQzlodkJNO0VBQ0UseUJoQndLbUI7QXRCeTN1QjNCO0FzQzdodkJNO0VBQ0kseUJoQm9Lc0I7QXRCNDN1QmhDO0FzQ3RpdkJNO0VBQ0UseUJoQndLbUI7QXRCaTR1QjNCO0FzQ3JpdkJNO0VBQ0kseUJoQm9Lc0I7QXRCbzR1QmhDO0FzQzlpdkJNO0VBQ0UseUJoQndLbUI7QXRCeTR1QjNCO0FzQzdpdkJNO0VBQ0kseUJoQm9Lc0I7QXRCNDR1QmhDO0FzQ3RqdkJNO0VBQ0UseUJoQm1XaUI7QXRCc3R1QnpCO0FzQ3JqdkJNO0VBQ0kseUJoQitWb0I7QXRCeXR1QjlCO0FzQzlqdkJNO0VBQ0UseUIwQnFqR3VGO0FoRTRncEIvRjtBc0M3anZCTTtFQUNJLHVCMEJnakcySDtBaEVnaHBCckk7QWdFOWdwQkE7Ozs7OztzREFBQTtBMUJ4akdNO0VBQ0UseUJoQndLbUI7QXRCdzZ1QjNCO0FzQzVrdkJNO0VBQ0kseUJoQm9Lc0I7QXRCMjZ1QmhDO0FzQ3JsdkJNO0VBQ0UsNEJoQkNHO0F0QnVsdkJYO0FzQ3BsdkJNO0VBQ0ksNEJoQnFJbUI7QXRCazl1QjdCO0FzQzdsdkJNO0VBQ0UsV2hCK0s4QjtBdEJpN3VCdEM7QXNDNWx2Qk07RUFDSSxjaEI0S2lDO0F0Qm03dUIzQztBc0NybXZCTTtFQUNFLHlCaEJ3S21CO0F0Qmc4dUIzQjtBc0NwbXZCTTtFQUNJLHlCaEJvS3NCO0F0Qm04dUJoQztBc0M3bXZCTTtFQUNFLHlCaEJDRztBdEIrbXZCWDtBc0M1bXZCTTtFQUNJLHlCaEJxSW1CO0F0QjArdUI3QjtBc0NybnZCTTtFQUNFLGNoQjhLdUI7QXRCMDh1Qi9CO0FzQ3BudkJNO0VBQ0ksY2hCMkswQjtBdEI0OHVCcEM7QXNDN252Qk07RUFDRSxXaEIrSzhCO0F0Qmk5dUJ0QztBc0M1bnZCTTtFQUNJLGNoQjRLaUM7QXRCbTl1QjNDO0FzQ3JvdkJNO0VBQ0Usc0JoQitLOEI7QXRCeTl1QnRDO0FzQ3BvdkJNO0VBQ0kseUJoQjRLaUM7QXRCMjl1QjNDO0FzQzdvdkJNO0VBQ0UseUJoQndLbUI7QXRCdyt1QjNCO0FzQzVvdkJNO0VBQ0kseUJoQm9Lc0I7QXRCMit1QmhDO0FzQ3JwdkJNO0VBQ0UsV2hCK0s4QjtBdEJ5K3VCdEM7QXNDcHB2Qk07RUFDSSxjaEI0S2lDO0F0QjIrdUIzQztBc0M3cHZCTTtFQUNFLGNoQjhLdUI7QXRCay91Qi9CO0FzQzVwdkJNO0VBQ0ksY2hCMkswQjtBdEJvL3VCcEM7QXNDcnF2Qk07RUFDRSxjaEI4S3VCO0F0QjAvdUIvQjtBc0NwcXZCTTtFQUNJLGNoQjJLMEI7QXRCNC91QnBDO0FzQzdxdkJNO0VBQ0UseUJoQnVMa0M7QXRCeS91QjFDO0FzQzVxdkJNO0VBQ0kseUJoQm1McUM7QXRCNC91Qi9DO0FzQ3JydkJNO0VBQ0UsV2hCK0s4QjtBdEJ5Z3ZCdEM7QXNDcHJ2Qk07RUFDSSxjaEI0S2lDO0F0QjJndkIzQztBc0M3cnZCTTtFQUNFLHlCaEJ1TGtDO0F0QnlndkIxQztBc0M1cnZCTTtFQUNJLHlCaEJtTHFDO0F0QjRndkIvQztBZ0VwbnBCQSxzQkFBQTtBMUJqbEdNO0VBQ0UsMEIwQm1sR3NFO0FoRXNucEI5RTtBc0Nyc3ZCTTtFQUNJLGdDMEI4a0d5RjtBaEUwbnBCbkc7QXNDOXN2Qk07RUFDRSxpQzBCb2xH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MEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7RUFDRSxZQUFBO0ExRXFseUJKO0EwRW5seUJFO0VBQ0UsWUFBQTtBMUVxbHlCSjtBMEVubHlCRTtFQUNFLFlBQUE7QTFFcWx5Qko7QTBFbmx5QkU7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cmUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJmb250cy1sb2NhbFwiO1xuQGltcG9ydCBcInRoZW1lXCI7XG5AaW1wb3J0IFwiYnVsbWFcIjtcbkBpbXBvcnQgXCJjaGFydGlzdFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcImxheW91dFwiO1xuQGltcG9ydCBcImFuZ3VsYXItY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2lucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlci1pY29uLWJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9vbHRpcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbm90aWZpY2F0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaWRlYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tZW51XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXN0b20tZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZXZlbnQtYWRtaW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NuYWNrYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mYWJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2hvdy1hbGwtc3VibWlzc2lvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RhdGV0aW1lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3JtLWZpZWxkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYXBlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGVnZW5kXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub3RpY2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hcmtkb3duXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0cnVjdHVyZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZW1wdHktcGFnZS1wYW5lbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF0aXZlLWlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXRpdmUtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9waWMtY2hpcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGhyZXNob2xkLWJhbmQtcG9wb3ZlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2NvcmUtZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGlhbG9nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWdtZW50ZWRcIjtcbkBpbXBvcnQgXCJjb2xvci1zY2hlbWVcIjtcbkBpbXBvcnQgXCJhMTF5XCI7XG5AaW1wb3J0IFwidmlldy1tb2RlXCI7XG5cbi8vIEdsb2JhbCByZWR1Y2VkLW1vdGlvbiBvdmVycmlkZSDigJQgYXBwbGllZCBvbmNlLCBuZXZlciBwZXItY29tcG9uZW50LlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKFRlbnRhdGl2YSBkZSBcInNlbSBhbmltYcOnw7VlcyBubyBtYWNPU1wiIFJFTU9WSURBOiBtYXRhdmEgQ1NTIGFuaW1hdGlvbnNcbi8vIGxlZ8OtdGltYXMg4oCUIG1hdC1wcm9ncmVzcy1iYXIgcm9sYW5kbywgbWF0LXNwaW5uZXIgZ2lyYW5kbywgdHJhbnNpw6fDtWVzIGRlXG4vLyBlc3RhZG8uIEUgYWluZGEgcG9yIGNpbWEgTsODTyBhdGluZ2lhIG8gYWx2byByZWFsLCBxdWUgc8OjbyBhcyBhbmltYcOnw7Vlc1xuLy8gcHJvZ3JhbcOhdGljYXMgZG8gQGFuZ3VsYXIvYW5pbWF0aW9ucywgZXhlY3V0YWRhcyBmb3JhIGRvIENTUy4gVmVyIG1lbcOzcmlhXG4vLyBwcm9qZWN0X21hY29zX25vX2FuaW1hdGlvbl9wZW5kaW5nOiBvIGNhbWluaG8gY29ycmV0byDDqSBOb29wQW5pbWF0aW9ucy9cbi8vIFtALmRpc2FibGVkXSwgbsOjbyBDU1MuKVxuXG4vLyBSZXNldCBkZSBmb250ZSBkb3MgY29udHJvbGVzIGRlIGZvcm11bMOhcmlvIChub3JtYWxpemUuY3NzIMKnMTAuMSkuXG4vLyBgPGJ1dHRvbj5gL2A8aW5wdXQ+YC9ldGMuIE7Dg08gaGVyZGFtIGBmb250LWZhbWlseWAgcG9yIHBhZHLDo28g4oCUIG8gVUFcbi8vIHN0eWxlc2hlZXQgZSBvIEJ1bG1hIChgJGZhbWlseS1zYW5zLXNlcmlmYCwgdW1hIHN0YWNrIGRlIHNpc3RlbWEsIG7Do28gR2Vpc3QpXG4vLyBpbXDDtWVtIHVtYSBmb250ZSBwcsOzcHJpYS4gU2VtIGVzdGUgcmVzZXQsIHRvZG8gYm90w6NvIGN1c3RvbSBkbyBjaGFpciBVSVxuLy8gcHJlY2lzYSBkZSB1bSBgZm9udC1mYW1pbHk6IGluaGVyaXRgIGluZGl2aWR1YWwgKGhhdmlhIH43IGRlc3NlcyBlc3BhbGhhZG9zKS5cbi8vIEFwbGljYWRvIFVNQSB2ZXogYXF1aSBwcmEgcXVlIHRvZG8gY29udHJvbGUgaGVyZGUgR2Vpc3QgZG8gYm9keS4gSW1wb3J0YWRvXG4vLyBkZXBvaXMgZG8gQnVsbWEgKGxpbmhhIDMpLCBlbnTDo28gdmVuY2UgYSByZWdyYSBkZWxlLlxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi8vIFBpbiBHTE9CQUwgZGUgR2Vpc3QgbmEgcmFpeiBkbyBjYW52YXMgKGAubWFpbmAg4oCUIHdyYXBwZXIgZGUgVE9EQSBww6FnaW5hXG4vLyBjaGFpcjogZXZlbnQtdmlldywgdG9waWNzLCByZXZpZXdzLWNvbmZpZ3VyYXRpb24sIGV0Yy4pLiBOZWNlc3PDoXJpbyBwb3JxdWVcbi8vIGFsZ3VtIGFuY2VzdHJhbCBuYSDDoXJlYSBhZG1pbiBkZWNsYXJhIHVtYSBmb250LWZhbWlseSBwb2x1w61kYSAoc3RhY2tcbi8vIGAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIOKApmAgcXVlIE7Dg08gdmVtIGRlIG5lbmh1bSBDU1Mgbm9zc28gbmVtIGRhcyBsaWJzIOKAlFxuLy8gcHJvdsOhdmVsIGlubGluZS9ydW50aW1lIGRlIGNvbXBvbmVudGUgTWF0ZXJpYWwgZXN0cnV0dXJhbDsgdmVyIG1lbcOzcmlhXG4vLyBwcm9qZWN0X2FkbWluX2ZvbnRfcG9sbHV0ZWRfYW5jZXN0b3IpLiBPIGBib2R5IHsgZm9udC1mYW1pbHkgfWAgKEdlaXN0KSBmaWNhXG4vLyBhYmFpeG8gZGVsYSBuYSBjYXNjYXRhIHBvciBoZXJhbsOnYSwgZW50w6NvIGgxL2JvdMO1ZXMvZXRjLiBzYcOtYW0gZm9yYSBkbyBHZWlzdC5cbi8vIFJlLWFmaXJtYXIgR2Vpc3QgZW0gYC5tYWluYCB2ZW5jZSBvIGFuY2VzdHJhbCBwYXJhIHRvZG8gbyBjb250ZcO6ZG8gZGUgcMOhZ2luYVxuLy8gZGUgdW1hIHZlei4gw41jb25lcyAoTWF0ZXJpYWwgU3ltYm9scy9qZW1zM3IvamVtczNzKSBlIG1vbm9zcGFjZSAoSW5jb25zb2xhdGEpXG4vLyBuw6NvIHPDo28gYWZldGFkb3M6IGRlY2xhcmFtIGBmb250LWZhbWlseWAgbm8gcHLDs3ByaW8gZWxlbWVudG8gKGVzcGVjaWZpY2lkYWRlXG4vLyBtYWlvcikuIEZpeCBkZSByYWl6IGRlZmluaXRpdm8gPSBhY2hhciBlIGNvcnJpZ2lyIG8gYW5jZXN0cmFsIHBvbHXDrWRvLlxuLm1haW4ge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xufVxuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LWNoZWNrYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jaGVja2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcmFkaW9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hdC1zbGlkZS10b2dnbGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hdC1yYWRpb1wiO1xuQGltcG9ydCBcImljb25zL2plbXMzclwiO1xuQGltcG9ydCBcImljb25zL2plbXMzc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktbWQzXCI7XG5AaW1wb3J0IFwiY2hhcnQtdmFyc1wiO1xuQGltcG9ydCBcImluc3RhbGxlZC1hcHBcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSFJPTUUgT0ZGU0VUIOKAlCBzaW5nbGUgc291cmNlIG9mIHRydXRoIHBhcmEgYSBhbHR1cmEgYWdyZWdhZGEgZG9cbi8vIGNocm9tZSBBQ0lNQSBkbyBjYW52YXMuIENhZGEgZWxlbWVudG8gZGUgY2hyb21lIGZpeGVkLXBvc2l0aW9uZWRcbi8vIChwcm94eS1iYXIsIG5hdmJhciwgYnJlYWRjcnVtYiwgc2lkZWJhciwgbWFpbi1oZWFkZXIgZGFzIHDDoWdpbmFzKVxuLy8gY29uc29tZSBgdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpYCBubyBzZXUgYHRvcGAgZW0gdmV6IGRlIHNvbWFyXG4vLyBjb25zdGFudGVzIGxpdGVyYWlzLiBBZGljaW9uYXIvcmVtb3ZlciBjYW1hZGFzIGRlIGNocm9tZSAocHJveHktYmFyLFxuLy8gaW5zdGFsbC1iYW5uZXIgZnV0dXJvLCBldGMuKSB2aXJhIFVNIGx1Z2FyIGVtIHZleiBkZSBOIHJlZ3Jhc1xuLy8gYCYucHJveHktYWN0aXZlYC9gJi5pbnN0YWxsZWQtYXBwYC9ldGMuIGVzcGFsaGFkYXMgcGVsb3MgY29tcG9uZW50ZXMuXG4vL1xuLy8gUGFkcsOjbyBkZSBjb25zdW1vOlxuLy8gICAubmF2YmFyICAgICAgICAgICB7IHRvcDogdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpOyB9ICAgICAgIC8vIGJhc2VsaW5lIDBcbi8vICAgLm1haW4taGVhZGVyICAgICAgeyB0b3A6IGNhbGMoPGJhc2VsaW5lPiArIHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KSk7IH1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuOnJvb3Qge1xuICAtLWNocm9tZS10b3Atb2Zmc2V0OiAwcHg7XG59XG5ib2R5LnByb3h5LWFjdGl2ZSB7XG4gIC0tY2hyb21lLXRvcC1vZmZzZXQ6ICN7JHByb3h5LWJhci1oZWlnaHR9O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlbGYtaG9zdGVkIHdlYiBmb250c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBHZWlzdCAoVUkgYm9keSB0eXBlKSBpcyBsb2FkZWQgaGVyZSBmcm9tIGxvY2FsIFdPRkYyIHRvIHJlbW92ZSBhIHJ1bnRpbWVcbi8vIGRlcGVuZGVuY3kgb24gR29vZ2xlIEZvbnRzIENETjpcbi8vXG4vLyAgIC0gUmVzdHJpY3RpdmUgbmV0d29ya3MgKGNvcnBvcmF0ZSBwcm94aWVzLCByZWdpb25zIGJsb2NraW5nIEdvb2dsZSlcbi8vICAgICBjb3VsZCBmYWlsIHRoZSBDRE4gcmVxdWVzdCDihpIgYm9keSB0ZXh0IGZhbGxzIGJhY2sgdG8gYSBzeXN0ZW0gZm9udCxcbi8vICAgICBsYXlvdXRzIHNoaWZ0LiBUaGlzIHdhcyB0aGUgc2FtZSBjbGFzcyBvZiBpc3N1ZSB0aGUgcHJvamVjdCBoaXRcbi8vICAgICBwcmV2aW91c2x5IHdpdGggRm9udEF3ZXNvbWUuXG4vL1xuLy8gICAtIE9uZS1vZmYgR29vZ2xlIEZvbnRzIG91dGFnZXMsIFRMUyBoaWNjdXBzLCBvciBETlMgZmFpbHVyZXMgc3RvcFxuLy8gICAgIGJlaW5nIGFibGUgdG8gYWZmZWN0IHRoZSBhcHAuXG4vL1xuLy8gVGhlIFdPRkYyIGZpbGVzIGxpdmUgdW5kZXIgYHNyYy9hc3NldHMvZm9udHMvYC4gVGhlIGJ1aWxkIHBpcGVsaW5lXG4vLyBidW5kbGVzIHRoZW0gdmlhIHRoZSBhc3NldCBVUkwgcmV3cml0aW5nIHRoYXQgQW5ndWxhciBDTEkgYXBwbGllcyB0b1xuLy8gYHVybCguLi4pYCBpbiBTQ1NTIOKAlCBwYXRocyBoZXJlIGFyZSByZXNvbHZlZCBhZ2FpbnN0IHRoZSBpbXBvcnRpbmdcbi8vIGZpbGUncyBsb2NhdGlvbiwgaGVuY2UgdGhlIGAuLi9hc3NldHMvZm9udHMvLi4uYCByZWxhdGl2ZSBwYXRoLlxuLy9cbi8vIEdlaXN0IHNoaXBzIGFzIDUgc3Vic2V0cyAobGF0aW4sIGxhdGluLWV4dCwgdmlldG5hbWVzZSwgY3lyaWxsaWMsXG4vLyBjeXJpbGxpYy1leHQpIOKAlCBzYW1lIHNwbGl0IEdvb2dsZSBGb250cyB1c2VzLiBgdW5pY29kZS1yYW5nZWAgbGV0cyB0aGVcbi8vIGJyb3dzZXIgb25seSBsb2FkIHRoZSBzdWJzZXQgdGhhdCBjb250YWlucyB0aGUgY2hhcmFjdGVycyBhY3R1YWxseVxuLy8gcmVuZGVyZWQsIHNvIHRoZSBsYXRpbi1vbmx5IHBhdGhzIG9ubHkgcGF5IH4zMCBLQiBmb3IgYm9keSB0eXBlLlxuLy9cbi8vIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQgaXMgc2VsZi1ob3N0ZWQgYXMgYW4gSU5TVEFOQ0VEIHZhcmlhYmxlIGZvbnRcbi8vICh+NzcwIEtCKSBjYXJyeWluZyB0aGUgRlVMTCBpY29uIHNldCAodG9kb3Mgb3MgfjQyMDAgbGlnYXR1cmVzLCBpbmNsLlxuLy8gbm9tZXMgY29tIGTDrWdpdG8gY29tbyBgaW52ZW50b3J5XzJgKTpcbi8vICAgLSBOw4NPIMOpIG1haXMgc3Vic2V0YWRvIHBvciDDrWNvbmUg4oCUIG1hbnRlciBvIGNvbmp1bnRvIGNvbXBsZXRvIGV2aXRhIG9cbi8vICAgICBwcm9ibGVtYSBkZSBcIsOtY29uZSBpbmRpc3BvbsOtdmVsXCIgKGV4LjogYGludmVudG9yeV8yYCBmYWx0YXZhIG5vIGJ1aWxkXG4vLyAgICAgYW50aWdvLCBxdWUgc8OzIHRpbmhhIGxldHJhcy9gX2AgZSBuZW5odW0gZMOtZ2l0bykgZSBkaXNwZW5zYSByZWdlbmVyYXJcbi8vICAgICBhIGZvbnRlIGEgY2FkYSDDrWNvbmUgbm92by5cbi8vICAgLSBJbnN0YW5jaWFkbyB2aWEgYGZvbnRUb29scy52YXJMaWIuaW5zdGFuY2VyYCBwYXJhIGZpeGFyIG9zIGVpeG9zIHF1ZSBvXG4vLyAgICAgY8OzZGlnbyBuw6NvIHZhcmlhOiBgR1JBRD0wYCBlIGBvcHN6PTIwYCAocmVtb3ZpZG9zIGRhIHRhYmVsYSBkZSBlaXhvcylcbi8vICAgICBlIGB3Z2h0YCByZXN0cml0byBhIDMwMC4uNDAwLiBGSUxMIDAuLjEgY29udGludWEgdmFyacOhdmVsIChhbmltYcOnw6NvIGRhXG4vLyAgICAgZXN0cmVsYSBkZSBmYXZvcml0b3MpLlxuLy8gTmV0IGVmZmVjdDogYSB2YXJpYWJsZSBmb250IGRlIH4xMCBNQiBlbmNvbGhlIHAvIH43NzAgS0IgcHJlc2VydmFuZG8gYVxuLy8gYW5pbWHDp8OjbyBkZSBGSUxMLCBzZW0gZGVwZW5kw6puY2lhIGRvIENETiBkbyBHb29nbGUgRm9udHMuXG4vL1xuLy8gUkVHRU5FUkHDh8ODTyAocXVhbmRvIHByZWNpc2FyIGF0dWFsaXphciBhIGZvbnRlKTogYmFpeGFyIGEgdmFyaWFibGUgZm9udFxuLy8gY29tcGxldGEgZG8gcmVwbyBnb29nbGUvbWF0ZXJpYWwtZGVzaWduLWljb25zXG4vLyAodmFyaWFibGVmb250L01hdGVyaWFsU3ltYm9sc091dGxpbmVkW0ZJTEwsR1JBRCxvcHN6LHdnaHRdLnR0ZiksXG4vLyBgaW5zdGFudGlhdGVWYXJpYWJsZUZvbnQoZiwgeydvcHN6JzoyMCwnR1JBRCc6MCwnd2dodCc6KDMwMCw0MDApfSlgLFxuLy8gc2FsdmFyIGNvbW8gd29mZjIgKHByZWNpc2EgZG8gbcOzZHVsbyBgYnJvdGxpYCkuIFZlciBkb2NzL0dVSUFfSkVNUzMubWQgwqczLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiBNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkIOKAlCBpbnN0YW5jZWQgdmFyaWFibGUgZm9udCwgY29uanVudG8gQ09NUExFVE8gZGUgw61jb25lcyAoRklMTCAwLi4xLCB3Z2h0IDMwMC4uNDAwKS4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvbWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cbi5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuLy8gTGVnYWN5IGFsaWFzOiBBbmd1bGFyIE1hdGVyaWFsIDExIGhhcmQtY29kZXMgYGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcImBcbi8vIG9uIGV2ZXJ5IGA8bWF0LWljb24+YCB3aXRob3V0IGEgYGZvbnRTZXRgLiBUaGUgY29kZWJhc2UgaGFzIGEgaGFuZGZ1bFxuLy8gb2YgdGhvc2UgKGUuZy4gYG1vcmVfdmVydGAsIGBmaWx0ZXJfYWx0YCkgdGhhdCBoaXN0b3JpY2FsbHkgcGlja2VkIHVwXG4vLyB0aGUgTWF0ZXJpYWwgSWNvbnMgQ0ROIGZvbnQuIEFsaWFzaW5nIGAubWF0ZXJpYWwtaWNvbnNgIHRvIG91clxuLy8gc2VsZi1ob3N0ZWQgTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCBsZXRzIGFsbCBvZiB0aGVtIHJlbmRlciBmcm9tXG4vLyB0aGUgc2FtZSBsb2NhbCBmaWxlIOKAlCBhbmQgcmVtb3ZlcyB0aGUgbGFzdCBydW50aW1lIGRlcGVuZGVuY3kgb24gdGhlXG4vLyBNYXRlcmlhbCBJY29ucyBDRE4uIChWZXJpZmllZDogb25seSBgbW9yZV92ZXJ0YCBhbmQgYGZpbHRlcl9hbHRgIGFyZVxuLy8gdXNlZCB0aGlzIHdheSwgYW5kIGJvdGggbGlnYXR1cmVzIGV4aXN0IGluIE1hdGVyaWFsIFN5bWJvbHMuKVxuLm1hdGVyaWFsLWljb25zIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4vKiBHZWlzdCDigJQgVUkgYm9keSB0eXBlLCB2YXJpYWJsZSB3ZWlnaHQgMTAwLTkwMC4gU2FtZSA1IHN1YnNldHMgR29vZ2xlIHNoaXBzLiAqL1xuLyogY3lyaWxsaWMtZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9nZWlzdC1jeXJpbGxpYy1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGO1xufVxuLyogY3lyaWxsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWN5cmlsbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjtcbn1cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LXZpZXRuYW1lc2Uud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCO1xufVxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHZWlzdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9nZWlzdC1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xufVxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWxhdGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcbn1cblxuLyogSW5jb25zb2xhdGEg4oCUIG1vbm9zcGFjZSwgdXNlZCBpbiBjb2RlIGJsb2Nrcy4gU2luZ2xlIHdlaWdodCAoNDAwKS4gMyBzdWJzZXRzIG1hdGNoaW5nIEdvb2dsZSdzIHNwbGl0LiAqL1xuLyogdmlldG5hbWVzZSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW5jb25zb2xhdGEnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3RyZXRjaDogMTAwJTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2luY29uc29sYXRhLXZpZXRuYW1lc2Uud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCO1xufVxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHJldGNoOiAxMDAlO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvaW5jb25zb2xhdGEtbGF0aW4tZXh0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcbn1cbi8qIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHJldGNoOiAxMDAlO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvaW5jb25zb2xhdGEtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuXG4vKiBDYWlybyDigJQgdXNlZCBpbiBvbmUgY2hhaXItVUkgY29tcG9uZW50IChldmVudHMuY29tcG9uZW50LnNjc3MpLiBTaW5nbGUgd2VpZ2h0ICg0MDApLiBBcmFiaWMgKyBMYXRpbiBzdWJzZXRzLiAqL1xuLyogYXJhYmljICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWlybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2NhaXJvLWFyYWJpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNjAwLTA2RkYsIFUrMDc1MC0wNzdGLCBVKzA4NzAtMDg4RSwgVSswODkwLTA4OTEsIFUrMDg5Ny0wOEUxLCBVKzA4RTMtMDhGRiwgVSsyMDBDLTIwMEUsIFUrMjAxMC0yMDExLCBVKzIwNEYsIFUrMkU0MSwgVStGQjUwLUZERkYsIFUrRkU3MC1GRTc0LCBVK0ZFNzYtRkVGQywgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxMEVDMi0xMEVDNCwgVSsxMEVGQy0xMEVGRiwgVSsxRUUwMC0xRUUwMywgVSsxRUUwNS0xRUUxRiwgVSsxRUUyMS0xRUUyMiwgVSsxRUUyNCwgVSsxRUUyNywgVSsxRUUyOS0xRUUzMiwgVSsxRUUzNC0xRUUzNywgVSsxRUUzOSwgVSsxRUUzQiwgVSsxRUU0MiwgVSsxRUU0NywgVSsxRUU0OSwgVSsxRUU0QiwgVSsxRUU0RC0xRUU0RiwgVSsxRUU1MS0xRUU1MiwgVSsxRUU1NCwgVSsxRUU1NywgVSsxRUU1OSwgVSsxRUU1QiwgVSsxRUU1RCwgVSsxRUU1RiwgVSsxRUU2MS0xRUU2MiwgVSsxRUU2NCwgVSsxRUU2Ny0xRUU2QSwgVSsxRUU2Qy0xRUU3MiwgVSsxRUU3NC0xRUU3NywgVSsxRUU3OS0xRUU3QywgVSsxRUU3RSwgVSsxRUU4MC0xRUU4OSwgVSsxRUU4Qi0xRUU5QiwgVSsxRUVBMS0xRUVBMywgVSsxRUVBNS0xRUVBOSwgVSsxRUVBQi0xRUVCQiwgVSsxRUVGMC0xRUVGMTtcbn1cbi8qIGxhdGluLWV4dCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2Fpcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9jYWlyby1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xufVxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhaXJvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvY2Fpcm8tbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuIiwiLy8gRmlsZSBmb3Igd2hpY2ggYWxsIGltcG9ydHMgYXJlIHJlc29sdmVkIGFuZCBidW5kbGVkLiBUaGlzIGlzIHRoZSBlbnRyeS1wb2ludCBmb3Jcbi8vIHRoZSBgQGFuZ3VsYXIvbWF0ZXJpYWxgIHRoZW1pbmcgU2FzcyBidW5kbGUuIFNlZSBgLy9zcmMvbWF0ZXJpYWw6dGhlbWluZ19idW5kbGVgLlxuXG4vLyBJbXBvcnQgYWxsIHRoZSB0aGVtaW5nIGZ1bmN0aW9uYWxpdHkuXG4vLyBXZSB3YW50IG92ZXJsYXlzIHRvIGFsd2F5cyBhcHBlYXIgb3ZlciB1c2VyIGNvbnRlbnQsIHNvIHNldCBhIGJhc2VsaW5lXG4vLyB2ZXJ5IGhpZ2ggei1pbmRleCBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLCB3aGljaCBpcyB3aGVyZSB3ZSBjcmVhdGUgdGhlIG5ld1xuLy8gc3RhY2tpbmcgY29udGV4dCBmb3IgYWxsIG92ZXJsYXlzLlxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwICFkZWZhdWx0O1xuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMikgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcbiRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gY2RrLW92ZXJsYXkoKSB7XG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIsIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gICAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBUaGUgY29udGFpbmVyIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQuXG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxuICAuY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xuXG4gICAgJjplbXB0eSB7XG4gICAgICAvLyBIaWRlIHRoZSBlbGVtZW50IHdoZW4gaXQgZG9lc24ndCBoYXZlIGFueSBjaGlsZCBub2Rlcy4gVGhpcyBkb2Vzbid0XG4gICAgICAvLyBpbmNsdWRlIG92ZXJsYXlzIHRoYXQgaGF2ZSBiZWVuIGRldGFjaGVkLCByYXRoZXIgdGhhbiBkaXNwb3NlZC5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXG4gIC8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xuICAvLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXG4gIC8vIHN0cmF0ZWdpZXMuXG4gIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG4gIH1cblxuICAvLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXG4gIC5jZGstb3ZlcmxheS1wYW5lIHtcbiAgICAvLyBOb3RlOiBpdCdzIGltcG9ydGFudCBmb3IgdGhpcyBvbmUgdG8gc3RhcnQgb2ZmIGBhYnNvbHV0ZWAsXG4gICAgLy8gaW4gb3JkZXIgZm9yIHVzIHRvIGJlIGFibGUgdG8gbWVhc3VyZSBpdCBjb3JyZWN0bHkuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG5cbiAgICAvLyBGb3IgY29ubmVjdGVkLXBvc2l0aW9uIG92ZXJsYXlzLCB3ZSBzZXQgYGRpc3BsYXk6IGZsZXhgIGluXG4gICAgLy8gb3JkZXIgdG8gZm9yY2UgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCB0byB0YWtlIGVmZmVjdC5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgICAvLyBUT0RPKGplbGJvdXJuKTogcmV1c2Ugc2lkZW5hdiBmdWxsc2NyZWVuIG1peGluLlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbiAkYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBpbXBvcnQgYW5kIHVzZSB0aGUgYGhpZ2gtY29udHJhc3RgIG1peGluIGZyb20gYF9hMTF5LnNjc3NgLCBiZWNhdXNlXG4gICAgICAvLyB0aGlzIGZpbGUgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIHRvcC1sZXZlbCBgY2RrYCBwYWNrYWdlIHdoZW4gcHV0dGluZyB0b2dldGhlciB0aGUgZmlsZXNcbiAgICAgIC8vIGZvciBucG0uIEFueSByZWxhdGl2ZSBpbXBvcnQgcGF0aHMgd2UgdXNlIGhlcmUgd2lsbCBiZWNvbWUgaW52YWxpZCBvbmNlIHRoZSBmaWxlIGlzIGNvcGllZC5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgJiB7XG4gICAgICAgIC8vIEluIGhpZ2ggY29udHJhc3QgbW9kZSB0aGUgcmdiYSBiYWNrZ3JvdW5kIHdpbGwgYmVjb21lIHNvbGlkXG4gICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gZmFsbCBiYWNrIHRvIG1ha2luZyBpdCBvcGFxdWUgdXNpbmcgYG9wYWNpdHlgLlxuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xuICAgIC8vIE5vdGU6IGFzIG9mIEZpcmVmb3ggNTcsIGhhdmluZyB0aGUgYmFja2Ryb3AgYmUgYGJhY2tncm91bmQ6IG5vbmVgIHdpbGwgcHJldmVudCBpdCBmcm9tXG4gICAgLy8gY2FwdHVyaW5nIHRoZSB1c2VyJ3MgbW91c2Ugc2Nyb2xsIGV2ZW50cy4gU2luY2Ugd2UgYWxzbyBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2VcbiAgICAvLyBgcmdiYSgwLCAwLCAwLCAwKWAsIHdlIHdvcmsgYXJvdW5kIHRoZSBpbmNvbnNpc3RlbmN5IGJ5IG5vdCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIGF0XG4gICAgLy8gYWxsIGFuZCB1c2luZyBgb3BhY2l0eWAgdG8gbWFrZSB0aGUgZWxlbWVudCB0cmFuc3BhcmVudC5cbiAgICAmLCAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5IHBhcmVudCBlbGVtZW50IHVzZWQgd2l0aCB0aGUgY29ubmVjdGVkIHBvc2l0aW9uIHN0cmF0ZWd5LiBVc2VkIHRvIGNvbnN0cmFpbiB0aGVcbiAgLy8gb3ZlcmxheSBlbGVtZW50J3Mgc2l6ZSB0byBmaXQgd2l0aGluIHRoZSB2aWV3cG9ydC5cbiAgLmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIFdlIHVzZSBgZGlzcGxheTogZmxleGAgb24gdGhpcyBlbGVtZW50IGV4Y2x1c2l2ZWx5IGZvciBjZW50ZXJpbmcgY29ubmVjdGVkIG92ZXJsYXlzLlxuICAgIC8vIFdoZW4gKm5vdCogY2VudGVyaW5nLCBhIHRvcC9sZWZ0L2JvdHRvbS9yaWdodCB3aWxsIGJlIHNldCB3aGljaCBvdmVycmlkZXMgdGhlIG5vcm1hbFxuICAgIC8vIGZsZXggbGF5b3V0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAvLyBXZSB1c2UgdGhlIGBjb2x1bW5gIGRpcmVjdGlvbiBoZXJlIHRvIGF2b2lkIHNvbWUgZmxleGJveCBpc3N1ZXMgaW4gRWRnZVxuICAgIC8vIHdoZW4gdXNpbmcgdGhlIFwiZ3JvdyBhZnRlciBvcGVuXCIgb3B0aW9ucy5cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLy8gQWRkIHNvbWUgZGltZW5zaW9ucyBzbyB0aGUgZWxlbWVudCBoYXMgYW4gYGlubmVyVGV4dGAgd2hpY2ggc29tZSBwZW9wbGUgZGVwZW5kIG9uIGluIHRlc3RzLlxuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuXG4gIC8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cbiAgLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxuICAgIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcbiAgICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXG4gICAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcbiAgICAvLyBibG9jayBzY3JvbGxpbmcgb24gYSBwYWdlIHRoYXQgZG9lc24ndCBoYXZlIGEgc2Nyb2xsYmFyIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn1cblxuQG1peGluIGNkay1hMTF5IHtcbiAgLmNkay12aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG5cbiAgICAvLyBUaGlzIHdvcmtzIGFyb3VuZCBhIENocm9tZSBidWcgdGhhdCBjYW4gY2F1c2UgdGhlIHRhYiB0byBjcmFzaCB3aGVuIGxhcmdlIGFtb3VudHMgb2ZcbiAgICAvLyBub24tRW5nbGlzaCB0ZXh0IGdldCB3cmFwcGVkOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMjAxNDQ0XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vLy8gRW1pdHMgdGhlIG1peGluJ3MgY29udGVudCBuZXN0ZWQgdW5kZXIgYCRzZWxlY3Rvci1jb250ZXh0YCBpZiBgJHNlbGVjdG9yLWNvbnRleHRgXG4vLy8gaXMgbm9uLWVtcHR5LlxuLy8vIEBwYXJhbSBzZWxlY3Rvci1jb250ZXh0IFRoZSBzZWxlY3RvciB1bmRlciB3aGljaCB0byBuZXN0IHRoZSBtaXhpbidzIGNvbnRlbnQuXG5AbWl4aW4gX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHRhcmdldCBXaGljaCBraW5kIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4vLy8gQHBhcmFtIGVuY2Fwc3VsYXRpb24gV2hldGhlciB0byBlbWl0IHN0eWxlcyBmb3IgdmlldyBlbmNhcHN1bGF0aW9uLiBWYWx1ZXMgYXJlOlxuLy8vICAgICAqIGBvbmAgLSB3b3JrcyBmb3IgYEVtdWxhdGVkYCwgYE5hdGl2ZWAsIGFuZCBgU2hhZG93RG9tYFxuLy8vICAgICAqIGBvZmZgIC0gd29ya3MgZm9yIGBOb25lYFxuLy8vICAgICAqIGBhbnlgIC0gd29ya3MgZm9yIGFsbCBlbmNhcHN1bGF0aW9uIG1vZGVzIGJ5IGVtaXR0aW5nIHRoZSBDU1MgdHdpY2UgKGRlZmF1bHQpLlxuQG1peGluIGNkay1oaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC8vIE5vdGUgdGhhdCBpZiB0aGlzIHNlbGVjdG9yIGlzIHVwZGF0ZWQsIHRoZSBzYW1lIGNoYW5nZSBoYXMgdG8gYmUgbWFkZSBpbnNpZGVcbiAgICAgIC8vIGBfb3ZlcmxheS5zY3NzYCB3aGljaCBjYW4ndCBkZXBlbmQgb24gdGhpcyBtaXhpbiBkdWUgdG8gc29tZSBpbmZyYXN0cnVjdHVyZSBsaW1pdGF0aW9ucy5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJykge1xuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0gOmhvc3Qge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2ltaWxhciB0byB0aGUgYGNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdgIGNsYXNzLCBidXQgb25seSBhcHBsaWVkIG9uIEZpcmVmb3guIFdlIG5lZWRcbiAgLy8gdG8gdXNlIHRoaXMgY2xhc3MsIGJlY2F1c2UgRmlyZWZveCBoYXMgYSBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGBvdmVyZmxvd2AgYnJlYWtzIHRoZSB1c2VyJ3NcbiAgLy8gYWJpbGl0eSB0byB1bmRvL3JlZG8gd2hhdCB0aGV5IHdlcmUgdHlwaW5nIChzZWUgIzE2NjI5KS4gVGhpcyBjbGFzcyBpcyBvbmx5IHNjb3BlZCB0byBGaXJlZm94LFxuICAvLyBiZWNhdXNlIHRoZSBtZWFzdXJlbWVudHMgdGhlcmUgZG9uJ3Qgc2VlbSB0byBiZSBhZmZlY3RlZCBieSB0aGUgYGhlaWdodDogMGAsIHdoZXJlYXMgb24gb3RoZXJcbiAgLy8gYnJvd3NlcnMgdGhleSBhcmUsIGUuZy4gQ2hyb21lIGRldGVjdHMgbG9uZ2VyIHRleHQgYW5kIElFIGRvZXMndCByZXNpemUgYmFjayB0byBub3JtYWwuXG4gIC8vIElkZW50aWNhbCBpc3N1ZSByZXBvcnQ6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODc4NFxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3gge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDonJykge1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBAaWYgJGZvcmVncm91bmQgIT0gJycgeyBjb2xvcjogJGZvcmVncm91bmQ7IH1cbiAgICB9XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAmLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSBmb3IgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQsIG9yIHRoZSBhbmltYXRpb25zdGFydFxuICAgIC8vIGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXMsXG4gICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDpcbiAgICAgICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudCArIDEgIWdsb2JhbDtcbn1cblxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IG1hdGVyaWFsIGRlc2lnbiB0cmVhdG1lbnRzIHRvIGFueSBlbGVtZW50LlxuLy8gTWVkaWEgcXVlcmllc1xuLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogQ2hhbmdlICRtYXQteHNtYWxsIGFuZCAkbWF0LXNtYWxsIHVzYWdlcyB0byByZWx5IG9uIEJyZWFrcG9pbnRPYnNlcnZlcixcbiRtYXQteHNtYWxsOiAnbWF4LXdpZHRoOiA1OTlweCc7XG4kbWF0LXNtYWxsOiAnbWF4LXdpZHRoOiA5NTlweCc7XG5cbi8vIFRPRE86IFJldmlzaXQgYWxsIHotaW5kaWNlcyBiZWZvcmUgYmV0YVxuLy8gei1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kei1pbmRleC1mYWI6IDIwICFkZWZhdWx0O1xuJHotaW5kZXgtZHJhd2VyOiAxMDAgIWRlZmF1bHQ7XG5cbi8vIEdsb2JhbCBjb25zdGFudHNcbiRwaTogMy4xNDE1OTI2NTtcblxuLy8gUGFkZGluZyBiZXR3ZWVuIGlucHV0IHRvZ2dsZXMgYW5kIHRoZWlyIGxhYmVsc1xuJG1hdC10b2dnbGUtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuLy8gV2lkdGggYW5kIGhlaWdodCBvZiBpbnB1dCB0b2dnbGVzXG4kbWF0LXRvZ2dsZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBFYXNpbmcgQ3VydmVzXG4vLyBUT0RPKGplbGJvdXJuKTogYWxsIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmV2aXNpdGVkXG5cbi8vIFRoZSBkZWZhdWx0IGFuaW1hdGlvbiBjdXJ2ZXMgdXNlZCBieSBtYXRlcmlhbCBkZXNpZ24uXG4kbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1saW5lYXItaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcblxuJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dDogYWxsICRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1kdXJhdGlvbjogMzAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW46IGFsbCAkc3dpZnQtZWFzZS1pbi1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbjogNTAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb24gIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWxpbmVhci1kdXJhdGlvbjogODBtcyAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyOiBhbGwgJHN3aWZ0LWxpbmVhci1kdXJhdGlvbiAkc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuXG5cbi8vIEEgY29sbGVjdGlvbiBvZiBtaXhpbnMgYW5kIENTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgZWxldmF0aW9uIHRvIGEgbWF0ZXJpYWxcbi8vIGVsZW1lbnQuXG4vLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2Vudmlyb25tZW50L2VsZXZhdGlvbi5odG1sXG4vLyBFeGFtcGxlczpcbi8vXG4vL1xuLy8gLm1hdC1mb28ge1xuLy8gICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbigyKTtcbi8vXG4vLyAgICY6YWN0aXZlIHtcbi8vICAgICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbig4KTtcbi8vICAgfVxuLy8gfVxuLy9cbi8vIDxkaXYgaWQ9XCJleHRlcm5hbC1jYXJkXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyXCI+PHA+U29tZSBjb250ZW50PC9wPjwvZGl2PlxuLy9cbi8vIEZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgZGVzaWduIGJlaGluZCBob3cgZWxldmF0aW9uIGlzIGltcGxlbWVudGVkLCBzZWUgdGhlIGRlc2lnbiBkb2MgYXRcbi8vIGh0dHBzOi8vZ29vLmdsL0txMGs5Wi5cblxuLy8gQ29sb3JzIGZvciB1bWJyYSwgcGVudW1icmEsIGFuZCBhbWJpZW50IHNoYWRvd3MuIEFzIGRlc2NyaWJlZCBpbiB0aGUgZGVzaWduIGRvYywgZWFjaCBlbGV2YXRpb25cbi8vIGxldmVsIGlzIGNyZWF0ZWQgdXNpbmcgYSBzZXQgb2YgMyBzaGFkb3cgdmFsdWVzLCBvbmUgZm9yIHVtYnJhICh0aGUgc2hhZG93IHJlcHJlc2VudGluZyB0aGVcbi8vIHNwYWNlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0IHJlbGF0aXZlIHRvIGl0cyBsaWdodCBzb3VyY2UpLCBvbmUgZm9yIHBlbnVtYnJhICh0aGVcbi8vIHNwYWNlIHBhcnRpYWxseSBvYnNjdXJlZCBieSBhbiBvYmplY3QpLCBhbmQgb25lIGZvciBhbWJpZW50ICh0aGUgc3BhY2Ugd2hpY2ggY29udGFpbnMgdGhlIG9iamVjdFxuLy8gaXRzZWxmKS4gRm9yIGEgZnVydGhlciBleHBsYW5hdGlvbiBvZiB0aGVzZSB0ZXJtcyBhbmQgdGhlaXIgbWVhbmluZ3MsIHNlZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW1icmEsX3BlbnVtYnJhX2FuZF9hbnR1bWJyYS5cblxuLy8gTWFwcyBmb3IgdGhlIGRpZmZlcmVudCBzaGFkb3cgc2V0cyBhbmQgdGhlaXIgdmFsdWVzIHdpdGhpbiBlYWNoIHotc3BhY2UuIFRoZXNlIHZhbHVlcyB3ZXJlXG4vLyBjcmVhdGVkIGJ5IHRha2luZyBhIGZldyByZWZlcmVuY2Ugc2hhZG93IHNldHMgY3JlYXRlZCBieSBHb29nbGUncyBEZXNpZ25lcnMgYW5kIGludGVycG9sYXRpbmdcbi8vIGFsbCBvZiB0aGUgdmFsdWVzIGJldHdlZW4gdGhlbS5cblxuQGZ1bmN0aW9uIF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggMXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCA0cHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggNnB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggN3B4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggOXB4IDEycHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDEwcHggMTRweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCAxMnB4IDE3cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDEzcHggMTlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCAxNXB4IDIycHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDE2cHggMjRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCAxOHB4IDI4cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDE5cHggMjlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAyMXB4IDMzcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDIycHggMzVweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAyNHB4IDM4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDNweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAxcHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMXB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggMXB4IDE0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggMnB4IDE2cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggM3B4IDE0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDRweCAxOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA0cHggMjBweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDVweCAyNHB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA1cHggMjZweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDZweCAzMHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA2cHggMzJweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDdweCAzNnB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCA4cHggMzhweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDhweCA0MnB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCA5cHggNDRweCA4cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiAyODBtcyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZWFzaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjtcblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBvcGFjaXR5IHNjYWxpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBlbGV2YXRpb24tcmVsYXRlZCBzZWxlY3RvcnMuXG4kbWF0LWVsZXZhdGlvbi1wcmVmaXg6ICdtYXQtZWxldmF0aW9uLXonO1xuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyB0byBhbiBlbGVtZW50IHRvIGdpdmUgaXQgdGhlIGVsZXZhdGlvbiBzcGVjaWZpZWQgYnkgJHpWYWx1ZS5cbi8vIFRoZSAkelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbkBtaXhpbiBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gIEBpZiB0eXBlLW9mKCR6VmFsdWUpICE9IG51bWJlciBvciBub3QgdW5pdGxlc3MoJHpWYWx1ZSkge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyJztcbiAgfVxuICBAaWYgJHpWYWx1ZSA8IDAgb3IgJHpWYWx1ZSA+IDI0IHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0JztcbiAgfVxuXG4gIGJveC1zaGFkb3c6ICN7bWFwLWdldChfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgZWxldmF0aW9uIHRvIGFuIGVsZW1lbnQgaW4gYSBtYW5uZXIgdGhhdCBhbGxvd3Ncbi8vIGNvbnN1bWVycyB0byBvdmVycmlkZSBpdCB2aWEgdGhlIE1hdGVyaWFsIGVsZXZhdGlvbiBjbGFzc2VzLlxuQG1peGluIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oXG4gICAgJHpWYWx1ZSxcbiAgICAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLFxuICAgICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICY6bm90KFtjbGFzcyo9JyN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIHRyYW5zaXRpb24gcHJvcGVydHkgZm9yIGVsZXZhdGlvbi5cbi8vIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGNvbXBvbmVudCBuZWVkcyB0byB0cmFuc2l0aW9uXG4vLyBtb3JlIHRoYW4gb25lIHByb3BlcnR5LlxuLy9cbi8vIC5mb28ge1xuLy8gICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoKSwgb3BhY2l0eSAxMDBtcyBlYXNlO1xuLy8gfVxuQGZ1bmN0aW9uIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZShcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgQHJldHVybiBib3gtc2hhZG93ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyBuZWVkZWQgdG8gaGF2ZSBhbiBlbGVtZW50IHRyYW5zaXRpb24gYmV0d2VlbiBlbGV2YXRpb25zLlxuLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgYXBwbGllZCB0byBlbGVtZW50cyB3aG9zZSBlbGV2YXRpb24gdmFsdWVzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGVpclxuLy8gY29udGV4dCAoZS5nLiB3aGVuIGFjdGl2ZSBvciBkaXNhYmxlZCkuXG4vL1xuLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogQm90aCB0aGlzIG1peGluIGFuZCB0aGUgYWJvdmUgZnVuY3Rpb24gdXNlIGRlZmF1bHQgcGFyYW1ldGVycyBzbyB0aGV5IGNhblxuLy8gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYnkgY2xpZW50cy5cbkBtaXhpbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24oXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgkZHVyYXRpb24sICRlYXNpbmcpO1xufVxuXG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG4vLyBJZiB0aGUgbWF0LWFuaW1hdGlvbi1ub29wIGNsYXNzIGlzIHByZXNlbnQgb24gdGhlIGNvbXBvbmVudHMgcm9vdCBlbGVtZW50LFxuLy8gcHJldmVudCBub24gY3NzIGFuaW1hdGlvbnMgZnJvbSBydW5uaW5nLlxuLy8gTk9URTogQ3VycmVudGx5IHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIGNvbXBvbmVudHMgdGhhdCBkbyBub3Rcbi8vIGhhdmUgYW55IHByb2plY3RlZCBjb250ZW50LlxuQG1peGluIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCkge1xuICAvLyBAYXQtcm9vdCBpcyB1c2VkIHRvIHN0ZXBzIG91dHNpZGUgb2YgdGhlIGhpZXJhcmNoeSBvZiB0aGUgc2NzcyBydWxlcy4gVGhpcyBpc1xuICAvLyBkb25lIHRvIGFsbG93IGEgY2xhc3MgdG8gYmUgYWRkZWQgdG8gYmUgYWRkZWQgdG8gYmFzZSBvZiB0aGUgc2NzcyBuZXN0aW5nXG4gIC8vIGNvbnRleHQuXG4gIC8vIEZvciBleGFtcGxlOlxuICAvLyAubXktcm9vdCB7XG4gIC8vICAgLm15LXN1YmNsYXNzIHtcbiAgLy8gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1hbmltYXRpb24tbm9vcCgpO1xuICAvLyAgICB9XG4gIC8vIH1cbiAgLy8gcmVzdWx0cyBpbjpcbiAgLy8gLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm15LXJvb3QgLm15LXN1YmNsYXNzIHsgLi4uIH1cbiAgQGF0LXJvb3QgLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlI3smfSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGFsZXR0ZXMgZnJvbSB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG4vLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4vL1xuLy8gQ29udHJhc3QgY29sb3JzIGFyZSBoYXJkLWNvZGVkIGJlY2F1c2UgaXQgaXMgdG9vIGRpZmZpY3VsdCAocHJvYmFibHkgaW1wb3NzaWJsZSkgdG9cbi8vIGNhbGN1bGF0ZSB0aGVtLiBUaGVzZSBjb250cmFzdCBjb2xvcnMgYXJlIHB1bGxlZCBmcm9tIHRoZSBwdWJsaWMgTWF0ZXJpYWwgRGVzaWduIHNwZWMgc3dhdGNoZXMuXG4vLyBXaGlsZSB0aGUgY29udHJhc3QgY29sb3JzIGluIHRoZSBzcGVjIGFyZSBub3QgcHJlc2NyaXB0aXZlLCB3ZSB1c2UgdGhlbSBmb3IgY29udmVuaWVuY2UuXG5cblxuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkZGFyay1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stODctb3BhY2l0eTogcmdiYShibGFjaywgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRsaWdodC1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtODctb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay0xMi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS0xMi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTYtb3BhY2l0eTogcmdiYShibGFjaywgMC4wNik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtNi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjA2KTtcblxuJGRhcmstcHJpbWFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjg3KTtcbiRkYXJrLXNlY29uZGFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjU0KTtcbiRkYXJrLWRpc2FibGVkLXRleHQ6IHJnYmEoYmxhY2ssIDAuMzgpO1xuJGRhcmstZGl2aWRlcnM6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGRhcmstZm9jdXNlZDogcmdiYShibGFjaywgMC4xMik7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiB3aGl0ZTtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KTtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKTtcbiRsaWdodC1mb2N1c2VkOiByZ2JhKHdoaXRlLCAwLjEyKTtcblxuJG1hdC1yZWQ6IChcbiAgNTA6ICNmZmViZWUsXG4gIDEwMDogI2ZmY2RkMixcbiAgMjAwOiAjZWY5YTlhLFxuICAzMDA6ICNlNTczNzMsXG4gIDQwMDogI2VmNTM1MCxcbiAgNTAwOiAjZjQ0MzM2LFxuICA2MDA6ICNlNTM5MzUsXG4gIDcwMDogI2QzMmYyZixcbiAgODAwOiAjYzYyODI4LFxuICA5MDA6ICNiNzFjMWMsXG4gIEExMDA6ICNmZjhhODAsXG4gIEEyMDA6ICNmZjUyNTIsXG4gIEE0MDA6ICNmZjE3NDQsXG4gIEE3MDA6ICNkNTAwMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1waW5rOiAoXG4gIDUwOiAjZmNlNGVjLFxuICAxMDA6ICNmOGJiZDAsXG4gIDIwMDogI2Y0OGZiMSxcbiAgMzAwOiAjZjA2MjkyLFxuICA0MDA6ICNlYzQwN2EsXG4gIDUwMDogI2U5MWU2MyxcbiAgNjAwOiAjZDgxYjYwLFxuICA3MDA6ICNjMjE4NWIsXG4gIDgwMDogI2FkMTQ1NyxcbiAgOTAwOiAjODgwZTRmLFxuICBBMTAwOiAjZmY4MGFiLFxuICBBMjAwOiAjZmY0MDgxLFxuICBBNDAwOiAjZjUwMDU3LFxuICBBNzAwOiAjYzUxMTYyLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcHVycGxlOiAoXG4gIDUwOiAjZjNlNWY1LFxuICAxMDA6ICNlMWJlZTcsXG4gIDIwMDogI2NlOTNkOCxcbiAgMzAwOiAjYmE2OGM4LFxuICA0MDA6ICNhYjQ3YmMsXG4gIDUwMDogIzljMjdiMCxcbiAgNjAwOiAjOGUyNGFhLFxuICA3MDA6ICM3YjFmYTIsXG4gIDgwMDogIzZhMWI5YSxcbiAgOTAwOiAjNGExNDhjLFxuICBBMTAwOiAjZWE4MGZjLFxuICBBMjAwOiAjZTA0MGZiLFxuICBBNDAwOiAjZDUwMGY5LFxuICBBNzAwOiAjYWEwMGZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLXB1cnBsZTogKFxuICA1MDogI2VkZTdmNixcbiAgMTAwOiAjZDFjNGU5LFxuICAyMDA6ICNiMzlkZGIsXG4gIDMwMDogIzk1NzVjZCxcbiAgNDAwOiAjN2U1N2MyLFxuICA1MDA6ICM2NzNhYjcsXG4gIDYwMDogIzVlMzViMSxcbiAgNzAwOiAjNTEyZGE4LFxuICA4MDA6ICM0NTI3YTAsXG4gIDkwMDogIzMxMWI5MixcbiAgQTEwMDogI2IzODhmZixcbiAgQTIwMDogIzdjNGRmZixcbiAgQTQwMDogIzY1MWZmZixcbiAgQTcwMDogIzYyMDBlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtaW5kaWdvOiAoXG4gIDUwOiAjZThlYWY2LFxuICAxMDA6ICNjNWNhZTksXG4gIDIwMDogIzlmYThkYSxcbiAgMzAwOiAjNzk4NmNiLFxuICA0MDA6ICM1YzZiYzAsXG4gIDUwMDogIzNmNTFiNSxcbiAgNjAwOiAjMzk0OWFiLFxuICA3MDA6ICMzMDNmOWYsXG4gIDgwMDogIzI4MzU5MyxcbiAgOTAwOiAjMWEyMzdlLFxuICBBMTAwOiAjOGM5ZWZmLFxuICBBMjAwOiAjNTM2ZGZlLFxuICBBNDAwOiAjM2Q1YWZlLFxuICBBNzAwOiAjMzA0ZmZlLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ibHVlOiAoXG4gIDUwOiAjZTNmMmZkLFxuICAxMDA6ICNiYmRlZmIsXG4gIDIwMDogIzkwY2FmOSxcbiAgMzAwOiAjNjRiNWY2LFxuICA0MDA6ICM0MmE1ZjUsXG4gIDUwMDogIzIxOTZmMyxcbiAgNjAwOiAjMWU4OGU1LFxuICA3MDA6ICMxOTc2ZDIsXG4gIDgwMDogIzE1NjVjMCxcbiAgOTAwOiAjMGQ0N2ExLFxuICBBMTAwOiAjODJiMWZmLFxuICBBMjAwOiAjNDQ4YWZmLFxuICBBNDAwOiAjMjk3OWZmLFxuICBBNzAwOiAjMjk2MmZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtYmx1ZTogKFxuICA1MDogI2UxZjVmZSxcbiAgMTAwOiAjYjNlNWZjLFxuICAyMDA6ICM4MWQ0ZmEsXG4gIDMwMDogIzRmYzNmNyxcbiAgNDAwOiAjMjliNmY2LFxuICA1MDA6ICMwM2E5ZjQsXG4gIDYwMDogIzAzOWJlNSxcbiAgNzAwOiAjMDI4OGQxLFxuICA4MDA6ICMwMjc3YmQsXG4gIDkwMDogIzAxNTc5YixcbiAgQTEwMDogIzgwZDhmZixcbiAgQTIwMDogIzQwYzRmZixcbiAgQTQwMDogIzAwYjBmZixcbiAgQTcwMDogIzAwOTFlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1jeWFuOiAoXG4gIDUwOiAjZTBmN2ZhLFxuICAxMDA6ICNiMmViZjIsXG4gIDIwMDogIzgwZGVlYSxcbiAgMzAwOiAjNGRkMGUxLFxuICA0MDA6ICMyNmM2ZGEsXG4gIDUwMDogIzAwYmNkNCxcbiAgNjAwOiAjMDBhY2MxLFxuICA3MDA6ICMwMDk3YTcsXG4gIDgwMDogIzAwODM4ZixcbiAgOTAwOiAjMDA2MDY0LFxuICBBMTAwOiAjODRmZmZmLFxuICBBMjAwOiAjMThmZmZmLFxuICBBNDAwOiAjMDBlNWZmLFxuICBBNzAwOiAjMDBiOGQ0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtdGVhbDogKFxuICA1MDogI2UwZjJmMSxcbiAgMTAwOiAjYjJkZmRiLFxuICAyMDA6ICM4MGNiYzQsXG4gIDMwMDogIzRkYjZhYyxcbiAgNDAwOiAjMjZhNjlhLFxuICA1MDA6ICMwMDk2ODgsXG4gIDYwMDogIzAwODk3YixcbiAgNzAwOiAjMDA3OTZiLFxuICA4MDA6ICMwMDY5NWMsXG4gIDkwMDogIzAwNGQ0MCxcbiAgQTEwMDogI2E3ZmZlYixcbiAgQTIwMDogIzY0ZmZkYSxcbiAgQTQwMDogIzFkZTliNixcbiAgQTcwMDogIzAwYmZhNSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZWVuOiAoXG4gIDUwOiAjZThmNWU5LFxuICAxMDA6ICNjOGU2YzksXG4gIDIwMDogI2E1ZDZhNyxcbiAgMzAwOiAjODFjNzg0LFxuICA0MDA6ICM2NmJiNmEsXG4gIDUwMDogIzRjYWY1MCxcbiAgNjAwOiAjNDNhMDQ3LFxuICA3MDA6ICMzODhlM2MsXG4gIDgwMDogIzJlN2QzMixcbiAgOTAwOiAjMWI1ZTIwLFxuICBBMTAwOiAjYjlmNmNhLFxuICBBMjAwOiAjNjlmMGFlLFxuICBBNDAwOiAjMDBlNjc2LFxuICBBNzAwOiAjMDBjODUzLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ncmVlbjogKFxuICA1MDogI2YxZjhlOSxcbiAgMTAwOiAjZGNlZGM4LFxuICAyMDA6ICNjNWUxYTUsXG4gIDMwMDogI2FlZDU4MSxcbiAgNDAwOiAjOWNjYzY1LFxuICA1MDA6ICM4YmMzNGEsXG4gIDYwMDogIzdjYjM0MixcbiAgNzAwOiAjNjg5ZjM4LFxuICA4MDA6ICM1NThiMmYsXG4gIDkwMDogIzMzNjkxZSxcbiAgQTEwMDogI2NjZmY5MCxcbiAgQTIwMDogI2IyZmY1OSxcbiAgQTQwMDogIzc2ZmYwMyxcbiAgQTcwMDogIzY0ZGQxNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saW1lOiAoXG4gIDUwOiAjZjlmYmU3LFxuICAxMDA6ICNmMGY0YzMsXG4gIDIwMDogI2U2ZWU5YyxcbiAgMzAwOiAjZGNlNzc1LFxuICA0MDA6ICNkNGUxNTcsXG4gIDUwMDogI2NkZGMzOSxcbiAgNjAwOiAjYzBjYTMzLFxuICA3MDA6ICNhZmI0MmIsXG4gIDgwMDogIzllOWQyNCxcbiAgOTAwOiAjODI3NzE3LFxuICBBMTAwOiAjZjRmZjgxLFxuICBBMjAwOiAjZWVmZjQxLFxuICBBNDAwOiAjYzZmZjAwLFxuICBBNzAwOiAjYWVlYTAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC15ZWxsb3c6IChcbiAgNTA6ICNmZmZkZTcsXG4gIDEwMDogI2ZmZjljNCxcbiAgMjAwOiAjZmZmNTlkLFxuICAzMDA6ICNmZmYxNzYsXG4gIDQwMDogI2ZmZWU1OCxcbiAgNTAwOiAjZmZlYjNiLFxuICA2MDA6ICNmZGQ4MzUsXG4gIDcwMDogI2ZiYzAyZCxcbiAgODAwOiAjZjlhODI1LFxuICA5MDA6ICNmNTdmMTcsXG4gIEExMDA6ICNmZmZmOGQsXG4gIEEyMDA6ICNmZmZmMDAsXG4gIEE0MDA6ICNmZmVhMDAsXG4gIEE3MDA6ICNmZmQ2MDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYW1iZXI6IChcbiAgNTA6ICNmZmY4ZTEsXG4gIDEwMDogI2ZmZWNiMyxcbiAgMjAwOiAjZmZlMDgyLFxuICAzMDA6ICNmZmQ1NGYsXG4gIDQwMDogI2ZmY2EyOCxcbiAgNTAwOiAjZmZjMTA3LFxuICA2MDA6ICNmZmIzMDAsXG4gIDcwMDogI2ZmYTAwMCxcbiAgODAwOiAjZmY4ZjAwLFxuICA5MDA6ICNmZjZmMDAsXG4gIEExMDA6ICNmZmU1N2YsXG4gIEEyMDA6ICNmZmQ3NDAsXG4gIEE0MDA6ICNmZmM0MDAsXG4gIEE3MDA6ICNmZmFiMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtb3JhbmdlOiAoXG4gIDUwOiAjZmZmM2UwLFxuICAxMDA6ICNmZmUwYjIsXG4gIDIwMDogI2ZmY2M4MCxcbiAgMzAwOiAjZmZiNzRkLFxuICA0MDA6ICNmZmE3MjYsXG4gIDUwMDogI2ZmOTgwMCxcbiAgNjAwOiAjZmI4YzAwLFxuICA3MDA6ICNmNTdjMDAsXG4gIDgwMDogI2VmNmMwMCxcbiAgOTAwOiAjZTY1MTAwLFxuICBBMTAwOiAjZmZkMTgwLFxuICBBMjAwOiAjZmZhYjQwLFxuICBBNDAwOiAjZmY5MTAwLFxuICBBNzAwOiAjZmY2ZDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiBibGFjayxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLW9yYW5nZTogKFxuICA1MDogI2ZiZTllNyxcbiAgMTAwOiAjZmZjY2JjLFxuICAyMDA6ICNmZmFiOTEsXG4gIDMwMDogI2ZmOGE2NSxcbiAgNDAwOiAjZmY3MDQzLFxuICA1MDA6ICNmZjU3MjIsXG4gIDYwMDogI2Y0NTExZSxcbiAgNzAwOiAjZTY0YTE5LFxuICA4MDA6ICNkODQzMTUsXG4gIDkwMDogI2JmMzYwYyxcbiAgQTEwMDogI2ZmOWU4MCxcbiAgQTIwMDogI2ZmNmU0MCxcbiAgQTQwMDogI2ZmM2QwMCxcbiAgQTcwMDogI2RkMmMwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYnJvd246IChcbiAgNTA6ICNlZmViZTksXG4gIDEwMDogI2Q3Y2NjOCxcbiAgMjAwOiAjYmNhYWE0LFxuICAzMDA6ICNhMTg4N2YsXG4gIDQwMDogIzhkNmU2MyxcbiAgNTAwOiAjNzk1NTQ4LFxuICA2MDA6ICM2ZDRjNDEsXG4gIDcwMDogIzVkNDAzNyxcbiAgODAwOiAjNGUzNDJlLFxuICA5MDA6ICMzZTI3MjMsXG4gIEExMDA6ICNkN2NjYzgsXG4gIEEyMDA6ICNiY2FhYTQsXG4gIEE0MDA6ICM4ZDZlNjMsXG4gIEE3MDA6ICM1ZDQwMzcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JleTogKFxuICA1MDogI2ZhZmFmYSxcbiAgMTAwOiAjZjVmNWY1LFxuICAyMDA6ICNlZWVlZWUsXG4gIDMwMDogI2UwZTBlMCxcbiAgNDAwOiAjYmRiZGJkLFxuICA1MDA6ICM5ZTllOWUsXG4gIDYwMDogIzc1NzU3NSxcbiAgNzAwOiAjNjE2MTYxLFxuICA4MDA6ICM0MjQyNDIsXG4gIDkwMDogIzIxMjEyMSxcbiAgQTEwMDogI2ZmZmZmZixcbiAgQTIwMDogI2VlZWVlZSxcbiAgQTQwMDogI2JkYmRiZCxcbiAgQTcwMDogIzYxNjE2MSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ncmF5OiAkbWF0LWdyZXk7XG5cbiRtYXQtYmx1ZS1ncmV5OiAoXG4gIDUwOiAjZWNlZmYxLFxuICAxMDA6ICNjZmQ4ZGMsXG4gIDIwMDogI2IwYmVjNSxcbiAgMzAwOiAjOTBhNGFlLFxuICA0MDA6ICM3ODkwOWMsXG4gIDUwMDogIzYwN2Q4YixcbiAgNjAwOiAjNTQ2ZTdhLFxuICA3MDA6ICM0NTVhNjQsXG4gIDgwMDogIzM3NDc0ZixcbiAgOTAwOiAjMjYzMjM4LFxuICBBMTAwOiAjY2ZkOGRjLFxuICBBMjAwOiAjYjBiZWM1LFxuICBBNDAwOiAjNzg5MDljLFxuICBBNzAwOiAjNDU1YTY0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWJsdWUtZ3JheTogJG1hdC1ibHVlLWdyZXk7XG5cblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCAxMDApLFxuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLFxuICBob3ZlcjogICAgICByZ2JhKGJsYWNrLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgd2hpdGUsXG4gIGRpYWxvZzogICAgIHdoaXRlLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEoYmxhY2ssIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiB3aGl0ZSxcbiAgZm9jdXNlZC1idXR0b246ICRkYXJrLWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDQwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IGJsYWNrLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgYmFja2dyb3VuZDogIzMwMzAzMCxcbiAgaG92ZXI6ICAgICAgcmdiYSh3aGl0ZSwgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaWFsb2c6ICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKHdoaXRlLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGZvY3VzZWQtYnV0dG9uOiAkbGlnaHQtZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogYmxhY2ssXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBibGFjayxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRkYXJrLXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIGljb25zOiAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgdGV4dDogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItbWluOiAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEoYmxhY2ssIDAuMzgpLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgZGl2aWRlcjogICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHdoaXRlLFxuICBpY29uczogICAgICAgICAgICAgd2hpdGUsXG4gIHRleHQ6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHdoaXRlLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEod2hpdGUsIDAuMyksXG4pO1xuXG4vLyBOb3RlIHRoYXQgdGhpcyBmaWxlIGlzIGNhbGxlZCBgcHJpdmF0ZWAsIGJlY2F1c2UgdGhlIEFQSXMgaW4gaXQgYXJlbid0IHB1YmxpYyB5ZXQuXG4vLyBPbmNlIHRoZXkncmUgbWFkZSBhdmFpbGFibGUsIHRoZSBjb2RlIHNob3VsZCBiZSBtb3ZlZCBvdXQgaW50byBhbiBgaW5kZXguc2Nzc2AuXG5cbi8vIFRha2VuIGZyb20gbWF0LWRlbnNpdHkgd2l0aCBzbWFsbCBtb2RpZmljYXRpb25zIHRvIG5vdCByZWx5IG9uIHRoZSBuZXcgU2FzcyBtb2R1bGVcbi8vIHN5c3RlbSwgYW5kIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IHByb3BlcnRpZXMgaW4gYSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9ibG9iL21hc3Rlci9wYWNrYWdlcy9tZGMtZGVuc2l0eVxuXG4kX21hdC1kZW5zaXR5LWludGVydmFsOiA0cHggIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGU6IG1pbmltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1heGltdW0tc2NhbGU6IG1heGltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXM6IChkZWZhdWx0LCBtaW5pbXVtLCBtYXhpbXVtKSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktZGVmYXVsdC1zY2FsZTogMCAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYXQgcm9vdC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgdHJ1ZWBcbi8vIHdoZW5ldmVyIGRlbnNpdHkgc3R5bGVzIGZvciBsZWdhY3kgdGhlbWVzIGFyZSBnZW5lcmF0ZWQuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBmYWxzZTtcbi8vIFdoZXRoZXIgZGVuc2l0eSBzdHlsZXMgc2hvdWxkIGJlIGdlbmVyYXRlZC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgZmFsc2VgIGlmXG4vLyBkdXBsaWNhdGUgZGVuc2l0eSBzdHlsZXMgZm9yIGEgbGVnYWN5IHRoZW1lIHdvdWxkIGJlIGdlbmVyYXRlZC4gRm9yIGxlZ2FjeSB0aGVtZXMsXG4vLyB3ZSBhbHdheXMgZ2VuZXJhdGUgdGhlIGRlZmF1bHQgZGVuc2l0eSAqKm9ubHkgb25jZSoqIGF0IHJvb3QuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWU7XG5cbi8vIE1peGluIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JhcCBkZW5zaXR5IHN0eWxlcyBvZiBnaXZlbiBjb21wb25lbnRzLiBUaGUgbWl4aW4gd2lsbFxuLy8gbW92ZSB0aGUgZGVuc2l0eSBzdHlsZXMgdG8gcm9vdCBpZiB0aGUgYCRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3RgIGdsb2JhbCB2YXJpYWJsZVxuLy8gaXMgc2V0LiBJZiBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzYCBpcyBzZXQgdG8gYGZhbHNlYCwgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5XG4vLyBzdHlsZXMgd3JhcHBlZCBpbiB0aGlzIG1peGluIGlzIHNraXBwZWQuIFRoaXMgbWl4aW4gZXhpc3RzIHRvIGltcHJvdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbi8vIG9mIHRoZSBuZXcgdGhlbWluZyBBUEkgd2hlcmUgZGVuc2l0eSBzdHlsZXMgYXJlIGluY2x1ZGVkIGFzIHBhcnQgb2YgdGhlbWVzLiBQcmV2aW91c2x5LFxuLy8gZGVuc2l0eSBzdHlsZXMgb2YgY29tcG9uZW50cyB3ZXJlIHBhcnQgb2YgdGhlaXIgYmFzZSBzdHlsZXMuIFdpdGggdGhlIG5ldyBBUEksIHRoZXkgYXJlXG4vLyBwYXJ0IG9mIHRoZSB0aGVtaW5nIHN5c3RlbS4gVGhlIGA8Li4+LXRoZW1lYCBtaXhpbnMgZ2VuZXJhdGUgZGVuc2l0eSBieSBkZWZhdWx0IHVubGVzc1xuLy8gdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyBwZXIgbmV3IEFQSS4gVGhpcyBtZWFucywgdGhhdCBwcm9qZWN0c1xuLy8gdXNpbmcgYDwuLj4tdGhlbWVgIG1peGlucyBmb3Igc2VwYXJhdGUgdGhlbWVzIChsaWtlIGAuZGFyay10aGVtZWApIHdpbGwgY2F1c2UgZHVwbGljYXRlXG4vLyBkZW5zaXR5IHN0eWxlcy4gVGhpcyBpcyBicmVha2luZyBhcyBpdCBpbmNyZWFzZXMgc3BlY2lmaWNpdHkgb2YgZGVuc2l0eSBzdHlsZXMuIFRoaXMgbWl4aW5cbi8vIHByb3ZpZGVzIGFuIEFQSSB0byBjb250cm9sIGdlbmVyYXRpb24gb2YgZGVuc2l0eSBzdHlsZXMgc28gdGhhdCB3ZSBjYW4gZW5zdXJlIHRoZXkgYXJlIG9ubHlcbi8vIGNyZWF0ZWQgKm9uY2UqIGFuZCBhdCByb290LlxuQG1peGluIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gIEBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMgYW5kICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Qge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJGRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgJHByb3BlcnR5LW5hbWUpIHtcbiAgQGlmICh0eXBlLW9mKCRkZW5zaXR5LXNjYWxlKSA9PSAnc3RyaW5nJyBhbmRcbiAgICAgIGluZGV4KCRsaXN0OiAkX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXMsICR2YWx1ZTogJGRlbnNpdHktc2NhbGUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZXMgI3skX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXN9LCAnICArXG4gICAgICAnYnV0IHJlY2VpdmVkICN7JGRlbnNpdHktc2NhbGV9Lic7XG4gIH1cblxuICAkdmFsdWU6IG51bGw7XG4gICRwcm9wZXJ0eS1zY2FsZS1tYXA6IG1hcC1nZXQoJGRlbnNpdHktY29uZmlnLCAkcHJvcGVydHktbmFtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsIGRlZmF1bHQpICsgJGRlbnNpdHktc2NhbGUgKiAkX21hdC1kZW5zaXR5LWludGVydmFsO1xuICB9XG5cbiAgJG1pbi12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGUpO1xuICAkbWF4LXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZSk7XG5cbiAgQGlmICgkdmFsdWUgPCAkbWluLXZhbHVlIG9yICR2YWx1ZSA+ICRtYXgtdmFsdWUpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiAjeyRwcm9wZXJ0eS1uYW1lfSBtdXN0IGJlIGJldHdlZW4gI3skbWluLXZhbHVlfSBhbmQgJyArXG4gICAgICAnI3skbWF4LXZhbHVlfSAoaW5jbHVzaXZlKSwgYnV0IHJlY2VpdmVkICN7JHZhbHVlfS4nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8gV2hldGhlciBkdXBsaWNhdGlvbiB3YXJuaW5ncyBzaG91bGQgYmUgZGlzYWJsZWQuIFdhcm5pbmdzIGVuYWJsZWQgYnkgZGVmYXVsdC5cbiRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiRfbWF0LXRoZW1lLWdlbmVyYXRlLWRlZmF1bHQtZGVuc2l0eTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2FybmluZyB0aGF0IHdpbGwgYmUgcHJpbnRlZCBpZiBkdXBsaWNhdGVkIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGEgdGhlbWUuXG4kX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZzogJ1JlYWQgbW9yZSBhYm91dCBob3cgc3R5bGUgZHVwbGljYXRpb24gY2FuIGJlIGF2b2lkZWQgaW4gYSAnICtcbiAgJ2RlZGljYXRlZCBndWlkZS4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21hc3Rlci9ndWlkZXMvZHVwbGljYXRlLXRoZW1pbmctc3R5bGVzLm1kJztcblxuLy8gVGhlc2UgdmFyaWFibGUgYXJlIG5vdCBpbnRlbmRlZCB0byBiZSBvdmVycmlkZGVuIGV4dGVybmFsbHkuIFRoZXkgdXNlIGAhZGVmYXVsdGAgdG9cbi8vIGF2b2lkIGJlaW5nIHJlc2V0IGV2ZXJ5IHRpbWUgdGhpcyBmaWxlIGlzIGltcG9ydGVkLlxuJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiAoKSAhZGVmYXVsdDtcblxuLy8gRm9yIGEgZ2l2ZW4gaHVlIGluIGEgcGFsZXR0ZSwgcmV0dXJuIHRoZSBjb250cmFzdCBjb2xvciBmcm9tIHRoZSBtYXAgb2YgY29udHJhc3QgcGFsZXR0ZXMuXG4vLyBAcGFyYW0gJHBhbGV0dGVcbi8vIEBwYXJhbSAkaHVlXG5AZnVuY3Rpb24gbWF0LWNvbnRyYXN0KCRwYWxldHRlLCAkaHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlLCBjb250cmFzdCksICRodWUpO1xufVxuXG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG4vLyBAcGFyYW0gJGJhc2UtcGFsZXR0ZVxuLy8gQHBhcmFtICRkZWZhdWx0XG4vLyBAcGFyYW0gJGxpZ2h0ZXJcbi8vIEBwYXJhbSAkZGFya2VyXG4vLyBAcGFyYW0gJHRleHRcbkBmdW5jdGlvbiBtYXQtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdDogNTAwLCAkbGlnaHRlcjogMTAwLCAkZGFya2VyOiA3MDAsICR0ZXh0OiAkZGVmYXVsdCkge1xuICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGJhc2UtcGFsZXR0ZSwgKFxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICB0ZXh0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICR0ZXh0KSxcblxuICAgIGRlZmF1bHQtY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKVxuICApKTtcblxuICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgQGVhY2ggJGh1ZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAnI3skaHVlfS1jb250cmFzdCc6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkaHVlKVxuICAgICkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5cbi8vIEdldHMgYSBjb2xvciBmcm9tIGEgdGhlbWUgcGFsZXR0ZSAodGhlIG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChkZWZhdWx0LCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbi8vXG4vLyBAcGFyYW0gJHBhbGV0dGUgVGhlIHRoZW1lIHBhbGV0dGUgKG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBAcGFyYW0gJGh1ZSBUaGUgaHVlIGZyb20gdGhlIHBhbGV0dGUgdG8gdXNlLiBJZiB0aGlzIGlzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLCBpdCB3aWxsXG4vLyAgICAgYmUgdHJlYXRlZCBhcyBvcGFjaXR5LlxuLy8gQHBhcmFtICRvcGFjaXR5IFRoZSBhbHBoYSBjaGFubmVsIHZhbHVlIGZvciB0aGUgY29sb3IuXG5AZnVuY3Rpb24gbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlOiBkZWZhdWx0LCAkb3BhY2l0eTogbnVsbCkge1xuICAvLyBJZiBodWVLZXkgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCBvbmUsIHRoZW4gaXQgYWN0dWFsbHkgY29udGFpbnMgYW5cbiAgLy8gb3BhY2l0eSB2YWx1ZSwgc28gcmVjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgZGVmYXVsdCBodWUgYW5kIHRoYXQgZ2l2ZW4gb3BhY2l0eS5cbiAgQGlmIHR5cGUtb2YoJGh1ZSkgPT0gbnVtYmVyIGFuZCAkaHVlID49IDAgYW5kICRodWUgPD0gMSB7XG4gICAgQHJldHVybiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRodWUpO1xuICB9XG5cbiAgJGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCAkaHVlKTtcblxuICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgIC8vIElmIHRoZSAkY29sb3IgcmVzb2x2ZWQgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIGEgY29sb3IgKGUuZy4gYSBDU1MgdmFyaWFibGUpLFxuICAgIC8vIHdlIGNhbid0IGFwcGx5IHRoZSBvcGFjaXR5IGFueXdheSBzbyB3ZSByZXR1cm4gdGhlIHZhbHVlIGFzIGlzLCBvdGhlcndpc2UgU2FzcyBjYW5cbiAgICAvLyB0aHJvdyBhbiBlcnJvciBvciBvdXRwdXQgc29tZXRoaW5nIGludmFsaWQuXG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cblxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCBpZigkb3BhY2l0eSA9PSBudWxsLCBvcGFjaXR5KCRjb2xvciksICRvcGFjaXR5KSk7XG59XG5cbi8vIFZhbGlkYXRlcyB0aGUgc3BlY2lmaWVkIHRoZW1lIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIG9wdGlvbmFsIGNvbG9yIGNvbmZpZyBkZWZpbmVzXG4vLyBhIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlLiBSZXR1cm5zIHRoZSB0aGVtZSBpZiBubyBmYWlsdXJlcyB3ZXJlIGZvdW5kLlxuQGZ1bmN0aW9uIF9tYXQtdmFsaWRhdGUtdGhlbWUoJHRoZW1lKSB7XG4gIEBpZiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gICAgQGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgcHJpbWFyeSkge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcInByaW1hcnlcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgYWNjZW50KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwiYWNjZW50XCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWdldCgkY29sb3IsIHdhcm4pIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJ3YXJuXCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICR0aGVtZTtcbn1cblxuLy8gQ3JlYXRlcyBhIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IGZhbHNlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtbGlnaHQtdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgbGlnaHQtdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgoXG4gICAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgICAgY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBsaWdodC10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSkpO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoJHJlc3VsdCkpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBkYXJrIHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbi8vIFRPRE86IFJlbW92ZSBsZWdhY3kgQVBJIGFuZCByZW5hbWUgYCRwcmltYXJ5YCB0byBgJGNvbmZpZ2AuIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgcmVuYW1lZFxuLy8gYXMgaXQgd291bGQgYnJlYWsgZXhpc3RpbmcgYXBwcyB0aGF0IHNldCB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUuXG5AZnVuY3Rpb24gbWF0LWRhcmstdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgZGFyay10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vLyBHZXRzIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lLCAkZGVmYXVsdDogbnVsbCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgLy8gSWYgdGhlIHRoZW1lIGhhcyBiZWVuIGNvbnN0cnVjdGVkIHRocm91Z2ggdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSwgd2UgdXNlIHRoZSB0aGVtZSBvYmplY3RcbiAgLy8gYXMgY29sb3IgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSBkZWRpY2F0ZWQgYGNvbG9yYCBwcm9wZXJ0eS4gV2UgZG8gdGhpcyBiZWNhdXNlIGZvclxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgd2UgY29waWVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAuXG4gIC8vIEhlbmNlIGRldmVsb3BlcnMgY291bGQgY3VzdG9taXplIHRoZSBjb2xvcnMgYXQgdG9wLWxldmVsIGFuZCB3YW50IHRvIHJlc3BlY3QgdGhlc2UgY2hhbmdlc1xuICAvLyBUT0RPOiBSZW1vdmUgd2hlbiBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgQGlmIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogMCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBkZW5zaXR5IGNvbmZpZy5cbiAgQGlmIG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIGRlbnNpdHkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEdldHMgdGhlIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuLy8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdHlwb2dyYXBoeSBpcyBub3QgaW5jbHVkZWQgYnkgZGVmYXVsdC5cbkBmdW5jdGlvbiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IHR5cG9ncmFwaHkgY29uZmlnLlxuICBAaWYgKG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cblxuLy9cbi8vIFByaXZhdGUgQVBJc1xuLy9cblxuLy8gQ2hlY2tzIGlmIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSBiZWVuIGRlY2xhcmVkIGluIHRoZSBnaXZlbiB0aGVtZSBoYXZlIGJlZW4gZ2VuZXJhdGVkXG4vLyBiZWZvcmUuIElmIHNvLCB3YXJuaW5ncyB3aWxsIGJlIHJlcG9ydGVkLiBUaGlzIHNob3VsZCBub3RpZnkgZGV2ZWxvcGVycyBpbiBjYXNlIGR1cGxpY2F0ZVxuLy8gc3R5bGVzIGFyZSBhY2NpZGVudGFsbHkgZ2VuZXJhdGVkIGR1ZSB0byB3cm9uZyB1c2FnZSBvZiB0aGUgYWxsLXRoZW1lIG1peGlucy5cbi8vXG4vLyBBZGRpdGlvbmFsbHksIHRoaXMgbWl4aW4gY29udHJvbHMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uIEJ5XG4vLyBkZWZhdWx0LCBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGF0IHNjYWxlIHplcm8uIElmIHRoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlXG4vLyBnZW5lcmF0ZWQgYSBzZWNvbmQgdGltZSB0aG91Z2gsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgY2hhbmdlIHRvIGF2b2lkIGR1cGxpY2F0ZSBzdHlsZXMuXG4vL1xuLy8gVGhlIG1peGluIGtlZXBzIHRyYWNrIG9mIGFsbCBjb25maWd1cmF0aW9ucyBpbiBhIGxpc3QgdGhhdCBpcyBzY29wZWQgdG8gdGhlIHNwZWNpZmllZFxuLy8gaWQuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgYSBnaXZlbiB0aGVtZSBjYW4gYmUgcGFzc2VkIHRvIG11bHRpcGxlIGRpc2pvaW50IHRoZW1lIG1peGluc1xuLy8gKGUuZy4gYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIGFuZCBgYW5ndWxhci1tYXRlcmlhbC1tZGMtdGhlbWVgKSB3aXRob3V0IGNhdXNpbmcgYW55XG4vLyBzdHlsZSBkdXBsaWNhdGlvbi5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRpZCkge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICRjb2xvci1jb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICRkZW5zaXR5LWNvbmZpZzogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAkdHlwb2dyYXBoeS1jb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcbiAgLy8gTGlzdHMgb2YgcHJldmlvdXMgYGNvbG9yYCwgYGRlbnNpdHlgIGFuZCBgdHlwb2dyYXBoeWAgY29uZmlndXJhdGlvbnMuXG4gICRwcmV2aW91cy1jb2xvcjogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAkaWQpIG9yICgpO1xuICAkcHJldmlvdXMtdHlwb2dyYXBoeTogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy1kZW5zaXR5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgJGlkKSBvciAoKTtcbiAgLy8gV2hldGhlciBkdXBsaWNhdGUgbGVnYWN5IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZC5cbiAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogZmFsc2U7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRjb2xvci1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSBjb2xvciBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy1jb2xvcjogYXBwZW5kKCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkdHlwb2dyYXBoeS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy10eXBvZ3JhcGh5LCAkdHlwb2dyYXBoeS1jb25maWcpICE9IG51bGwgYW5kXG4gICAgICAgIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnVGhlIHNhbWUgdHlwb2dyYXBoeSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy10eXBvZ3JhcGh5OiBhcHBlbmQoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkZGVuc2l0eS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpICE9IG51bGwge1xuICAgICAgLy8gT25seSByZXBvcnQgYSB3YXJuaW5nIGlmIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgZm9yIG5vbi1sZWdhY3kgdGhlbWVcbiAgICAgIC8vIGRlZmluaXRpb25zLiBGb3IgbGVnYWN5IHRoZW1lcywgd2UgaGF2ZSBjb21wYXRpYmlsaXR5IGxvZ2ljIHRoYXQgYXZvaWRzIGR1cGxpY2F0aW9uXG4gICAgICAvLyBvZiBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzLiBXZSBkb24ndCB3YW50IHRvIHJlcG9ydCBhIHdhcm5pbmcgaW4gdGhvc2UgY2FzZXMuXG4gICAgICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgICAgICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiB0cnVlO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gJ1RoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgJHByZXZpb3VzLWRlbnNpdHk6IGFwcGVuZCgkcHJldmlvdXMtZGVuc2l0eSwgJGRlbnNpdHktY29uZmlnKTtcbiAgfVxuXG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICgkaWQ6ICRwcmV2aW91cy1jb2xvcikpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAoJGlkOiAkcHJldmlvdXMtZGVuc2l0eSkpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5LCAoJGlkOiAkcHJldmlvdXMtdHlwb2dyYXBoeSkpICFnbG9iYWw7XG5cbiAgLy8gT3B0aW9uYWxseSwgY29uc3VtZXJzIG9mIHRoaXMgbWl4aW4gY2FuIHdyYXAgY29udGVudHMgaW5zaWRlIHNvIHRoYXQgbmVzdGVkXG4gIC8vIGR1cGxpY2F0ZSBzdHlsZSBjaGVja3MgZG8gbm90IHJlcG9ydCBhbm90aGVyIHdhcm5pbmcuIGUuZy4gaWYgZGV2ZWxvcGVycyBpbmNsdWRlXG4gIC8vIHRoZSBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgbWl4aW4gdHdpY2UsIG9ubHkgdGhlIHRvcC1sZXZlbCBkdXBsaWNhdGUgc3R5bGVzIGNoZWNrXG4gIC8vIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nLiBOb3QgYWxsIGluZGl2aWR1YWwgY29tcG9uZW50cyBzaG91bGQgcmVwb3J0IGEgd2FybmluZyB0b28uXG4gICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzO1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogdHJ1ZSAhZ2xvYmFsO1xuXG4gIC8vIElmIGR1cGxpY2F0ZSBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZCBmb3IgYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUsXG4gIC8vIHdlIGFkanVzdCB0aGUgZGVuc2l0eSBnZW5lcmF0aW9uIHNvIHRoYXQgbm8gZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuICAvLyBJZiBubyBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgeWV0LCB3ZSBlbnN1cmUgdGhhdCB0aGUgc3R5bGVzXG4gIC8vIGFyZSBnZW5lcmF0ZWQgYXQgcm9vdC4gRm9yIGxlZ2FjeSB0aGVtZXMgb3VyIGdvYWwgaXMgdG8gZ2VuZXJhdGUgZGVmYXVsdCBkZW5zaXR5XG4gIC8vIHN0eWxlcyAqKm9uY2UqKiBhbmQgYXQgcm9vdC4gVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3Igd2hlcmUgZGVuc2l0eSBzdHlsZXMgd2VyZVxuICAvLyBwYXJ0IG9mIHRoZSBiYXNlIGNvbXBvbmVudCBzdHlsZXMgKHRoYXQgZGlkIG5vdCB1c2UgdmlldyBlbmNhcHN1bGF0aW9uKS5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgY29tcGF0aWJpbGl0eSBsb2dpYyB3aGVuIHRoZSBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiBub3QgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyAhZ2xvYmFsO1xuXG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlICFnbG9iYWw7XG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZSAhZ2xvYmFsO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgcmVzb2x2ZXMgdG8gYSB0aGVtZSBvYmplY3QuIFRoZW1lIG9iamVjdHMgYXJlIGFsd2F5c1xuLy8gb2YgdHlwZSBgbWFwYCBhbmQgY2FuIG9wdGlvbmFsbHkgb25seSBzcGVjaWZ5IGBjb2xvcmAsIGBkZW5zaXR5YCBvciBgdHlwb2dyYXBoeWAuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgKFxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgY29sb3IpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBkZW5zaXR5KSBvclxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgdHlwb2dyYXBoeSkgb3JcbiAgICBsZW5ndGgoJHZhbHVlKSA9PSAwXG4gICk7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gdmFsdWUgY29ycmVzcG9uZHMgdG8gYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgbWFwLWdldCgkdmFsdWUsICdfaXMtbGVnYWN5LXRoZW1lJyk7XG59XG5cbi8vIENyZWF0ZXMgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSB0aGVtZS4gUHJldmlvdXNseSBpbiBBbmd1bGFyIE1hdGVyaWFsLCB0aGVtZSBvYmplY3RzXG4vLyBjb250YWluZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkuIFdpdGggdGhlIHJlY2VudCByZWZhY3RvcmluZyBvZiB0aGUgdGhlbWluZ1xuLy8gc3lzdGVtIHRvIGFsbG93IGZvciBkZW5zaXR5IGFuZCB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb25zLCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZS5cbi8vIFRvIGVuc3VyZSB0aGF0IGNvbnN0cnVjdGVkIHRoZW1lcyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBjdXN0b20gdGhlbWUgbWl4aW5zIGRvIG5vdCBicmVhayxcbi8vIHdlIGNvcHkgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gYW5kIHB1dCBpdHMgcHJvcGVydGllcyBhdCB0aGUgdG9wLWxldmVsIG9mIHRoZSB0aGVtZSBvYmplY3QuXG4vLyBIZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBwYXR0ZXJuIHRoYXQgc2hvdWxkIHN0aWxsIHdvcmsgdW50aWwgaXQncyBvZmZpY2lhbGx5IG1hcmtlZCBhcyBhXG4vLyBicmVha2luZyBjaGFuZ2U6XG4vL1xuLy8gICAgQG1peGluIG15LWN1c3RvbS1jb21wb25lbnQtdGhlbWUoJHRoZW1lKSB7XG4vLyAgICAgIC5teS1jb21wIHtcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIHByaW1hcnkpKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy9cbi8vIE5vdGUgdGhhdCB0aGUgYCR0aGVtZS5wcmltYXJ5YCBrZXkgZG9lcyB1c3VhbGx5IG5vdCBleGlzdCBzaW5jZSB0aGUgY29sb3IgY29uZmlndXJhdGlvblxuLy8gaXMgc3RvcmVkIGluIGAkdGhlbWUuY29sb3JgIHdoaWNoIGNvbnRhaW5zIGEgcHJvcGVydHkgZm9yIGBwcmltYXJ5YC4gVGhpcyBtZXRob2QgY29waWVzXG4vLyB0aGUgbWFwIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG5vdCBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCR0aGVtZSwgJGNvbG9yKTtcbn1cblxuLy8gR2V0cyB0aGUgdGhlbWUgZnJvbSB0aGUgZ2l2ZW4gdmFsdWUgdGhhdCBpcyBlaXRoZXIgYWxyZWFkeSBhIHRoZW1lLCBvciBhIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4vLyBUaGlzIGhhbmRsZXMgdGhlIGxlZ2FjeSBjYXNlIHdoZXJlIGRldmVsb3BlcnMgcGFzcyBhIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlXG4vLyB0aGVtZSBtaXhpbi4gQmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIG5ldyBwYXR0ZXJuIGZvciBjb25zdHJ1Y3RpbmcgYSB0aGVtZSwgZGV2ZWxvcGVycyBwYXNzZWRcbi8vIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IHRvIHRoZSB0aGVtZSBtaXhpbnMuIFRoaXMgY2FuIGJlIHN0aWxsIHRoZSBjYXNlIGlmIGRldmVsb3BlcnNcbi8vIGNvbnN0cnVjdCBhIHRoZW1lIG1hbnVhbGx5IGFuZCBwYXNzIGl0IHRvIGEgdGhlbWUuIFdlIHN1cHBvcnQgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4vLyBUT0RPKGRldnZlcnNpb24pOiByZW1vdmUgdGhpcyBpbiB0aGUgZnV0dXJlLiBDb25zdHJ1Y3RpbmcgdGhlbWVzIG1hbnVhbGx5IGlzIHJhcmUsXG4vLyBhbmQgdGhlIGNvZGUgY2FuIGJlIGVhc2lseSB1cGRhdGVkIHRvIHRoZSBuZXcgQVBJLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb2xvci1jb25maWc7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoKFxuICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgY29sb3I6ICR0aGVtZS1vci1jb2xvci1jb25maWdcbiAgKSk7XG59XG5cblxuXG4kbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5OiAwLjE7XG5cbkBtaXhpbiBtYXQtcmlwcGxlKCkge1xuXG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGVzIGluc2lkZSBhcmUgY29ycmVjdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGUgY29udGFpbmVyLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGV2ZXJ5IHJpcHBsZSBjb250YWluZXIgc2hvdWxkIGhhdmUgcG9zaXRpb246IHJlbGF0aXZlIGluIGZhdm9yIG9mIGNyZWF0aW5nIGFuXG4gICAgLy8gZWFzeSBBUEkgZm9yIGRldmVsb3BlcnMgdXNpbmcgdGhlIE1hdFJpcHBsZSBkaXJlY3RpdmUuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUHJvbW90ZSBjb250YWluZXJzIHRoYXQgaGF2ZSByaXBwbGVzIHRvIGEgbmV3IGxheWVyLiBXZSB3YW50IHRvIHRhcmdldCBgOm5vdCg6ZW1wdHkpYCxcbiAgICAvLyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYWxsIHJpcHBsZSBjb250YWluZXJzIHRvIGhhdmUgdGhlaXIgb3duIGxheWVyIHNpbmNlIHRoZXkncmUgdXNlZCBpbiBhXG4gICAgLy8gbG90IG9mIHBsYWNlcyBhbmQgdGhlIGxheWVyIGlzIG9ubHkgcmVsZXZhbnQgd2hpbGUgYW5pbWF0aW5nLiBOb3RlIHRoYXQgaWRlYWxseSB3ZSdkIHVzZVxuICAgIC8vIHRoZSBgY29udGFpbmAgcHJvcGVydHkgaGVyZSAoc2VlICMxMzE3NSksIGJlY2F1c2UgYDplbXB0eWAgY2FuIGJlIGJyb2tlbiBieSBoYXZpbmcgZXh0cmFcbiAgICAvLyB0ZXh0IGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGl0IGlzbid0IHZlcnkgd2VsbCBzdXBwb3J0ZWQgeWV0LlxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9ycyBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuQG1peGluIG1hdC1yaXBwbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRmb3JlZ3JvdW5kLWJhc2U6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIC8vIElmIHRoZSByaXBwbGUgY29sb3IgaXMgcmVzb2x2ZXMgdG8gYSBjb2xvciAqdHlwZSosIHdlIGNhbiB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZVxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIGNvbG9yIGFuZCBzZXR0aW5nIGFuIG9wYWNpdHkuXG4gICAgQGlmICh0eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yZWdyb3VuZC1iYXNlO1xuICAgICAgb3BhY2l0eTogJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJpcHBsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUaGlzIG1peGluIGVuc3VyZXMgYW4gZWxlbWVudCBzcGFucyB0byBmaWxsIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHdpdGggZGVmaW5lZCBwb3NpdGlvbmluZy5cbkBtaXhpbiBtYXQtZmlsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vLyBNaXhpbiB0aGF0IHR1cm5zIG9uIHN0cm9uZyBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1hcHAge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZyk7XG4vLy8gICB9XG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCxcbiAgICBib3JkZXItd2lkdGg6IDNweCxcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLW1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG4gICRib3JkZXItc3R5bGU6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXN0eWxlKTtcbiAgJGJvcmRlci13aWR0aDogbWFwLWdldCgkY29uZmlnLCBib3JkZXItd2lkdGgpO1xuICAkYm9yZGVyLXJhZGl1czogbWFwLWdldCgkY29uZmlnLCBib3JkZXItcmFkaXVzKTtcblxuICAvLyBCYXNlIHN0eWxlcyBmb3IgZm9jdXMgaW5kaWNhdG9ycy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWF0LWZpbGwoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLy8gQnkgZGVmYXVsdCwgYWxsIGZvY3VzIGluZGljYXRvcnMgYXJlIGZsdXNoIHdpdGggdGhlIGJvdW5kaW5nIGJveCBvZiB0aGVpclxuICAvLyBob3N0IGVsZW1lbnQuIEZvciBwYXJ0aWN1bGFyIGVsZW1lbnRzIChsaXN0ZWQgYmVsb3cpLCBkZWZhdWx0IGluc2V0L29mZnNldFxuICAvLyB2YWx1ZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yIGlzIHN1ZmZpY2llbnRseVxuICAvLyBjb250cmFzdGl2ZSBhbmQgcmVuZGVycyBhcHByb3ByaWF0ZWx5LlxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mbGF0LWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtcmFpc2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1taW5pLWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2hpcDo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyOjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgMnB4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zdHJva2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAzcHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1saW5rOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGFiZWw6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy4gRGVmaW5pbmcgYSBwc2V1ZG8gZWxlbWVudCdzXG4gIC8vIGNvbnRlbnQgd2lsbCBjYXVzZSBpdCB0byByZW5kZXIuXG5cbiAgLy8gQ2hlY2tib3hlcywgcmFkaW9zLCBhbmQgc2xpZGUgdG9nZ2xlcyByZW5kZXIgZm9jdXMgaW5kaWNhdG9ycyB3aGVuIHRoZVxuICAvLyBhc3NvY2lhdGVkIHZpc3VhbGx5LWhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAubWF0LWNoZWNrYm94LWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1yYWRpby1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0OmZvY3VzIH4gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIG9wdGlvbnMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGNsYXNzIC5tYXQtYWN0aXZlXG4gIC8vIGlzIHByZXNlbnQuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTo6YmVmb3JlLFxuXG4gIC8vIEZvciBjYWxlbmRhciBjZWxscywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgcGFyZW50IGNlbGwgaXNcbiAgLy8gZm9jdXNlZC5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6Zm9jdXMgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3IgYWxsIG90aGVyIGNvbXBvbmVudHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjpmb2N1czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGFwcGxpZXMgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIGZvY3VzIGluZGljYXRvcnMuXG5AbWl4aW4gX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IobWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpKTtcbn1cblxuLy8vIE1peGluIHRoYXQgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfG1hcH0gJHRoZW1lLW9yLWNvbG9yXG4vLy8gICBJZiB0aGVtZSwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gSWZcbi8vLyAgIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhhdCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1kYXJrLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCRkYXJrLXRoZW1lLW1hcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tcmVkLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCNmMDApO1xuLy8vICAgfVxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yKSAhPSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJHRoZW1lLW9yLWNvbG9yKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMnKSB7XG4gICAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgbWF0LWNvcmVgLlxuQG1peGluIG1hdC1wcml2YXRlLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG4vLyBVdGlsaXR5IGZvciBmZXRjaGluZyBhIG5lc3RlZCB2YWx1ZSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsICRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb25maWcsICRsZXZlbCksICRuYW1lKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCBzaXplIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtc2l6ZSk7XG59XG5cbi8vIEdldHMgdGhlIGxpbmUgaGVpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGluZS1oZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHdlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtd2VpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsZXR0ZXItc3BhY2luZyk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQtZmFtaWx5IGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZyBhbmQgcmVtb3ZlcyB0aGUgcXVvdGVzIGFyb3VuZCBpdC5cbkBmdW5jdGlvbiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsOiBudWxsKSB7XG4gICRmb250LWZhbWlseTogbWFwLWdldCgkY29uZmlnLCBmb250LWZhbWlseSk7XG5cbiAgQGlmICRsZXZlbCAhPSBudWxsIHtcbiAgICAkZm9udC1mYW1pbHk6IF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LWZhbWlseSk7XG4gIH1cblxuICAvLyBHdWFyZCBhZ2FpbnN0IHVucXVvdGluZyBub24tc3RyaW5nIHZhbHVlcywgYmVjYXVzZSBpdCdzIGRlcHJlY2F0ZWQuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkZm9udC1mYW1pbHkpID09IHN0cmluZywgdW5xdW90ZSgkZm9udC1mYW1pbHkpLCAkZm9udC1mYW1pbHkpO1xufVxuXG4vLyBPdXRwdXRzIHRoZSBzaG9ydGhhbmQgYGZvbnRgIENTUyBwcm9wZXJ0eSwgYmFzZWQgb24gYSBzZXQgb2YgdHlwb2dyYXBoeSB2YWx1ZXMuIEZhbGxzIGJhY2sgdG9cbi8vIHRoZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMgaWYgYSB2YWx1ZSB0aGF0IGlzbid0IGFsbG93ZWQgaW4gdGhlIHNob3J0aGFuZCBpcyBwYXNzZWQgaW4uXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSkge1xuICAvLyBJZiBhbnkgb2YgdGhlIHZhbHVlcyBhcmUgc2V0IHRvIGBpbmhlcml0YCwgd2UgY2FuJ3QgdXNlIHRoZSBzaG9ydGhhbmRcbiAgLy8gc28gd2UgZmFsbCBiYWNrIHRvIHBhc3NpbmcgaW4gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcy5cbiAgQGlmICgkZm9udC1zaXplID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gaW5oZXJpdCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1zaXplID09IG51bGwgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gbnVsbCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IG51bGwpIHtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgc2hvcnRoYW5kIGBmb250YCwgYmVjYXVzZSBpdCdzIHRoZSBsZWFzdCBhbW91bnQgb2YgYnl0ZXMuIE5vdGVcbiAgICAvLyB0aGF0IHdlIG5lZWQgdG8gdXNlIGludGVycG9sYXRpb24gZm9yIGBmb250LXNpemUvbGluZS1oZWlnaHRgIGluIG9yZGVyIHRvIHByZXZlbnRcbiAgICAvLyBTYXNzIGZyb20gZGl2aWRpbmcgdGhlIHR3byB2YWx1ZXMuXG4gICAgZm9udDogJGZvbnQtd2VpZ2h0ICN7JGZvbnQtc2l6ZX0vI3skbGluZS1oZWlnaHR9ICRmb250LWZhbWlseTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0cyBhIHR5cG9ncmFwaHkgbGV2ZWwgaW50byBDU1Mgc3R5bGVzLlxuQG1peGluIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCAkbGV2ZWwpIHtcbiAgJGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWwpO1xuXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1mYW1pbHkpO1xuICBsZXR0ZXItc3BhY2luZzogbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCk7XG59XG5cblxuQG1peGluIG1hdC1vcHRpb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gICAgJjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC8vIEluIG11bHRpcGxlIG1vZGUgdGhlcmUgaXMgYSBjaGVja2JveCB0byBzaG93IHRoYXQgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICAmLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtb3B0aW9uLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRpb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0aW9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGlvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRncm91cC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuICAkY29sb3JlZC1ib3gtc2VsZWN0b3I6ICcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJztcblxuICAubWF0LXBzZXVkby1jaGVja2JveCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0byB0aGUgYWNjZW50IGNvbG9yLiBOb3RlIHRoYXQgdGhlIHBzZXVkbyBjaGVja2JveGVzIGFyZSBtZWFudCB0byBpbmhlcml0IHRoZVxuICAvLyB0aGVtZSBmcm9tIHRoZWlyIHBhcmVudCwgcmF0aGVyIHRoYW4gaW1wbGVtZW50aW5nIHRoZWlyIG93biB0aGVtaW5nLCB3aGljaCBpcyB3aHkgd2VcbiAgLy8gZG9uJ3QgYXR0YWNoIHRvIHRoZSBgbWF0LSpgIGNsYXNzZXMuIEFsc28gbm90ZSB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgYmVsb3cgYC5tYXQtcHJpbWFyeWBcbiAgLy8gaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZSBjb2xvciB0byBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgY2hlY2tib3ggaXMgaW5zaWRlIGEgcGFyZW50IHRoYXRcbiAgLy8gaGFzIGBtYXQtYWNjZW50YCBhbmQgaXMgcGxhY2VkIGluc2lkZSBhbm90aGVyIHBhcmVudCB0aGF0IGhhcyBgbWF0LXByaW1hcnlgLlxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgJi5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wc2V1ZG8tY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFJlcHJlc2VudHMgYSB0eXBvZ3JhcGh5IGxldmVsIGZyb20gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWxldmVsKFxuICAkZm9udC1zaXplLFxuICAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkZm9udC1mYW1pbHk6IG51bGwsXG4gICRsZXR0ZXItc3BhY2luZzogbm9ybWFsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWVzIGhlcmUgY29tZSBmcm9tXG4vLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAkZm9udC1mYW1pbHk6ICAgJ1JvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmJyxcbiAgJGRpc3BsYXktNDogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDExMnB4LCAxMTJweCwgMzAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0pLFxuICAkZGlzcGxheS0zOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNTZweCwgNTZweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0pLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE4IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSkgIT0gbnVsbDtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE0IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpICE9IG51bGw7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE0IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAgICAgICAkZGlzcGxheS00OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpLFxuICAgICAgICAkZGlzcGxheS0zOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTIpLFxuICAgICAgICAkZGlzcGxheS0yOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTMpLFxuICAgICAgICAkZGlzcGxheS0xOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTQpLFxuICAgICAgICAkaGVhZGxpbmU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNSksXG4gICAgICAgICR0aXRsZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS02KSxcbiAgICAgICAgJHN1YmhlYWRpbmctMjogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0xKSxcbiAgICAgICAgJHN1YmhlYWRpbmctMTogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0yKSxcbiAgICAgICAgJGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICAkYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgICRidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgJGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBoZWFkbGluZS0xOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktNCksXG4gICAgICAgIGhlYWRsaW5lLTI6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0zKSxcbiAgICAgICAgaGVhZGxpbmUtMzogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTIpLFxuICAgICAgICBoZWFkbGluZS00OiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMSksXG4gICAgICAgIGhlYWRsaW5lLTU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpLFxuICAgICAgICBoZWFkbGluZS02OiBtYXAtZ2V0KCRjb25maWcsIHRpdGxlKSxcbiAgICAgICAgc3VidGl0bGUtMTogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpLFxuICAgICAgICBzdWJ0aXRsZS0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMSksXG4gICAgICAgIGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICBib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgIGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEFkZHMgdGhlIGJhc2UgdHlwb2dyYXBoeSBzdHlsZXMsIGJhc2VkIG9uIGEgY29uZmlnLlxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZywgJHNlbGVjdG9yOiAnLm1hdC10eXBvZ3JhcGh5Jykge1xuICAubWF0LWgxLCAubWF0LWhlYWRsaW5lLCAjeyRzZWxlY3Rvcn0gaDEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDIsIC5tYXQtdGl0bGUsICN7JHNlbGVjdG9yfSBoMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMywgLm1hdC1zdWJoZWFkaW5nLTIsICN7JHNlbGVjdG9yfSBoMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDQsIC5tYXQtc3ViaGVhZGluZy0xLCAjeyRzZWxlY3Rvcn0gaDQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAvLyBOb3RlOiB0aGUgc3BlYyBkb2Vzbid0IGhhdmUgYW55dGhpbmcgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIGg1IGFuZCBoNiwgYnV0IHdlIGFkZCB0aGVzZSBmb3JcbiAgLy8gY29uc2lzdGVuY3kuIFRoZSBmb250IHNpemVzIGNvbWUgZnJvbSB0aGUgQ2hyb21lIHVzZXIgYWdlbnQgc3R5bGVzIHdoaWNoIGhhdmUgaDUgYXQgMC44M2VtXG4gIC8vIGFuZCBoNiBhdCAwLjY3ZW0uXG4gIC5tYXQtaDUsICN7JHNlbGVjdG9yfSBoNSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuODMpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWg2LCAjeyRzZWxlY3Rvcn0gaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjY3KSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1ib2R5LXN0cm9uZywgLm1hdC1ib2R5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1ib2R5LCAubWF0LWJvZHktMSwgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICB9XG4gIH1cblxuICAubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0xLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIFNlbGVjdGVkIG9wdGlvbnMgaW4gYXV0b2NvbXBsZXRlcyBzaG91bGQgbm90IGJlIGdyYXksIGJ1dCB3ZVxuICAgIC8vIG9ubHkgd2FudCB0byBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBmb3Igc2VsZWN0ZWQgb3B0aW9ucyBpZlxuICAgIC8vIHRoZXkgYXJlICpub3QqIGluIGhvdmVyIG9yIGZvY3VzIHN0YXRlLiBUaGlzIGNoYW5nZSBoYXMgdG8gYmVcbiAgICAvLyBtYWRlIGhlcmUgYmVjYXVzZSBiYXNlIG9wdGlvbiBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZVxuICAgIC8vIGF1dG9jb21wbGV0ZSBhbmQgdGhlIHNlbGVjdC5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgICAmOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1hdXRvY29tcGxldGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYXV0b2NvbXBsZXRlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBjb250YWlucyBhbGwgb2YgdGhlIHN0eWxlcyBmb3IgdGhlIGJhZGdlXG4vLyByYXRoZXIgdGhhbiBqdXN0IHRoZSBjb2xvci90aGVtZSBiZWNhdXNlIG9mXG4vLyBubyBzdHlsZSBzaGVldCBzdXBwb3J0IGZvciBkaXJlY3RpdmVzLlxuXG5cblxuXG5cbiRtYXQtYmFkZ2UtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1iYWRnZS1mb250LXdlaWdodDogNjAwO1xuJG1hdC1iYWRnZS1kZWZhdWx0LXNpemU6IDIycHggIWRlZmF1bHQ7XG4kbWF0LWJhZGdlLXNtYWxsLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplIC0gNjtcbiRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgKyA2O1xuXG4vLyBNaXhpbiBmb3IgYnVpbGRpbmcgb2Zmc2V0IGdpdmVuIGRpZmZlcmVudCBzaXplc1xuQG1peGluIF9tYXQtYmFkZ2Utc2l6ZSgkc2l6ZSkge1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gICYubWF0LWJhZGdlLWFib3ZlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgdG9wOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlbG93IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYm90dG9tOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1vdmVybGFwIHtcbiAgICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWFjY2VudCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS13YXJuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtaGlkZGVuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWRpc2FibGVkIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgJGFwcC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdiYWNrZ3JvdW5kJyk7XG4gICAgICAkYmFkZ2UtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgICAgLy8gVGhlIGRpc2FibGVkIGNvbG9yIHVzdWFsbHkgaGFzIHNvbWUga2luZCBvZiBvcGFjaXR5LCBidXQgYmVjYXVzZSB0aGUgYmFkZ2UgaXMgb3ZlcmxheWVkXG4gICAgICAvLyBvbiB0b3Agb2Ygc29tZXRoaW5nIGVsc2UsIGl0IHdvbid0IGxvb2sgZ29vZCBpZiBpdCdzIG9wYXF1ZS4gSWYgaXQgaXMgYSBjb2xvciAqdHlwZSosXG4gICAgICAvLyB3ZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZCBjb2xvciBieSB0YWtpbmcgdGhlIG9wYWNpdHkgZnJvbSB0aGUgcmdiYSB2YWx1ZSBhbmQgdXNpbmdcbiAgICAgIC8vIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZCB3aGVuXG4gICAgICAvLyBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci5cbiAgICAgIEBpZiAodHlwZS1vZigkYmFkZ2UtY29sb3IpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRhcHAtYmFja2dyb3VuZCkgPT0gY29sb3IpIHtcbiAgICAgICAgJGJhZGdlLW9wYWNpdHk6IG9wYWNpdHkoJGJhZGdlLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KCRhcHAtYmFja2dyb3VuZCwgcmdiYSgkYmFkZ2UtY29sb3IsIDEpLCAoMSAtICRiYWRnZS1vcGFjaXR5KSAqIDEwMCUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LFxuICAubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgYWN0aXZlIGNsYXNzIGlzIGFkZGVkIGFmdGVyIHRoZSBlbGVtZW50IGlzIGFkZGVkXG4gIC8vIHNvIGl0IGNhbiBhbmltYXRlIHNjYWxlIHRvIGRlZmF1bHRcbiAgLm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmUge1xuICAgIC8vIFNjYWxlIHRvIGBub25lYCBpbnN0ZWFkIG9mIGAxYCB0byBhdm9pZCBibHVycnkgdGV4dCBpbiBzb21lIGJyb3dzZXJzLlxuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLXNtYWxsLXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWxhcmdlLXNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC13ZWlnaHQ6ICRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIC8vIFNldCB0aGUgZm9udCBzaXplIHRvIDc1JSBvZiB0aGUgb3JpZ2luYWwuXG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDAuNzU7XG4gIH1cblxuICAubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDI7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYmFkZ2UtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJhZGdlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1iYWRnZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYm90dG9tLXNoZWV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk6IDAuMTtcblxuLy8gQXBwbGllcyBhIGZvY3VzIHN0eWxlIHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZS4gSWYgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nXG4vLyBvbiBhIENTUyB2YXJpYWJsZSwgd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHkpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcHJpbWFyeSwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRhY2NlbnQsICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAkcGFsZXR0ZTogaWYoJHByb3BlcnR5ID09ICdjb2xvcicsICRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgdGV4dCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnKTtcblxuICAgIC8vIFNldHVwIHRoZSByaXBwbGUgY29sb3IgdG8gYmUgYmFzZWQgb24gdGhlIHRleHQgY29sb3IuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaXBwbGVzXG4gICAgLy8gYXJlIG1hdGNoaW5nIHdpdGggdGhlIGN1cnJlbnQgdGhlbWUgcGFsZXR0ZSBhbmQgYXJlIGluIGNvbnRyYXN0IHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgLy8gKGUuZyBpbiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBuZWVkcyBhIGJpdCBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB3ZSdyZSBub3QgZ3VhcmFudGVlZCB0aGUgaW5jbHVzaW9uXG4gIC8vIG9yZGVyIG9mIHRoZSB0aGVtZSBzdHlsZXMgYW5kIHRoZSBidXR0b24gcmVzZXQgbWF5IGVuZCB1cCByZXNldHRpbmcgdGhpcyBhcyB3ZWxsLlxuICAubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIC8vIERlZmF1bHQgZm9udCBhbmQgYmFja2dyb3VuZCBjb2xvciB3aGVuIG5vdCB1c2luZyBhbnkgY29sb3IgcGFsZXR0ZS5cbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHJhaXNlZC1idXR0b24pO1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJGNvbmZpZywgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXN0cm9rZWQtYnV0dG9uLCAubWF0LWZsYXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDgsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEyLCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbixcbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgY2FuIHZhcnkgYmFzZWQgb24gdGhlIGNvbnRlbnQgdGhhdCBkZXZlbG9wZXJzXG4vLyBwcm9qZWN0IGludG8gYnV0dG9uLXRvZ2dsZSdzLiBXZSB1c2UgYSBtaW5pbXVtIG9mIGAyNHB4YCB0aG91Z2ggYmVjYXVzZSBjb21tb25seVxuLy8gaWNvbnMgb3IgdGV4dCBhcmUgZGlzcGxheWVkLiBJY29ucyBieSBkZWZhdWx0IGhhdmUgYSBzaXplIG9mIGAyNHB4YC5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZm9jdXNlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtYnV0dG9uKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZSk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkc3RhbmRhcmQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6ICRzdGFuZGFyZC1oZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1jYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWNhcmQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gTmVlZHMgZXh0cmEgc3BlY2lmaWNpdHkgdG8gYmUgYWJsZSB0byBvdmVycmlkZSB0aGUgZWxldmF0aW9uIHNlbGVjdG9ycy5cbiAgICAmLm1hdC1jYXJkLWZsYXQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYXJkIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHRpdGxlKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICBmaWxsOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICAgIC8vICFpbXBvcnRhbnQgaXMgbmVlZGVkIGhlcmUgYmVjYXVzZSBhIHN0cm9rZSBtdXN0IGJlIHNldCBhcyBhblxuICAgIC8vIGF0dHJpYnV0ZSBvbiB0aGUgU1ZHIGluIG9yZGVyIGZvciBsaW5lIGFuaW1hdGlvbiB0byB3b3JrIHByb3Blcmx5LlxuICAgIHN0cm9rZTogJGNoZWNrYm94LW1hcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwgLm1hdC1jaGVja2JveC1jaGVja2VkIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgJi5tYXQtY2hlY2tib3gtY2hlY2tlZCxcbiAgICAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBiYXNlKTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCksXG4gIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoZWNrYm94IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLy8gVE9ETyhrYXJhKTogUmVtb3ZlIHRoaXMgc3R5bGUgd2hlbiBmaXhpbmcgdmVydGljYWwgYmFzZWxpbmVcbiAgLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkZm9yZWdyb3VuZDtcblxuICAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUgZWxlbWVudC5cbi8vIElmIHRoZSBjb2xvciB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS5cbi8vIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmcgb24gYSBDU1MgdmFyaWFibGUsXG4vLyB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcihtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpLCBtYXQtY29sb3IoJHBhbGV0dGUpKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB1bnNlbGVjdGVkLWNoaXApO1xuICAkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZCwgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cbiAgICAmOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDMsICRjb25maWcpO1xuICAgICAgfVxuXG4gICAgICAubWF0LWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41NDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1jaGlwLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jaGlwIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG5cbiAgICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbixcbiAgICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoaXBzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hpcHMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwcy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaXZpZGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWRpdmlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpdmlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpdmlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFibGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdGFibGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdGFibGUgdGhlYWQsIC5tYXQtdGFibGUgdGJvZHksIC5tYXQtdGFibGUgdGZvb3QsXG4gIG1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgW21hdC1oZWFkZXItcm93XSwgW21hdC1yb3ddLCBbbWF0LWZvb3Rlci1yb3ddLFxuICAubWF0LXRhYmxlLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIG1hdC1yb3csIG1hdC1oZWFkZXItcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgdGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFibGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYmxlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQpKTtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgICRiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJhY2tncm91bmQsICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdG8gYmFja2dyb3VuZCB0byBhIGNvbG9yIChlLmcuIGl0J3MgYSBDU1MgdmFyaWFibGUpLFxuICAgICAgLy8gZmFsbCBiYWNrIHRvIGZhZGluZyB0aGUgY29udGVudCBvdXQgdmlhIGBvcGFjaXR5YC5cbiAgICAgIG9wYWNpdHk6ICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoXG4gICAgICAgICAgICAgICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyLFxuICAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSxcbiAgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSB7XG4gICAgJiA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXRpbGl0eSBtaXhpbiB0byB0YXJnZXQgY2VsbHMgdGhhdCBhcmVuJ3Qgc2VsZWN0ZWQuIFVzZWQgdG8gbWFrZSBzZWxlY3RvciBlYXNpZXIgdG8gZm9sbG93LlxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAmOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC8vIFRoZSBwcmV2L25leHQgYnV0dG9ucyBuZWVkIGEgYml0IG1vcmUgc3BlY2lmaWNpdHkgdG9cbiAgLy8gYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4gYnkgdGhlIC5tYXQtaWNvbi1idXR0b24uXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQsXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gICAgJGRpdmlkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgICBAaWYgdHlwZS1vZigkZGl2aWRlci1jb2xvcikgPT0gY29sb3Ige1xuICAgICAgLy8gVGhlIGRpdmlkZXIgY29sb3IgaXMgc2V0IHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQnbGwgYmUgdXNlZFxuICAgICAgLy8gZm9yIGEgc29saWQgYm9yZGVyLCBidXQgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIGRhc2hlZCBib3JkZXIgZm9yIHRoZVxuICAgICAgLy8gcHJldmlldyByYW5nZSwgd2UgbmVlZCB0byBidW1wIGl0cyBvcGFjaXR5IHRvIGVuc3VyZSB0aGF0IGl0J3MgdmlzaWJsZS5cbiAgICAgIGNvbG9yOiByZ2JhKCRkaXZpZGVyLWNvbG9yLCBtaW4ob3BhY2l0eSgkZGl2aWRlci1jb2xvcikgKiAyLCAxKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgLy8gTm90ZTogdGhvdWdoIGl0J3Mgbm90IHRleHQsIHRoZSBib3JkZXIgaXMgYSBoaW50IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyB0b2RheSdzIGRhdGUsXG4gICAgICAvLyBzbyB3ZSB1c2UgdGhlIGhpbnQgY29sb3IuXG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgJGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG5cbiAgICAgIEBpZiAodHlwZS1vZigkY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZmFkZS1vdXQoJGNvbG9yLCAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGUgY29sb3IgZGlkbid0IHJlc29sdmUgdG8gYSBjb2xvciB2YWx1ZSwgYnV0IHNvbWV0aGluZyBsaWtlIGEgQ1NTIHZhcmlhYmxlLCB3ZSBjYW4ndFxuICAgICAgICAvLyBmYWRlIGl0IG91dCBzbyB3ZSBmYWxsIGJhY2sgdG8gcmVkdWNpbmcgdGhlIGVsZW1lbnQgb3BhY2l0eS4gTm90ZSB0aGF0IHdlIGRvbid0IHVzZSB0aGVcbiAgICAgICAgLy8gJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50LCBiZWNhdXNlIGhpbnQgdGV4dCB1c3VhbGx5IGhhcyBzb21lIG9wYWNpdHkgYXBwbGllZFxuICAgICAgICAvLyB0byBpdCBhbHJlYWR5IGFuZCB3ZSBkb24ndCB3YW50IHRoZW0gdG8gc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybiksIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB7XG4gICAgZm9udC1zaXplOiAkbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAkcmFuZ2UtY29sb3IsXG4gICRjb21wYXJpc29uLWNvbG9yOiByZ2JhKCNmOWFiMDAsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCksXG4gICRvdmVybGFwLWNvbG9yOiAjYThkYWI1LFxuICAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjogZGFya2VuKCRvdmVybGFwLWNvbG9yLCAzMCUpKSB7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBhcmlzb24tY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRhdGVwaWNrZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpYWxvZy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMjQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGlhbG9nLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpYWxvZycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaWFsb2ctZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBEZWZhdWx0IG1pbmltdW0gYW5kIG1heGltdW0gaGVpZ2h0IGZvciBjb2xsYXBzZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGV4cGFuZGVkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0OlxuICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlbnNpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV4cGFuc2lvbiBwYW5lbC4gQ2FwdHVyZXMgdGhlXG4vLyBoZWlnaHQgZm9yIGJvdGggZXhwYW5kZWQgYW5kIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGNvbGxhcHNlZC1oZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWluaW11bS1oZWlnaHQsXG4gICksXG4gIGV4cGFuZGVkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgYW5pbWF0aW9uIHRpbWluZyBmb3IgdGhlIHRvZ2dsZSBpbmRpY2F0b3Jcbi8vIGFuZCBib2R5IGV4cGFuc2lvbi4gVGhlc2UgYXJlIGFuaW1hdGVkIHVzaW5nIEFuZ3VsYXIgYW5pbWF0aW9ucy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10cmFuc2l0aW9uOiAyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5AbWl4aW4gbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgICY6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWN0aW9uLXJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWV4cGFuc2lvbi1mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gIH1cblxuICAvLyBEaXNhYmxlIHRoZSBob3ZlciBvbiB0b3VjaCBkZXZpY2VzIHNpbmNlIGl0IGNhbiBhcHBlYXIgbGlrZSBpdCBpcyBzdHVjay4gV2UgY2FuJ3QgdXNlXG4gIC8vIGBAbWVkaWEgKGhvdmVyKWAgYWJvdmUsIGJlY2F1c2UgdGhlIGRlc2t0b3Agc3VwcG9ydCBicm93c2VyIHN1cHBvcnQgaXNuJ3QgZ3JlYXQuXG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuICAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZXhwYW5kZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGV4cGFuZGVkLWhlaWdodCk7XG4gICRjb2xsYXBzZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBjb2xsYXBzZWQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6ICRjb2xsYXBzZWQtaGVpZ2h0O1xuXG4gICAgICAmLm1hdC1leHBhbmRlZCB7XG4gICAgICAgIGhlaWdodDogJGV4cGFuZGVkLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWV4cGFuc2lvbi1wYW5lbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE11c3QgcmVtb3ZlIHdyYXBwZXIgd2hlbiBsaW5lcyBhcmUgZW1wdHkgb3IgaXQgdGFrZXMgdXAgaG9yaXpvbnRhbFxuICAvLyBzcGFjZSBhbmQgcHVzaGVzIG90aGVyIGVsZW1lbnRzIHRvIHRoZSByaWdodC5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZSB0aGlzIGVtcHR5IG1peGluIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciBjb21wb25lbnRzLlxuQG1peGluIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZ3JpZC10aWxlLWhlYWRlcixcbiAgLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ncmlkLWxpc3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1pY29uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWljb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWljb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWljb24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gUmVuZGVycyBhIGdyYWRpZW50IGZvciBzaG93aW5nIHRoZSBkYXNoZWQgbGluZSB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbi8vIFVubGlrZSB1c2luZyBhIGJvcmRlciwgYSBncmFkaWVudCBhbGxvd3MgdXMgdG8gYWRqdXN0IHRoZSBzcGFjaW5nIG9mIHRoZSBkb3R0ZWQgbGluZVxuLy8gdG8gbWF0Y2ggdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuQG1peGluIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvciAwJSwgJGNvbG9yIDMzJSwgdHJhbnNwYXJlbnQgMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIEZpZ3VyZXMgb3V0IHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgZm9yIGEgZm9ybSBjb250cm9sLlxuLy8gVXNlZCBwcmltYXJpbHkgdG8gcHJldmVudCB0aGUgdmFyaW91cyBmb3JtIGNvbnRyb2xzIGZyb21cbi8vIGJlY29taW5nIG91dCBvZiBzeW5jIHNpbmNlIHRoZXNlIGNvbG9ycyBhcmVuJ3QgaW4gYSBwYWxldHRlLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZykge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gIEByZXR1cm4gbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xufVxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG5AbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWIge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWJiaW5nIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbn1cblxuQG1peGluIHBvc2l0aW9uLXN0aWNreSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG4gIHBvc2l0aW9uOiBzdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5AbWl4aW4gbWF0LWlucHV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICAgIH1cblxuICAgIC8vIE9uIGRhcmsgdGhlbWVzIHdlIHNldCB0aGUgbmF0aXZlIGBzZWxlY3RgIGNvbG9yIHRvIHNvbWUgc2hhZGUgb2Ygd2hpdGUsXG4gICAgLy8gaG93ZXZlciB0aGUgY29sb3IgcHJvcGFnYXRlcyB0byBhbGwgb2YgdGhlIGBvcHRpb25gIGVsZW1lbnRzLCB3aGljaCBhcmVcbiAgICAvLyBhbHdheXMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kIGluc2lkZSB0aGUgZHJvcGRvd24sIGNhdXNpbmcgdGhlbSB0byBibGVuZCBpbi5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBjaGFuZ2UgYmFja2dyb3VuZCBvZiB0aGUgZHJvcGRvd24sIHdlIG5lZWQgdG8gZXhwbGljaXRseVxuICAgIC8vIHJlc2V0IHRoZSBjb2xvciBvZiB0aGUgb3B0aW9ucyB0byBzb21ldGhpbmcgZGFyay5cbiAgICBAaWYgKG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyaykpIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1wcmltYXJ5LXRleHQ7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1kaXNhYmxlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtYWNjZW50IC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtd2FybiAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50cyBzZWVtIHRvIGhhdmUgdGhlaXIgaGVpZ2h0IHNldCBzbGlnaHRseSB0b28gbGFyZ2Ugb24gU2FmYXJpIGNhdXNpbmcgdGhlIHRleHQgdG9cbiAgLy8gYmUgbWlzYWxpZ25lZCB3LnIudC4gdGhlIHBsYWNlaG9sZGVyLiBBZGRpbmcgdGhpcyBtYXJnaW4gY29ycmVjdHMgaXQuXG4gIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtJGxpbmUtc3BhY2luZyAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbnB1dC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWlucHV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaW5wdXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1saXN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtbGlzdC1vcHRpb24pO1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbixcbiAgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbSxcbiAgLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuXG4gIC5tYXQtbGlzdC1pdGVtIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgbGlzdFxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZW5zZSBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlW2RlbnNlXSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbWVudS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICd0ZXh0Jyk7XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAubWF0LWljb24tbm8tY29sb3Ige1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsXG4gIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbTpob3ZlcixcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkIHtcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbWVudS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbWVudScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1tZW51LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbWVudS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXBhZ2luYXRvci1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgcGFnaW5hdG9yJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIGhvd1xuLy8gbXVjaCB0aGUgcGFnaW5hdG9yIGNhbiBzaHJpbmsgdW50aWwgdGhlIGNvbnRlbnQgZXhjZWVkcyAoaS5lLiBuYXZpZ2F0aW9uIGJ1dHRvbnMpLlxuJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtcGFnaW5hdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gICAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wYWdpbmF0b3InKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgIGZpbGw6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3MtYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1zcGlubmVyLCAubWF0LXNwaW5uZXIge1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXByb2dyZXNzLXNwaW5uZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXJhZGlvLWNvbG9yKCRwYWxldHRlKSB7XG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLFxuICAmOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBuZWVkcyBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB0aGUgY2xhc3NlcyBhYm92ZSBhcmUgY29tYmluZWRcbiAgICAvLyAoZS5nLiBgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudGApIHdoaWNoIGluY3JlYXNlcyB0aGVpciBzcGVjaWZpY2l0eSBhIGxvdC5cbiAgICAvLyBUT0RPOiBjb25zaWRlciBtYWtpbmcgdGhlIHNlbGVjdG9ycyBpbnRvIGRlc2NlbmRhbnRzIChgLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tYnV0dG9uYCkuXG4gICAgJi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICAgICAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAgIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgICAgIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAgIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1yYWRpby1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJhZGlvJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNlbGVjdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyLCAwLjEyKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgJi5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLm1hdC1zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zZWxlY3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2VsZWN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNlbGVjdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogIG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICRkcmF3ZXItc2lkZS1ib3JkZXI6IHNvbGlkIDFweCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZHJhd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1kcmF3ZXItcHVzaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLXB1c2gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWRyYXdlci1zaWRlKSB7XG4gICAgICAvLyBUaGUgZWxldmF0aW9uIG9mIHotMTYgaXMgbm90ZWQgaW4gdGhlIGRlc2lnbiBzcGVjaWZpY2F0aW9ucy5cbiAgICAgIC8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL25hdmlnYXRpb24tZHJhd2VyLmh0bWxcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd24ge1xuICAgICRvcGFjaXR5OiAwLjY7XG4gICAgJGJhY2tkcm9wLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQsICRvcGFjaXR5KTtcblxuICAgIEBpZiAodHlwZS1vZigkYmFja2Ryb3AtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAvLyBXZSB1c2UgaW52ZXJ0KCkgaGVyZSB0byBoYXZlIHRoZSBkYXJrZW4gdGhlIGJhY2tncm91bmQgY29sb3IgZXhwZWN0ZWQgdG8gYmUgdXNlZC4gSWYgdGhlXG4gICAgICAvLyBiYWNrZ3JvdW5kIGlzIGxpZ2h0LCB3ZSB1c2UgYSBkYXJrIGJhY2tkcm9wLiBJZiB0aGUgYmFja2dyb3VuZCBpcyBkYXJrLFxuICAgICAgLy8gd2UgdXNlIGEgbGlnaHQgYmFja2Ryb3AuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbnZlcnQoJGJhY2tkcm9wLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0aGUgYmFja2Ryb3AgY29sb3IgdG8gYSBjb2xvciB2YWx1ZSwgZmFsbCBiYWNrIHRvIHVzaW5nXG4gICAgICAvLyBgb3BhY2l0eWAgdG8gbWFrZSBpdCBvcGFxdWUgc2luY2UgaXRzIGVuZCB2YWx1ZSBjb3VsZCBiZSBhIHNvbGlkIGNvbG9yLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWNvbG9yO1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNpZGVuYXYnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSkge1xuICAmLm1hdC1jaGVja2VkIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICAgIC8vIE9wYWNpdHkgaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZSBzcGVjcyBmb3IgdGhlIHNlbGVjdGlvbiBjb250cm9scy5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9zZWxlY3Rpb24tY29udHJvbHMuaHRtbCNzcGVjc1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUsIDAuNTQpO1xuICAgIH1cblxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyazogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAvLyBDb2xvciBodWVzIGFyZSBiYXNlZCBvbiB0aGUgc3BlY3Mgd2hpY2ggYnJpZWZseSBzaG93IHRoZSBodWVzIHRoYXQgYXJlIGFwcGxpZWQgdG8gYSBzd2l0Y2guXG4gIC8vIFRoZSAyMDE4IHNwZWNzIG5vIGxvbmdlciBkZXNjcmliZSBob3cgZGFyayBzd2l0Y2hlcyBzaG91bGQgbG9vayBsaWtlLiBEdWUgdG8gdGhlIGxhY2sgb2ZcbiAgLy8gaW5mb3JtYXRpb24gZm9yIGRhcmsgdGhlbWVkIHN3aXRjaGVzLCB3ZSBwYXJ0aWFsbHkga2VlcCB0aGUgb2xkIGJlaGF2aW9yIHRoYXQgaXMgYmFzZWQgb25cbiAgLy8gdGhlIHByZXZpb3VzIHNwZWNpZmljYXRpb25zLiBGb3IgdGhlIGNoZWNrZWQgY29sb3Igd2UgYWx3YXlzIHVzZSB0aGUgYGRlZmF1bHRgIGh1ZSBiZWNhdXNlXG4gIC8vIHRoYXQgZm9sbG93cyBNREMgYW5kIGFsc28gbWFrZXMgaXQgZWFzaWVyIGZvciBwZW9wbGUgdG8gY3JlYXRlIGEgY3VzdG9tIHRoZW1lIHdpdGhvdXQgbmVlZGluZ1xuICAvLyB0byBzcGVjaWZ5IGVhY2ggaHVlIGluZGl2aWR1YWxseS5cbiAgJHRodW1iLXVuY2hlY2tlZC1odWU6IGlmKCRpcy1kYXJrLCA0MDAsIDUwKTtcbiAgJHRodW1iLWNoZWNrZWQtaHVlOiBkZWZhdWx0O1xuXG4gICRiYXItdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgJHJpcHBsZS11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJGFjY2VudCwgJHRodW1iLWNoZWNrZWQtaHVlKTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcHJpbWFyeSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHdhcm4sICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLXVuY2hlY2tlZC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLXVuY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGUtdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwYWxldHRlKSB7XG4gIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gIC5tYXQtc2xpZGVyLXRodW1iLFxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgJG9wYWNpdHk6IDAuMjtcbiAgICAkY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkbWF0LXNsaWRlci1vZmYtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYtYWN0aXZlKTtcbiAgJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1taW4pO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5OiAwLjc7XG4gICRtYXQtc2xpZGVyLXRpY2stY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5KTtcbiAgJG1hdC1zbGlkZXItdGljay1zaXplOiAycHg7XG5cbiAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCR3YXJuKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgJG9wYWNpdHk6IDAuMTI7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG9wYWNpdHkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgc3RlcHBlcidzIGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93IG11Y2hcbi8vIHN0ZXBwZXIgaGVhZGVycyBjYW4gc2hyaW5rIHVudGlsIHRoZSBzdGVwIGljb24gb3Igc3RlcCBsYWJlbCBleGNlZWQuIFdlIGNhbid0IHVzZVxuLy8gYSB2YWx1ZSBiZWxvdyBgNDJweGAgYmVjYXVzZSB0aGUgb3B0aW9uYWwgbGFiZWwgZm9yIHN0ZXBzIHdvdWxkIG90aGVyd2lzZSBleGNlZWQuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGRlbm90ZWQgd2l0aCBgIWRlZmF1bHRgIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgbm9uLXRoZW1lXG4vLyBjb21wb25lbnQgc3R5bGVzLiBNb2RpZnlpbmcgdGhlc2UgdmFyaWFibGVzIGRvZXMgbm90IGhhdmUgdGhlIGRlc2lyZWQgZWZmZWN0IGZvciBjb25zdW1lcnMuXG4kbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodDogMjRweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcDogMTZweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1taW4td2lkdGg6IDUwcHg7XG5cbiRtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50LW1hcmdpbjogMzZweDtcblxuJG1hdC1zdGVwcGVyLXNpZGUtZ2FwOiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtd2lkdGg6IDFweDtcbiRtYXQtc3RlcHBlci1saW5lLWdhcDogOHB4O1xuXG4kbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtc3RlcC1oZWFkZXItaWNvbi1zaXplOiAxNnB4O1xuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc3RlcC1oZWFkZXIge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gT24gdG91Y2ggZGV2aWNlcyB0aGUgOmhvdmVyIHN0YXRlIHdpbGwgbGluZ2VyIG9uIHRoZSBlbGVtZW50IGFmdGVyIGEgdGFwLlxuICAgIC8vIFJlc2V0IGl0IHZpYSBgQG1lZGlhYCBhZnRlciB0aGUgZGVjbGFyYXRpb24sIGJlY2F1c2UgdGhlIG1lZGlhIHF1ZXJ5IGlzbid0XG4gICAgLy8gc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyB5ZXQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLFxuICAgIC5tYXQtc3RlcC1vcHRpb25hbCB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkdmVydGljYWwtcGFkZGluZzogKCRoZWlnaHQgLSAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcixcbiAgICAubWF0LXZlcnRpY2FsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6ICR2ZXJ0aWNhbC1wYWRkaW5nICRtYXQtc3RlcHBlci1zaWRlLWdhcDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIHZlcnRpY2FsIGxpbmVzIGZvciB0aGUgc3RlcCBjb250ZW50IGV4Y2VlZCBpbnRvIHRoZSBzdGVwXG4gICAgLy8gaGVhZGVycyB3aXRoIGEgZ2l2ZW4gZGlzdGFuY2UgKGAkbWF0LXN0ZXBwZXItbGluZS1nYXBgKSB0byB0aGUgc3RlcCBpY29uLlxuICAgIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgICAgdG9wOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICAgIGJvdHRvbTogJG1hdC1zdGVwcGVyLWxpbmUtZ2FwIC0gJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmVzIGZvciB0aGUgc3RlcCBoZWFkZXIgYXJlIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmUgZm9yIHRoZSBzdGVwIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXJlZCB2ZXJ0aWNhbGx5LlxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgICB0b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nICsgJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQgLyAyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0ZXBwZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXNvcnQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFuc3BhcmVudCBjb2xvciBmcm9tIHRoZSB0aGVtZSBkaXJlY3RseS4gSWYgdGhlIHZhbHVlIGlzIGEgY29sb3JcbiAgICAvLyAqdHlwZSosIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZFxuICAgIC8vIHVzaW5nIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZFxuICAgIC8vIHdoZW4gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuIE90aGVyd2lzZSwgaWYgaXQgcmVzb2x2ZXMgdG8gc29tZXRoaW5nIGRpZmZlcmVudFxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSwgd2UgdXNlIHRoZSBjb2xvciBkaXJlY3RseS5cbiAgICBAaWYgKHR5cGUtb2YoJHRhYmxlLWJhY2tncm91bmQpID09IGNvbG9yIGFuZCB0eXBlLW9mKCR0ZXh0LWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgJHRleHQtb3BhY2l0eTogb3BhY2l0eSgkdGV4dC1jb2xvcik7XG4gICAgICBjb2xvcjogbWl4KCR0YWJsZS1iYWNrZ3JvdW5kLCByZ2JhKCR0ZXh0LWNvbG9yLCAxKSwgKDEgLSAkdGV4dC1vcGFjaXR5KSAqIDEwMCUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNvcnQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNvcnQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNvcnQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFicy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC10YWItbmF2LWJhcixcbiAgLm1hdC10YWItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciB7XG4gICAgLm1hdC10YWItbmF2LWJhcixcbiAgICAubWF0LXRhYi1oZWFkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJGhlYWRlci1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAvLyBSZW1vdmUgaGVhZGVyIGJvcmRlciB3aGVuIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBjb2xvclxuICAubWF0LXRhYi1ncm91cFtjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIC5tYXQtdGFiLWhlYWRlcixcbiAgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cCwgLm1hdC10YWItbmF2LWJhciB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgICB3YXJuOiAkd2FyblxuICAgICk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzXG4gICAgICAmLm1hdC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGluayBiYXIgd2hlbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIHRoZSBzYW1lXG4gICAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICAgID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGFicyBhbmQgb3ZlcnJpZGUgZm9jdXMgY29sb3JcbiAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtYmFja2dyb3VuZCgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbmstYmFyKCRjb2xvciwgJGh1ZTogZGVmYXVsdCkge1xuICAubWF0LWluay1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkY29sb3IsICRodWUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYi1sYWJlbC1mb2N1cygkdGFiLWZvY3VzLWNvbG9yKSB7XG4gIC5tYXQtdGFiLWxhYmVsLFxuICAubWF0LXRhYi1saW5rIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCB7XG4gICAgICAmOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHRhYi1mb2N1cy1jb2xvciwgbGlnaHRlciwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIC8vIE5vdGUgdGhhdCB0aGVzZSBzZWxlY3RvcnMgdGFyZ2V0IGRpcmVjdCBkZXNjZW5kYW50cyBzb1xuICAvLyB0aGF0IHRoZSBzdHlsZXMgZG9uJ3QgYXBwbHkgdG8gYW55IG5lc3RlZCB0YWIgZ3JvdXBzLlxuXG4gIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFiIGdyb3VwXG4gID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyLCA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgLy8gU2V0IGxhYmVscyB0byBjb250cmFzdCBhZ2FpbnN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixcbiAgPiAubWF0LXRhYi1saW5rcyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFiLWdyb3VwIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJzJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYnMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10YWJzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0b29sYmFyJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGJlY2F1c2Vcbi8vIGRldmVsb3BlcnMgY2FuIHByb2plY3QgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gdmFsdWUgdGhhdCBlbnN1cmVzIHRoYXQgbW9zdFxuLy8gY29tbW9uIGNvbnRlbnQgKGUuZy4gaWNvbiBidXR0b25zKSBkb2VzIG5vdCBleGNlZWQgdGhlIHJvdyBib3VuZGFyaWVzIGluIGhpZ2hlc3QgZGVuc2l0eS5cbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodDogNDRweCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wOiA2NHB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcCxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLW1vYmlsZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGUsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodCkge1xuICAubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyB7XG4gICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgfVxuICAubWF0LXRvb2xiYXItcm93LCAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItY29sb3IoJHBhbGV0dGUpIHtcbiAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXMge1xuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGFwcC1iYXIpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcztcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbGJhcixcbiAgLm1hdC10b29sYmFyIGgxLFxuICAubWF0LXRvb2xiYXIgaDIsXG4gIC5tYXQtdG9vbGJhciBoMyxcbiAgLm1hdC10b29sYmFyIGg0LFxuICAubWF0LXRvb2xiYXIgaDUsXG4gIC5tYXQtdG9vbGJhciBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodC1kZXNrdG9wOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICRoZWlnaHQtbW9iaWxlOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC8vIFNldCB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIHRoZSB0b29sYmFyLlxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodC1kZXNrdG9wKTtcblxuICAgIC8vIEFzIHBlciBzcGVjcywgdG9vbGJhcnMgc2hvdWxkIGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0IGluIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGhhcyBiZWVuXG4gICAgLy8gc3BlY2lmaWVkIGluIHRoZSBvbGQgZ3VpZGVsaW5lcyBhbmQgaXMgc3RpbGwgb2JzZXJ2YWJsZSBpbiB0aGUgbmV3IHNwZWNpZmljYXRpb25zIGJ5XG4gICAgLy8gbG9va2luZyBhdCB0aGUgc3BlYyBpbWFnZXMuIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9hcHAtYmFycy10b3AuaHRtbCNhbmF0b215XG4gICAgQG1lZGlhICgkbWF0LXhzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbGJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodDogMjJweDtcbiRtYXQtdG9vbHRpcC1mb250LXNpemU6IDEwcHg7XG4kbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZzogKCRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWZvbnQtc2l6ZSkgLyAyO1xuXG4kbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0OiAzMHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplOiAxNHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZzpcbiAgICAoJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZSkgLyAyO1xuXG5AbWl4aW4gbWF0LXRvb2x0aXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHRvb2x0aXAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbHRpcCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG5cbiAgLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgICAvLyBVc2UgdGhlIHByaW1hcnkgdGV4dCBvbiB0aGUgZGFyayB0aGVtZSwgZXZlbiB0aG91Z2ggdGhlIGxpZ2h0ZXIgb25lIHVzZXNcbiAgICAvLyBhIHNlY29uZGFyeSwgYmVjYXVzZSB0aGUgY29udHJhc3Qgb24gdGhlIGxpZ2h0IHByaW1hcnkgdGV4dCBpcyBwb29yLlxuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQpO1xuICAgIGJhY2tncm91bmQ6IGlmKCRpcy1kYXJrLXRoZW1lLCBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLCAjMzIzMjMyKTtcblxuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCBpbmhlcml0LCBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNpbXBsZS1zbmFja2JhciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogaW5oZXJpdDtcbiAgICAgIHNpemU6IGluaGVyaXQ7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbmFjay1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc25hY2stYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBmaWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkZmlsbC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjEsIDAuMDQpKTtcbiAgJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4wNSwgMC4wMikpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjUsIDAuNDIpKTtcbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBvbiB0b3Agb2YgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy10b3A6IDAuMjVlbTtcbiAgLy8gVGhlIHBhZGRpbmcgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIGZpbGwgYXBwZWFyYW5jZS5cbiAgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmctdG9wIDAgJGluZml4LXBhZGRpbmctYm90dG9tIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZy10b3A7XG4gICAgICBtYXJnaW4tdG9wOiAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1maWxsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGxlZ2FjeSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtaGludCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gV2UgdXNlIHBlcnNwZWN0aXZlIHRvIGZpeCB0aGUgdGV4dCBibHVycmluZXNzIGFzIGRlc2NyaWJlZCBoZXJlOlxuICAvLyBodHRwOi8vd3d3LnVzZXJhZ2VudG1hbi5jb20vYmxvZy8yMDE0LzA1LzA0L2ZpeGluZy10eXBvZ3JhcGh5LWluc2lkZS1vZi0yLWQtY3NzLXRyYW5zZm9ybXMvXG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcpIHNjYWxlKCRmb250LXNjYWxlKSBwZXJzcGVjdGl2ZSgxMDBweClcbiAgdHJhbnNsYXRlWigwLjAwMXB4ICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG5cbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuLy8gU2FtZSBhcyBtaXhpbiBhYm92ZSwgYnV0IG9taXRzIHRoZSB0cmFuc2xhdGVaIGZvciBwcmludGluZyBwdXJwb3Nlcy5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmFuc2xhdGVaIGNhdXNlcyB0aGUgbGFiZWwgdG8gbm90IGFwcGVhciB3aGlsZSBwcmludGluZywgc28gd2Ugb3ZlcnJpZGUgaXQgdG8gbm90XG4gIC8vIGFwcGx5IHRyYW5zbGF0ZVogd2hpbGUgcHJpbnRpbmdcbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtbGVnYWN5Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIG91dGxpbmUgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICRvdXRsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjMsIDAuMTIpKTtcbiAgJG91dGxpbmUtY29sb3ItaG92ZXI6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJG91dGxpbmUtY29sb3ItcHJpbWFyeTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgJG91dGxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICRvdXRsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2Fybik7XG4gICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjE1LCAwLjA2KSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGFzcyByZXBlYXRlZCBzbyB0aGF0IHJ1bGUgaXMgc3BlY2lmaWMgZW5vdWdoIHRvIG92ZXJyaWRlIGZvY3VzZWQgYWNjZW50IGNvbG9yIGNhc2UuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlKVxuICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nOiAxZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2UuXG4gICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC4yNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICAgIG1hcmdpbi10b3A6ICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1vdXRsaW5lJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgc3RhbmRhcmQgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb2xvciBzdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgYXBwZWFyYW5jZXMgb2YgdGhlIGZvcm0tZmllbGQuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgLy8gTGFiZWwgY29sb3JzLiBSZXF1aXJlZCBpcyB1c2VkIGZvciB0aGUgYCpgIHN0YXIgc2hvd24gaW4gdGhlIGxhYmVsLlxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNikpO1xuICAkZm9jdXNlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG5cbiAgLy8gVW5kZXJsaW5lIGNvbG9ycy5cbiAgJHVuZGVybGluZS1jb2xvci1iYXNlOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICR1bmRlcmxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtaGludCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkZm9jdXNlZC1sYWJlbC1jb2xvcjtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICBjb2xvcjogJHJlcXVpcmVkLWxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1iYXNlO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjtcblxuICAgICAgJi5tYXQtYWNjZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciB0aGUgZXJyb3Igc3RhdGUgb2YgdGhlIGZvcm0gZmllbGQuIE5vdGUgdGhhdCB3aGlsZSB0aGUgc2FtZSBjYW4gYmVcbiAgLy8gYWNoaWV2ZWQgd2l0aCB0aGUgbmctKiBjbGFzc2VzLCB3ZSB1c2UgdGhpcyBhcHByb2FjaCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0aGUgc2FtZVxuICAvLyBsb2dpYyBpcyB1c2VkIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZSBhbmQgdG8gc2hvdyB0aGUgZXJyb3IgbWVzc2FnZXMuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcblxuICAgICAgJi5tYXQtYWNjZW50LFxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWcpO1xufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGU6IDEuNTtcblxuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBsYWJlbCBhbmQgc3Vic2NyaXB0IHRleHQuXG4gICRzdWJzY3JpcHQtZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaW5wdXQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIC8vIEFsbG93IGljb25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBpY29uIGJ1dHRvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcbiAgICAgIHdpZHRoOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG5cbiAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICAvLyBUaHJvd3Mgb2ZmIHRoZSBiYXNlbGluZSBpZiB3ZSBkbyBpdCBhcyBhIHJlYWwgbWFyZ2luLCBzbyB3ZSBkbyBpdCBhcyBhIGJvcmRlciBpbnN0ZWFkLlxuICAgIGJvcmRlci10b3A6ICRpbmZpeC1tYXJnaW4tdG9wIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cblxuICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHtcbiAgICB0b3A6IC0kaW5maXgtbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGluZml4LW1hcmdpbi10b3A7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudC5cbiAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBmb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6ICRzdWJzY3JpcHQtbWFyZ2luLXRvcDtcblxuICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSAjeyR3cmFwcGVyLXBhZGRpbmctYm90dG9tIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdHJlZS1ub2RlLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0cmVlIG5vZGVzIGluIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGFzXG4vLyBkZXZlbG9wZXJzIGNhbiBkaXNwbGF5IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIGhlaWdodCB3aGljaCBlbnN1cmVzXG4vLyB0aGF0IGNvbW1vbiBjb250ZW50IHBsYWNlZCBpbiB0cmVlIG5vZGVzIGRvZXMgbm90IGV4Y2VlZCAoZS5nLiBpY29ucywgY2hlY2tib3hlcykuXG4kbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC10cmVlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10cmVlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXRyZWUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC10cmVlLW5vZGUge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10cmVlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIHR5cG9ncmFwaGljIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZTogbnVsbCkge1xuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICAvLyBJZiBubyBhY3R1YWwgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhIGRlZmF1bHQgb25lLlxuICBAaWYgbm90ICRjb25maWcge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgdHlwb2dyYXBoeWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYGRlbnNpdHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIHR5cG9ncmFwaHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC10eXBvZ3JhcGh5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgYXJlIG5vdCB0aGVtZS1kZXBlbmRlbnQuXG5AbWl4aW4gbWF0LWNvcmUoJHR5cG9ncmFwaHktY29uZmlnOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbiAgQGluY2x1ZGUgX21hdC1tZGMtY29yZSgpO1xufVxuXG5AbWl4aW4gbWF0LWNvcmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gV3JhcHBlciBlbGVtZW50IHRoYXQgcHJvdmlkZXMgdGhlIHRoZW1lIGJhY2tncm91bmQgd2hlbiB0aGUgdXNlcidzIGNvbnRlbnQgaXNuJ3RcbiAgLy8gaW5zaWRlIG9mIGEgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIGFtcGVyc2FuZFxuICAvLyBzZWxlY3RvciBpbiBjYXNlIHRoZSBtaXhpbiBpcyBpbmNsdWRlZCBhdCB0aGUgdG9wIGxldmVsLlxuICAubWF0LWFwcC1iYWNrZ3JvdW5kI3tpZigmLCAnLCAmLm1hdC1hcHAtYmFja2dyb3VuZCcsICcnKX0ge1xuICAgICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAgICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC8vIFByb3ZpZGVzIGV4dGVybmFsIENTUyBjbGFzc2VzIGZvciBlYWNoIGVsZXZhdGlvbiB2YWx1ZS4gRWFjaCBDU1MgY2xhc3MgaXMgZm9ybWF0dGVkIGFzXG4gIC8vIGBtYXQtZWxldmF0aW9uLXokelZhbHVlYCB3aGVyZSBgJHpWYWx1ZWAgY29ycmVzcG9uZHMgdG8gdGhlIHotc3BhY2UgdG8gd2hpY2ggdGhlIGVsZW1lbnQgaXNcbiAgLy8gZWxldmF0ZWQuXG4gIEBmb3IgJHpWYWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLiN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSN7JHpWYWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmtlciB0aGF0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFkZGVkIGEgdGhlbWUgdG8gdGhlaXIgcGFnZS5cbiAgQGF0LXJvb3Qge1xuICAgIC5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgdGhlbWUuXG5AbWl4aW4gbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIC8vIFdyYXAgdGhlIHN1Yi10aGVtZSBpbmNsdWRlcyBpbiB0aGUgZHVwbGljYXRlIHRoZW1lIHN0eWxlcyBtaXhpbi4gVGhpcyBlbnN1cmVzIHRoYXRcbiAgLy8gdGhlcmUgd29uJ3QgYmUgbXVsdGlwbGUgd2FybmluZ3MuIGUuZy4gaWYgYG1hdC1jb3JlLXRoZW1lYCByZXBvcnRzIGEgd2FybmluZywgdGhlblxuICAvLyB0aGUgaW1wb3J0ZWQgdGhlbWVzIChzdWNoIGFzIGBtYXQtcmlwcGxlLXRoZW1lYCkgc2hvdWxkIG5vdCByZXBvcnQgYWdhaW4uXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNvcmUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb3JlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgTURDIHN0eWxlcy4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoIGBtYXQtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtY29yZSgpIHtcbiAgQGluY2x1ZGUgX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgX21hdC1tZGMtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkZGVkdXBlLWtleTogJ2FuZ3VsYXItbWF0ZXJpYWwtdGhlbWUnO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRkZWR1cGUta2V5KSB7XG4gICAgQGluY2x1ZGUgbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgY29sb3Igc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGNvbG9yIHN5c3RlbSwgZXh0cmFjdCB0aGUgY29sb3IgY29uZmlnIGZyb20gdGhlIHRoZW1lIG9iamVjdC5cbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gY29sb3IgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoKFxuICAgIGNvbG9yOiAkY29uZmlnLFxuICAgIHR5cG9ncmFwaHk6IG51bGwsXG4gICAgZGVuc2l0eTogbnVsbCxcbiAgKSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgZGVuc2l0eSBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBkZW5zaXR5IHN5c3RlbSwgZXh0cmFjdCB0aGUgZGVuc2l0eSBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaWYgJGNvbmZpZyA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ05vIGRlbnNpdHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIC8vIFRPRE86IENPTVAtMzA5OiBEbyBub3QgdXNlIGluZGl2aWR1YWwgbWl4aW5zLiBJbnN0ZWFkLCB1c2UgdGhlIGFsbC10aGVtZSBtaXhpbiBhbmQgb25seVxuICAvLyBzcGVjaWZ5IGEgYGRlbnNpdHlgIGNvbmZpZyB3aGlsZSBzZXR0aW5nIGBjb2xvcmAgYW5kIGB0eXBvZ3JhcGh5YCB0byBgbnVsbGAuIFRoaXMgaXMgY3VycmVudGx5XG4gIC8vIG5vdCBwb3NzaWJsZSBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGZvciBkZW5zaXR5IGJlY2F1c2UgdGhlIGBtYXQtY29yZWBcbiAgLy8gbWl4aW4gdGhhdCBpcyB0cmFuc2l0aXZlbHkgbG9hZGVkIGJ5IHRoZSBgYWxsLXRoZW1lYCBmaWxlLCBpbXBvcnRzIGBhbGwtZGVuc2l0eWAgd2hpY2hcbiAgLy8gd291bGQgdGhlbiBsb2FkIGBhbGwtdGhlbWVgIGFnYWluLiBUaGlzIHVsdGltYXRlbHkgcmVzdWx0cyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG5cbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZyk7XG59XG5cblxuXG4iLCJAaW1wb3J0IFwifkBhbmd1bGFyL21hdGVyaWFsL3RoZW1pbmdcIjsgLy8gUGx1cyBpbXBvcnRzIGZvciBvdGhlciBjb21wb25lbnRzIGluIHlvdXIgYXBwLlxuLy8gSW5jbHVkZSB0aGUgY29tbW9uIHN0eWxlcyBmb3IgQW5ndWxhciBNYXRlcmlhbC4gV2UgaW5jbHVkZSB0aGlzIGhlcmUgc28gdGhhdCB5b3Ugb25seVxuLy8gaGF2ZSB0byBsb2FkIGEgc2luZ2xlIGNzcyBmaWxlIGZvciBBbmd1bGFyIE1hdGVyaWFsIGluIHlvdXIgYXBwLlxuLy8gQmUgc3VyZSB0aGF0IHlvdSBvbmx5IGV2ZXIgaW5jbHVkZSB0aGlzIG1peGluIG9uY2UhXG5AaW5jbHVkZSBtYXQtY29yZSgpOyAvLyBEZWZpbmUgdGhlIHBhbGV0dGVzIGZvciB5b3VyIHRoZW1lIHVzaW5nIHRoZSBNYXRlcmlhbCBEZXNpZ24gcGFsZXR0ZXMgYXZhaWxhYmxlIGluIHBhbGV0dGUuc2Nzc1xuLy8gKGltcG9ydGVkIGFib3ZlKS4gRm9yIGVhY2ggcGFsZXR0ZSwgeW91IGNhbiBvcHRpb25hbGx5IHNwZWNpZnkgYSBkZWZhdWx0LCBsaWdodGVyLCBhbmQgZGFya2VyXG4vLyBodWUuIEF2YWlsYWJsZSBjb2xvciBwYWxldHRlczogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG5cbi8qIEZvciB1c2UgaW4gc3JjL2xpYi9jb3JlL3RoZW1pbmcvX3BhbGV0dGUuc2NzcyAqL1xuLy8gUGFsZXR0ZSBNYXRlcmlhbCDigJQgREFSSyB0aGVtZS4gQ2VudHJvICg1MDApID0gVGFpbHdpbmQgYmx1ZS00MDAgKCM2MEE1RkEpLFxuLy8gdG9tIGNhbsO0bmljbyBkbyBzeXN0ZW0gYWNjZW50IG5vIGRhcmsgbW9kZSAobWVzbW8gZG8gYCRhY2NlbnQtYmFja2dyb3VuZC1kYXJrYFxuLy8gZW0gYF9jb2xvcnMuc2Nzc2ApLiBBQSBjb250cmEgbyBjYW52YXMgZXNjdXJvICh+Ni40OjEpIHNlbSB2aXJhciBuw6lvbi5cbi8vIEVzY2FsYSBpbnRlaXJhIHNlZ3VlIGEgZmFtw61saWEgYmx1ZSBUYWlsd2luZC5cbiRtZC1tY2dwYWxldHRlMDogKFxuICAgIDUwIDogI0VGRjZGRixcbiAgICAxMDAgOiAjREJFQUZFLFxuICAgIDIwMCA6ICNCRkRCRkUsXG4gICAgMzAwIDogIzkzQzVGRCxcbiAgICA0MDAgOiAjNjBBNUZBLFxuICAgIDUwMCA6ICM2MEE1RkEsXG4gICAgNjAwIDogIzNCODJGNixcbiAgICA3MDAgOiAjMjU2M0VCLFxuICAgIDgwMCA6ICMxRDRFRDgsXG4gICAgOTAwIDogIzFFNDBBRixcbiAgICBBMTAwIDogI0VGRjZGRixcbiAgICBBMjAwIDogI0JGREJGRSxcbiAgICBBNDAwIDogIzYwQTVGQSxcbiAgICBBNzAwIDogIzI1NjNFQixcbiAgICAvLyBUZXh0byBCUkFOQ08gZW0gNDAwLTkwMCBwcmEgdW5pZmljYXIgdG9kbyBib3TDo28gYWNjZW50IG5vIGRhcmtcbiAgICAvLyAocGFyIGNvbSBvIGAuY2hhaXItYnV0dG9uLS1wcmltYXJ5YCBjdXN0b20gcXVlIGFnb3JhIHRhbWLDqW0gdXNhXG4gICAgLy8gYnJhbmNvKS4gVHJhZGUtb2ZmOiBjb250cmFzdGUgfjQ6MSBubyA0MDAvNTAwIChibHVlLTQwMCkg4oCUIGFiYWl4b1xuICAgIC8vIGRlIEFBQSBtYXMgZGVudHJvIGRhIHRvbGVyw6JuY2lhIHByYSB0ZXh0byBncmFuZGUvYm9sZCBkZSBib3TDo28uXG4gICAgY29udHJhc3Q6IChcbiAgICAgICAgNTAgOiAjMDAwMDAwLFxuICAgICAgICAxMDAgOiAjMDAwMDAwLFxuICAgICAgICAyMDAgOiAjMDAwMDAwLFxuICAgICAgICAzMDAgOiAjMDAwMDAwLFxuICAgICAgICA0MDAgOiAjZmZmZmZmLFxuICAgICAgICA1MDAgOiAjZmZmZmZmLFxuICAgICAgICA2MDAgOiAjZmZmZmZmLFxuICAgICAgICA3MDAgOiAjZmZmZmZmLFxuICAgICAgICA4MDAgOiAjZmZmZmZmLFxuICAgICAgICA5MDAgOiAjZmZmZmZmLFxuICAgICAgICBBMTAwIDogIzAwMDAwMCxcbiAgICAgICAgQTIwMCA6ICMwMDAwMDAsXG4gICAgICAgIEE0MDAgOiAjZmZmZmZmLFxuICAgICAgICBBNzAwIDogI2ZmZmZmZixcbiAgICApXG4pO1xuXG4vLyBQYWxldHRlIE1hdGVyaWFsIOKAlCBMSUdIVCB0aGVtZS4gQ2VudHJvICg1MDApID0gVGFpbHdpbmQgYmx1ZS04MDAgKCMxRTQwQUYpLFxuLy8gdG9tIGNhbsO0bmljbyBkbyBzeXN0ZW0gYWNjZW50IGNhbGlicmFkbyBwcmEgQUFBICh+OToxIHZzIGJyYW5jbykuIFRleHRvXG4vLyBicmFuY28gZW0gNTAwLTkwMC4gRXNjYWxhIGludGVpcmEgc2VndWUgYSBmYW3DrWxpYSBibHVlIFRhaWx3aW5kIHByYSBkYXJcbi8vIGdyYWRpZW50ZSBjb2VyZW50ZSBkbyBob3Zlci1wYWxlIGF0w6kgbyBkZWVwLW5hdnkuXG4kbWQtbWNncGFsZXR0ZTE6IChcbiAgICA1MCA6ICNFRkY2RkYsXG4gICAgMTAwIDogI0RCRUFGRSxcbiAgICAyMDAgOiAjQkZEQkZFLFxuICAgIDMwMCA6ICM5M0M1RkQsXG4gICAgNDAwIDogIzI1NjNFQixcbiAgICA1MDAgOiAjMUU0MEFGLFxuICAgIDYwMCA6ICMxQjNBOUUsXG4gICAgNzAwIDogIzE3MzQ4QyxcbiAgICA4MDAgOiAjMTMyQjc1LFxuICAgIDkwMCA6ICMwRjIyNUUsXG4gICAgQTEwMCA6ICNCRkRCRkUsXG4gICAgQTIwMCA6ICM2MEE1RkEsXG4gICAgQTQwMCA6ICMyNTYzRUIsXG4gICAgQTcwMCA6ICMxRTQwQUYsXG4gICAgY29udHJhc3Q6IChcbiAgICAgICAgNTAgOiAjMDAwMDAwLFxuICAgICAgICAxMDAgOiAjMDAwMDAwLFxuICAgICAgICAyMDAgOiAjMDAwMDAwLFxuICAgICAgICAzMDAgOiAjMDAwMDAwLFxuICAgICAgICA0MDAgOiAjZmZmZmZmLFxuICAgICAgICA1MDAgOiAjZmZmZmZmLFxuICAgICAgICA2MDAgOiAjZmZmZmZmLFxuICAgICAgICA3MDAgOiAjZmZmZmZmLFxuICAgICAgICA4MDAgOiAjZmZmZmZmLFxuICAgICAgICA5MDAgOiAjZmZmZmZmLFxuICAgICAgICBBMTAwIDogIzAwMDAwMCxcbiAgICAgICAgQTIwMCA6ICMwMDAwMDAsXG4gICAgICAgIEE0MDAgOiAjZmZmZmZmLFxuICAgICAgICBBNzAwIDogI2ZmZmZmZixcbiAgICApXG4pO1xuXG4kdGhlbWUtcHJpbWFyeTogKFxuICA1MDogI2UzZTVlYixcbiAgMTAwOiAjYmFiZmNkLFxuICAyMDA6ICM4Yzk1YWMsXG4gIDMwMDogIzVlNmE4YixcbiAgNDAwOiAjM2M0YTcyLFxuICA1MDA6ICMxOTJhNTksXG4gIDYwMDogIzE2MjU1MSxcbiAgNzAwOiAjMTIxZjQ4LFxuICA4MDA6ICMwZTE5M2UsXG4gIDkwMDogIzA4MGYyZSxcbiAgQTEwMDogIzY4N2RmZixcbiAgQTIwMDogIzM1NTFmZixcbiAgQTQwMDogIzAyMjVmZixcbiAgQTcwMDogIzAwMjBlOCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiR0aGVtZS1zZWNvbmRhcnk6IChcbiAgNTA6ICNmMGYxZjMsXG4gIDEwMDogI2RhZGNlMSxcbiAgMjAwOiAjYzFjNGNkLFxuICAzMDA6ICNhOGFjYjgsXG4gIDQwMDogIzk2OWJhOSxcbiAgNTAwOiAjODM4OTlhLFxuICA2MDA6ICM3YjgxOTIsXG4gIDcwMDogIzcwNzY4OCxcbiAgODAwOiAjNjY2YzdlLFxuICA5MDA6ICM1MzU5NmMsXG4gIEExMDA6ICNkNWRmZmUsXG4gIEEyMDA6ICNhM2I4ZmQsXG4gIEE0MDA6ICM2ZTkwZmYsXG4gIEE3MDA6ICM1NTdjZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICMwMDAwMDAsXG4gICAgMTAwOiAjMDAwMDAwLFxuICAgIDIwMDogIzAwMDAwMCxcbiAgICAzMDA6ICMwMDAwMDAsXG4gICAgNDAwOiAjZmZmZmZmLFxuICAgIDUwMDogI2ZmZmZmZixcbiAgICA2MDA6ICNmZmZmZmYsXG4gICAgNzAwOiAjZmZmZmZmLFxuICAgIDgwMDogI2ZmZmZmZixcbiAgICA5MDA6ICNmZmZmZmYsXG4gICAgQTEwMDogIzAwMDAwMCxcbiAgICBBMjAwOiAjMDAwMDAwLFxuICAgIEE0MDA6ICMwMDAwMDAsXG4gICAgQTcwMDogI2ZmZmZmZlxuICApXG4pO1xuXG4kdGhlbWUtd2FybjogKFxuICA1MDogI2Y5ZTNlMyxcbiAgMTAwOiAjZjBiOWI5LFxuICAyMDA6ICNlNzhhOGEsXG4gIDMwMDogI2RkNWI1YixcbiAgNDAwOiAjZTQzYjNiLFxuICA1MDA6ICNlOTE0MTQsXG4gIDYwMDogI2QzMTQxNCxcbiAgNzAwOiAjYzIwZTBlLFxuICA4MDA6ICNiYzBiMGIsXG4gIDkwMDogI2IwMDYwNixcbiAgQTEwMDogI2ZmZGJkYixcbiAgQTIwMDogI2ZmYThhOCxcbiAgQTQwMDogI2ZmNzU3NSxcbiAgQTcwMDogI2ZmNWI1YixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogIzAwMDAwMCxcbiAgICAxMDA6ICMwMDAwMDAsXG4gICAgMjAwOiAjMDAwMDAwLFxuICAgIDMwMDogIzAwMDAwMCxcbiAgICA0MDA6ICNmZmZmZmYsXG4gICAgNTAwOiAjZmZmZmZmLFxuICAgIDYwMDogI2ZmZmZmZixcbiAgICA3MDA6ICNmZmZmZmYsXG4gICAgODAwOiAjZmZmZmZmLFxuICAgIDkwMDogI2ZmZmZmZixcbiAgICBBMTAwOiAjMDAwMDAwLFxuICAgIEEyMDA6ICMwMDAwMDAsXG4gICAgQTQwMDogIzAwMDAwMCxcbiAgICBBNzAwOiAjMDAwMDAwLFxuICApXG4pO1xuLy8gR2Vpc3QgU2FucyAodmFyaWFibGUsIFZlcmNlbCwgMjAyMykgYXMgdGhlIHByaW1hcnkgVUkgZm9udC4gUHJvdmlkZXNcbi8vIGNyb3NzLU9TIGNvbnNpc3RlbmN5IHNpbWlsYXIgdG8gd2hhdCBDbGF1ZGUuYWkgLyBMaW5lYXIgLyBWZXJjZWwgYWNoaWV2ZVxuLy8gd2l0aCBjb21tZXJjaWFsIFPDtmhuZS4gU3lzdGVtIGZvbnRzIHJlbWFpbiBhcyBmYWxsYmFja3MgZm9yIHRoZSBicmllZlxuLy8gcHJlLWxvYWQgcGVyaW9kLlxuJGZvbnQtZmFtaWx5OiBcIkdlaXN0XCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuXG4kYXBwLXdhcm46IG1hdC1wYWxldHRlKCR0aGVtZS13YXJuKTsgLy8gQ3JlYXRlIHRoZSB0aGVtZSBvYmplY3QgKGEgU2FzcyBtYXAgY29udGFpbmluZyBhbGwgb2YgdGhlIHBhbGV0dGVzKS5cbi8vIFRlbWEgY2xhcm9cbiRhcHAtcHJpbWFyeS1saWdodDogbWF0LXBhbGV0dGUoJG1kLW1jZ3BhbGV0dGUxKTtcbiRhcHAtYWNjZW50LWxpZ2h0OiBtYXQtcGFsZXR0ZSgkbWQtbWNncGFsZXR0ZTEpO1xuJGFwcC10aGVtZS1saWdodDogbWF0LWxpZ2h0LXRoZW1lKCRhcHAtcHJpbWFyeS1saWdodCwgJGFwcC1hY2NlbnQtbGlnaHQsICRhcHAtd2Fybik7XG4ubGlnaHQtdGhlbWUge1xuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKCRhcHAtdGhlbWUtbGlnaHQpO1xufVxuXG4vLyBUZW1hIGVzY3Vyb1xuJGFwcC1wcmltYXJ5LWRhcms6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMCk7XG4kYXBwLWFjY2VudC1kYXJrOiBtYXQtcGFsZXR0ZSgkbWQtbWNncGFsZXR0ZTApO1xuJGFwcC10aGVtZS1kYXJrOiBtYXQtZGFyay10aGVtZSgkYXBwLXByaW1hcnktZGFyaywgJGFwcC1hY2NlbnQtZGFyaywgJGFwcC13YXJuKTtcbi5kYXJrLXRoZW1lIHtcbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10aGVtZSgkYXBwLXRoZW1lLWRhcmspO1xufVxuXG5cbiRhcHAtdHlwb2dyYXBoeTogbWF0LXR5cG9ncmFwaHktY29uZmlnKCRmb250LWZhbWlseSk7XG5cbkBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkYXBwLXR5cG9ncmFwaHkpO1xuIiwiQGtleWZyYW1lcyBzcGluQXJvdW5kXG4gIGZyb21cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxuICB0b1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZylcbiIsIkBpbXBvcnQgXCJpbml0aWFsLXZhcmlhYmxlc1wiXG5cbj1jbGVhcmZpeFxuICAmOjphZnRlclxuICAgIGNsZWFyOiBib3RoXG4gICAgY29udGVudDogXCIgXCJcbiAgICBkaXNwbGF5OiB0YWJsZVxuXG49Y2VudGVyKCR3aWR0aCwgJGhlaWdodDogMClcbiAgcG9zaXRpb246IGFic29sdXRlXG4gIEBpZiAkaGVpZ2h0ICE9IDBcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICgjeyR3aWR0aH0gLyAyKSlcbiAgICB0b3A6IGNhbGMoNTAlIC0gKCN7JGhlaWdodH0gLyAyKSlcbiAgQGVsc2VcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICgjeyR3aWR0aH0gLyAyKSlcbiAgICB0b3A6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKVxuXG49ZmEoJHNpemUsICRkaW1lbnNpb25zKVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgZm9udC1zaXplOiAkc2l6ZVxuICBoZWlnaHQ6ICRkaW1lbnNpb25zXG4gIGxpbmUtaGVpZ2h0OiAkZGltZW5zaW9uc1xuICB0ZXh0LWFsaWduOiBjZW50ZXJcbiAgdmVydGljYWwtYWxpZ246IHRvcFxuICB3aWR0aDogJGRpbWVuc2lvbnNcblxuPWhhbWJ1cmdlcigkZGltZW5zaW9ucylcbiAgY3Vyc29yOiBwb2ludGVyXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogJGRpbWVuc2lvbnNcbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHdpZHRoOiAkZGltZW5zaW9uc1xuICBzcGFuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yXG4gICAgZGlzcGxheTogYmxvY2tcbiAgICBoZWlnaHQ6IDFweFxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzcGVlZFxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIHRyYW5zZm9ybVxuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZWFzaW5nXG4gICAgd2lkdGg6IDE2cHhcbiAgICAmOm50aC1jaGlsZCgxKVxuICAgICAgdG9wOiBjYWxjKDUwJSAtIDZweClcbiAgICAmOm50aC1jaGlsZCgyKVxuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweClcbiAgICAmOm50aC1jaGlsZCgzKVxuICAgICAgdG9wOiBjYWxjKDUwJSArIDRweClcbiAgJjpob3ZlclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYShibGFjaywgMC4wNSlcbiAgLy8gTW9kaWZlcnNcbiAgJi5pcy1hY3RpdmVcbiAgICBzcGFuXG4gICAgICAmOm50aC1jaGlsZCgxKVxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KSByb3RhdGUoNDVkZWcpXG4gICAgICAmOm50aC1jaGlsZCgyKVxuICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAmOm50aC1jaGlsZCgzKVxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgcm90YXRlKC00NWRlZylcblxuPW92ZXJmbG93LXRvdWNoXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaFxuXG49cGxhY2Vob2xkZXJcbiAgJHBsYWNlaG9sZGVyczogJzotbW96JyAnOi13ZWJraXQtaW5wdXQnICctbW96JyAnLW1zLWlucHV0J1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVyc1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyXG4gICAgICBAY29udGVudFxuXG4vLyBSZXNwb25zaXZlbmVzc1xuXG49ZnJvbSgkZGV2aWNlKVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGV2aWNlKVxuICAgIEBjb250ZW50XG5cbj11bnRpbCgkZGV2aWNlKVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGV2aWNlIC0gMXB4KVxuICAgIEBjb250ZW50XG5cbj1tb2JpbGVcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldCAtIDFweClcbiAgICBAY29udGVudFxuXG49dGFibGV0XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpLCBwcmludFxuICAgIEBjb250ZW50XG5cbj10YWJsZXQtb25seVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0KSBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPXRvdWNoXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wIC0gMXB4KVxuICAgIEBjb250ZW50XG5cbj1kZXNrdG9wXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wKVxuICAgIEBjb250ZW50XG5cbj1kZXNrdG9wLW9ubHlcbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVza3RvcCkgYW5kIChtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gMXB4KVxuICAgICAgQGNvbnRlbnRcblxuPXVudGlsLXdpZGVzY3JlZW5cbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkd2lkZXNjcmVlbiAtIDFweClcbiAgICAgIEBjb250ZW50XG5cbj13aWRlc2NyZWVuXG4gIEBpZiAkd2lkZXNjcmVlbi1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZGVzY3JlZW4pXG4gICAgICBAY29udGVudFxuXG49d2lkZXNjcmVlbi1vbmx5XG4gIEBpZiAkd2lkZXNjcmVlbi1lbmFibGVkIGFuZCAkZnVsbGhkLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkZXNjcmVlbikgYW5kIChtYXgtd2lkdGg6ICRmdWxsaGQgLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49dW50aWwtZnVsbGhkXG4gIEBpZiAkZnVsbGhkLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZnVsbGhkIC0gMXB4KVxuICAgICAgQGNvbnRlbnRcblxuPWZ1bGxoZFxuICBAaWYgJGZ1bGxoZC1lbmFibGVkXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGZ1bGxoZClcbiAgICAgIEBjb250ZW50XG5cbi8vIFBsYWNlaG9sZGVyc1xuXG49dW5zZWxlY3RhYmxlXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZVxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmVcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lXG4gIHVzZXItc2VsZWN0OiBub25lXG5cbiV1bnNlbGVjdGFibGVcbiAgK3Vuc2VsZWN0YWJsZVxuXG49YXJyb3coJGNvbG9yOiB0cmFuc3BhcmVudClcbiAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yXG4gIGJvcmRlci1yYWRpdXM6IDJweFxuICBib3JkZXItcmlnaHQ6IDBcbiAgYm9yZGVyLXRvcDogMFxuICBjb250ZW50OiBcIiBcIlxuICBkaXNwbGF5OiBibG9ja1xuICBoZWlnaHQ6IDAuNjI1ZW1cbiAgbWFyZ2luLXRvcDogLTAuNDM3NWVtXG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICB0b3A6IDUwJVxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpXG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlclxuICB3aWR0aDogMC42MjVlbVxuXG4lYXJyb3dcbiAgK2Fycm93XG5cbj1ibG9jaygkc3BhY2luZzogJGJsb2NrLXNwYWNpbmcpXG4gICY6bm90KDpsYXN0LWNoaWxkKVxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nXG5cbiVibG9ja1xuICArYmxvY2tcblxuPWRlbGV0ZVxuICBAZXh0ZW5kICV1bnNlbGVjdGFibGVcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMilcbiAgYm9yZGVyOiBub25lXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcm91bmRlZFxuICBjdXJzb3I6IHBvaW50ZXJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIGZsZXgtZ3JvdzogMFxuICBmbGV4LXNocmluazogMFxuICBmb250LXNpemU6IDBcbiAgaGVpZ2h0OiAyMHB4XG4gIG1heC1oZWlnaHQ6IDIwcHhcbiAgbWF4LXdpZHRoOiAyMHB4XG4gIG1pbi1oZWlnaHQ6IDIwcHhcbiAgbWluLXdpZHRoOiAyMHB4XG4gIG91dGxpbmU6IG5vbmVcbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHZlcnRpY2FsLWFsaWduOiB0b3BcbiAgd2lkdGg6IDIwcHhcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzY2hlbWUtbWFpblxuICAgIGNvbnRlbnQ6IFwiXCJcbiAgICBkaXNwbGF5OiBibG9ja1xuICAgIGxlZnQ6IDUwJVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgIHRvcDogNTAlXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKVxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXJcbiAgJjo6YmVmb3JlXG4gICAgaGVpZ2h0OiAycHhcbiAgICB3aWR0aDogNTAlXG4gICY6OmFmdGVyXG4gICAgaGVpZ2h0OiA1MCVcbiAgICB3aWR0aDogMnB4XG4gICY6aG92ZXIsXG4gICY6Zm9jdXNcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMylcbiAgJjphY3RpdmVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuNClcbiAgLy8gU2l6ZXNcbiAgJi5pcy1zbWFsbFxuICAgIGhlaWdodDogMTZweFxuICAgIG1heC1oZWlnaHQ6IDE2cHhcbiAgICBtYXgtd2lkdGg6IDE2cHhcbiAgICBtaW4taGVpZ2h0OiAxNnB4XG4gICAgbWluLXdpZHRoOiAxNnB4XG4gICAgd2lkdGg6IDE2cHhcbiAgJi5pcy1tZWRpdW1cbiAgICBoZWlnaHQ6IDI0cHhcbiAgICBtYXgtaGVpZ2h0OiAyNHB4XG4gICAgbWF4LXdpZHRoOiAyNHB4XG4gICAgbWluLWhlaWdodDogMjRweFxuICAgIG1pbi13aWR0aDogMjRweFxuICAgIHdpZHRoOiAyNHB4XG4gICYuaXMtbGFyZ2VcbiAgICBoZWlnaHQ6IDMycHhcbiAgICBtYXgtaGVpZ2h0OiAzMnB4XG4gICAgbWF4LXdpZHRoOiAzMnB4XG4gICAgbWluLWhlaWdodDogMzJweFxuICAgIG1pbi13aWR0aDogMzJweFxuICAgIHdpZHRoOiAzMnB4XG5cbiVkZWxldGVcbiAgK2RlbGV0ZVxuXG49bG9hZGVyXG4gIGFuaW1hdGlvbjogc3BpbkFyb3VuZCA1MDBtcyBpbmZpbml0ZSBsaW5lYXJcbiAgYm9yZGVyOiAycHggc29saWQgJGdyZXktbGlnaHRlclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJvdW5kZWRcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudFxuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudFxuICBjb250ZW50OiBcIlwiXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogMWVtXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB3aWR0aDogMWVtXG5cbiVsb2FkZXJcbiAgK2xvYWRlclxuXG49b3ZlcmxheSgkb2Zmc2V0OiAwKVxuICBib3R0b206ICRvZmZzZXRcbiAgbGVmdDogJG9mZnNldFxuICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgcmlnaHQ6ICRvZmZzZXRcbiAgdG9wOiAkb2Zmc2V0XG5cbiVvdmVybGF5XG4gICtvdmVybGF5XG4iLCIvLyBDb2xvcnNcblxuJGJsYWNrOiAgICAgICAgaHNsKDAsIDAlLCA0JSkgIWRlZmF1bHRcbiRibGFjay1iaXM6ICAgIGhzbCgwLCAwJSwgNyUpICFkZWZhdWx0XG4kYmxhY2stdGVyOiAgICBoc2woMCwgMCUsIDE0JSkgIWRlZmF1bHRcblxuJGdyZXktZGFya2VyOiAgaHNsKDAsIDAlLCAyMSUpICFkZWZhdWx0XG4kZ3JleS1kYXJrOiAgICBoc2woMCwgMCUsIDI5JSkgIWRlZmF1bHRcbiRncmV5OiAgICAgICAgIGhzbCgwLCAwJSwgNDglKSAhZGVmYXVsdFxuJGdyZXktbGlnaHQ6ICAgaHNsKDAsIDAlLCA3MSUpICFkZWZhdWx0XG4kZ3JleS1saWdodGVyOiBoc2woMCwgMCUsIDg2JSkgIWRlZmF1bHRcbiRncmV5LWxpZ2h0ZXN0OiBoc2woMCwgMCUsIDkzJSkgIWRlZmF1bHRcblxuJHdoaXRlLXRlcjogICAgaHNsKDAsIDAlLCA5NiUpICFkZWZhdWx0XG4kd2hpdGUtYmlzOiAgICBoc2woMCwgMCUsIDk4JSkgIWRlZmF1bHRcbiR3aGl0ZTogICAgICAgIGhzbCgwLCAwJSwgMTAwJSkgIWRlZmF1bHRcblxuJG9yYW5nZTogICAgICAgaHNsKDE0LCAgMTAwJSwgNTMlKSAhZGVmYXVsdFxuJHllbGxvdzogICAgICAgaHNsKDQ4LCAgMTAwJSwgNjclKSAhZGVmYXVsdFxuJGdyZWVuOiAgICAgICAgaHNsKDE0MSwgNTMlLCAgNTMlKSAhZGVmYXVsdFxuJHR1cnF1b2lzZTogICAgaHNsKDE3MSwgMTAwJSwgNDElKSAhZGVmYXVsdFxuJGN5YW46ICAgICAgICAgaHNsKDIwNCwgNzElLCAgNTMlKSAhZGVmYXVsdFxuJGJsdWU6ICAgICAgICAgaHNsKDIxNywgNzElLCAgNTMlKSAhZGVmYXVsdFxuJHB1cnBsZTogICAgICAgaHNsKDI3MSwgMTAwJSwgNzElKSAhZGVmYXVsdFxuJHJlZDogICAgICAgICAgaHNsKDM0OCwgODYlLCA2MSUpICFkZWZhdWx0XG5cbi8vIFR5cG9ncmFwaHlcblxuJGZhbWlseS1zYW5zLXNlcmlmOiBCbGlua01hY1N5c3RlbUZvbnQsIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmICFkZWZhdWx0XG4kZmFtaWx5LW1vbm9zcGFjZTogbW9ub3NwYWNlICFkZWZhdWx0XG4kcmVuZGVyLW1vZGU6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdFxuXG4kc2l6ZS0xOiAzcmVtICFkZWZhdWx0XG4kc2l6ZS0yOiAyLjVyZW0gIWRlZmF1bHRcbiRzaXplLTM6IDJyZW0gIWRlZmF1bHRcbiRzaXplLTQ6IDEuNXJlbSAhZGVmYXVsdFxuJHNpemUtNTogMS4yNXJlbSAhZGVmYXVsdFxuJHNpemUtNjogMXJlbSAhZGVmYXVsdFxuJHNpemUtNzogMC43NXJlbSAhZGVmYXVsdFxuXG4kd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHRcbiR3ZWlnaHQtbm9ybWFsOiA0MDAgIWRlZmF1bHRcbiR3ZWlnaHQtbWVkaXVtOiA1MDAgIWRlZmF1bHRcbiR3ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdFxuJHdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHRcblxuLy8gU3BhY2luZ1xuXG4kYmxvY2stc3BhY2luZzogMS41cmVtICFkZWZhdWx0XG5cbi8vIFJlc3BvbnNpdmVuZXNzXG5cbi8vIFRoZSBjb250YWluZXIgaG9yaXpvbnRhbCBnYXAsIHdoaWNoIGFjdHMgYXMgdGhlIG9mZnNldCBmb3IgYnJlYWtwb2ludHNcbiRnYXA6IDMycHggIWRlZmF1bHRcbi8vIDk2MCwgMTE1MiwgYW5kIDEzNDQgaGF2ZSBiZWVuIGNob3NlbiBiZWNhdXNlIHRoZXkgYXJlIGRpdmlzaWJsZSBieSBib3RoIDEyIGFuZCAxNlxuJHRhYmxldDogNzY5cHggIWRlZmF1bHRcbi8vIDk2MHB4IGNvbnRhaW5lciArIDRyZW1cbiRkZXNrdG9wOiA5NjBweCArICgyICogJGdhcCkgIWRlZmF1bHRcbi8vIDExNTJweCBjb250YWluZXIgKyA0cmVtXG4kd2lkZXNjcmVlbjogMTE1MnB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdFxuJHdpZGVzY3JlZW4tZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdFxuLy8gMTM0NHB4IGNvbnRhaW5lciArIDRyZW1cbiRmdWxsaGQ6IDEzNDRweCArICgyICogJGdhcCkgIWRlZmF1bHRcbiRmdWxsaGQtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdFxuXG4vLyBNaXNjZWxsYW5lb3VzXG5cbiRlYXNpbmc6IGVhc2Utb3V0ICFkZWZhdWx0XG4kcmFkaXVzLXNtYWxsOiAycHggIWRlZmF1bHRcbiRyYWRpdXM6IDRweCAhZGVmYXVsdFxuJHJhZGl1cy1sYXJnZTogNnB4ICFkZWZhdWx0XG4kcmFkaXVzLXJvdW5kZWQ6IDI5MDQ4NnB4ICFkZWZhdWx0XG4kc3BlZWQ6IDg2bXMgIWRlZmF1bHRcblxuLy8gRmxhZ3NcblxuJHZhcmlhYmxlLWNvbHVtbnM6IHRydWUgIWRlZmF1bHRcbiIsIi8qISBtaW5pcmVzZXQuY3NzIHYwLjAuNiB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9qZ3RobXMvbWluaXJlc2V0LmNzcyAqL1xuLy8gQmxvY2tzXG5odG1sLFxuYm9keSxcbnAsXG5vbCxcbnVsLFxubGksXG5kbCxcbmR0LFxuZGQsXG5ibG9ja3F1b3RlLFxuZmlndXJlLFxuZmllbGRzZXQsXG5sZWdlbmQsXG50ZXh0YXJlYSxcbnByZSxcbmlmcmFtZSxcbmhyLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2XG4gIG1hcmdpbjogMFxuICBwYWRkaW5nOiAwXG5cbi8vIEhlYWRpbmdzXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDZcbiAgZm9udC1zaXplOiAxMDAlXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWxcblxuLy8gTGlzdFxudWxcbiAgbGlzdC1zdHlsZTogbm9uZVxuXG4vLyBGb3JtXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhXG4gIG1hcmdpbjogMFxuXG4vLyBCb3ggc2l6aW5nXG5odG1sXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3hcblxuKlxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyXG4gICAgYm94LXNpemluZzogaW5oZXJpdFxuXG4vLyBNZWRpYVxuaW1nLFxudmlkZW9cbiAgaGVpZ2h0OiBhdXRvXG4gIG1heC13aWR0aDogMTAwJVxuXG4vLyBJZnJhbWVcbmlmcmFtZVxuICBib3JkZXI6IDBcblxuLy8gVGFibGVcbnRhYmxlXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2VcbiAgYm9yZGVyLXNwYWNpbmc6IDBcblxudGQsXG50aFxuICBwYWRkaW5nOiAwXG4gICY6bm90KFthbGlnbl0pXG4gICAgdGV4dC1hbGlnbjogbGVmdFxuIiwiJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluICFkZWZhdWx0XG4kYm9keS1zaXplOiAxNnB4ICFkZWZhdWx0XG4kYm9keS1taW4td2lkdGg6IDMwMHB4ICFkZWZhdWx0XG4kYm9keS1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdFxuJGJvZHktZmFtaWx5OiAkZmFtaWx5LXByaW1hcnkgIWRlZmF1bHRcbiRib2R5LW92ZXJmbG93LXg6IGhpZGRlbiAhZGVmYXVsdFxuJGJvZHktb3ZlcmZsb3cteTogc2Nyb2xsICFkZWZhdWx0XG5cbiRib2R5LWNvbG9yOiAkdGV4dCAhZGVmYXVsdFxuJGJvZHktZm9udC1zaXplOiAxZW0gIWRlZmF1bHRcbiRib2R5LXdlaWdodDogJHdlaWdodC1ub3JtYWwgIWRlZmF1bHRcbiRib2R5LWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHRcblxuJGNvZGUtZmFtaWx5OiAkZmFtaWx5LWNvZGUgIWRlZmF1bHRcbiRjb2RlLXBhZGRpbmc6IDAuMjVlbSAwLjVlbSAwLjI1ZW0gIWRlZmF1bHRcbiRjb2RlLXdlaWdodDogbm9ybWFsICFkZWZhdWx0XG4kY29kZS1zaXplOiAwLjg3NWVtICFkZWZhdWx0XG5cbiRzbWFsbC1mb250LXNpemU6IDAuODc1ZW0gIWRlZmF1bHRcblxuJGhyLWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG4kaHItaGVpZ2h0OiAycHggIWRlZmF1bHRcbiRoci1tYXJnaW46IDEuNXJlbSAwICFkZWZhdWx0XG5cbiRzdHJvbmctY29sb3I6ICR0ZXh0LXN0cm9uZyAhZGVmYXVsdFxuJHN0cm9uZy13ZWlnaHQ6ICR3ZWlnaHQtYm9sZCAhZGVmYXVsdFxuXG4kcHJlLWZvbnQtc2l6ZTogMC44NzVlbSAhZGVmYXVsdFxuJHByZS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdFxuJHByZS1jb2RlLWZvbnQtc2l6ZTogMWVtICFkZWZhdWx0XG5cbmh0bWxcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZC1jb2xvclxuICBmb250LXNpemU6ICRib2R5LXNpemVcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZVxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZFxuICBtaW4td2lkdGg6ICRib2R5LW1pbi13aWR0aFxuICBvdmVyZmxvdy14OiAkYm9keS1vdmVyZmxvdy14XG4gIG92ZXJmbG93LXk6ICRib2R5LW92ZXJmbG93LXlcbiAgdGV4dC1yZW5kZXJpbmc6ICRib2R5LXJlbmRlcmluZ1xuICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlXG5cbmFydGljbGUsXG5hc2lkZSxcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbnNlY3Rpb25cbiAgZGlzcGxheTogYmxvY2tcblxuYm9keSxcbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWFcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZhbWlseVxuXG5jb2RlLFxucHJlXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG9cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZhbWlseVxuXG5ib2R5XG4gIGNvbG9yOiAkYm9keS1jb2xvclxuICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZVxuICBmb250LXdlaWdodDogJGJvZHktd2VpZ2h0XG4gIGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodFxuXG4vLyBJbmxpbmVcblxuYVxuICBjb2xvcjogJGxpbmtcbiAgY3Vyc29yOiBwb2ludGVyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZVxuICBzdHJvbmdcbiAgICBjb2xvcjogY3VycmVudENvbG9yXG4gICY6aG92ZXJcbiAgICBjb2xvcjogJGxpbmstaG92ZXJcblxuY29kZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kXG4gIGNvbG9yOiAkY29kZVxuICBmb250LXNpemU6ICRjb2RlLXNpemVcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLXdlaWdodFxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nXG5cbmhyXG4gIGJhY2tncm91bmQtY29sb3I6ICRoci1iYWNrZ3JvdW5kLWNvbG9yXG4gIGJvcmRlcjogbm9uZVxuICBkaXNwbGF5OiBibG9ja1xuICBoZWlnaHQ6ICRoci1oZWlnaHRcbiAgbWFyZ2luOiAkaHItbWFyZ2luXG5cbmltZ1xuICBoZWlnaHQ6IGF1dG9cbiAgbWF4LXdpZHRoOiAxMDAlXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmVcblxuc21hbGxcbiAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplXG5cbnNwYW5cbiAgZm9udC1zdHlsZTogaW5oZXJpdFxuICBmb250LXdlaWdodDogaW5oZXJpdFxuXG5zdHJvbmdcbiAgY29sb3I6ICRzdHJvbmctY29sb3JcbiAgZm9udC13ZWlnaHQ6ICRzdHJvbmctd2VpZ2h0XG5cbi8vIEJsb2NrXG5cbmZpZWxkc2V0XG4gIGJvcmRlcjogbm9uZVxuXG5wcmVcbiAgK292ZXJmbG93LXRvdWNoXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmUtYmFja2dyb3VuZFxuICBjb2xvcjogJHByZVxuICBmb250LXNpemU6ICRwcmUtZm9udC1zaXplXG4gIG92ZXJmbG93LXg6IGF1dG9cbiAgcGFkZGluZzogJHByZS1wYWRkaW5nXG4gIHdoaXRlLXNwYWNlOiBwcmVcbiAgd29yZC13cmFwOiBub3JtYWxcbiAgY29kZVxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvclxuICAgIGZvbnQtc2l6ZTogJHByZS1jb2RlLWZvbnQtc2l6ZVxuICAgIHBhZGRpbmc6IDBcblxudGFibGVcbiAgdGQsXG4gIHRoXG4gICAgdmVydGljYWwtYWxpZ246IHRvcFxuICAgICY6bm90KFthbGlnbl0pXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0XG4gIHRoXG4gICAgY29sb3I6ICR0ZXh0LXN0cm9uZ1xuIiwiLy8gRmxvYXRcblxuLmlzLWNsZWFyZml4XG4gICtjbGVhcmZpeFxuXG4uaXMtcHVsbGVkLWxlZnRcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudFxuXG4uaXMtcHVsbGVkLXJpZ2h0XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50XG5cbi8vIE92ZXJmbG93XG5cbi5pcy1jbGlwcGVkXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudFxuXG4vLyBPdmVybGF5XG5cbi5pcy1vdmVybGF5XG4gIEBleHRlbmQgJW92ZXJsYXlcblxuLy8gVHlwb2dyYXBoeVxuXG49dHlwb2dyYXBoeS1zaXplKCR0YXJnZXQ6JycpXG4gIEBlYWNoICRzaXplIGluICRzaXplc1xuICAgICRpOiBpbmRleCgkc2l6ZXMsICRzaXplKVxuICAgIC5pcy1zaXplLSN7JGl9I3tpZigkdGFyZ2V0ID09ICcnLCAnJywgJy0nICsgJHRhcmdldCl9XG4gICAgICBmb250LXNpemU6ICRzaXplICFpbXBvcnRhbnRcblxuK3R5cG9ncmFwaHktc2l6ZSgpXG5cbittb2JpbGVcbiAgK3R5cG9ncmFwaHktc2l6ZSgnbW9iaWxlJylcblxuK3RhYmxldFxuICArdHlwb2dyYXBoeS1zaXplKCd0YWJsZXQnKVxuXG4rdG91Y2hcbiAgK3R5cG9ncmFwaHktc2l6ZSgndG91Y2gnKVxuXG4rZGVza3RvcFxuICArdHlwb2dyYXBoeS1zaXplKCdkZXNrdG9wJylcblxuK3dpZGVzY3JlZW5cbiAgK3R5cG9ncmFwaHktc2l6ZSgnd2lkZXNjcmVlbicpXG5cbitmdWxsaGRcbiAgK3R5cG9ncmFwaHktc2l6ZSgnZnVsbGhkJylcblxuJGFsaWdubWVudHM6ICgnY2VudGVyZWQnOiAnY2VudGVyJywgJ2p1c3RpZmllZCc6ICdqdXN0aWZ5JywgJ2xlZnQnOiAnbGVmdCcsICdyaWdodCc6ICdyaWdodCcpXG5cbkBlYWNoICRhbGlnbm1lbnQsICR0ZXh0LWFsaWduIGluICRhbGlnbm1lbnRzXG4gIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9XG4gICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuXG5AZWFjaCAkYWxpZ25tZW50LCAkdGV4dC1hbGlnbiBpbiAkYWxpZ25tZW50c1xuICArbW9iaWxlXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tbW9iaWxlXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICt0YWJsZXRcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS10YWJsZXRcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3RhYmxldC1vbmx5XG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tdGFibGV0LW9ubHlcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3RvdWNoXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tdG91Y2hcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3BcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS1kZXNrdG9wXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICtkZXNrdG9wLW9ubHlcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS1kZXNrdG9wLW9ubHlcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3dpZGVzY3JlZW5cbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS13aWRlc2NyZWVuXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG4gICt3aWRlc2NyZWVuLW9ubHlcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS13aWRlc2NyZWVuLW9ubHlcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK2Z1bGxoZFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LWZ1bGxoZFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuXG4uaXMtY2FwaXRhbGl6ZWRcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudFxuXG4uaXMtbG93ZXJjYXNlXG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudFxuXG4uaXMtdXBwZXJjYXNlXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudFxuXG4uaXMtaXRhbGljXG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50XG5cbkBlYWNoICRuYW1lLCAkcGFpciBpbiAkY29sb3JzXG4gICRjb2xvcjogbnRoKCRwYWlyLCAxKVxuICAuaGFzLXRleHQtI3skbmFtZX1cbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnRcbiAgYS5oYXMtdGV4dC0jeyRuYW1lfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1c1xuICAgICAgY29sb3I6IGJ1bG1hRGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50XG4gIC5oYXMtYmFja2dyb3VuZC0jeyRuYW1lfVxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50XG5cbkBlYWNoICRuYW1lLCAkc2hhZGUgaW4gJHNoYWRlc1xuICAuaGFzLXRleHQtI3skbmFtZX1cbiAgICBjb2xvcjogJHNoYWRlICFpbXBvcnRhbnRcbiAgLmhhcy1iYWNrZ3JvdW5kLSN7JG5hbWV9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNoYWRlICFpbXBvcnRhbnRcblxuLmhhcy10ZXh0LXdlaWdodC1saWdodFxuICBmb250LXdlaWdodDogJHdlaWdodC1saWdodCAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LW5vcm1hbFxuICBmb250LXdlaWdodDogJHdlaWdodC1ub3JtYWwgIWltcG9ydGFudFxuLmhhcy10ZXh0LXdlaWdodC1tZWRpdW1cbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtbWVkaXVtICFpbXBvcnRhbnRcbi5oYXMtdGV4dC13ZWlnaHQtc2VtaWJvbGRcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtc2VtaWJvbGQgIWltcG9ydGFudFxuLmhhcy10ZXh0LXdlaWdodC1ib2xkXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWJvbGQgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LXByaW1hcnlcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktcHJpbWFyeSAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktc2Vjb25kYXJ5XG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LXNlY29uZGFyeSAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktc2Fucy1zZXJpZlxuICBmb250LWZhbWlseTogJGZhbWlseS1zYW5zLXNlcmlmICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1tb25vc3BhY2VcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktbW9ub3NwYWNlICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1jb2RlXG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LWNvZGUgIWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbiRkaXNwbGF5czogJ2Jsb2NrJyAnZmxleCcgJ2lubGluZScgJ2lubGluZS1ibG9jaycgJ2lubGluZS1mbGV4J1xuXG5AZWFjaCAkZGlzcGxheSBpbiAkZGlzcGxheXNcbiAgLmlzLSN7JGRpc3BsYXl9XG4gICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArbW9iaWxlXG4gICAgLmlzLSN7JGRpc3BsYXl9LW1vYmlsZVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArdGFibGV0XG4gICAgLmlzLSN7JGRpc3BsYXl9LXRhYmxldFxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArdGFibGV0LW9ubHlcbiAgICAuaXMtI3skZGlzcGxheX0tdGFibGV0LW9ubHlcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK3RvdWNoXG4gICAgLmlzLSN7JGRpc3BsYXl9LXRvdWNoXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICtkZXNrdG9wXG4gICAgLmlzLSN7JGRpc3BsYXl9LWRlc2t0b3BcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3Atb25seVxuICAgIC5pcy0jeyRkaXNwbGF5fS1kZXNrdG9wLW9ubHlcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK3dpZGVzY3JlZW5cbiAgICAuaXMtI3skZGlzcGxheX0td2lkZXNjcmVlblxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlbi1vbmx5XG4gICAgLmlzLSN7JGRpc3BsYXl9LXdpZGVzY3JlZW4tb25seVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArZnVsbGhkXG4gICAgLmlzLSN7JGRpc3BsYXl9LWZ1bGxoZFxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuXG4uaXMtaGlkZGVuXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4uaXMtc3Itb25seVxuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudFxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnRcbiAgaGVpZ2h0OiAwLjAxZW0gIWltcG9ydGFudFxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnRcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudFxuICB3aWR0aDogMC4wMWVtICFpbXBvcnRhbnRcblxuK21vYmlsZVxuICAuaXMtaGlkZGVuLW1vYmlsZVxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rdGFibGV0XG4gIC5pcy1oaWRkZW4tdGFibGV0XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit0YWJsZXQtb25seVxuICAuaXMtaGlkZGVuLXRhYmxldC1vbmx5XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit0b3VjaFxuICAuaXMtaGlkZGVuLXRvdWNoXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbitkZXNrdG9wXG4gIC5pcy1oaWRkZW4tZGVza3RvcFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rZGVza3RvcC1vbmx5XG4gIC5pcy1oaWRkZW4tZGVza3RvcC1vbmx5XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit3aWRlc2NyZWVuXG4gIC5pcy1oaWRkZW4td2lkZXNjcmVlblxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlbi1vbmx5XG4gIC5pcy1oaWRkZW4td2lkZXNjcmVlbi1vbmx5XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbitmdWxsaGRcbiAgLmlzLWhpZGRlbi1mdWxsaGRcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuLmlzLWludmlzaWJsZVxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rbW9iaWxlXG4gIC5pcy1pbnZpc2libGUtbW9iaWxlXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3RhYmxldFxuICAuaXMtaW52aXNpYmxlLXRhYmxldFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbit0YWJsZXQtb25seVxuICAuaXMtaW52aXNpYmxlLXRhYmxldC1vbmx5XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3RvdWNoXG4gIC5pcy1pbnZpc2libGUtdG91Y2hcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rZGVza3RvcFxuICAuaXMtaW52aXNpYmxlLWRlc2t0b3BcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rZGVza3RvcC1vbmx5XG4gIC5pcy1pbnZpc2libGUtZGVza3RvcC1vbmx5XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3dpZGVzY3JlZW5cbiAgLmlzLWludmlzaWJsZS13aWRlc2NyZWVuXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3dpZGVzY3JlZW4tb25seVxuICAuaXMtaW52aXNpYmxlLXdpZGVzY3JlZW4tb25seVxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbitmdWxsaGRcbiAgLmlzLWludmlzaWJsZS1mdWxsaGRcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4vLyBPdGhlclxuXG4uaXMtbWFyZ2lubGVzc1xuICBtYXJnaW46IDAgIWltcG9ydGFudFxuXG4uaXMtcGFkZGluZ2xlc3NcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50XG5cbi5pcy1yYWRpdXNsZXNzXG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudFxuXG4uaXMtc2hhZG93bGVzc1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnRcblxuLmlzLXVuc2VsZWN0YWJsZVxuICBAZXh0ZW5kICV1bnNlbGVjdGFibGVcblxuLmlzLXJlbGF0aXZlXG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50XG4iLCIkY29sdW1uLWdhcDogMC43NXJlbSAhZGVmYXVsdFxuXG4uY29sdW1uXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGZsZXgtYmFzaXM6IDBcbiAgZmxleC1ncm93OiAxXG4gIGZsZXgtc2hyaW5rOiAxXG4gIHBhZGRpbmc6ICRjb2x1bW4tZ2FwXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtbmFycm93XG4gICAgZmxleDogbm9uZVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWZ1bGxcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDEwMCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10aHJlZS1xdWFydGVyc1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogNzUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdHdvLXRoaXJkc1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogNjYuNjY2NiVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1oYWxmXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA1MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vbmUtdGhpcmRcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDMzLjMzMzMlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb25lLXF1YXJ0ZXJcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDI1JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9uZS1maWZ0aFxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMjAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdHdvLWZpZnRoc1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogNDAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdGhyZWUtZmlmdGhzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA2MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1mb3VyLWZpZnRoc1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogODAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzXG4gICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC10d28tdGhpcmRzXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LWhhbGZcbiAgICBtYXJnaW4tbGVmdDogNTAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS10aGlyZFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1vbmUtcXVhcnRlclxuICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtb25lLWZpZnRoXG4gICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC10d28tZmlmdGhzXG4gICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHNcbiAgICBtYXJnaW4tbGVmdDogNjAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzXG4gICAgbWFyZ2luLWxlZnQ6IDgwJVxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy0jeyRpfVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC0jeyRpfVxuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK21vYmlsZVxuICAgICYuaXMtbmFycm93LW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LW1vYmlsZVxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS1tb2JpbGVcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK3RhYmxldFxuICAgICYuaXMtbmFycm93LFxuICAgICYuaXMtbmFycm93LXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbCxcbiAgICAmLmlzLWZ1bGwtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMsXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMsXG4gICAgJi5pcy10d28tdGhpcmRzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLFxuICAgICYuaXMtaGFsZi10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZCxcbiAgICAmLmlzLW9uZS10aGlyZC10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXIsXG4gICAgJi5pcy1vbmUtcXVhcnRlci10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aCxcbiAgICAmLmlzLW9uZS1maWZ0aC10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMsXG4gICAgJi5pcy10d28tZmlmdGhzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLFxuICAgICYuaXMtdGhyZWUtZmlmdGhzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMsXG4gICAgJi5pcy1mb3VyLWZpZnRocy10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycyxcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLFxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLFxuICAgICYuaXMtb2Zmc2V0LWhhbGYtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLFxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLFxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aCxcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocyxcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocyxcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMsXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfSxcbiAgICAgICYuaXMtI3skaX0tdGFibGV0XG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LFxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0tdGFibGV0XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICt0b3VjaFxuICAgICYuaXMtbmFycm93LXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS10b3VjaFxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS10b3VjaFxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArZGVza3RvcFxuICAgICYuaXMtbmFycm93LWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tZGVza3RvcFxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS1kZXNrdG9wXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICt3aWRlc2NyZWVuXG4gICAgJi5pcy1uYXJyb3ctd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS13aWRlc2NyZWVuXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LXdpZGVzY3JlZW5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK2Z1bGxoZFxuICAgICYuaXMtbmFycm93LWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA3NSVcbiAgICAmLmlzLXR3by10aGlyZHMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMzMuMzMzMyVcbiAgICAmLmlzLW9uZS1xdWFydGVyLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA0MCVcbiAgICAmLmlzLXRocmVlLWZpZnRocy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDQwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LWZ1bGxoZFxuICAgICAgICBmbGV4OiBub25lXG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS1mdWxsaGRcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcblxuLmNvbHVtbnNcbiAgbWFyZ2luLWxlZnQ6ICgtJGNvbHVtbi1nYXApXG4gIG1hcmdpbi1yaWdodDogKC0kY29sdW1uLWdhcClcbiAgbWFyZ2luLXRvcDogKC0kY29sdW1uLWdhcClcbiAgJjpsYXN0LWNoaWxkXG4gICAgbWFyZ2luLWJvdHRvbTogKC0kY29sdW1uLWdhcClcbiAgJjpub3QoOmxhc3QtY2hpbGQpXG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygxLjVyZW0gLSAjeyRjb2x1bW4tZ2FwfSlcbiAgLy8gTW9kaWZpZXJzXG4gICYuaXMtY2VudGVyZWRcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxuICAmLmlzLWdhcGxlc3NcbiAgICBtYXJnaW4tbGVmdDogMFxuICAgIG1hcmdpbi1yaWdodDogMFxuICAgIG1hcmdpbi10b3A6IDBcbiAgICAmID4gLmNvbHVtblxuICAgICAgbWFyZ2luOiAwXG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcbiAgICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbVxuICAgICY6bGFzdC1jaGlsZFxuICAgICAgbWFyZ2luLWJvdHRvbTogMFxuICAmLmlzLW1vYmlsZVxuICAgIGRpc3BsYXk6IGZsZXhcbiAgJi5pcy1tdWx0aWxpbmVcbiAgICBmbGV4LXdyYXA6IHdyYXBcbiAgJi5pcy12Y2VudGVyZWRcbiAgICBhbGlnbi1pdGVtczogY2VudGVyXG4gIC8vIFJlc3BvbnNpdmVuZXNzXG4gICt0YWJsZXRcbiAgICAmOm5vdCguaXMtZGVza3RvcClcbiAgICAgIGRpc3BsYXk6IGZsZXhcbiAgK2Rlc2t0b3BcbiAgICAvLyBNb2RpZmllcnNcbiAgICAmLmlzLWRlc2t0b3BcbiAgICAgIGRpc3BsYXk6IGZsZXhcblxuQGlmICR2YXJpYWJsZS1jb2x1bW5zXG4gIC5jb2x1bW5zLmlzLXZhcmlhYmxlXG4gICAgLS1jb2x1bW5HYXA6IDAuNzVyZW1cbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNvbHVtbkdhcCkpXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY29sdW1uR2FwKSlcbiAgICAuY29sdW1uXG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNvbHVtbkdhcClcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbHVtbkdhcClcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDhcbiAgICAgICYuaXMtI3skaX1cbiAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK21vYmlsZVxuICAgICAgICAmLmlzLSN7JGl9LW1vYmlsZVxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt0YWJsZXRcbiAgICAgICAgJi5pcy0jeyRpfS10YWJsZXRcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArdGFibGV0LW9ubHlcbiAgICAgICAgJi5pcy0jeyRpfS10YWJsZXQtb25seVxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt0b3VjaFxuICAgICAgICAmLmlzLSN7JGl9LXRvdWNoXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK2Rlc2t0b3BcbiAgICAgICAgJi5pcy0jeyRpfS1kZXNrdG9wXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK2Rlc2t0b3Atb25seVxuICAgICAgICAmLmlzLSN7JGl9LWRlc2t0b3Atb25seVxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt3aWRlc2NyZWVuXG4gICAgICAgICYuaXMtI3skaX0td2lkZXNjcmVlblxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt3aWRlc2NyZWVuLW9ubHlcbiAgICAgICAgJi5pcy0jeyRpfS13aWRlc2NyZWVuLW9ubHlcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArZnVsbGhkXG4gICAgICAgICYuaXMtI3skaX0tZnVsbGhkXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuIiwiJHRpbGUtc3BhY2luZzogMC43NXJlbSAhZGVmYXVsdFxuXG4udGlsZVxuICBhbGlnbi1pdGVtczogc3RyZXRjaFxuICBkaXNwbGF5OiBibG9ja1xuICBmbGV4LWJhc2lzOiAwXG4gIGZsZXgtZ3JvdzogMVxuICBmbGV4LXNocmluazogMVxuICBtaW4taGVpZ2h0OiBtaW4tY29udGVudFxuICAvLyBNb2RpZmllcnNcbiAgJi5pcy1hbmNlc3RvclxuICAgIG1hcmdpbi1sZWZ0OiAkdGlsZS1zcGFjaW5nICogLTFcbiAgICBtYXJnaW4tcmlnaHQ6ICR0aWxlLXNwYWNpbmcgKiAtMVxuICAgIG1hcmdpbi10b3A6ICR0aWxlLXNwYWNpbmcgKiAtMVxuICAgICY6bGFzdC1jaGlsZFxuICAgICAgbWFyZ2luLWJvdHRvbTogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpXG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGlsZS1zcGFjaW5nXG4gICYuaXMtY2hpbGRcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudFxuICAmLmlzLXBhcmVudFxuICAgIHBhZGRpbmc6ICR0aWxlLXNwYWNpbmdcbiAgJi5pcy12ZXJ0aWNhbFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cbiAgICAmID4gLnRpbGUuaXMtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKVxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnRcbiAgLy8gUmVzcG9uc2l2ZW5lc3NcbiAgK3RhYmxldFxuICAgICY6bm90KC5pcy1jaGlsZClcbiAgICAgIGRpc3BsYXk6IGZsZXhcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9XG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6ICgkaSAvIDEyKSAqIDEwMCVcbiIsIiRuYXZiYXItYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluICFkZWZhdWx0XG4kbmF2YmFyLWJveC1zaGFkb3ctc2l6ZTogMCAycHggMCAwICFkZWZhdWx0XG4kbmF2YmFyLWJveC1zaGFkb3ctY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG4kbmF2YmFyLWhlaWdodDogMy4yNXJlbSAhZGVmYXVsdFxuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAxcmVtICFkZWZhdWx0XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMnJlbSAhZGVmYXVsdFxuJG5hdmJhci16OiAzMCAhZGVmYXVsdFxuJG5hdmJhci1maXhlZC16OiAzMCAhZGVmYXVsdFxuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICR0ZXh0ICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0taG92ZXItY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluLWJpcyAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWFjdGl2ZS1jb2xvcjogJHNjaGVtZS1pbnZlcnQgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1pbWctbWF4LWhlaWdodDogMS43NXJlbSAhZGVmYXVsdFxuXG4kbmF2YmFyLWJ1cmdlci1jb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yICFkZWZhdWx0XG5cbiRuYXZiYXItdGFiLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1ob3Zlci1ib3JkZXItYm90dG9tLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZCAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20td2lkdGg6IDNweCAhZGVmYXVsdFxuXG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICRzY2hlbWUtbWFpbiAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1ib3JkZXItdG9wOiAycHggc29saWQgJGJvcmRlciAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1vZmZzZXQ6IC00cHggIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tYXJyb3c6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLXJhZGl1czogJHJhZGl1cy1sYXJnZSAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi16OiAyMCAhZGVmYXVsdFxuXG4kbmF2YmFyLWRyb3Bkb3duLWJveGVkLXJhZGl1czogJHJhZGl1cy1sYXJnZSAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1ib3hlZC1zaGFkb3c6IDAgOHB4IDhweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSksIDAgMCAwIDFweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSkgIWRlZmF1bHRcblxuJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWNvbG9yOiAkc2NoZW1lLWludmVydCAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuXG4kbmF2YmFyLWRpdmlkZXItYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRuYXZiYXItZGl2aWRlci1oZWlnaHQ6IDJweCAhZGVmYXVsdFxuXG4kbmF2YmFyLWJvdHRvbS1ib3gtc2hhZG93LXNpemU6IDAgLTJweCAwIDAgIWRlZmF1bHRcblxuJG5hdmJhci1icmVha3BvaW50OiAkZGVza3RvcCAhZGVmYXVsdFxuXG49bmF2YmFyLWZpeGVkXG4gIGxlZnQ6IDBcbiAgcG9zaXRpb246IGZpeGVkXG4gIHJpZ2h0OiAwXG4gIHotaW5kZXg6ICRuYXZiYXItZml4ZWQtelxuXG4ubmF2YmFyXG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYmFja2dyb3VuZC1jb2xvclxuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgei1pbmRleDogJG5hdmJhci16XG4gIEBlYWNoICRuYW1lLCAkcGFpciBpbiAkY29sb3JzXG4gICAgJGNvbG9yOiBudGgoJHBhaXIsIDEpXG4gICAgJGNvbG9yLWludmVydDogbnRoKCRwYWlyLCAyKVxuICAgICYuaXMtI3skbmFtZX1cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvclxuICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgIC5uYXZiYXItYnJhbmRcbiAgICAgICAgJiA+IC5uYXZiYXItaXRlbSxcbiAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgJiA+IGEubmF2YmFyLWl0ZW0sXG4gICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCA1JSlcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICY6OmFmdGVyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgIC5uYXZiYXItYnVyZ2VyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICArZnJvbSgkbmF2YmFyLWJyZWFrcG9pbnQpXG4gICAgICAgIC5uYXZiYXItc3RhcnQsXG4gICAgICAgIC5uYXZiYXItZW5kXG4gICAgICAgICAgJiA+IC5uYXZiYXItaXRlbSxcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgICAgJiA+IGEubmF2YmFyLWl0ZW0sXG4gICAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hRGFya2VuKCRjb2xvciwgNSUpXG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgICAmOjphZnRlclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93bjpmb2N1cyAubmF2YmFyLWxpbmssXG4gICAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd246aG92ZXIgLm5hdmJhci1saW5rLFxuICAgICAgICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duLmlzLWFjdGl2ZSAubmF2YmFyLWxpbmtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYURhcmtlbigkY29sb3IsIDUlKVxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgIC5uYXZiYXItZHJvcGRvd25cbiAgICAgICAgICBhLm5hdmJhci1pdGVtXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgJiA+IC5jb250YWluZXJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaFxuICAgIGRpc3BsYXk6IGZsZXhcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuICAgIHdpZHRoOiAxMDAlXG4gICYuaGFzLXNoYWRvd1xuICAgIGJveC1zaGFkb3c6ICRuYXZiYXItYm94LXNoYWRvdy1zaXplICRuYXZiYXItYm94LXNoYWRvdy1jb2xvclxuICAmLmlzLWZpeGVkLWJvdHRvbSxcbiAgJi5pcy1maXhlZC10b3BcbiAgICArbmF2YmFyLWZpeGVkXG4gICYuaXMtZml4ZWQtYm90dG9tXG4gICAgYm90dG9tOiAwXG4gICAgJi5oYXMtc2hhZG93XG4gICAgICBib3gtc2hhZG93OiAkbmF2YmFyLWJvdHRvbS1ib3gtc2hhZG93LXNpemUgJG5hdmJhci1ib3gtc2hhZG93LWNvbG9yXG4gICYuaXMtZml4ZWQtdG9wXG4gICAgdG9wOiAwXG5cbmh0bWwsXG5ib2R5XG4gICYuaGFzLW5hdmJhci1maXhlZC10b3BcbiAgICBwYWRkaW5nLXRvcDogJG5hdmJhci1oZWlnaHRcbiAgJi5oYXMtbmF2YmFyLWZpeGVkLWJvdHRvbVxuICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWhlaWdodFxuXG4ubmF2YmFyLWJyYW5kLFxuLm5hdmJhci10YWJzXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gIGRpc3BsYXk6IGZsZXhcbiAgZmxleC1zaHJpbms6IDBcbiAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcblxuLm5hdmJhci1icmFuZFxuICBhLm5hdmJhci1pdGVtXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFxuXG4ubmF2YmFyLXRhYnNcbiAgK292ZXJmbG93LXRvdWNoXG4gIG1heC13aWR0aDogMTAwdndcbiAgb3ZlcmZsb3cteDogYXV0b1xuICBvdmVyZmxvdy15OiBoaWRkZW5cblxuLm5hdmJhci1idXJnZXJcbiAgY29sb3I6ICRuYXZiYXItYnVyZ2VyLWNvbG9yXG4gICtoYW1idXJnZXIoJG5hdmJhci1oZWlnaHQpXG4gIG1hcmdpbi1sZWZ0OiBhdXRvXG5cbi5uYXZiYXItbWVudVxuICBkaXNwbGF5OiBub25lXG5cbi5uYXZiYXItaXRlbSxcbi5uYXZiYXItbGlua1xuICBjb2xvcjogJG5hdmJhci1pdGVtLWNvbG9yXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGxpbmUtaGVpZ2h0OiAxLjVcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW1cbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIC5pY29uXG4gICAgJjpvbmx5LWNoaWxkXG4gICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW1cbiAgICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW1cblxuYS5uYXZiYXItaXRlbSxcbi5uYXZiYXItbGlua1xuICBjdXJzb3I6IHBvaW50ZXJcbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy13aXRoaW4sXG4gICY6aG92ZXIsXG4gICYuaXMtYWN0aXZlXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3JcbiAgICBjb2xvcjogJG5hdmJhci1pdGVtLWhvdmVyLWNvbG9yXG5cbi5uYXZiYXItaXRlbVxuICBmbGV4LWdyb3c6IDBcbiAgZmxleC1zaHJpbms6IDBcbiAgaW1nXG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1pdGVtLWltZy1tYXgtaGVpZ2h0XG4gICYuaGFzLWRyb3Bkb3duXG4gICAgcGFkZGluZzogMFxuICAmLmlzLWV4cGFuZGVkXG4gICAgZmxleC1ncm93OiAxXG4gICAgZmxleC1zaHJpbms6IDFcbiAgJi5pcy10YWJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSAtIDFweClcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItdGFiLWhvdmVyLWJhY2tncm91bmQtY29sb3JcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZiYXItdGFiLWhvdmVyLWJvcmRlci1ib3R0b20tY29sb3JcbiAgICAmLmlzLWFjdGl2ZVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10YWItYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLWNvbG9yXG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiAkbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS1zdHlsZVxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20td2lkdGhcbiAgICAgIGNvbG9yOiAkbmF2YmFyLXRhYi1hY3RpdmUtY29sb3JcbiAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSAtICN7JG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20td2lkdGh9KVxuXG4ubmF2YmFyLWNvbnRlbnRcbiAgZmxleC1ncm93OiAxXG4gIGZsZXgtc2hyaW5rOiAxXG5cbi5uYXZiYXItbGluazpub3QoLmlzLWFycm93bGVzcylcbiAgcGFkZGluZy1yaWdodDogMi41ZW1cbiAgJjo6YWZ0ZXJcbiAgICBAZXh0ZW5kICVhcnJvd1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1hcnJvd1xuICAgIG1hcmdpbi10b3A6IC0wLjM3NWVtXG4gICAgcmlnaHQ6IDEuMTI1ZW1cblxuLm5hdmJhci1kcm9wZG93blxuICBmb250LXNpemU6IDAuODc1cmVtXG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW1cbiAgcGFkZGluZy10b3A6IDAuNXJlbVxuICAubmF2YmFyLWl0ZW1cbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbVxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbVxuXG4ubmF2YmFyLWRpdmlkZXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kaXZpZGVyLWJhY2tncm91bmQtY29sb3JcbiAgYm9yZGVyOiBub25lXG4gIGRpc3BsYXk6IG5vbmVcbiAgaGVpZ2h0OiAkbmF2YmFyLWRpdmlkZXItaGVpZ2h0XG4gIG1hcmdpbjogMC41cmVtIDBcblxuK3VudGlsKCRuYXZiYXItYnJlYWtwb2ludClcbiAgLm5hdmJhciA+IC5jb250YWluZXJcbiAgICBkaXNwbGF5OiBibG9ja1xuICAubmF2YmFyLWJyYW5kLFxuICAubmF2YmFyLXRhYnNcbiAgICAubmF2YmFyLWl0ZW1cbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgICAgIGRpc3BsYXk6IGZsZXhcbiAgLm5hdmJhci1saW5rXG4gICAgJjo6YWZ0ZXJcbiAgICAgIGRpc3BsYXk6IG5vbmVcbiAgLm5hdmJhci1tZW51XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgYm94LXNoYWRvdzogMCA4cHggMTZweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICBwYWRkaW5nOiAwLjVyZW0gMFxuICAgICYuaXMtYWN0aXZlXG4gICAgICBkaXNwbGF5OiBibG9ja1xuICAvLyBGaXhlZCBuYXZiYXJcbiAgLm5hdmJhclxuICAgICYuaXMtZml4ZWQtYm90dG9tLXRvdWNoLFxuICAgICYuaXMtZml4ZWQtdG9wLXRvdWNoXG4gICAgICArbmF2YmFyLWZpeGVkXG4gICAgJi5pcy1maXhlZC1ib3R0b20tdG91Y2hcbiAgICAgIGJvdHRvbTogMFxuICAgICAgJi5oYXMtc2hhZG93XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAzcHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgJi5pcy1maXhlZC10b3AtdG91Y2hcbiAgICAgIHRvcDogMFxuICAgICYuaXMtZml4ZWQtdG9wLFxuICAgICYuaXMtZml4ZWQtdG9wLXRvdWNoXG4gICAgICAubmF2YmFyLW1lbnVcbiAgICAgICAgK292ZXJmbG93LXRvdWNoXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRuYXZiYXItaGVpZ2h0fSlcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG9cbiAgaHRtbCxcbiAgYm9keVxuICAgICYuaGFzLW5hdmJhci1maXhlZC10b3AtdG91Y2hcbiAgICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodFxuICAgICYuaGFzLW5hdmJhci1maXhlZC1ib3R0b20tdG91Y2hcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWhlaWdodFxuXG4rZnJvbSgkbmF2YmFyLWJyZWFrcG9pbnQpXG4gIC5uYXZiYXIsXG4gIC5uYXZiYXItbWVudSxcbiAgLm5hdmJhci1zdGFydCxcbiAgLm5hdmJhci1lbmRcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaFxuICAgIGRpc3BsYXk6IGZsZXhcbiAgLm5hdmJhclxuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5pcy1zcGFjZWRcbiAgICAgIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbFxuICAgICAgLm5hdmJhci1zdGFydCxcbiAgICAgIC5uYXZiYXItZW5kXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgICAgIGEubmF2YmFyLWl0ZW0sXG4gICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1c1xuICAgICYuaXMtdHJhbnNwYXJlbnRcbiAgICAgIGEubmF2YmFyLWl0ZW0sXG4gICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50XG4gICAgICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duXG4gICAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgICAmLmlzLWhvdmVyYWJsZTpmb2N1cyxcbiAgICAgICAgJi5pcy1ob3ZlcmFibGU6Zm9jdXMtd2l0aGluLFxuICAgICAgICAmLmlzLWhvdmVyYWJsZTpob3ZlclxuICAgICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudFxuICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICBhLm5hdmJhci1pdGVtXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1jb2xvclxuICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWNvbG9yXG4gIC5uYXZiYXItYnVyZ2VyXG4gICAgZGlzcGxheTogbm9uZVxuICAubmF2YmFyLWl0ZW0sXG4gIC5uYXZiYXItbGlua1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgICBkaXNwbGF5OiBmbGV4XG4gIC5uYXZiYXItaXRlbVxuICAgICYuaGFzLWRyb3Bkb3duXG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaFxuICAgICYuaGFzLWRyb3Bkb3duLXVwXG4gICAgICAubmF2YmFyLWxpbms6OmFmdGVyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDAuMjVlbSwgLTAuMjVlbSlcbiAgICAgIC5uYXZiYXItZHJvcGRvd25cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1ib3JkZXItdG9wXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tcmFkaXVzICRuYXZiYXItZHJvcGRvd24tcmFkaXVzIDAgMFxuICAgICAgICBib3JkZXItdG9wOiBub25lXG4gICAgICAgIGJvdHRvbTogMTAwJVxuICAgICAgICBib3gtc2hhZG93OiAwIC04cHggOHB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgICAgICB0b3A6IGF1dG9cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmLmlzLWhvdmVyYWJsZTpmb2N1cyxcbiAgICAmLmlzLWhvdmVyYWJsZTpmb2N1cy13aXRoaW4sXG4gICAgJi5pcy1ob3ZlcmFibGU6aG92ZXJcbiAgICAgIC5uYXZiYXItZHJvcGRvd25cbiAgICAgICAgZGlzcGxheTogYmxvY2tcbiAgICAgICAgLm5hdmJhci5pcy1zcGFjZWQgJixcbiAgICAgICAgJi5pcy1ib3hlZFxuICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0b1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKVxuICAubmF2YmFyLW1lbnVcbiAgICBmbGV4LWdyb3c6IDFcbiAgICBmbGV4LXNocmluazogMFxuICAubmF2YmFyLXN0YXJ0XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvXG4gIC5uYXZiYXItZW5kXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvXG4gIC5uYXZiYXItZHJvcGRvd25cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3JcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkbmF2YmFyLWRyb3Bkb3duLXJhZGl1c1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkbmF2YmFyLWRyb3Bkb3duLXJhZGl1c1xuICAgIGJvcmRlci10b3A6ICRuYXZiYXItZHJvcGRvd24tYm9yZGVyLXRvcFxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDhweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICBkaXNwbGF5OiBub25lXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbVxuICAgIGxlZnQ6IDBcbiAgICBtaW4td2lkdGg6IDEwMCVcbiAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICB0b3A6IDEwMCVcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3Bkb3duLXpcbiAgICAubmF2YmFyLWl0ZW1cbiAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDFyZW1cbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXBcbiAgICBhLm5hdmJhci1pdGVtXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWNvbG9yXG4gICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtY29sb3JcbiAgICAubmF2YmFyLmlzLXNwYWNlZCAmLFxuICAgICYuaXMtYm94ZWRcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tYm94ZWQtcmFkaXVzXG4gICAgICBib3JkZXItdG9wOiBub25lXG4gICAgICBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3Bkb3duLWJveGVkLXNoYWRvd1xuICAgICAgZGlzcGxheTogYmxvY2tcbiAgICAgIG9wYWNpdHk6IDBcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lXG4gICAgICB0b3A6IGNhbGMoMTAwJSArICgjeyRuYXZiYXItZHJvcGRvd24tb2Zmc2V0fSkpXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweClcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICRzcGVlZFxuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtXG4gICAgJi5pcy1yaWdodFxuICAgICAgbGVmdDogYXV0b1xuICAgICAgcmlnaHQ6IDBcbiAgLm5hdmJhci1kaXZpZGVyXG4gICAgZGlzcGxheTogYmxvY2tcbiAgLm5hdmJhciA+IC5jb250YWluZXIsXG4gIC5jb250YWluZXIgPiAubmF2YmFyXG4gICAgLm5hdmJhci1icmFuZFxuICAgICAgbWFyZ2luLWxlZnQ6IC0uNzVyZW1cbiAgICAubmF2YmFyLW1lbnVcbiAgICAgIG1hcmdpbi1yaWdodDogLS43NXJlbVxuICAvLyBGaXhlZCBuYXZiYXJcbiAgLm5hdmJhclxuICAgICYuaXMtZml4ZWQtYm90dG9tLWRlc2t0b3AsXG4gICAgJi5pcy1maXhlZC10b3AtZGVza3RvcFxuICAgICAgK25hdmJhci1maXhlZFxuICAgICYuaXMtZml4ZWQtYm90dG9tLWRlc2t0b3BcbiAgICAgIGJvdHRvbTogMFxuICAgICAgJi5oYXMtc2hhZG93XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAzcHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgJi5pcy1maXhlZC10b3AtZGVza3RvcFxuICAgICAgdG9wOiAwXG4gIGh0bWwsXG4gIGJvZHlcbiAgICAmLmhhcy1uYXZiYXItZml4ZWQtdG9wLWRlc2t0b3BcbiAgICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodFxuICAgICYuaGFzLW5hdmJhci1maXhlZC1ib3R0b20tZGVza3RvcFxuICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5oYXMtc3BhY2VkLW5hdmJhci1maXhlZC10b3BcbiAgICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodCArICgkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgKiAyKVxuICAgICYuaGFzLXNwYWNlZC1uYXZiYXItZml4ZWQtYm90dG9tXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1oZWlnaHQgKyAoJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICogMilcbiAgLy8gSG92ZXIvQWN0aXZlIHN0YXRlc1xuICBhLm5hdmJhci1pdGVtLFxuICAubmF2YmFyLWxpbmtcbiAgICAmLmlzLWFjdGl2ZVxuICAgICAgY29sb3I6ICRuYXZiYXItaXRlbS1hY3RpdmUtY29sb3JcbiAgICAmLmlzLWFjdGl2ZTpub3QoOmZvY3VzKTpub3QoOmhvdmVyKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yXG4gIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd25cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJi5pcy1hY3RpdmVcbiAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvclxuXG4vLyBDb21iaW5hdGlvblxuXG4uaGVyb1xuICAmLmlzLWZ1bGxoZWlnaHQtd2l0aC1uYXZiYXJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbmF2YmFyLWhlaWdodH0pXG4iLCIkY29udGFpbmVyLW9mZnNldDogKDIgKiAkZ2FwKSAhZGVmYXVsdFxuXG4uY29udGFpbmVyXG4gIGZsZXgtZ3JvdzogMVxuICBtYXJnaW46IDAgYXV0b1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgd2lkdGg6IGF1dG9cbiAgJi5pcy1mbHVpZFxuICAgIG1heC13aWR0aDogbm9uZVxuICAgIHBhZGRpbmctbGVmdDogJGdhcFxuICAgIHBhZGRpbmctcmlnaHQ6ICRnYXBcbiAgICB3aWR0aDogMTAwJVxuICArZGVza3RvcFxuICAgIG1heC13aWR0aDogJGRlc2t0b3AgLSAkY29udGFpbmVyLW9mZnNldFxuICArdW50aWwtd2lkZXNjcmVlblxuICAgICYuaXMtd2lkZXNjcmVlblxuICAgICAgbWF4LXdpZHRoOiAkd2lkZXNjcmVlbiAtICRjb250YWluZXItb2Zmc2V0XG4gICt1bnRpbC1mdWxsaGRcbiAgICAmLmlzLWZ1bGxoZFxuICAgICAgbWF4LXdpZHRoOiAkZnVsbGhkIC0gJGNvbnRhaW5lci1vZmZzZXRcbiAgK3dpZGVzY3JlZW5cbiAgICBtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gJGNvbnRhaW5lci1vZmZzZXRcbiAgK2Z1bGxoZFxuICAgIG1heC13aWR0aDogJGZ1bGxoZCAtICRjb250YWluZXItb2Zmc2V0XG4iLCIkc2VjdGlvbi1wYWRkaW5nOiAzcmVtIDEuNXJlbSAhZGVmYXVsdFxuJHNlY3Rpb24tcGFkZGluZy1tZWRpdW06IDlyZW0gMS41cmVtICFkZWZhdWx0XG4kc2VjdGlvbi1wYWRkaW5nLWxhcmdlOiAxOHJlbSAxLjVyZW0gIWRlZmF1bHRcblxuLnNlY3Rpb25cbiAgcGFkZGluZzogJHNlY3Rpb24tcGFkZGluZ1xuICAvLyBSZXNwb25zaXZlbmVzc1xuICArZGVza3RvcFxuICAgIC8vIFNpemVzXG4gICAgJi5pcy1tZWRpdW1cbiAgICAgIHBhZGRpbmc6ICRzZWN0aW9uLXBhZGRpbmctbWVkaXVtXG4gICAgJi5pcy1sYXJnZVxuICAgICAgcGFkZGluZzogJHNlY3Rpb24tcGFkZGluZy1sYXJnZVxuIiwiJHRpdGxlLWNvbG9yOiAkdGV4dC1zdHJvbmcgIWRlZmF1bHRcbiR0aXRsZS1mYW1pbHk6IGZhbHNlICFkZWZhdWx0XG4kdGl0bGUtc2l6ZTogJHNpemUtMyAhZGVmYXVsdFxuJHRpdGxlLXdlaWdodDogJHdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdFxuJHRpdGxlLWxpbmUtaGVpZ2h0OiAxLjEyNSAhZGVmYXVsdFxuJHRpdGxlLXN0cm9uZy1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdFxuJHRpdGxlLXN0cm9uZy13ZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHRcbiR0aXRsZS1zdWItc2l6ZTogMC43NWVtICFkZWZhdWx0XG4kdGl0bGUtc3VwLXNpemU6IDAuNzVlbSAhZGVmYXVsdFxuXG4kc3VidGl0bGUtY29sb3I6ICR0ZXh0ICFkZWZhdWx0XG4kc3VidGl0bGUtZmFtaWx5OiBmYWxzZSAhZGVmYXVsdFxuJHN1YnRpdGxlLXNpemU6ICRzaXplLTUgIWRlZmF1bHRcbiRzdWJ0aXRsZS13ZWlnaHQ6ICR3ZWlnaHQtbm9ybWFsICFkZWZhdWx0XG4kc3VidGl0bGUtbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHRcbiRzdWJ0aXRsZS1zdHJvbmctY29sb3I6ICR0ZXh0LXN0cm9uZyAhZGVmYXVsdFxuJHN1YnRpdGxlLXN0cm9uZy13ZWlnaHQ6ICR3ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHRcbiRzdWJ0aXRsZS1uZWdhdGl2ZS1tYXJnaW46IC0xLjI1cmVtICFkZWZhdWx0XG5cbi50aXRsZSxcbi5zdWJ0aXRsZVxuICBAZXh0ZW5kICVibG9ja1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkXG4gIGVtLFxuICBzcGFuXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXRcbiAgc3ViXG4gICAgZm9udC1zaXplOiAkdGl0bGUtc3ViLXNpemVcbiAgc3VwXG4gICAgZm9udC1zaXplOiAkdGl0bGUtc3VwLXNpemVcbiAgLnRhZ1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcblxuLnRpdGxlXG4gIGNvbG9yOiAkdGl0bGUtY29sb3JcbiAgQGlmICR0aXRsZS1mYW1pbHlcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZhbWlseVxuICBmb250LXNpemU6ICR0aXRsZS1zaXplXG4gIGZvbnQtd2VpZ2h0OiAkdGl0bGUtd2VpZ2h0XG4gIGxpbmUtaGVpZ2h0OiAkdGl0bGUtbGluZS1oZWlnaHRcbiAgc3Ryb25nXG4gICAgY29sb3I6ICR0aXRsZS1zdHJvbmctY29sb3JcbiAgICBmb250LXdlaWdodDogJHRpdGxlLXN0cm9uZy13ZWlnaHRcbiAgJiArIC5oaWdobGlnaHRcbiAgICBtYXJnaW4tdG9wOiAtMC43NXJlbVxuICAmOm5vdCguaXMtc3BhY2VkKSArIC5zdWJ0aXRsZVxuICAgIG1hcmdpbi10b3A6ICRzdWJ0aXRsZS1uZWdhdGl2ZS1tYXJnaW5cbiAgLy8gU2l6ZXNcbiAgQGVhY2ggJHNpemUgaW4gJHNpemVzXG4gICAgJGk6IGluZGV4KCRzaXplcywgJHNpemUpXG4gICAgJi5pcy0jeyRpfVxuICAgICAgZm9udC1zaXplOiAkc2l6ZVxuXG4uc3VidGl0bGVcbiAgY29sb3I6ICRzdWJ0aXRsZS1jb2xvclxuICBAaWYgJHN1YnRpdGxlLWZhbWlseVxuICAgIGZvbnQtZmFtaWx5OiAkc3VidGl0bGUtZmFtaWx5XG4gIGZvbnQtc2l6ZTogJHN1YnRpdGxlLXNpemVcbiAgZm9udC13ZWlnaHQ6ICRzdWJ0aXRsZS13ZWlnaHRcbiAgbGluZS1oZWlnaHQ6ICRzdWJ0aXRsZS1saW5lLWhlaWdodFxuICBzdHJvbmdcbiAgICBjb2xvcjogJHN1YnRpdGxlLXN0cm9uZy1jb2xvclxuICAgIGZvbnQtd2VpZ2h0OiAkc3VidGl0bGUtc3Ryb25nLXdlaWdodFxuICAmOm5vdCguaXMtc3BhY2VkKSArIC50aXRsZVxuICAgIG1hcmdpbi10b3A6ICRzdWJ0aXRsZS1uZWdhdGl2ZS1tYXJnaW5cbiAgLy8gU2l6ZXNcbiAgQGVhY2ggJHNpemUgaW4gJHNpemVzXG4gICAgJGk6IGluZGV4KCRzaXplcywgJHNpemUpXG4gICAgJi5pcy0jeyRpfVxuICAgICAgZm9udC1zaXplOiAkc2l6ZVxuIiwiJHByaW1hcnk6ICR0dXJxdW9pc2UgIWRlZmF1bHRcblxuJGluZm86ICRjeWFuICFkZWZhdWx0XG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdFxuJGRhbmdlcjogJHJlZCAhZGVmYXVsdFxuXG4kbGlnaHQ6ICR3aGl0ZS10ZXIgIWRlZmF1bHRcbiRkYXJrOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcblxuLy8gSW52ZXJ0IGNvbG9yc1xuXG4kb3JhbmdlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRvcmFuZ2UpICFkZWZhdWx0XG4keWVsbG93LWludmVydDogZmluZENvbG9ySW52ZXJ0KCR5ZWxsb3cpICFkZWZhdWx0XG4kZ3JlZW4taW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGdyZWVuKSAhZGVmYXVsdFxuJHR1cnF1b2lzZS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkdHVycXVvaXNlKSAhZGVmYXVsdFxuJGN5YW4taW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGN5YW4pICFkZWZhdWx0XG4kYmx1ZS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkYmx1ZSkgIWRlZmF1bHRcbiRwdXJwbGUtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHB1cnBsZSkgIWRlZmF1bHRcbiRyZWQtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHJlZCkgIWRlZmF1bHRcblxuJHByaW1hcnktaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHByaW1hcnkpICFkZWZhdWx0XG4kcHJpbWFyeS1saWdodDogZmluZExpZ2h0Q29sb3IoJHByaW1hcnkpICFkZWZhdWx0XG4kcHJpbWFyeS1kYXJrOiBmaW5kRGFya0NvbG9yKCRwcmltYXJ5KSAhZGVmYXVsdFxuJGluZm8taW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGluZm8pICFkZWZhdWx0XG4kaW5mby1saWdodDogZmluZExpZ2h0Q29sb3IoJGluZm8pICFkZWZhdWx0XG4kaW5mby1kYXJrOiBmaW5kRGFya0NvbG9yKCRpbmZvKSAhZGVmYXVsdFxuJHN1Y2Nlc3MtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHN1Y2Nlc3MpICFkZWZhdWx0XG4kc3VjY2Vzcy1saWdodDogZmluZExpZ2h0Q29sb3IoJHN1Y2Nlc3MpICFkZWZhdWx0XG4kc3VjY2Vzcy1kYXJrOiBmaW5kRGFya0NvbG9yKCRzdWNjZXNzKSAhZGVmYXVsdFxuJHdhcm5pbmctaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHdhcm5pbmcpICFkZWZhdWx0XG4kd2FybmluZy1saWdodDogZmluZExpZ2h0Q29sb3IoJHdhcm5pbmcpICFkZWZhdWx0XG4kd2FybmluZy1kYXJrOiBmaW5kRGFya0NvbG9yKCR3YXJuaW5nKSAhZGVmYXVsdFxuJGRhbmdlci1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkZGFuZ2VyKSAhZGVmYXVsdFxuJGRhbmdlci1saWdodDogZmluZExpZ2h0Q29sb3IoJGRhbmdlcikgIWRlZmF1bHRcbiRkYW5nZXItZGFyazogZmluZERhcmtDb2xvcigkZGFuZ2VyKSAhZGVmYXVsdFxuJGxpZ2h0LWludmVydDogZmluZENvbG9ySW52ZXJ0KCRsaWdodCkgIWRlZmF1bHRcbiRkYXJrLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRkYXJrKSAhZGVmYXVsdFxuXG4vLyBHZW5lcmFsIGNvbG9yc1xuXG4kc2NoZW1lLW1haW46ICR3aGl0ZSAhZGVmYXVsdFxuJHNjaGVtZS1tYWluLWJpczogJHdoaXRlLWJpcyAhZGVmYXVsdFxuJHNjaGVtZS1tYWluLXRlcjogJHdoaXRlLXRlciAhZGVmYXVsdFxuJHNjaGVtZS1pbnZlcnQ6ICRibGFjayAhZGVmYXVsdFxuJHNjaGVtZS1pbnZlcnQtYmlzOiAkYmxhY2stYmlzICFkZWZhdWx0XG4kc2NoZW1lLWludmVydC10ZXI6ICRibGFjay10ZXIgIWRlZmF1bHRcblxuJGJhY2tncm91bmQ6ICR3aGl0ZS10ZXIgIWRlZmF1bHRcblxuJGJvcmRlcjogJGdyZXktbGlnaHRlciAhZGVmYXVsdFxuJGJvcmRlci1ob3ZlcjogJGdyZXktbGlnaHQgIWRlZmF1bHRcbiRib3JkZXItbGlnaHQ6ICRncmV5LWxpZ2h0ZXN0ICFkZWZhdWx0XG4kYm9yZGVyLWxpZ2h0LWhvdmVyOiAkZ3JleS1saWdodCAhZGVmYXVsdFxuXG4vLyBUZXh0IGNvbG9yc1xuXG4kdGV4dDogJGdyZXktZGFyayAhZGVmYXVsdFxuJHRleHQtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHRleHQpICFkZWZhdWx0XG4kdGV4dC1saWdodDogJGdyZXkgIWRlZmF1bHRcbiR0ZXh0LXN0cm9uZzogJGdyZXktZGFya2VyICFkZWZhdWx0XG5cbi8vIENvZGUgY29sb3JzXG5cbiRjb2RlOiAkcmVkICFkZWZhdWx0XG4kY29kZS1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuXG4kcHJlOiAkdGV4dCAhZGVmYXVsdFxuJHByZS1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuXG4vLyBMaW5rIGNvbG9yc1xuXG4kbGluazogJGJsdWUgIWRlZmF1bHRcbiRsaW5rLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRsaW5rKSAhZGVmYXVsdFxuJGxpbmstbGlnaHQ6IGZpbmRMaWdodENvbG9yKCRsaW5rKSAhZGVmYXVsdFxuJGxpbmstZGFyazogZmluZERhcmtDb2xvcigkbGluaykgIWRlZmF1bHRcbiRsaW5rLXZpc2l0ZWQ6ICRwdXJwbGUgIWRlZmF1bHRcblxuJGxpbmstaG92ZXI6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuJGxpbmstaG92ZXItYm9yZGVyOiAkZ3JleS1saWdodCAhZGVmYXVsdFxuXG4kbGluay1mb2N1czogJGdyZXktZGFya2VyICFkZWZhdWx0XG4kbGluay1mb2N1cy1ib3JkZXI6ICRibHVlICFkZWZhdWx0XG5cbiRsaW5rLWFjdGl2ZTogJGdyZXktZGFya2VyICFkZWZhdWx0XG4kbGluay1hY3RpdmUtYm9yZGVyOiAkZ3JleS1kYXJrICFkZWZhdWx0XG5cbi8vIFR5cG9ncmFwaHlcblxuJGZhbWlseS1wcmltYXJ5OiAkZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHRcbiRmYW1pbHktc2Vjb25kYXJ5OiAkZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHRcbiRmYW1pbHktY29kZTogJGZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHRcblxuJHNpemUtc21hbGw6ICRzaXplLTcgIWRlZmF1bHRcbiRzaXplLW5vcm1hbDogJHNpemUtNiAhZGVmYXVsdFxuJHNpemUtbWVkaXVtOiAkc2l6ZS01ICFkZWZhdWx0XG4kc2l6ZS1sYXJnZTogJHNpemUtNCAhZGVmYXVsdFxuXG4vLyBMaXN0cyBhbmQgbWFwc1xuJGN1c3RvbS1jb2xvcnM6IG51bGwgIWRlZmF1bHRcbiRjdXN0b20tc2hhZGVzOiBudWxsICFkZWZhdWx0XG5cbiRjb2xvcnM6IG1lcmdlQ29sb3JNYXBzKChcIndoaXRlXCI6ICgkd2hpdGUsICRibGFjayksIFwiYmxhY2tcIjogKCRibGFjaywgJHdoaXRlKSwgXCJsaWdodFwiOiAoJGxpZ2h0LCAkbGlnaHQtaW52ZXJ0KSwgXCJkYXJrXCI6ICgkZGFyaywgJGRhcmstaW52ZXJ0KSwgXCJwcmltYXJ5XCI6ICgkcHJpbWFyeSwgJHByaW1hcnktaW52ZXJ0LCAkcHJpbWFyeS1saWdodCwgJHByaW1hcnktZGFyayksIFwibGlua1wiOiAoJGxpbmssICRsaW5rLWludmVydCwgJGxpbmstbGlnaHQsICRsaW5rLWRhcmspLCBcImluZm9cIjogKCRpbmZvLCAkaW5mby1pbnZlcnQsICRpbmZvLWxpZ2h0LCAkaW5mby1kYXJrKSwgXCJzdWNjZXNzXCI6ICgkc3VjY2VzcywgJHN1Y2Nlc3MtaW52ZXJ0LCAkc3VjY2Vzcy1saWdodCwgJHN1Y2Nlc3MtZGFyayksIFwid2FybmluZ1wiOiAoJHdhcm5pbmcsICR3YXJuaW5nLWludmVydCwgJHdhcm5pbmctbGlnaHQsICR3YXJuaW5nLWRhcmspLCBcImRhbmdlclwiOiAoJGRhbmdlciwgJGRhbmdlci1pbnZlcnQsICRkYW5nZXItbGlnaHQsICRkYW5nZXItZGFyaykpLCAkY3VzdG9tLWNvbG9ycykgIWRlZmF1bHRcbiRzaGFkZXM6IG1lcmdlQ29sb3JNYXBzKChcImJsYWNrLWJpc1wiOiAkYmxhY2stYmlzLCBcImJsYWNrLXRlclwiOiAkYmxhY2stdGVyLCBcImdyZXktZGFya2VyXCI6ICRncmV5LWRhcmtlciwgXCJncmV5LWRhcmtcIjogJGdyZXktZGFyaywgXCJncmV5XCI6ICRncmV5LCBcImdyZXktbGlnaHRcIjogJGdyZXktbGlnaHQsIFwiZ3JleS1saWdodGVyXCI6ICRncmV5LWxpZ2h0ZXIsIFwid2hpdGUtdGVyXCI6ICR3aGl0ZS10ZXIsIFwid2hpdGUtYmlzXCI6ICR3aGl0ZS1iaXMpLCAkY3VzdG9tLXNoYWRlcykgIWRlZmF1bHRcblxuJHNpemVzOiAkc2l6ZS0xICRzaXplLTIgJHNpemUtMyAkc2l6ZS00ICRzaXplLTUgJHNpemUtNiAkc2l6ZS03ICFkZWZhdWx0XG4iLCIkZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodGVyICFkZWZhdWx0XG4kZGl2aWRlci10aGlja25lc3M6IC4xcmVtICFkZWZhdWx0XG4kZGl2aWRlci1mb250LXNpemU6ICRzaXplLTcgIWRlZmF1bHRcbiRkaXZpZGVyLWNvbG9yOiAkZ3JleS1saWdodCAhZGVmYXVsdFxuXG4uaXMtZGl2aWRlciwgLmlzLWRpdmlkZXItdmVydGljYWxcbiAgZGlzcGxheTogYmxvY2tcbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIGJvcmRlci10b3A6ICRkaXZpZGVyLXRoaWNrbmVzcyBzb2xpZCAkZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yXG4gIGhlaWdodDogJGRpdmlkZXItdGhpY2tuZXNzXG4gIG1hcmdpbjogMnJlbSAwXG4gIHRleHQtYWxpZ246IGNlbnRlclxuXG5cbi5pcy1kaXZpZGVyW2RhdGEtY29udGVudF06OmFmdGVyLCAuaXMtZGl2aWRlci12ZXJ0aWNhbFtkYXRhLWNvbnRlbnRdOjphZnRlclxuICBiYWNrZ3JvdW5kOiAkd2hpdGVcbiAgY29sb3I6ICRkaXZpZGVyLWNvbG9yXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgZm9udC1zaXplOiAkZGl2aWRlci1mb250LXNpemVcbiAgcGFkZGluZzogLjRyZW0gLjhyZW1cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMXJlbSlcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xcmVtKVxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMXJlbSlcbiAgdGV4dC1hbGlnbjogY2VudGVyXG5cbi5pcy1kaXZpZGVyLXZlcnRpY2FsXG4gICt0YWJsZXRcbiAgICBkaXNwbGF5OiBibG9ja1xuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogYXV0b1xuICAgIGhlaWdodDogYXV0b1xuICAgIHBhZGRpbmc6IDJyZW1cbiAgICBtYXJnaW46IDBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgICBib3JkZXItdG9wOiBub25lXG4gICAgbWluLWhlaWdodDogMnJlbVxuICAgICY6OmJlZm9yZVxuICAgICAgYm9yZGVyLWxlZnQ6ICRkaXZpZGVyLXRoaWNrbmVzcyBzb2xpZCAkZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICBib3R0b206IDFyZW1cbiAgICAgIGNvbnRlbnQ6IFwiXCJcbiAgICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgICBsZWZ0OiA1MCVcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgICAgdG9wOiAxcmVtXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKVxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgJltkYXRhLWNvbnRlbnRdOjphZnRlclxuICAgICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgICBsZWZ0OiA1MCVcbiAgICAgIHRvcDogNTAlXG4gICAgICBwYWRkaW5nOiAuMXJlbVxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKVxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKVxuXG4uaXMtZGl2aWRlcixcbi5pcy1kaXZpZGVyLXZlcnRpY2FsXG4gIEBlYWNoICRuYW1lLCAkcGFpciBpbiBtZXJnZUNvbG9yTWFwcygkY29sb3JzLCAkc2hhZGVzKVxuICAgICRjb2xvcjogbnRoKCRwYWlyLCAxKVxuICAgICRjb2xvci1pbnZlcnQ6IG50aCgkcGFpciwgMilcbiAgICAmLmlzLSN7JG5hbWV9XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3JcblxuICAgICAgJltkYXRhLWNvbnRlbnRdOjphZnRlciwgJltkYXRhLWNvbnRlbnRdOjphZnRlclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaW52ZXJ0XG4gICAgICAgIGNvbG9yOiAkY29sb3JcblxuICAgICAgJjo6YmVmb3JlXG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3JcbiIsIi8vIEF1ZGl0ICgyMDI2LTA1KTogdGhlIGNvZGViYXNlIG9ubHkgdXNlcyBhIHNsaWNlIG9mIEJ1bG1hIOKAlFxuLy8gICAtIGdyaWQgKGAuY29sdW1uc2AvYC5jb2x1bW5gL2AuaXMtbmFycm93YC9gLmlzLW11bHRpbGluZWAv4oCmKTogNTAwKyB1c29zLlxuLy8gICAtIGNvbnRhaW5lciAoYDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5gKTogfjYwIHVzb3MuXG4vLyAgIC0gc2VjdGlvbiAoYDxzZWN0aW9uPmAgc2VtYW50aWMgKyBgLnNlY3Rpb25gKTogcG91Y29zLlxuLy8gICAtIG5hdmJhciAoYGNsYXNzPVwibmF2YmFyXCJgKTogNCB1c29zLlxuLy8gICAtIHN1YnRpdGxlIChkZSBgZWxlbWVudHMvdGl0bGVgKTogMTEgdXNvcy5cbi8vICAgLSBidWxtYS1kaXZpZGVyIChgaXMtZGl2aWRlcmApOiAyIHVzb3MuXG4vLyBSZW1vdmlkb3MgcG9yIHRlcmVtIFpFUk8gdXNvcyBubyBhdWRpdDogYGNvbXBvbmVudHMvbGV2ZWxgLFxuLy8gYGVsZW1lbnRzL2ltYWdlYCwgYGVsZW1lbnRzL3RhYmxlYC4gYGxheW91dC9fYWxsYCBmb2kgcXVlYnJhZG8gZW1cbi8vIGBjb250YWluZXJgICsgYHNlY3Rpb25gIChoZXJvIGUgZm9vdGVyIHRhbWLDqW0gZXJhbSAwKS5cbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy91dGlsaXRpZXMvX2FsbFwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2Jhc2UvX2FsbFwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2dyaWQvX2FsbFwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2NvbXBvbmVudHMvbmF2YmFyXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvZWxlbWVudHMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvbGF5b3V0L3NlY3Rpb25cIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9lbGVtZW50cy90aXRsZVwiO1xuQGltcG9ydCBcIn5idWxtYS1kaXZpZGVyL3NyYy9zYXNzL2luZGV4XCI7XG5cbi8vIFRhYmxlIHdpZHRoXG4kd2lkdGhBbW91bnRzOiAoMi41LCA1LCA3LjUsIDEwLCAyMCwgMzAsIDMzLjMzLCA0MCwgNTAsIDY2LjY2LCAxMDApOyAvLyBKdXN0IGFkZCB0aGUgbnVtYmVycyBoZXJlLCB5b3UgY2FuIHVzZSBwb2ludHMgdG9vLlxuJHdpZHRoVW5pdDogXCIlXCI7IC8vIEFkZCB0aGUgdW5pdCBoZXJlIChyZW18ZW18cHh8JSlcblxuQGVhY2ggJHdpZHRoIGluICR3aWR0aEFtb3VudHMge1xuXHQkaTogaW5kZXgoJHdpZHRoQW1vdW50cywgJHdpZHRoKTtcblx0LnRhYmxlIHRoZWFkIHRoLmlzLSN7JGl9IHtcblx0XHR3aWR0aDogI3skd2lkdGh9I3skd2lkdGhVbml0fSAhaW1wb3J0YW50O1xuXHR9XG59IiwiQGltcG9ydCBcInNldHRpbmdzL2NoYXJ0aXN0LXNldHRpbmdzXCI7XG5cbkBtaXhpbiBjdC1yZXNwb25zaXZlLXN2Zy1jb250YWluZXIoJHdpZHRoOiAxMDAlLCAkcmF0aW86ICRjdC1jb250YWluZXItcmF0aW8pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR3aWR0aDtcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206ICRyYXRpbyAqIDEwMCU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgPiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5AbWl4aW4gY3QtYWxpZ24tanVzdGlmeSgkY3QtdGV4dC1hbGlnbjogJGN0LXRleHQtYWxpZ24sICRjdC10ZXh0LWp1c3RpZnk6ICRjdC10ZXh0LWp1c3RpZnkpIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246ICRjdC10ZXh0LWFsaWduO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkY3QtdGV4dC1hbGlnbjtcbiAgLW1zLWZsZXgtYWxpZ246ICRjdC10ZXh0LWFsaWduO1xuICBhbGlnbi1pdGVtczogJGN0LXRleHQtYWxpZ247XG4gIC13ZWJraXQtYm94LXBhY2s6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiAkY3QtdGV4dC1qdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIC8vIEZhbGxiYWNrIHRvIHRleHQtYWxpZ24gZm9yIG5vbi1mbGV4IGJyb3dzZXJzXG4gIEBpZigkY3QtdGV4dC1qdXN0aWZ5ID09ICdmbGV4LXN0YXJ0Jykge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH0gQGVsc2UgaWYgKCRjdC10ZXh0LWp1c3RpZnkgPT0gJ2ZsZXgtZW5kJykge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIGN0LWZsZXgoKSB7XG4gIC8vIEZhbGxiYWNrIHRvIGJsb2NrXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1sYWJlbCgkY3QtdGV4dC1jb2xvcjogJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemU6ICRjdC10ZXh0LXNpemUsICRjdC10ZXh0LWxpbmUtaGVpZ2h0OiAkY3QtdGV4dC1saW5lLWhlaWdodCkge1xuICBmaWxsOiAkY3QtdGV4dC1jb2xvcjtcbiAgY29sb3I6ICRjdC10ZXh0LWNvbG9yO1xuICBmb250LXNpemU6ICRjdC10ZXh0LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY3QtdGV4dC1saW5lLWhlaWdodDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWdyaWQoJGN0LWdyaWQtY29sb3I6ICRjdC1ncmlkLWNvbG9yLCAkY3QtZ3JpZC13aWR0aDogJGN0LWdyaWQtd2lkdGgsICRjdC1ncmlkLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5KSB7XG4gIHN0cm9rZTogJGN0LWdyaWQtY29sb3I7XG4gIHN0cm9rZS13aWR0aDogJGN0LWdyaWQtd2lkdGg7XG5cbiAgQGlmICgkY3QtZ3JpZC1kYXNoYXJyYXkpIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkY3QtZ3JpZC1kYXNoYXJyYXk7XG4gIH1cbn1cblxuQG1peGluIGN0LWNoYXJ0LXBvaW50KCRjdC1wb2ludC1zaXplOiAkY3QtcG9pbnQtc2l6ZSwgJGN0LXBvaW50LXNoYXBlOiAkY3QtcG9pbnQtc2hhcGUpIHtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtcG9pbnQtc2l6ZTtcbiAgc3Ryb2tlLWxpbmVjYXA6ICRjdC1wb2ludC1zaGFwZTtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWxpbmUoJGN0LWxpbmUtd2lkdGg6ICRjdC1saW5lLXdpZHRoLCAkY3QtbGluZS1kYXNoYXJyYXk6ICRjdC1saW5lLWRhc2hhcnJheSkge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6ICRjdC1saW5lLXdpZHRoO1xuXG4gIEBpZiAoJGN0LWxpbmUtZGFzaGFycmF5KSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJGN0LWxpbmUtZGFzaGFycmF5O1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydC1hcmVhKCRjdC1hcmVhLW9wYWNpdHk6ICRjdC1hcmVhLW9wYWNpdHkpIHtcbiAgc3Ryb2tlOiBub25lO1xuICBmaWxsLW9wYWNpdHk6ICRjdC1hcmVhLW9wYWNpdHk7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1iYXIoJGN0LWJhci13aWR0aDogJGN0LWJhci13aWR0aCkge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6ICRjdC1iYXItd2lkdGg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1kb251dCgkY3QtZG9udXQtd2lkdGg6ICRjdC1kb251dC13aWR0aCkge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6ICRjdC1kb251dC13aWR0aDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LXNlcmllcy1jb2xvcigkY29sb3IpIHtcbiAgLiN7JGN0LWNsYXNzLXBvaW50fSwgLiN7JGN0LWNsYXNzLWxpbmV9LCAuI3skY3QtY2xhc3MtYmFyfSwgLiN7JGN0LWNsYXNzLXNsaWNlLWRvbnV0fSB7XG4gICAgc3Ryb2tlOiAkY29sb3I7XG4gIH1cblxuICAuI3skY3QtY2xhc3Mtc2xpY2UtcGllfSwgLiN7JGN0LWNsYXNzLXNsaWNlLWRvbnV0LXNvbGlkfSwgLiN7JGN0LWNsYXNzLWFyZWF9IHtcbiAgICBmaWxsOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGN0LWNoYXJ0KCRjdC1jb250YWluZXItcmF0aW86ICRjdC1jb250YWluZXItcmF0aW8sICRjdC10ZXh0LWNvbG9yOiAkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZTogJGN0LXRleHQtc2l6ZSwgJGN0LWdyaWQtY29sb3I6ICRjdC1ncmlkLWNvbG9yLCAkY3QtZ3JpZC13aWR0aDogJGN0LWdyaWQtd2lkdGgsICRjdC1ncmlkLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5LCAkY3QtcG9pbnQtc2l6ZTogJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZTogJGN0LXBvaW50LXNoYXBlLCAkY3QtbGluZS13aWR0aDogJGN0LWxpbmUtd2lkdGgsICRjdC1iYXItd2lkdGg6ICRjdC1iYXItd2lkdGgsICRjdC1kb251dC13aWR0aDogJGN0LWRvbnV0LXdpZHRoLCAkY3Qtc2VyaWVzLW5hbWVzOiAkY3Qtc2VyaWVzLW5hbWVzLCAkY3Qtc2VyaWVzLWNvbG9yczogJGN0LXNlcmllcy1jb2xvcnMpIHtcblxuICAuI3skY3QtY2xhc3MtbGFiZWx9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1sYWJlbCgkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZSk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtbGluZX0gLiN7JGN0LWNsYXNzLWxhYmVsfSxcbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgQGluY2x1ZGUgY3QtZmxleCgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LXBpZX0gLiN7JGN0LWNsYXNzLWxhYmVsfSxcbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWRvbnV0fSAuI3skY3QtY2xhc3MtbGFiZWx9IHtcbiAgICBkb21pbmFudC1iYXNlbGluZTogY2VudHJhbDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgY2VudGVyKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIC8vQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUsIGNlbnRlciwgJGN0LXZlcnRpY2FsLXRleHQtanVzdGlmeSk7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtZW5kKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShjZW50ZXIsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWdyaWR9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yLCAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5KTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1ncmlkLWJhY2tncm91bmR9IHtcbiAgICBmaWxsOiAkY3QtZ3JpZC1iYWNrZ3JvdW5kLWZpbGw7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtcG9pbnR9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1wb2ludCgkY3QtcG9pbnQtc2l6ZSwgJGN0LXBvaW50LXNoYXBlKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1saW5lfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtbGluZSgkY3QtbGluZS13aWR0aCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtYXJlYX0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWFyZWEoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1iYXJ9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1iYXIoJGN0LWJhci13aWR0aCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3Mtc2xpY2UtZG9udXR9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1kb251dCgkY3QtZG9udXQtd2lkdGgpO1xuICB9XG5cbiAgQGlmICRjdC1pbmNsdWRlLWNvbG9yZWQtc2VyaWVzIHtcbiAgICBAZm9yICRpIGZyb20gMCB0byBsZW5ndGgoJGN0LXNlcmllcy1uYW1lcykge1xuICAgICAgLiN7JGN0LWNsYXNzLXNlcmllc30tI3tudGgoJGN0LXNlcmllcy1uYW1lcywgJGkgKyAxKX0ge1xuICAgICAgICAkY29sb3I6IG50aCgkY3Qtc2VyaWVzLWNvbG9ycywgJGkgKyAxKTtcblxuICAgICAgICBAaW5jbHVkZSBjdC1jaGFydC1zZXJpZXMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGlmICRjdC1pbmNsdWRlLWNsYXNzZXMge1xuICBAaW5jbHVkZSBjdC1jaGFydCgpO1xuXG4gIEBpZiAkY3QtaW5jbHVkZS1hbHRlcm5hdGl2ZS1yZXNwb25zaXZlLWNvbnRhaW5lcnMge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2NhbGVzLW5hbWVzKSB7XG4gICAgICAuI3tudGgoJGN0LXNjYWxlcy1uYW1lcywgJGkgKyAxKX0ge1xuICAgICAgICBAaW5jbHVkZSBjdC1yZXNwb25zaXZlLXN2Zy1jb250YWluZXIoJHJhdGlvOiBudGgoJGN0LXNjYWxlcywgJGkgKyAxKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBTY2FsZXMgZm9yIHJlc3BvbnNpdmUgU1ZHIGNvbnRhaW5lcnNcbiRjdC1zY2FsZXM6ICgoMSksICgxNS8xNiksICg4LzkpLCAoNS82KSwgKDQvNSksICgzLzQpLCAoMi8zKSwgKDUvOCksICgxLzEuNjE4KSwgKDMvNSksICg5LzE2KSwgKDgvMTUpLCAoMS8yKSwgKDIvNSksICgzLzgpLCAoMS8zKSwgKDEvNCkpICFkZWZhdWx0O1xuJGN0LXNjYWxlcy1uYW1lczogKGN0LXNxdWFyZSwgY3QtbWlub3Itc2Vjb25kLCBjdC1tYWpvci1zZWNvbmQsIGN0LW1pbm9yLXRoaXJkLCBjdC1tYWpvci10aGlyZCwgY3QtcGVyZmVjdC1mb3VydGgsIGN0LXBlcmZlY3QtZmlmdGgsIGN0LW1pbm9yLXNpeHRoLCBjdC1nb2xkZW4tc2VjdGlvbiwgY3QtbWFqb3Itc2l4dGgsIGN0LW1pbm9yLXNldmVudGgsIGN0LW1ham9yLXNldmVudGgsIGN0LW9jdGF2ZSwgY3QtbWFqb3ItdGVudGgsIGN0LW1ham9yLWVsZXZlbnRoLCBjdC1tYWpvci10d2VsZnRoLCBjdC1kb3VibGUtb2N0YXZlKSAhZGVmYXVsdDtcblxuLy8gQ2xhc3MgbmFtZXMgdG8gYmUgdXNlZCB3aGVuIGdlbmVyYXRpbmcgQ1NTXG4kY3QtY2xhc3MtY2hhcnQ6IGN0LWNoYXJ0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWNoYXJ0LWxpbmU6IGN0LWNoYXJ0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtYmFyOiBjdC1jaGFydC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzOiBjdC1ob3Jpem9udGFsLWJhcnMgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtcGllOiBjdC1jaGFydC1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtZG9udXQ6IGN0LWNoYXJ0LWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxhYmVsOiBjdC1sYWJlbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zZXJpZXM6IGN0LXNlcmllcyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1saW5lOiBjdC1saW5lICFkZWZhdWx0O1xuJGN0LWNsYXNzLXBvaW50OiBjdC1wb2ludCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1hcmVhOiBjdC1hcmVhICFkZWZhdWx0O1xuJGN0LWNsYXNzLWJhcjogY3QtYmFyICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLXBpZTogY3Qtc2xpY2UtcGllICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0OiBjdC1zbGljZS1kb251dCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zbGljZS1kb251dC1zb2xpZDogY3Qtc2xpY2UtZG9udXQtc29saWQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtZ3JpZDogY3QtZ3JpZCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkLWJhY2tncm91bmQ6IGN0LWdyaWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjdC1jbGFzcy12ZXJ0aWNhbDogY3QtdmVydGljYWwgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtaG9yaXpvbnRhbDogY3QtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1zdGFydDogY3Qtc3RhcnQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtZW5kOiBjdC1lbmQgIWRlZmF1bHQ7XG5cbi8vIENvbnRhaW5lciByYXRpb1xuJGN0LWNvbnRhaW5lci1yYXRpbzogKDEvMS42MTgpICFkZWZhdWx0O1xuXG4vLyBUZXh0IHN0eWxlcyBmb3IgbGFiZWxzXG4kY3QtdGV4dC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpICFkZWZhdWx0O1xuJGN0LXRleHQtc2l6ZTogMC43NXJlbSAhZGVmYXVsdDtcbiRjdC10ZXh0LWFsaWduOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcbiRjdC10ZXh0LWxpbmUtaGVpZ2h0OiAxO1xuXG4vLyBHcmlkIHN0eWxlc1xuJGN0LWdyaWQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDtcbiRjdC1ncmlkLWRhc2hhcnJheTogMnB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRjdC1ncmlkLWJhY2tncm91bmQtZmlsbDogbm9uZSAhZGVmYXVsdDtcblxuLy8gTGluZSBjaGFydCBwcm9wZXJ0aWVzXG4kY3QtbGluZS13aWR0aDogNHB4ICFkZWZhdWx0O1xuJGN0LWxpbmUtZGFzaGFycmF5OiBmYWxzZSAhZGVmYXVsdDtcbiRjdC1wb2ludC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuLy8gTGluZSBjaGFydCBwb2ludCwgY2FuIGJlIGVpdGhlciByb3VuZCBvciBzcXVhcmVcbiRjdC1wb2ludC1zaGFwZTogcm91bmQgIWRlZmF1bHQ7XG4vLyBBcmVhIGZpbGwgdHJhbnNwYXJlbmN5IGJldHdlZW4gMCBhbmQgMVxuJGN0LWFyZWEtb3BhY2l0eTogMC4xICFkZWZhdWx0O1xuXG4vLyBCYXIgY2hhcnQgYmFyIHdpZHRoXG4kY3QtYmFyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBEb251dCB3aWR0aCAoSWYgZG9udXQgd2lkdGggaXMgdG8gYmlnIGl0IGNhbiBjYXVzZSBpc3N1ZXMgd2hlcmUgdGhlIHNoYXBlIGdldHMgZGlzdG9ydGVkKVxuJGN0LWRvbnV0LXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSBpdCB3aWxsIGluY2x1ZGUgdGhlIGRlZmF1bHQgY2xhc3NlcyBhbmQgZ2VuZXJhdGUgQ1NTIG91dHB1dC4gSWYgeW91J3JlIHBsYW5uaW5nIHRvIHVzZSB0aGUgbWl4aW5zIHlvdVxuLy8gc2hvdWxkIHNldCB0aGlzIHByb3BlcnR5IHRvIGZhbHNlXG4kY3QtaW5jbHVkZS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiB0aGlzIGlzIHNldCB0byB0cnVlIHRoZSBDU1Mgd2lsbCBjb250YWluIGNvbG9yZWQgc2VyaWVzLiBZb3UgY2FuIGV4dGVuZCBvciBjaGFuZ2UgdGhlIGNvbG9yIHdpdGggdGhlXG4vLyBwcm9wZXJ0aWVzIGJlbG93XG4kY3QtaW5jbHVkZS1jb2xvcmVkLXNlcmllczogJGN0LWluY2x1ZGUtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gSWYgc2V0IHRvIHRydWUgdGhpcyB3aWxsIGluY2x1ZGUgYWxsIHJlc3BvbnNpdmUgY29udGFpbmVyIHZhcmlhdGlvbnMgdXNpbmcgdGhlIHNjYWxlcyBkZWZpbmVkIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmlwdFxuJGN0LWluY2x1ZGUtYWx0ZXJuYXRpdmUtcmVzcG9uc2l2ZS1jb250YWluZXJzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBTZXJpZXMgbmFtZXMgYW5kIGNvbG9ycy4gVGhpcyBjYW4gYmUgZXh0ZW5kZWQgb3IgY3VzdG9taXplZCBhcyBkZXNpcmVkLiBKdXN0IGFkZCBtb3JlIHNlcmllcyBhbmQgY29sb3JzLlxuJGN0LXNlcmllcy1uYW1lczogKGEsIGIsIGMsIGQsIGUsIGYsIGcsIGgsIGksIGosIGssIGwsIG0sIG4sIG8pICFkZWZhdWx0O1xuJGN0LXNlcmllcy1jb2xvcnM6IChcbiAgI2Q3MDIwNixcbiAgI2YwNWI0ZixcbiAgI2Y0YzYzZCxcbiAgI2QxNzkwNSxcbiAgIzQ1M2QzZixcbiAgIzU5OTIyYixcbiAgIzA1NDRkMyxcbiAgIzZiMDM5MixcbiAgI2YwNWI0ZixcbiAgI2RkYTQ1OCxcbiAgI2VhY2Y3ZCxcbiAgIzg2Nzk3ZCxcbiAgI2IyYzMyNixcbiAgIzYxODhlMixcbiAgI2E3NDhjYVxuKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJ+Y2hhcnRpc3QvZGlzdC9zY3NzL2NoYXJ0aXN0LnNjc3NcIjtcblxuLy8gSW5zaWRlIHBpZSBjaGFydHNcbi5jdC1jaGFydC1waWUge1xuICAuY3QtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbi5jdC1sZWdlbmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGxpOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUuNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgbGkuaW5hY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIFxuICB9XG5cbiAgJi5jdC1sZWdlbmQtaW5zaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMCB0byBsZW5ndGgoJGN0LXNlcmllcy1jb2xvcnMpIHtcbiAgICAuY3Qtc2VyaWVzLSN7JGl9OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJGN0LXNlcmllcy1jb2xvcnMsICRpICsgMSk7XG4gICAgICBib3JkZXItY29sb3I6IG50aCgkY3Qtc2VyaWVzLWNvbG9ycywgJGkgKyAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmN0LWJhciB7XG4gIHN0cm9rZS13aWR0aDogNTBweDtcbn1cblxuLmN0LWxhYmVsIHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY3QtaG9yaXpvbnRhbC5jdC1sYWJlbC5jdC1lbmQge1xuICAmLmN0LWxhYmVsLXJvdGF0ZS00NSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxuICB9XG5cbiAgJi5jdC1sYWJlbC1yb3RhdGUtNDUtZW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxueC1jaGFydGlzdCBzdmcge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiIsIi8vIE5ldXRyYWwgU3RvbmUgc2NhbGUgKFRhaWx3aW5kLWRlcml2ZWQpIOKAlCB3YXJtIGdyYXlzIGZvciBzdXJmYWNlcywgdGV4dCwgYm9yZGVycy5cbi8vIERlY2xhcmVkIGF0IHRoZSB0b3AgYmVjYXVzZSBuYXZiYXIvc2lkZW5hdiB2YXJpYWJsZXMgYmVsb3cgcmVmZXJlbmNlIHRoZXNlIHRva2Vucy5cbiRncmF5LTA6ICAgI0ZGRkZGRjtcbiRncmF5LTUwOiAgI0ZBRkFGOTtcbiRncmF5LTEwMDogI0Y1RjVGNDtcbiRncmF5LTEyNTogI0YxRjBFRjsgIC8vIE1pZHBvaW50IHdhcm0tc3RvbmUgZW50cmUgMTAwIGUgMTUwIOKAlCBzdXJmYWNlIGFpbmRhIG1haXMgc3V0aWwgcXVlIGdyYXktMTUwXG4kZ3JheS0xNTA6ICNFRUVDRUI7ICAvLyBNaWRwb2ludCB3YXJtLXN0b25lIGVudHJlIDEwMCBlIDIwMCDigJQgdXNhZG8gcHJhIHN1cmZhY2VzIGRlIGNhcmQgc3V0aWxtZW50ZSBtYWlzIGVzY3VyYXMgcXVlIGdyYXktMTAwXG4kZ3JheS0yMDA6ICNFN0U1RTQ7XG4kZ3JheS0zMDA6ICNENkQzRDE7XG4kZ3JheS00MDA6ICNBOEEyOUU7ICAvLyBUYWlsd2luZCBzdG9uZS00MDAg4oCUIGFkZGVkIDIwMjYtMDUtMjIgcGFyYSBwcmVlbmNoZXIgZ2FwIGVudHJlIDMwMCBlIDUwMFxuJGdyYXktNDUwOiAjOTA4OTg1OyAgLy8gTWlkcG9pbnQgd2FybS1zdG9uZSBpbnRlcnBvbGFkbyBlbnRyZSA0MDAgZSA1MDAgKG7Do28tVGFpbHdpbmQgb2ZpY2lhbCkg4oCUIHVzYWRvIGVtIGJvcmRlciBkbyBjaGVja2JveCB1bmNoZWNrZWQgbm8gY2hhaXIgVUlcbiRncmF5LTUwMDogIzc4NzE2QztcbiRncmF5LTcwMDogIzQ0NDAzQztcbiRncmF5LTkwMDogIzFDMTkxNztcblxuLy8gSW50ZXJhY3Rpb24gc3RhdGVzIHVzaW5nIE5vdGlvbidzIGV4YWN0IHRva2VucyAoLS1jLWJhY1RlciArIHNsaWdodGx5IGRhcmtlclxuLy8gZm9yIHRoZSBhY3RpdmUgc3RhdGUgc2luY2UgTm90aW9uJ3Mgc2VsZWN0ZWQgaXNuJ3QgaW4gdGhlIHB1YmxpYyBDU1MgZHVtcCkuXG4kaG92ZXItYmc6ICAjZjBlZmVkOyAgLy8gbW91c2VvdmVyIChOb3Rpb24gLS1jLWJhY1RlcilcbiRhY3RpdmUtYmc6ICNlOWU4ZTY7ICAvLyBjdXJyZW50IGl0ZW0g4oCUIG9uZSBzdGVwIGRhcmtlciB0aGFuIGhvdmVyIGZvciBjbGFyaXR5XG5cbiRtYWluLXRoZW1lLWNvbG9yOiAjMTkyYTU5O1xuJG1haW4tdGhlbWUtY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJG1haW4tdGhlbWUtY29sb3IsIDYwKTtcbiRtYWluLXRoZW1lLWNvbG9yLWRhcmtlcjogZGFya2VuKCRtYWluLXRoZW1lLWNvbG9yLCAxMCk7XG4vLyBQYXIgREFSSyBkbyBuYXZ5IGRlIG1hcmNhLiBObyBsaWdodCBhIGZhaXhhIGhlcm8gZG8gYGFwcC1mb3JtLW92ZXJsYXlgIMOpIHVtXG4vLyBzbGFiICMxOTJhNTkgY29tIG8gY2FyZCBCUkFOQ08gcG9yIGNpbWEg4oCUIGNvbnRyYXN0ZSBmb3J0ZSwgaW50ZW5jaW9uYWwuIE5vXG4vLyBkYXJrIG8gY2FyZCDDqSAjNDI0MjQyIGUgYSBmYWl4YSBmaWNhdmEgY29tIGx1bWluw6JuY2lhIHByYXRpY2FtZW50ZSBpZMOqbnRpY2Fcbi8vICgwLjAyNiB2cyAwLjA1NCksIGVudMOjbyBvIGNhcmQgbsOjbyBkZXNjb2xhdmEgZG8gZnVuZG8gZSBhaW5kYSBoYXZpYSBvIGRlZ3JhdVxuLy8gc2VjbyBwYXJhIG8gcHJldG8gcHVybyBkYSBww6FnaW5hIChpc3N1ZSAjMjM3MSkuIEVzdGUgdG9tIG1hbnTDqW0gbyBtYXRpeiBkYVxuLy8gbWFyY2EgZSBtb250YSBhIGVzY2FkYSBkZSBlbGV2YcOnw6NvIHDDoWdpbmEg4oaSIGZhaXhhIOKGkiBjYXJkXG4vLyAoMC4wMDAg4oaSIDAuMDI0IOKGkiAwLjA1NCkuXG4kbWFpbi10aGVtZS1jb2xvci1kYXJrOiAjMjMyYTQwO1xuLy8gUGFyIERBUksgZG8gdG9tIFDDgUxJRE8gKHVzYWRvIGNvbW8gZnVuZG8gZGUgZGVzdGFxdWU6IGxpbmhhIHJlaXZpbmRpY2FkYSBlbVxuLy8gY2xhaW0tcmV2aWV3LCBjw61yY3VsbyBkbyDDrWNvbmUgZW0gZW1wdHktc3RhdGUpLiBgbGlnaHRlbiguLiwgNjApYCDDqSBxdWFzZVxuLy8gYnJhbmNvIOKAlCBubyBkYXJrIHZpcmF2YSB1bSBib3Jyw6NvIGNsYXJvLiBTZWd1ZSBvIHByZWNlZGVudGUgZG9cbi8vIGAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0LWRhcmtgICgjNDM0MzQzKSwgbWFzIGNvbSBtYXRpeiBhenVsIHBhcmFcbi8vIGNvbnRpbnVhciBkaXN0aW5ndcOtdmVsIGRlbGUgcXVhbmRvIG9zIGRvaXMgYXBhcmVjZW0gbmEgTUVTTUEgdGFiZWxhXG4vLyAoLnBhcGVyLWNsYWltZWQgdnMgLmlzLWFzc2lnbmVkIGVtIGNsYWltLXJldmlldykuXG4kbWFpbi10aGVtZS1jb2xvci1saWdodC1kYXJrOiAjMzk0MTVhO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvcjogI2JhYmZjZDtcbiRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQ6ICNlM2U1ZWI7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0LWRhcms6ICM0MzQzNDM7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0ZXI6ICNmYWZhZmE7IC8vIENvbXBvbmVudCBCYWNrZ3JvdW5kXG4vLyBBY2NlbnQgT1JJR0lOQUwgZG8gSkVNUzMgKHJldmVydGlkbyBkbyBtYWNPUyBzeXN0ZW1CbHVlKS4gVXNhZG8gdGFudG8gY29tbyBGSUxMXG4vLyBkZSBzdXBlcmbDrWNpZXMgKGJvdMO1ZXMgcHJpbWFyeSwgY2hpcHMgc2VsZWNpb25hZG9zLCBmb2N1cyByaW5ncywgY2hlY2tib3hcbi8vIGBhY2NlbnQtY29sb3JgKSBRVUFOVE8gY29tbyBjb3IgZGUgVEVYVE8vTElOSyDigJQgU0VNIHRva2VuIGRlZGljYWRvIGRlIHRleHRvOiBhXG4vLyBzZXBhcmHDp8OjbyBgJGFjY2VudC10ZXh0LSpgIGZvaSByZXZlcnRpZGEgKHRleHRvIGUgZ3LDoWZpY29zIHVzYW0gbyBtZXNtbyBhenVsKS5cbi8vICAg4oCiIExpZ2h0IGAjMDY0YWQ5YCDigJQgYXp1bCBvcmlnaW5hbCBkbyBKRU1TMyAoQUFBIHNvYnJlIGJyYW5jbylcbi8vICAg4oCiIERhcmsgIGAjNjBhNWZhYCDigJQgYmx1ZS00MDA6IGxlZ8OtdmVsIHNvYnJlIGEgZm9saGEgZXNjdXJhICMyMDIwMjAgKEFBKVxuLy8gTyBzaWdpbCBkZSBFdmVudG9zIHNlZ3VlIGFtYmVyL2dvbGRlbiDigJQgbmF0dXJhbG1lbnRlIGRpc3RpbnRvIGRvIGFjY2VudC5cbiRhY2NlbnQtYmFja2dyb3VuZDogIzA2NGFkOTtcbiRhY2NlbnQtYmFja2dyb3VuZC1kYXJrOiAjNjBhNWZhO1xuJGNoZWNrYm94LWNoZWNrZWQtYmFja2dyb3VuZDogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodDtcbiRhY2NlbnQtY29sb3Itd2FybmluZzogI2U5MTQxNDtcbiRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrOiAjRkY2QjZCOyAvLyB2ZXJtZWxoby1jbGFybyBwLyBsZWdpYmlsaWRhZGUgbm8gZGFyayAocmVkLTQwMClcbiRhY2NlbnQtY29sb3Itc3VjY2VzczogIzJlOWU0NDtcbiRhY2NlbnQtY29sb3Itc3VjY2Vzcy1kYXJrOiAjNjZCQjZBOyAvLyB2ZXJkZS1jbGFybyBwLyBsZWdpYmlsaWRhZGUgbm8gZGFyayAoZ3JlZW4tNDAwKVxuXG4kcmV2aWV3LW5vdGVzLWJhY2tncm91bmQ6ICNkZmYwZDg7XG4kcmV2aWV3LWRyYWZ0LWJhY2tncm91bmQ6IHJnYmEoNTEsIDE0NywgMjU1LCAuNik7XG4kbGlzdC1ldmVuLWJhY2tncm91bmQ6ICNlZWVmZjI7XG4kbGlzdC1iYWNrZ3JvdW5kLWhvdmVyOiAjZDVkNmQ4O1xuJGNvbHVtbi1ib3JkZXItY29sb3I6ICM4NDg3ODk7XG5cbiRhZG1pbi1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRhZG1pbi1iYWNrZ3JvdW5kLWRhcms6IGJsYWNrO1xuJGFkbWluLWNhcmQ6ICNGNkY2RjY7XG4kYWRtaW4tY2FyZC1ib3JkZXI6IGxpZ2h0Z3JheTtcblxuJGNvbnRlbnQtYmFja2dyb3VuZDogd2hpdGU7XG4kY29udGVudC1iYWNrZ3JvdW5kLWRhcms6IGJsYWNrO1xuJGNvbnRlbnQtY29sb3I6ICMzNjM2MzY7XG4kY29udGVudC1jb2xvci1kYXJrOiAjRjZGNkY2O1xuJGNvbnRlbnQtbGlnaHRjb2xvcjogbGlnaHRlbiAoJGNvbnRlbnQtY29sb3IsIDYwKTtcbiRjb250ZW50LWxpZ2h0Y29sb3ItZGFyazogbGlnaHRncmF5O1xuLy8gQ29yIGRlIHRleHRvIGRvIGNhYmXDp2FsaG8gZGUgdGFiZWxhIChNYXRlcmlhbCBgLm1hdC1oZWFkZXItY2VsbGApOiBjaW56YVxuLy8gZXNtYWVjaWRvLiBUb2tlbiDDum5pY28gcmV1c2FkbyBwZWxvIGNhYmXDp2FsaG8gRSBwZWxhIGNvbHVuYSBkZSBudW1lcmHDp8OjbyAoIyksXG4vLyBwcmEgYW1ib3MgZmljYXJlbSBpZMOqbnRpY29zLiBsaWdodCA9IHJnYmEoMCwwLDAsLjU0MSk7IGRhcmsgPSByZ2JhKDI1NSwyNTUsMjU1LC43MCkuXG4kdGFibGUtaGVhZGVyLWNvbG9yOiAjMDAwMDAwOEE7XG4kdGFibGUtaGVhZGVyLWNvbG9yLWRhcms6ICNGRkZGRkZCMztcbiRjb250ZW50LWJvcmRlcjogcmdiYSgwLCAwLCAwLCAuMjMpO1xuXG4kc2lkZWJhci1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0ZXI7XG4kc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAjZTZlNmU2O1xuXG4kbGFuZGluZy1iYWNrZ3JvdW5kOiB3aGl0ZXNtb2tlO1xuJGZvb3Rlci1iYWNrZ3JvdW5kOiB3aGl0ZXNtb2tlO1xuJGZhYi1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiR0b29sdGlwLWJhY2tncm91bmQ6IHdoaXRlO1xuJGNsb3NlLWJ1dHRvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuJGJsYWNrLWJhY2tncm91bmQtYWxwaGEyOiByZ2JhKDAsIDAsIDAsIC4yKTtcbiRibGFjay1iYWNrZ3JvdW5kLWFscGhhMTogcmdiYSgwLCAwLCAwLCAuMSk7IC8vIENvbXBvbmVudCBjb2xvcnNcblxuJHJldmlldy1mb3JtLWJvcmRlcjogcmdiKDE3OSwgMTM2LCAyNTUpO1xuJHJldmlldy10ZXh0LWZpZWxkOiByZ2JhKDAsIDAsIDAsIC41KTtcbiRyZXZpZXctdGV4dC1maWVsZC1kYXJrOiByZ2IoMjU1LCAyNTUsIDI1NSwgLjUpO1xuXG4kZXZlbnQtY3JlYXRpb24tZm9ybS1ib3JkZXI6IHJnYigyNDQsIDE2NCwgOTYpO1xuJGV2ZW50LXJlcXVlc3QtZm9ybS1ib3JkZXI6ICNCOUFEODM7XG4kZXZlbnQtY2FyZC1iYWNrZ3JvdW5kOiAjZWRlZGVkO1xuJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrOiAjMjYyNjI2O1xuLy8gU3VwZXJmw61jaWUgbmV1dHJhIEVMRVZBREEg4oCUIHVtIHBhc3NvIGFjaW1hIGRhIGZvbGhhICgkYWRtaW4tYmFja2dyb3VuZCkuXG4vLyBUb2tlbiBkZSBwcm9ww7NzaXRvIGdlcmFsIHAvIGVsZW1lbnRvcyBcImxldmFudGFkb3NcIiAoc3ViLWJvdMOjbyBkZSBzZWxlY3QsXG4vLyBjYXJkcyBkZSBhcnF1aXZvLCBwYWluw6lpcywgZXRjLikuIFZhbG9yIGxpZ2h0ID0gdG9tIHF1ZW50ZSBOb3Rpb24gKG1lc21vXG4vLyBkbyBob3ZlciBkYSBzaWRlYmFyIGFkbWluKSBwLyBjb252ZXJzYXIgY29tIG8gcmVzdG8gZG8gY2hhaXIgVUkuXG4kc3VyZmFjZS1yYWlzZWQ6ICNmM2YyZjA7XG4kc3VyZmFjZS1yYWlzZWQtZGFyazogIzMwMzAzMDtcblxuLy8gQ29yIGRlIMONQ09ORSBzZWN1bmTDoXJpbyAvIG11dGVkIChnbGlmb3MgcXVlIG7Do28gY29tcGV0ZW0gY29tIG8gY29udGXDumRvOlxuLy8gKy/iiJIgZG8gbnVtYmVyLWlucHV0LCBjaGV2cm9uIGR1cGxvIGRvIHNlbGVjdCwgbHVwYSBkbyBmaWx0cm8sIHNldGEgZG9cbi8vIGRhdGVwaWNrZXIsIGV0Yy4pLiBFcXVpdmFsZW50ZSBhbyBgVUlDb2xvci5zZWNvbmRhcnlMYWJlbGAgZG8gbWFjT1Mg4oCUXG4vLyBuZXV0cmEsIGFsZmEgNTUlIHAvIGludGVncmFyIGNvbSBxdWFscXVlciBiZyAoZMOhIHRhbWLDqW0gb3BhY2l0eSBmZWVkYmFja1xuLy8gbm8gaG92ZXIvZGlzYWJsZWQgcG9yIGhlcmFuw6dhKS5cbiRpY29uLW11dGVkOiByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuJGljb24tbXV0ZWQtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcblxuLy8gQ29udHJhcGFydGVzIFwiYWNlc2FzXCIg4oCUIHVzYWRhcyBlbSBob3Zlci9lc3RhZG8gYXRpdm8gcHJhIGRhciBmZWVkYmFja1xuLy8gdmlzdWFsIGRvIGdsaWZvIChvIGNvbnRhaW5lciBnYW5oYSBgJGljb24tY29udGFpbmVyLWJnYDsgbyBwcsOzcHJpb1xuLy8gZ2xpZm8gZ2FuaGEgZXNzZSB0b20gbWFpcyBlc2N1cm8vY2xhcm8pLlxuJGljb24tbXV0ZWQtaG92ZXI6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4kaWNvbi1tdXRlZC1ob3Zlci1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cbi8vIENvbnRhaW5lciBkZSDDjUNPTkUg4oCUIG1lc21vIHRvbSBkZSBcImhvdmVyIHRyYW5zbMO6Y2lkb1wiIHVzYWRvIG5vc1xuLy8gc3RlcHBlcnMgZG8gbnVtYmVyLWlucHV0IChgKy/iiJJgKS4gUHJldG8vYnJhbmNvIGNvbSBhbGZhIGJhaXhvIGludGVncmFcbi8vIGNvbSBxdWFscXVlciBiZy4gUmV1dGlsaXrDoXZlbCBlbSBzdWItYm90w7VlcywgcGlsbC13cmFwcyBlIGVzdGFkb3MgaG92ZXJcbi8vIGRlIGdsaWZvcyBzZWN1bmTDoXJpb3Mg4oCUIG1hbnTDqW0gYSBsaW5ndWFnZW0gY29lc2EuXG4kaWNvbi1jb250YWluZXItYmc6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4kaWNvbi1jb250YWluZXItYmctZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiRldmVudC1jYXJkLWxpbmUtc2VwYXJhdG9yOiB3aGl0ZTtcbiRzdWJtaXNzaW9uLWNyZWF0aW9uLWZvcm0tYm9yZGVyOiAjQkE1NjU4O1xuJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcblxuJHNpZGViYXItbGFiZWwtY29sb3I6ICM0MzQzNDM7XG4kc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrOiAjRDZENkQ2O1xuXG4kc2lkZWJhci1kaXZpZGVyLWNvbG9yOiAkc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuXG4vLyBUUEMgY2hhaXIgVUkg4oCUIGNhbm9uaWNhbCBjaHJvbWUgYm9yZGVyIHRva2Vucy5cbi8vIE9uZSBwYWlyIGZvciB0aGUgcmVzdGluZyBzdGF0ZSAodGhlIGZpbmUgMXB4IGxpbmVzIHRoYXQgc2VwYXJhdGUgdGhlXG4vLyBzaWRlYmFyLCBicmVhZGNydW1iLCBhbmQgbWVudSBwYW5lbHMgZnJvbSBzdXJyb3VuZGluZyBjaHJvbWUpIGFuZCBvbmVcbi8vIHBhaXIgZm9yIHRoZSBcImFjdGl2ZVwiIHN0YXRlICh1c2VkIHdoZW4gdGhlIHVzZXIgaG92ZXJzL2RyYWdzIHRoZVxuLy8gc2lkZWJhciByZXNpemUgaGFuZGxlLCB3aGVyZSB0aGUgZWRnZSBsaW5lIGdldHMgYSB0b3VjaCBtb3JlIGNvbnRyYXN0KS5cbiRjaHJvbWUtYm9yZGVyLWxpZ2h0OiAgICAgICAgJGdyYXktMjAwOyAgIC8vICNFN0U1RTQg4oCUIGNoYWlyIFVJIGRlZmF1bHQgZGl2aWRlclxuJGNocm9tZS1ib3JkZXItZGFyazogICAgICAgICAjM2EzOTM3OyAgICAgLy8gZGFyay1tb2RlIGNvdW50ZXJwYXJ0ICh3YXJtIG5lYXItYmxhY2sgKyAxIHN0ZXApXG4kY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU6ICRncmF5LTMwMDsgICAvLyAjRDZEM0QxIOKAlCBhY3RpdmUvaG92ZXIgdmFyaWFudFxuJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU6ICAjNWE1NjUxOyAgICAgLy8gZGFyay1tb2RlIGFjdGl2ZSB2YXJpYW50XG5cbiRhZG1pbi1hY2NlbnQtY29sb3I6IHdoaXRlO1xuJGFkbWluLWFjY2VudC1jb2xvci1kYXJrOiB3aGl0ZTtcbiRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuXG4kcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvcjogI2UzZTVlYjtcbiRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLWRhcms6ICMyNjI2MjY7XG5cbi8vIENvbG9ycyBmb3IgdGhlIHRvcCBtZW51IGluIGFkbWluXG4kbmF2YmFyLWFkbWluLWJhY2tncm91bmQ6ICRncmF5LTUwO1xuJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms6ICMyNjI2MjY7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yOiAkZ3JheS03MDA7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms6ICNENkQ2RDY7XG4vLyBIb3ZlciBpcyBuZXV0cmFsIGluIGJvdGggdGhlbWVzIOKAlCBubyBhZ2dyZXNzaXZlIGNvbG9yIGZsYXNoLlxuLy8gRGFyayBuYXZiYXIgdXNlcyBMSUdIVEVSIGhvdmVyL2FjdGl2ZSB0aGFuIHRoZSBzaWRlYmFyIGJlY2F1c2UgdGhlIG5hdmJhciBiZ1xuLy8gKCMyNjI2MjYpIGlzIGl0c2VsZiBicmlnaHRlciB0aGFuIHRoZSBzaWRlYmFyIGJnICgjMjAyMDIwKSDigJQgc2FtZSBhYnNvbHV0ZVxuLy8gaG92ZXIgY29sb3Igd291bGQgYmUgaW52aXNpYmxlIGhlcmUuIFZhbHVlcyBwaWNrZWQgZm9yIH4xNiAvIH4yNCBicmlnaHRuZXNzXG4vLyB1bml0cyBvZiBjb250cmFzdCBhZ2FpbnN0IHRoZSBuYXZiYXIgYmcuXG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yOiAkZ3JheS05MDA7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLWRhcms6ICRuYXZiYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGhvdmVyLWJnO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms6ICMzNjM0MzI7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyazogIzQyNDAzYztcblxuLy8gY29sb3JzIGZvciB0aGUgc2l0ZSBtZW51IGluIGFkbWluXG4kc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kOiAjZjlmOGY3OyAgLy8gTm90aW9uIC0tYy1iYWNTZWMgKGxpZ2h0KVxuJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOiAjMjAyMDIwOyAgLy8gTm90aW9uLWVxdWl2YWxlbnQgZGFyayBzaWRlYmFyICh3YXJtIG5lYXItYmxhY2spXG4vLyBTaWRlYmFyIGl0ZW0gdGV4dCDigJQgdmFsdWVzIHNvdXJjZWQgZnJvbSBDbGF1ZGUuYWkncyBzaWRlYmFyIChjb2xvclxuLy8gcmdiKDU1LCA1NSwgNTIpID0gIzM3MzczNCkgZm9yIGEgbW9yZSBkZWZpbmVkIC8gcmVhZGFibGUgZ3JheSB0aGFuIHRoZVxuLy8gTm90aW9uLWRlcml2ZWQgIzczNzI2ZCB3ZSBoYWQgYmVmb3JlLiBTZWxlY3RlZCBzdGF5cyBzbGlnaHRseSBkYXJrZXJcbi8vICgjMmMyYzJiKSBzbyB0aGVyZSdzIHN0aWxsIGEgc3VidGxlIGNvbG9yIHN0ZXAgb24gdG9wIG9mIHRoZSBiZyBwaWxsLlxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I6ICMzNzM3MzQ7ICAgICAgICAgICAgIC8vIGxpZ2h0IHVuc2VsZWN0ZWQg4oCUIENsYXVkZS1zdHlsZSBkZWZpbmVkIGdyYXlcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTogIzAwMDsgICAgICAgICAvLyBsaWdodCBzZWxlY3RlZCDigJQgcHVyZSBibGFjayBmb3IgbWF4IGNvbnRyYXN0IHZzICMzNzM3MzRcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms6ICNjNGMyYmQ7ICAgICAgICAvLyBkYXJrIHVuc2VsZWN0ZWQgKGxpZ2h0ZXIgd2FybSBncmF5IGZvciBiZXR0ZXIgbGVnaWJpbGl0eSlcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrOiAjZjJmMWVlOyAvLyBkYXJrIHNlbGVjdGVkIChicmlnaHRlciBuZWFyLXdoaXRlKVxuLy8gSG92ZXI6IHRleHQgY29sb3Igc3RheXMgYXQgdGhlIHVuc2VsZWN0ZWQgdmFsdWUgKE5vdGlvbiBwYXR0ZXJuIOKAlCBvbmx5IGJnXG4vLyBjaGFuZ2VzIG9uIGhvdmVyKS4gQmcgaXMgYSBzb2Z0IHdhcm0tZGFyayBzdGVwIGFib3ZlIHRoZSBzaWRlYmFyIGluIGRhcmsgbW9kZSxcbi8vIG5ldXRyYWwgbGlnaHQgcGlsbCBpbiBsaWdodCBtb2RlLlxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyazogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ6ICNlOGU2ZTM7ICAvLyDOlH42JSB2cyAjZjlmOGY3IHNpZGViYXIg4oCUIE5vdGlvbi1pc2ggYnV0IG1vcmUgbGVnaWJsZVxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOiAjMzQzMzJmOyAgLy8gzpR+OCUgdnMgIzIwMjAyMCBzaWRlYmFyIOKAlCB3YXJtIHN0ZXAgdXBcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcms6ICMzYTM5MzY7ICAvLyB0d28gc3RlcHMgbGlnaHRlciDigJQgdmlzaWJsZSBwaWxsIGluIGRhcmsgbW9kZVxuXG5cbiRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yOiAjM2M0MDQzO1xuJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtY29sb3ItZGFyazogd2hpdGU7XG5cbiRzaWRlYmFyLWFkbWluLWxhYmVsLXNlbGVjdGVkLWNvbG9yOiAjM2M0MDQzO1xuJHNpZGViYXItYWRtaW4tbGFiZWwtYWx0LXNlbGVjdGVkLWNvbG9yOiByZ2JhKDMxLCAzMSwgMzEsIDAuOCk7XG5cbiRuYXZiYXItYWRtaW4taWNvbi1jb2xvcjogJGdyYXktNTAwO1xuJG5hdmJhci1pY29uLWNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvcjtcbiRuYXZiYXItaWNvbi1jb2xvci1jbGVhcjogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyO1xuJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMyNjI2MjY7XG5cbi8vIFRvb2xiYXIgZG8gYXV0b3IvcmV2aXNvciDigJQgcGFsZXRhIHRoZW1lLWF3YXJlIGNvbSBjb250cmFzdGUgV0NBRyDiiaUgMzoxXG4vLyAoVUkgY29tcG9uZW50cywgMS40LjExKSwgc2F0dXJhw6fDo28gYWx0YSAoOTAtMTAwJSkgZSBtZXNtYSBodWUgbGlnaHQvZGFya1xuLy8gKHJldmlzYWRhIDIwMjYtMDUtMjcg4oCUIHZlcnPDo28gXCJ2aWJyYW50ZVwiKS4gTGlnaHRuZXNzIHZhcmlhICh+MzglIGxpZ2h0IHZzXG4vLyB+NjAlIGRhcmspIGFwZW5hcyBwYXJhIHBhc3NhciBjb250cmFzdGU7IGh1ZSBlIHNhdHVyYcOnw6NvIGZpY2FtIHBhcmFkb3Ncbi8vIOKGkiBjYWRhIHBhcGVsIMOpIFwib2J2aWFtZW50ZSBsYXJhbmphXCIsIFwib2J2aWFtZW50ZSBhenVsXCIgZXRjIGVtIGFtYm9zIG1vZG9zLlxuLy9cbi8vICAgSHVlICAgICB8IExpZ2h0ICAgICAgICAgICAgIHwgRGFya1xuLy8gICAtLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS1cbi8vICAgNDjCsCAgYW1hcmVsbyB8ICNBODhFMDAgKEwzMyUpIHwgI0ZGRDkzMyAoTDYwJSlcbi8vICAgMjIwwrAgYXp1bCAgICB8ICMxMTQ1QzIgICAgICAgIHwgIzVDOEVGMFxuLy8gICAxNDDCsCB2ZXJkZSAgIHwgIzA4ODgzOCAgICAgICAgfCAjM0ZEQjdEXG4vLyAgIDDCsCAgIHZlcm1lbGhvfCAjREMyNjI2ICAgICAgICB8ICNGRjFBMUFcbi8vICAgMjgwwrAgcMO6cnB1cmEgfCAjNzcwOEFGICAgICAgICB8ICNCQzVEREZcbi8vXG4vLyAqKlRyYWRlLW9mZiBleHBsw61jaXRvIChhdXRvci00LCAyMDI2LTA1LTI3KToqKiBFdmVudG9zIGxpZ2h0IHVzYSBXQ0FHXG4vLyByZWxheGFkbyBTw5Mgbm8gcGlsbCBzZWxlY3RlZCAoMi41OToxIHZzIGlkZWFsIDM6MSkuIFNvYnJlIG8gbmF2YmFyIG5vcm1hbFxuLy8gKCNmOWY4ZjcpIGVsZSBwYXNzYSAzLjExOjEg4pyTLiBKdXN0aWZpY2F0aXZhOiBvIHBpbGwgc2VsZWN0ZWQgdGVtIDQgc2luYWlzXG4vLyBhZGljaW9uYWlzIChiZyB3YXJtIGJlaWdlICsgdW5kZXJsaW5lIDJweCBjb2xvcmlkbyArIHRleHRvIGJvbGQgKyBjb3IpIOKAlFxuLy8gbyB1c3XDoXJpbyBuw6NvIGRlcGVuZGUgZG8gY29udHJhc3RlIGRvIMOtY29uZSBwYXJhIHBlcmNlYmVyIG8gZXN0YWRvIGF0aXZvLlxuLy8gRXNzZSB0cmFkZS1vZmYgcGVybWl0ZSBtYW50ZXIgYSB2aWJyYcOnw6NvIFwibGFyYW5qYS1sYXJhbmphXCIgcXVlIGFcbi8vIGlkZW50aWRhZGUgdmlzdWFsIGRhIHRvb2xiYXIgcGVkZS4gVG9kb3Mgb3Mgb3V0cm9zIDkgdmFsb3JlcyBwYXNzYW0g4omlMzoxXG4vLyBlc3RyaXRvIGVtIHRvZG9zIG9zIGZ1bmRvcy5cbi8vXG4vLyBDb250cmFzdGVzIHZlcmlmaWNhZG9zICh0b2RvcyBzb2JyZSBwaWxsIHNlbGVjdGVkIOKAlCBjYXNvIG1haXMgY3LDrXRpY28pOlxuLy8gICBMaWdodDogRXZlbnRvcyAyLjU5OjEgKHJlbGF4YWRvKSwgZGVtYWlzIDMuOTbigJM4LjUwOjEg4pyTXG4vLyAgIERhcms6ICAzLjYw4oCTOC4xMzoxIOKck1xuLy8gRXZlbnRvcyDigJQgZGlzdGludGl2byBkZW50cm8gZGEgZmFtw61saWEgYW1iZXIvbGFyYW5qYS4gU3lzdGVtIGFjY2VudCDDqVxuLy8gYW1iZXItNzAwL2FtYmVyLTQwMCAoZGVlcCB1dGlsaXR5KTsgRXZlbnRvcyBmaWNhIGVtIGFtYmVyLTUwMC9hbWJlci0zMDBcbi8vIHByYSBsZXIgY29tbyBcInRvbSBtYWlzIGNsYXJvIC8gYnJpbGhhbnRlXCIg4oCUIHByZXNlcnZhIGEgaWRlbnRpZGFkZSBkb1xuLy8gw61jb25lIHNlbSBzZSBjb25mdW5kaXIgY29tIGNocm9tZSBhY2NlbnQuXG4vLyBFdmVudG9zID0gZ3JlZW4gKGxpZ2h0KSAvIHRlYWwtNjAwIChkYXJrKSDigJQgU1dBUCBmZWl0byBjb20gUmV2aXPDtWVzLlxuLy8gQSBjb3IgY2FzYSBjb20gbyBub3ZvIGAkZXZlbnQtdGl0bGUtY29sb3ItKmAgKGV2ZW50byB0ZW0gaWRlbnRpZGFkZVxuLy8gdmVyZGUvdGVhbCBlbSB0b2RvIG8gc2lzdGVtYSkuIEh1ZSBzaGlmdCBlbnRyZSBtb2RvcyDDqSBpbnRlbmNpb25hbFxuLy8gKGNvbnRyYXN0ZSBkbyB0ZWFsLTYwMCBmYWxoYSBBQSBlbSBkYXJrLCBlbnTDo28gbWFudGl2ZW1vcyBncmVlblxuLy8gbWFpcyBicmlsaGFudGUgbMOhOyBtYXMgbXVkb3UgcHJhIHRlYWwtNjAwIHByYSBkYXIgcGVyc29uYWxpZGFkZSkuXG4kbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yOiAjMDg4ODM4OyAgICAgICAgLy8gZ3JlZW4gKGVyYSBhbWJlci01MDApXG4kbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcms6ICMyREQ0QkY7ICAgLy8gVGFpbHdpbmQgdGVhbC00MDAgKGVyYSBhbWJlci0zMDApXG4vLyBTdWJtaXNzw7VlcyB1c2EgbyBBQ0NFTlQgZG8gc2lzdGVtYSAodmlhIHJlZmVyw6puY2lhIOKAlCB0b2tlbiBjb250aW51YVxuLy8gZGVkaWNhZG87IG11ZGEgc2UgYCRhY2NlbnQtYmFja2dyb3VuZGAgbXVkYXIpLlxuJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4kbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyazogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4vLyBSZXZpc8O1ZXMgPSBhbWJlciAoaGVyZGEgZG8gcXVlIGVyYSBkZSBFdmVudG9zKS4gU1dBUC5cbiRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yOiAjRjU5RTBCOyAgICAgLy8gVGFpbHdpbmQgYW1iZXItNTAwIChlcmEgZ3JlZW4pXG4kbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrOiAjRkNEMzREOyAvLyBUYWlsd2luZCBhbWJlci0zMDAgKGVyYSBncmVlbiBjbGFybylcbiRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yOiAjREMyNjI2O1xuJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyazogI0ZGMUExQTtcbiRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3I6ICM3NzA4QUY7XG4kbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcms6ICNCQzVEREY7XG4vLyBDb29yZGVuYWRvciBkZSBzZXNzw6NvIHTDqWNuaWNhIOKAlCBpbmRpZ28gKMO6bmljYSBjb3IgcHJpbcOhcmlhIGZyaWEgc2VtXG4vLyBkb25vIG5vIHNpc3RlbWE7IGRpc3RpbnRhIGRlIGJsdWUgZGUgU3VibWlzc8O1ZXMgZSBkbyB0ZWFsIHF1ZSBFdmVudG9zXG4vLyBhc3N1bWl1IGVtIGRhcmspLlxuJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yOiAjNEY0NkU1OyAgICAgICAvLyBUYWlsd2luZCBpbmRpZ28tNjAwXG4kbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyazogIzgxOENGODsgIC8vIFRhaWx3aW5kIGluZGlnby00MDBcblxuLy8gUHVibGljYXRpb25zID0gY2lhbm8vdGVhbCAobGl2cm8vaW1wcmVzc8Ojbykg4oCUIMO6bmljbyBodWUgXCJlZGl0b3JpYWxcIiBhaW5kYVxuLy8gbsOjbyB1c2FkbyBubyBuYXYgZG8gYXV0b3IvcmV2aXNvci5cbiRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3I6ICMwODkxQjI7ICAgICAgIC8vIFRhaWx3aW5kIGN5YW4tNjAwXG4kbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcms6ICM2N0U4Rjk7ICAvLyBUYWlsd2luZCBjeWFuLTMwMFxuXG4vLyDilIDilIAgQ29yIGRlZGljYWRhIGRvcyBUw41UVUxPUyBERSBFVkVOVE8gbm8gc2lzdGVtYSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFVzYWRhIGVtIHRvZG8gbHVnYXIgcXVlIHJlbmRlcml6YSBcIm5vbWUgZG8gZXZlbnRvXCIgY29tbyBsaW5rL3TDrXR1bG9cbi8vIHByaW3DoXJpbyAobGlzdGEgZGUgZXZlbnRvcywgY2FyZHMgZW0gU3VibWlzc8O1ZXMvUmV2aXPDtWVzL1Nlc3PDtWVzLFxuLy8gZXZlbnQtdmlldyBldGMuKS4gU2VtYW50aWNhbWVudGUgPSBcImlkZW50aWRhZGUgZGUgZXZlbnRvXCIuXG4vLyBCYXRlIGNvbSBgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci0qYCAoRXZlbnRvcyA9IGdyZWVuL3RlYWwpLlxuLy8gSHVlIHNoaWZ0IGVudHJlIGxpZ2h0L2Rhcmsgw6kgaW50ZW5jaW9uYWwuXG4kZXZlbnQtdGl0bGUtY29sb3ItbGlnaHQ6ICMwODg4Mzg7ICAgLy8gZ3JlZW4gKG1lc21vIGRvIMOtY29uZSBFdmVudG9zIGxpZ2h0KVxuJGV2ZW50LXRpdGxlLWNvbG9yLWRhcms6ICAjMkRENEJGOyAgIC8vIFRhaWx3aW5kIHRlYWwtNDAwIChtZXNtbyBkbyDDrWNvbmUgRXZlbnRvcyBkYXJrKVxuXG4vLyBQYXIgZG8gJGV2ZW50LXRpdGxlLWNvbG9yLSog4oCUIGNvciBERURJQ0FEQSBkZSBcIm5vbWUgZGEgc3VibWlzc8Ojb1wiXG4vLyBjb21vIGxpbmsvdMOtdHVsbyBwcmltw6FyaW8gKGNhcmQgZGUgc3VibWlzc8OjbywgaGVhZGVyIGRlIHBhcGVyLWluZm8sXG4vLyBsaXN0YXMpLiBTZW1hbnRpY2FtZW50ZSA9IFwiaWRlbnRpZGFkZSBkZSBzdWJtaXNzw6NvXCIuIEhvamUgZXNwZWxoYSBvXG4vLyAkYWNjZW50LWJhY2tncm91bmQsIG1hcyBkZXNhY29wbGFkbyBwcmEgcG9kZXIgYWp1c3RhciB0b20vYnJpbGhvXG4vLyBzZW0gYWZldGFyIGJvdMO1ZXMvYWNjZW50IGRvIHNpc3RlbWEuXG4kc3VibWlzc2lvbi10aXRsZS1jb2xvci1saWdodDogJGFjY2VudC1iYWNrZ3JvdW5kO1xuJHN1Ym1pc3Npb24tdGl0bGUtY29sb3ItZGFyazogICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yOiAjZTBlMGUwO1xuJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yLWRhcms6ICMzYzQwNDM7XG4kc2VhcmNoLWJhci1iYWNrZ3JvdW5kOiAkc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuJGxhbmRpbmctcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZjO1xuXG4kc3VibWlzc2lvbi1maWxlczogcmdiKDU0LCA1NCwgNTQpO1xuJGlucHV0cy1sYW5kaW5nLWNvbG9yOiAjYjViNWI1O1xuJGZvb3Rlci12ZXJzaW9uLWNvbG9yOiBibGFjaztcbiRmYWItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4kdG9vbHRpcC1jb2xvcjogd2hpdGU7XG4kY2xvc2UtYnV0dG9uLWNvbG9yOiBibGFjazsgLy8gQ29tcG9uZW50IFNoYWRvd3NcbiRjbG9zZS1idXR0b24tY29sb3ItZGFyazogd2hpdGU7XG4kbWF0LXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksXG4wIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4wIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4kdG9vbHRpcC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuLy8gJGluc2V0LW1hdC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAuMTIpLFxuLy8gaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgLjI0KTsgLy8gU3VibWlzc2lvbiBTdGF0dXNcbiRtYXQtY2FyZC10aXRsZS1iYWNrZ3JvdW5kOiAjZDFkMWQxO1xuJGluc2V0LW1hdC1zaGFkb3c6IDBweCAwcHggNXB4ICNiYmJiYmI7IC8vIFN1Ym1pc3Npb24gU3RhdHVzXG4kc3RhdHVzLWljb24tY29sb3I6IHdoaXRlO1xuJGNsb3NlLWJ1dHRvbi1jb2xvcjogYmxhY2s7XG4kc2xpZGVyLXRpY2stYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwxKTtcbiRmYWItc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4kdG9vbHRpcC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbiRzbGlkZXItbGFiZWwtc2hhZG93OiAwIDFweCA1cHggMXB4IHJnYmEoMCwwLDAsLjcpO1xuXG4vLyBUcmFja1xuJHRyYWNrLW5vdC1vcGVuLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7XG4kdHJhY2stY2xvc2VkLWNvbG9yOiByZ2JhKDIyMiw1OCw0MywwLjkpO1xuXG4vLyBFcnJvcnNcbiRlcnJvci1pbnZhbGlkLWNvbG9yOiAjQ0MwMDI5O1xuJG5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjN0ZDMTVDO1xuJG5vdGlmaWNhdGlvbi1jb2xvcjogI2ZhZmFmYTtcblxuJGxlZ2VuZC1jb2xvci1sZXNzOiAjZmI4YzAwMzM7XG4kbGVnZW5kLWNvbG9yLW1vcmU6ICNiMGJlYzU4MDtcbiRsZWdlbmQtY29sb3ItY29ycmVjdDogI2JiZGVmYmE2O1xuJGxlZ2VuZC1jb2xvci1leGFjdDogIzgxYzc4NDY2O1xuXG4vLyBDaGFydCBwYWxldHRlIGRlZmluaXRpb25zIGV4cG9zZWQgYXMgQ1NTIHZhcmlhYmxlcyAodXNlZCBieSBDb2xvclBhbGV0dGVzIFRTIGhlbHBlcilcbjpyb290IHtcbiAgLy8gVGFuZ286IHdhcm0vY29vbCBhbHRlcm5hdGVkLCBncm91cGVkIHRvIHByZXNlcnZlIGNvbnRyYXN0IHdoZW4gaW50ZXJsZWF2aW5nXG4gIC0tcGFsZXR0ZS10YW5nby1ncm91cHM6ICNmY2U5NGYsI2VkZDQwMCwjYzRhMDAwfCM3MjlmY2YsIzM0NjVhNCwjMjA0YTg3fCNmY2FmM2UsI2Y1NzkwMCwjY2U1YzAwfCM4YWUyMzQsIzczZDIxNiwjNGU5YTA2fCNlOWI5NmUsI2MxN2QxMSwjOGY1OTAyfCNhZDdmYTgsIzc1NTA3YiwjNWMzNTY2fCM4ODhhODUsIzU1NTc1MywjMmUzNDM2fCNlZjI5MjksI2NjMDAwMCwjYTQwMDAwfCNlZWVlZWMsI2QzZDdjZiwjYmFiZGI2O1xuICAvLyBBZHdhaXRhIChHTk9NRSBISUcpOiBjb29sL3dhcm0gYWx0ZXJuYXRpb24sIG5ldXRyYWxzIGxhc3RcbiAgLS1wYWxldHRlLWFkd2FpdGEtZ3JvdXBzOiAjOTljMWYxLCM2MmEwZWEsIzM1ODRlNCwjMWM3MWQ4LCMxYTVmYjR8I2ZmYmU2ZiwjZmZhMzQ4LCNmZjc4MDAsI2U2NjEwMCwjYzY0NjAwfCM4ZmYwYTQsIzU3ZTM4OSwjMzNkMTdhLCMyNmEyNjksIzFmN2Y1NnwjZjY2MTUxLCNlZDMzM2IsI2UwMWIyNCwjYzAxYzI4LCNhNTFkMmR8I2Y5ZjA2YiwjZjhlNDVjLCNmNmQzMmQsI2Y1YzIxMSwjZTVhNTBhfCNkYzhhZGQsI2MwNjFjYiwjOTE0MWFjLCM4MTNkOWMsIzYxMzU4M3wjY2RhYjhmLCNiNTgzNWEsIzk4NmE0NCwjODY1ZTNjLCM2MzQ1MmN8I2ZmZmZmZiwjZjZmNWY0LCNkZWRkZGEsI2MwYmZiYywjOWE5OTk2fCM3Nzc2N2IsIzVlNWM2NCwjM2QzODQ2LCMyNDFmMzEsIzAwMDAwMDtcbn1cblxuLy9FbXB0eS1zdGF0ZTpcbiRlbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kOiBtYWluLXRoZW1lLWNvbG9yLWxpZ2h0O1xuJGVtcHR5LXN0YXRlLWJhY2tncm91bmQtY29sb3ItZGFyazogIzI2MjYyNjtcblxuLy8gTWF0LWNhcmQ6IEV2ZW50XG4kbWF0LWNhcmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuJG1hdC1jYXJkLWNvbG9yLWRhcms6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4kbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbi8vIENhcmQgYm9yZGVyIGFsaW5oYWRvIGFvcyB0b2tlbnMgY2Fuw7RuaWNvcyBkbyBjaHJvbWUgY2hhaXIgVUkgKG1lc21hIGNvclxuLy8gdXNhZGEgcG9yIHNpZGViYXIgaGVhZGVyIGRpdmlkZXIsIGJyZWFkY3J1bWIgYm90dG9tIGJvcmRlciwgYm90dG9tIHJhaWwsXG4vLyBlIG91dGxpbmUgZGUgcGFpbmVsIGRhcmspLiBTdWJzdGl0dWkgbyByZ2JhIGFkLWhvYyBhbnRlcmlvciDigJQgdmlzdWFsbWVudGVcbi8vIHByw7N4aW1vIG1hcyBhZ29yYSAxMDAlIGNvZXJlbnRlIGNvbSBvIHJlc3RvIGRvIHNpc3RlbWEuXG4kbWF0LWNhcmQtYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbiRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyazogJGNocm9tZS1ib3JkZXItZGFyaztcbiRtYXQtY2FyZC1oZWFkZXItY29sb3I6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG5cbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICM5OTk5OTk7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcms6IzY2NjY2NjtcblxuLy8gU2luYWxpemHDp8OjbyBkZSBcInVzdcOhcmlvIGluYXRpdm9cIiAvIGHDp8OjbyBwZW5kZW50ZSAoZW52ZWxvcGUgZGUgcmVlbnZpbyBkZVxuLy8gZS1tYWlsIGRlIGF0aXZhw6fDo28gbmEgdGFiZWxhIGRlIFBlc3NvYXMpLiBWZXJtZWxobyBmb3J0ZSBubyBsaWdodCBwcmFcbi8vIGNoYW1hciBhdGVuw6fDo287IHRvbSBtYWlzIGNsYXJvIG5vIGRhcmsgcHJhIGNvbnRyYXN0YXIgY29tIG8gY2FudmFzIHdhcm1cbi8vICgjMjAyMDIwKSBzZW0gdmlyYXIgYmxvY28gZ3JpdGFudGUuIFRhaWx3aW5kIHJlZC03MDAgLyByZWQtNDAwLlxuJHVzZXItaW5hY3RpdmUtY29sb3I6ICNjNjI4Mjg7XG4kdXNlci1pbmFjdGl2ZS1jb2xvci1kYXJrOiAjZjg3MTcxO1xuXG4vLyBNYXQtY2FyZDogVGFibGVcbiR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyazogIzI2MjYyNjtcbiR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogI2QxZDFkMTtcbiR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjNGQ0ZDRkO1xuJHRhYmxlLWxpbmUtY29sb3I6IHdoaXRlO1xuJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpO1xuJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrOiAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3ItZGFyaztcbi8vIFbDqXUgZGUgaG92ZXIgZGUgbGluaGEg4oCUIEZPTlRFIMOaTklDQSwgdXNhZG8gcGVsbyBtb2RpZmllciBnbG9iYWwgYC5qZW1zMy10YWJsZS1ob3ZlcmBcbi8vIChfdGFibGUuc2NzcykgZSByZXBsaWNhZG8gbm8gc3VibWlzc2lvbnMtbGlzdC10YWJsZS12Mi4gTGlnaHQgPSBwcmV0byB0cmFuc2zDumNpZG9cbi8vIChlc2N1cmVjZSBzdXRpbCk7IGRhcmsgPSBicmFuY28gdHJhbnNsw7pjaWRvIChjbGFyZWlhIHN1dGlsKS4gTXVkZSBhcXVpIOKGkiBtdWRhIGVtIHRvZGFzLlxuJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4kdGFibGUtaG92ZXItdmVpbC1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpO1xuXG4vL01hdC1tZW51XG4kbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMzODM4Mzg7XG5cbi8vIENhbGVuZGFyXG4kY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiRjYWxlbmRhci1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3ItZGFyazogJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrO1xuXG4vLyBHcmF5c2NhbGVcbiRibGFjay0xMDA6ICNmYWZhZmE7XG4kYmxhY2stMTUwOiAjZjVmNWY1O1xuJGJsYWNrLTIwMDogI2VkZWRlZDtcbiRibGFjay0zMDA6ICNkMWQxZDE7XG4kYmxhY2stNDAwOiAjYmJiYmJiO1xuJGJsYWNrLTUwMDogIzhiOGQ4ZjtcbiRibGFjay02MDA6ICM3Mjc2N2I7XG4kYmxhY2stNzAwOiAjNGQ1MjU4O1xuJGJsYWNrLTgwMDogIzM5M2Y0NDtcbiRibGFjay05MDA6ICMyOTJlMzQ7XG4kYmxhY2stMTAwMDogIzAzMDMwMztcblxuJHdoaXRlLTEwMDA6ICNmZmZmZmY7XG5cbi8vIG1hdC10YWJcbiRtYXQtdGFiLWxhYmVsOiAjNDM0MzQzO1xuJG1hdC10YWItbGFiZWwtZGFyazogI0Q2RDZENjtcbiRtYXQtdGFiLXVuZGVybGluZTogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiRtYXQtdGFiLXVuZGVybGluZS1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG5cblxuLy8vXG4vLyBDb2xvciBkZWZpbml0aW9ucyBvZiBzdWJtaXNzaW9uIGFuZCByZXZpZXcgc3RhdHVzLlxuLy8gSXRlbSBmb3JtYXQ6IFwic3RhdHVzOiAoIGJhY2tncm91bmRDb2xvciwgbGlua0NvbG9yIClcIlxuLy8vXG4vLyBTdWJtaXNzaW9uIFN0YXR1c1xuLy9cbi8vIENhZGEgc3RhdHVzOiAoZnVuZG8sIGNvciBkbyB0ZXh0bywgY29yIGRvIMOtY29uZSkuIE8gw61jb25lIMOpIHVtIHRvbSBFU0NVUk9cbi8vIGhhcm1vbml6YWRvIChuw6NvIHByaW3DoXJpbyBwdXJvKTogYW50ZXMgQXRpdmEgdXNhdmEgYXp1bCBwdXJvICMwMDAwZmYgZVxuLy8gUmVqZWl0YWRhIHZlcm1lbGhvIHB1cm8gI2ZmMDAwMCwgcXVlIGRlc3RvYXZhbSBkb3MgZGVtYWlzICh2ZXJkZS9tYXJyb20vY2luemFcbi8vIGVzY3VyZWNpZG9zKS4gQWdvcmEgQXRpdmEgPSBhenVsLW1hcmluaG8gZSBSZWplaXRhZGEgPSB2ZXJtZWxoby1lc2N1cm8uXG4kc3VibWlzc2lvbi1zdGF0dXM6IChcbiAgLy8gXCJwZW5kaW5nXCIgPSBzdGF0dXMgRHJhZnQgKFJhc2N1bmhvKSDihpIgY2luemEuXG4gIFwicGVuZGluZ1wiOiAoI2U1ZTVlNSwgJHNpZGViYXItbGFiZWwtY29sb3IsICM2YjZiNmIpLFxuICBcImFjdGl2ZVwiOiAoI0ZGRkY1NSwgJHNpZGViYXItbGFiZWwtY29sb3IsICMxZjNhOTMpLFxuICBcImFjY2VwdGVkXCI6ICgjOTlGRjk5LCRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjMWM3NTMwKSxcbiAgXCJyZWplY3RlZFwiOiAoI2ZmYmRiZCwgJHNpZGViYXItbGFiZWwtY29sb3IsICNiMzI2MWUpLFxuICBcIndpdGhkcmF3blwiOiAoI0RERERERCwgJHNpZGViYXItbGFiZWwtY29sb3IsICM4MDgwODApXG4pO1xuXG46cm9vdCB7XG4gIC8vIFN1Ym1pc3Npb24gc3RhdHVzIGNvbG9ycyAoZGVyaXZlZCBmcm9tICRzdWJtaXNzaW9uLXN0YXR1cyBTQ1NTIG1hcClcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1wZW5kaW5nOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJwZW5kaW5nXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtYWN0aXZlOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJhY3RpdmVcIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1hY2NlcHRlZDogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwiYWNjZXB0ZWRcIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1yZWplY3RlZDogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwicmVqZWN0ZWRcIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy13aXRoZHJhd246ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcIndpdGhkcmF3blwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLWRlbGV0ZWQ6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcIndpdGhkcmF3blwiKSwgMSl9O1xufVxuXG4vLyBSZXZpZXcgU3RhdHVzXG4kcmV2aWV3LXN0YXR1czogKFxuICBcImFzc2lnbmVkXCI6ICgjRkZGRkZGLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcIm5vdGlmaWVkXCI6ICgjOTRDMEZCLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImNvbmZpcm1lZFwiOiAoI0ZGRDg2MCwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJkZWNsaW5lZFwiOiAoI0M2QzZDNiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJyZW1pbmRlZFwiOiAoI0ZGOEZBMCwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJsYXRlXCI6ICgjZmE1YjViLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImRlbGVnYXRlZFwiOiAoI2ZmODljOSwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJjb21wbGV0ZWRcIjogKCM2M0ZDQzgsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiZHJhZnRcIjogKCNBQUFBQUEsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjaylcbiAgKTtcblxuICAvLyBSZXZpZXcgYWN0aW9ucyBidXR0b25zXG4gICRyZXZpZXctYWN0aW9uczogKFxuICAgIFwiY29uZmlybVwiOiAjMjYzNmU2LFxuICAgIFwiZGVjbGluZVwiOiAjY2UxNDE0LFxuICAgIFwiZWRpdFwiOiAjNDFhYjBjLFxuICAgIFwiZGVsZWdhdGVcIjogI2M5M2RkZVxuICApO1xuXG4gICRlbWFpbC1zdGF0dXM6IChcbiAgICBcInBlbmRpbmdcIjogKCNmYWI2NWMsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjODc0ZDAwKSxcbiAgICBcInNlbnRcIjogKCM5OUZGOTksJHNpZGViYXItbGFiZWwtY29sb3IsICMxYzc1MzApLFxuICAgIFwicmVqZWN0ZWRcIjogKCNmZmJkYmQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjZmYwMDAwKSxcbiAgKTtcblxuICAkcHVibGljYXRpb24tc3RhdHVzOiAoXG4gICAgXCJyZWFkeVwiOiAoIzZkYTM2ZiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgICBcIm5vdC1yZWFkeVwiOiAoI2Y5MzgyNiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSwgLy8gbWF5YmU6ICNmZjVkNmVcbiAgKTtcblxuLy8gU3BhbiBjb2xvcnMgZm9yIHN1Ym1pc3Npb24gcmFua2luZ1xuJHNwYW4tYmVsb3ctQS1iYWNrZ3JvdW5kLWNvbG9yOiAjNzVENzc1O1xuJHNwYW4tYWJvdmUtQi1iYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuJHNwYW4tYmV0d2Vlbi1BLWFuZC1CLWJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsIDI0MCwgNzQpO1xuXG4vLyBQcm9jZWVkaW5ncyBjb250ZW50IHR5cGVzXG4kcHJvY2VlZGluZ3MtY29udGVudC10eXBlczogKFxuICBcInN1Ym1pc3Npb25cIjogIzk5RkY5OSxcbiAgXCJmaWxlXCI6ICNlNzhjODQsXG4gIFwiaW5kZXhcIjogI2FhYSxcbiAgXCJhdXRob3ItaW5kZXhcIjogI2FhYSxcbiAgXCJ3aGl0ZS1wYWdlXCI6ICNmZmZcbik7XG5cbi8vIENoZWNrIGxpc3QgYW5zd2VyIHN0YXR1c1xuJGNoZWNrbGlzdC1hbnN3ZXJzLXN0YXR1czogKFxuICBcIm5vdC1mb3VuZFwiOiAjZmZiZGJkLFxuICBcInVucmVsYXRlZFwiOiAjRkZGRjU1LFxuICBcImR1cGxpY2F0ZWRcIjogI2ZhYjY1YyxcbiAgXCJ1bmNhdGVnb3JpemVkXCI6ICNkNGQzZDMsXG4gIFwiaW52YWxpZFwiOiAjNmQ2ZDZkLFxuICBcImRlbGV0aW5nXCI6ICM4ODg4ODgsXG4gIFwib2tcIjogIzk5RkY5OVxuKTtcblxuJHB1YmxpY2F0aW9uLXN0YXR1cy1yZWFkeTogIzZkYTM2ZjtcbiRwdWJsaWNhdGlvbi1zdGF0dXMtbm90LXJlYWR5OiAjZjkzODI2O1xuLy8gXCJQZW5kZW50ZVwiIOKAlCB2ZXJtZWxobyBDSEFNQVRJVk8gcC8gbyBjaGlwIGRhIHNlw6fDo28gU3RhdHVzIGRlIHB1YmxpY2HDp8Ojby4gVXNhIG9cbi8vIHZlcm1lbGhvIGRlIGVycm8gZG8gc2lzdGVtYSAoI0NDMDAyOSwgbWVzbW8gZG8gY2hpcCBkZSBcInRyaWxoYSBmZWNoYWRhXCIpOiBmb3J0ZSBlXG4vLyBlbS1zaXN0ZW1hLCBjb20gYm9tIGNvbnRyYXN0ZSBwLyB0ZXh0byBicmFuY28gKH42LjQ6MSkuIFN1YnN0aXR1aSBvIG7DqW9uICNmOTM4MjYuXG4kcHVibGljYXRpb24tc3RhdHVzLXBlbmRpbmc6ICNDQzAwMjk7XG5cblxuLy8gSW50ZXJlc3QgVG9waWNzIENvbG9ycyBmb3IgQmlkXG4kaW50ZXJlc3QtdG9waWMtYmFja2dyb3VuZC1jb2xvcjogIzc1RDc3NTtcbiRuZXV0cmFsLWludGVyZXN0LXRvcGljLWJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG4kbm8taW50ZXJlc3QtdG9waWMtYmFja2dyb3VuZC1jb2xvcjogI2Y2NmQwNDtcblxuXG4vL0RlZmF1bHQgY29sb3JzIGZvciBkYXNoYm9hcmRzXG4kZGVmYXVsdC1maXJzdC1zZWN0b3ItY29sb3I6ICNmZmM4NzA7XG4kZGVmYXVsdC1zZWNvbmQtc2VjdG9yLWNvbG9yOiAjZjdmN2M2O1xuJGRlZmF1bHQtdGhpcmQtc2VjdG9yLWNvbG9yOiAjYzhlM2M1O1xuJGRlZmF1bHQtZm91cnRoLXNlY3Rvci1jb2xvcjogIzljYWQ5YTtcbiRkZWZhdWx0LWZpZnRoLXNlY3Rvci1jb2xvcjogIzc1NTg1ODtcbiRkZWZhdWx0LXNpeHRoLXNlY3Rvci1jb2xvcjogI2FiZGY1NztcblxuLy9DaGFydCBncmlkIGNvbG9yXG4kY2hhcnQtZ3JpZC1jb2xvcjogIzAwMDAwMDMzO1xuJGNoYXJ0LWdyaWQtY29sb3ItZGFyazogI2ZmZmZmZjMzO1xuXG4vLyBhcHAtdXNlci1ub3RpZmljYXRpb25zXG4kbm90LXJlYWQtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IG5hdmFqb3doaXRlOyIsIkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gSGVhZGluZyBoaWVyYXJjaHkgYWxpZ25lZCB0byB0aGUgTWF0ZXJpYWwgRGVzaWduIDMgdHlwZSByYW1wLFxuLy8gZWRpdG9yaWFsIHdlaWdodCB2YXJpYW50IChPcHRpb24gQik6IGhlYWRsaW5lcyByZW5kZXIgYXQgd2VpZ2h0IDQwMCBmb3IgYVxuLy8gbW9kZXJuIFwiTm90aW9uL0xpbmVhclwiIGZlZWwuIFRva2VucyBkb2N1bWVudGVkIGluIF90eXBvZ3JhcGh5LW1kMy5zY3NzLlxuXG4vLyBQYWdlIHRpdGxlIOKAlCB1c2VkIGluIC5tYWluLXRpdGxlIGgxIGFjcm9zcyB+MzQgY2hhaXIgc2NyZWVucy5cbi8vIFR1bmVkIGZvciBjaGFpciBhcmVhIHdoZXJlIHRoZSBicmVhZGNydW1iIGFscmVhZHkgY2FycmllcyBwYWdlIGlkZW50aXR5OlxuLy8gMjBweCAoTGluZWFyL1ZlcmNlbC1zdHlsZSBzdGVwKSwgd2VpZ2h0IDUwMCAoY2xlYXIgaGllcmFyY2h5IG92ZXIgdGhlXG4vLyA0MzAtd2VpZ2h0IG5hdiBpdGVtcyksIDI0cHggbGluZS1oZWlnaHQsIHRyYWNraW5nIDAgKGNoYWlyIFVJIHJ1bGUpLlxuaDEge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuMjVyZW07ICAgICAgIC8vIDIwcHhcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgICAgICAvLyAyNHB4XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBNYXRlcmlhbCBTeW1ib2xzIGRlbnRybyBkZSBIMSDigJQgaGVyZGFtIEZJTEwgMSArIHdnaHQgNDAwIChQZXJzb25hIEEgZGFcbi8vIHRvb2xiYXIgZG8gYXV0b3IvcmV2aXNvciksIHBhcmEgdmlzdWFsbWVudGUgYmF0ZXJlbSBjb20gb3Mgw61jb25lcyBkb3Ncbi8vIGl0ZW5zIGRlIG5hdmVnYcOnw6NvLiBBbGluaGFtZW50byDDs3B0aWNvIHZpYSBgdmVydGljYWwtYWxpZ246IC0wLjJlbWAgK1xuLy8gYGxpbmUtaGVpZ2h0OiAxYCAobGluZS1ib3ggYXBlcnRhZGEgZG8gw61jb25lLCBzZW0gcGFkZGluZyBoZXJkYWRvKS5cbmgxIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuaDEgaS5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IC0wLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8vIFBhZ2UtdGl0bGUgaWNvbiAow6AgZXNxdWVyZGEgZG8gaDEpIOKAlCByZWNpcGUgc2lkZWJhciBsZXZlbC0xIHJlc3Q6XG4vLyBNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkLCBvcHN6IDIwLCB3Z2h0IDMwMCwgRklMTCAwLCBvcGFjaXR5IDAuNjUuXG4vLyBUYW1hbmhvIDIycHggaGFybW9uaXphIGNvbSBoMSAyMC8yNCAobGVhZC1pbiBzZW0gZG9taW5hcikuIDhweCBkZSBnYXBcbi8vIGVudHJlIMOtY29uZSBlIHTDrXR1bG8uIEdsb2JhbCBwcmEgZXZpdGFyIGR1cGxpY2FyIGEgcmVncmEgZW0gY2FkYSBww6FnaW5hLlxuLm1haW4tdGl0bGUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBvcGFjaXR5OiAwLjY1O1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMDtcbn1cblxuLy8gTGFiZWwgZG8gc2xpZGUtdG9nZ2xlIFBBRFLDg08gRE8gU0lTVEVNQSAoTTMpOiB0aXBvZ3JhZmlhIGRvIGNoYWlyIGxldmVsLTIg4oCUXG4vLyAxM3B4IChkZW5zbyksIHdlaWdodCA0MzAgKGJvZHkpLCBsaW5lLWhlaWdodCAxLjMsIGxldHRlci1zcGFjaW5nIDAuIFVuaXZlcnNhbFxuLy8gKGFudGVzIGVzY29wYWRvIGEgYC5tYWluLWhlYWRlciAub3B0aW9uc2AgZSBgLnNtYWxsLXBpY2tlcmApLlxuLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIE1ham9yIHNlY3Rpb24gdGl0bGUuIE1EMyB0aXRsZS1sYXJnZS5cbmgyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgICAgICAvLyAyMnB4XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyAgICAgLy8gMjhweFxuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gU3Vic2VjdGlvbiAvIC5zZWN0aW9uLXRpdGxlICh3aGljaCBAZXh0ZW5kcyBoMykuIFNpemVkIGF0IDE1cHggc28gaXQgc2l0c1xuLy8ganVzdCBhYm92ZSB0aGUgMTNweCBib2R5IGluIHRoZSBjYW52YXMg4oCUIGdpdmVzIGEgY2xlYXIgXCJoZWFkZXJcIiBjdWUgd2l0aG91dFxuLy8gYWRkaW5nIGEgdGhpcmQgc2NhbGUgYmV5b25kIHdoYXQgdGhlIG1lbnUgaGllcmFyY2h5IGFscmVhZHkgZXN0YWJsaXNoZWRcbi8vIChoMT0yMCBwYWdlIHRpdGxlLCBoMz0xNSBzZWN0aW9uIGhlYWRlciwgYm9keT0xMykuIFdlaWdodCA1MDAgdnMgYm9keSA0MzAsXG4vLyB0cmFja2luZyAwIChjaGFpciBVSSBydWxlKS4gQ29sb3Igc2V0IG9uIC5zZWN0aW9uLXRpdGxlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3MuXG5oMyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyAgICAgLy8gMTVweFxuICBsaW5lLWhlaWdodDogMS4zNzVyZW07ICAgIC8vIDIycHhcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIENhcmQvcGFuZWwgdGl0bGUuIE1EMyB0aXRsZS1zbWFsbC5cbmg0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgICAgICAvLyAxNHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyAgICAgLy8gMjBweFxuICBsZXR0ZXItc3BhY2luZzogMC4wMDYyNXJlbTtcbn1cblxuLy8gRXllYnJvdyBsYWJlbC4gTUQzIGxhYmVsLW1lZGl1bSB1cHBlcmNhc2UuXG5oNSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgICAgICAgLy8gMTJweFxuICBsaW5lLWhlaWdodDogMXJlbTsgICAgICAgIC8vIDE2cHhcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEdlbmVyaWMgc3VidGl0bGUvZXllYnJvdy4gTUQzIGxhYmVsLWxhcmdlIHVwcGVyY2FzZS5cbi8vIENvbXBvbmVudC1sb2NhbCAuc3VidGl0bGUgb3ZlcnJpZGVzIChldmVudC1zZW5kLWVtYWlsLCBldmVudC10b3BpY3MsXG4vLyBkYXNoYm9hcmQtc2V0dGluZ3MsIF9ldmVudC1hZG1pbi5zY3NzKSBzdGlsbCB3aW4gd2hlcmUgdGhleSBleGlzdC5cbi5zdWJ0aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07ICAgICAgLy8gMTRweFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTsgICAgIC8vIDIwcHhcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIFRhYmxlIGNvbHVtbiBoZWFkZXJzICgyNjQgaW5zdGFuY2VzIGFwcC13aWRlKS4gTUQzIGxhYmVsLW1lZGl1bSB1cHBlcmNhc2Vcbi8vICsgdGFidWxhciBudW1iZXJzIHNvIGNvbHVtbnMgb2YgbnVtZXJpYyBJRHMgYWxpZ24gdmlzdWFsbHkuXG4ubWF0LWhlYWRlci1jZWxsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAvLyAxMnB4XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInRudW1cIjtcbn1cblxuLy8gTWF0ZXJpYWwgY2FyZCB0aXRsZXMuIE1EMyB0aXRsZS1tZWRpdW0uXG4ubWF0LWNhcmQtdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NXJlbTtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbmh0bWwge1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5ib2R5LFxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcblxuICAmLm1vZGFsLW9wZW4ge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgIGFwcC1uYXZiYXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxuXG4gICYuc2lkZXNoZWV0LW9wZW4ge1xuICAgIC5zaWRlc2hlZXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrIHtcbiAgICBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIG1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS13aWR0aCkge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cblxuICAudGFibGUuaXMtZnVsbHdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuYXBwLWFkbWluIHtcbiAgLm1hdC10YWItYm9keS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRjYWwtbW9udGgtdmlldy12YXJzOiAoKSAhZGVmYXVsdDtcbiRjYWwtbW9udGgtdmlldy12YXJzOiBtYXAtbWVyZ2UoJGNhbC12YXJzLCAkY2FsLW1vbnRoLXZpZXctdmFycyk7XG5cbkBtaXhpbiBjYWwtbW9udGgtdmlldy10aGVtZSgkb3ZlcnJpZGVzKSB7XG4gICR0aGVtZTogbWFwLW1lcmdlKCRjYWwtbW9udGgtdmlldy12YXJzLCAkb3ZlcnJpZGVzKTtcblxuICAuY2FsLW1vbnRoLXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1wcmltYXJ5KTtcblxuICAgIC5jYWwtY2VsbC1yb3c6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNhbC1jZWxsLXJvdyAuY2FsLWNlbGw6aG92ZXIsXG4gICAgLmNhbC1jZWxsLmNhbC1oYXMtZXZlbnRzLmNhbC1vcGVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5cyAuY2FsLWNlbGwtcm93IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWJhZGdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiYWRnZS1jb2xvcik7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsLmNhbC13ZWVrZW5kIC5jYWwtZGF5LW51bWJlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdlZWtlbmQtY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGwuY2FsLXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB0b2RheS1iZyk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbC5jYWwtZHJhZy1vdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKSwgNSUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhbC1vcGVuLWRheS1ldmVudHMge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZ3JheSk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTVweCAwIHJnYmEobWFwLWdldCgkdGhlbWUsIGJsYWNrKSwgMC41KTtcbiAgICB9XG4gIH1cbn1cblxuLmNhbC1tb250aC12aWV3IHtcbiAgLmNhbC1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLmNhbC1oZWFkZXIgLmNhbC1jZWxsIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuY2FsLWRheXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICAuY2FsLWNlbGwtdG9wIHtcbiAgICBtaW4taGVpZ2h0OiA3OHB4O1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAuY2FsLWNlbGwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLmNhbC1jZWxsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuXG4gICAgLy8gaWUxMSBoYWNrIGZvciBodHRwczovL2dpdGh1Yi5jb20vbWF0dGxld2lzOTIvYW5ndWxhci1jYWxlbmRhci9pc3N1ZXMvNTAxXG4gICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuY2FsLWRheS1jZWxsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC1kYXlzIC5jYWwtY2VsbC1yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtZGF5LWJhZGdlIHtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgcGFkZGluZzogM3B4IDdweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cblxuICAuY2FsLWRheS1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2FsLWV2ZW50cyB7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuY2FsLWV2ZW50IHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDJweDtcbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwuY2FsLWluLW1vbnRoLmNhbC1oYXMtZXZlbnRzIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuY2FsLWRheS1jZWxsLmNhbC1vdXQtbW9udGggLmNhbC1kYXktbnVtYmVyIHtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmNhbC1kYXktY2VsbC5jYWwtdG9kYXkgLmNhbC1kYXktbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDEuOWVtO1xuICB9XG5cbiAgLmNhbC1vcGVuLWRheS1ldmVudHMge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICAuY2FsLW9wZW4tZGF5LWV2ZW50cyAuY2FsLWV2ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gIH1cblxuICAuY2FsLW91dC1tb250aCB7XG4gICAgLmNhbC1kYXktYmFkZ2UsXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kcmFnZ2FibGUge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gIC5jYWwtZHJhZy1hY3RpdmUgKiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuY2FsLWV2ZW50LXRpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBjYWwtbW9udGgtdmlldy10aGVtZSgkY2FsLW1vbnRoLXZpZXctdmFycyk7XG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kY2FsLXdlZWstdmlldy12YXJzOiAoKSAhZGVmYXVsdDtcbiRjYWwtd2Vlay12aWV3LXZhcnM6IG1hcC1tZXJnZSgkY2FsLXZhcnMsICRjYWwtd2Vlay12aWV3LXZhcnMpO1xuXG5AbWl4aW4gY2FsLXdlZWstdmlldy10aGVtZSgkb3ZlcnJpZGVzKSB7XG4gICR0aGVtZTogbWFwLW1lcmdlKCRjYWwtd2Vlay12aWV3LXZhcnMsICRvdmVycmlkZXMpO1xuXG4gIC5jYWwtd2Vlay12aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuXG4gICAgLmNhbC1kYXktaGVhZGVycyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1oZWFkZXJzIC5jYWwtaGVhZGVyIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlcjpob3ZlcixcbiAgICAuY2FsLWRheS1oZWFkZXJzIC5jYWwtZHJhZy1vdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXByaW1hcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuY2FsLWFsbC1kYXktZXZlbnRzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1oZWFkZXIuY2FsLXRvZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB0b2RheS1iZyk7XG4gICAgfVxuXG4gICAgLmNhbC1oZWFkZXIuY2FsLXdlZWtlbmQgc3BhbiB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdlZWtlbmQtY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtdGltZS1ldmVudHMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcblxuICAgICAgLmNhbC1kYXktY29sdW1ucyB7XG4gICAgICAgICY6bm90KC5jYWwtcmVzaXplLWFjdGl2ZSkge1xuICAgICAgICAgIC5jYWwtaG91ci1zZWdtZW50OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWwtaG91ci1vZGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNhbC1kcmFnLW92ZXIgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1ob3VyOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQsXG4gICAgLmNhbC1ob3VyOmxhc3QtY2hpbGQgOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1jdXJyZW50LXRpbWUtbWFya2VyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjdXJyZW50LXRpbWUtbWFya2VyLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhbC13ZWVrLXZpZXcge1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmNhbC1kYXktaGVhZGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLWRheS1oZWFkZXJzIC5jYWwtaGVhZGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZGF5LWhlYWRlcnMgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAuY2FsLWRheS1jb2x1bW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4O1xuICB9XG5cbiAgLmNhbC1ldmVudCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC10aW1lLWxhYmVsLWNvbHVtbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNhbC1jdXJyZW50LXRpbWUtbWFya2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC5jYWwtYWxsLWRheS1ldmVudHMge1xuICAgIGJvcmRlcjogc29saWQgMXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNhbC1kYXktY29sdW1ucyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnRzLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDMxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICYucmVzaXplLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG5cbiAgICAuY2FsLXN0YXJ0cy13aXRoaW4td2VlayAuY2FsLWV2ZW50IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICAuY2FsLWVuZHMtd2l0aGluLXdlZWsgLmNhbC1ldmVudCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICB9XG5cbiAgICAuY2FsLXRpbWUtbGFiZWwtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmNhbC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG5cbiAgICAgICYuY2FsLXJlc2l6ZS1oYW5kbGUtYWZ0ZXItZW5kIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhbC1ldmVudCxcbiAgLmNhbC1oZWFkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5jYWwtZHJhZy1hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNhbC10aW1lLWV2ZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogc29saWQgMXB4O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5jYWwtZGF5LWNvbHVtbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jb2x1bW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudC1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIH1cblxuICAgIC5jYWwtcmVzaXplLWhhbmRsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgY3Vyc29yOiByb3ctcmVzaXplO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAmLmNhbC1yZXNpemUtaGFuZGxlLWFmdGVyLWVuZCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBhMCc7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1ldmVudC1jb250YWluZXI6bm90KC5jYWwtZHJhZ2dhYmxlKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmNhbC1kcmFnZ2FibGUge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci10eXBlLW5vLXVua25vd24gKi9cbiAgbXdsLWNhbGVuZGFyLXdlZWstdmlldy1ob3VyLXNlZ21lbnQsIC8qIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL21hdHRsZXdpczkyL2FuZ3VsYXItY2FsZW5kYXIvaXNzdWVzLzI2MCovXG4gIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jYWwtaG91cjpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50LFxuICAuY2FsLWhvdXI6bGFzdC1jaGlsZCA6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogdGhpbiBkYXNoZWQ7XG4gIH1cblxuICAuY2FsLXRpbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNhbC1ob3VyLXNlZ21lbnQuY2FsLWFmdGVyLWhvdXItc3RhcnQge1xuICAgIC5jYWwtdGltZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtc3RhcnRzLXdpdGhpbi1kYXkgLmNhbC1ldmVudCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gIH1cblxuICAuY2FsLWVuZHMtd2l0aGluLWRheSAuY2FsLWV2ZW50IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgfVxufVxuXG5AaW5jbHVkZSBjYWwtd2Vlay12aWV3LXRoZW1lKCRjYWwtd2Vlay12aWV3LXZhcnMpO1xuIiwiLmNhbC1kYXktdmlldyB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci10eXBlLW5vLXVua25vd24gKi9cbiAgbXdsLWNhbGVuZGFyLXdlZWstdmlldy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY2FsLWV2ZW50cy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICB9XG5cbiAgLmNhbC1kYXktY29sdW1uIHtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC5jYWwtY3VycmVudC10aW1lLW1hcmtlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kY2FsLXRvb2x0aXAtdmFyczogKCkgIWRlZmF1bHQ7XG4kY2FsLXRvb2x0aXAtdmFyczogbWFwLW1lcmdlKCRjYWwtdmFycywgJGNhbC10b29sdGlwLXZhcnMpO1xuXG5AbWl4aW4gY2FsLXRvb2x0aXAtdGhlbWUoJG92ZXJyaWRlcykge1xuICAkdGhlbWU6IG1hcC1tZXJnZSgkY2FsLXRvb2x0aXAtdmFycywgJG92ZXJyaWRlcyk7XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXRvcCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtcmlnaHQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtYm90dG9tIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1sZWZ0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cblxuICAuY2FsLXRvb2x0aXAtaW5uZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cbn1cblxuLmNhbC10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDcwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luLXRvcDogLTNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXRvcCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtcmlnaHQge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXJpZ2h0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggNXB4IDA7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtYm90dG9tIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1sZWZ0IHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtbGVmdCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDtcbn1cblxuLmNhbC10b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4uY2FsLXRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbkBpbmNsdWRlIGNhbC10b29sdGlwLXRoZW1lKCRjYWwtdG9vbHRpcC12YXJzKTtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAubW9kYWxXaW5kb3cge1xuICAgIHdpZHRoOiAyNTBweDtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5sb2dvQ29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAxLjdyZW0gMCAycmVtIDA7XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogR2FpbnNib3JvO1xuICAgICAgICAvLyBjb2xvcjogYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbTtcbiAgICAgIHdpZHRoOiAxMTJweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAvLyBib3JkZXI6IDBweCBub25lIHdoaXRlO1xuICAgIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggMXB4IExpZ2h0R3JheTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIC8vIGJvcmRlci10b3A6IDBweCBub25lIHdoaXRlO1xuICAgIGJvcmRlcjogMHB4IG5vbmUgd2hpdGU7XG4gIH1cbn1cblxuLm1hdC1mb3JtLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIC5tYXQtaWNvbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG59XG5cbmFwcC1zZWFyY2gtYnV0dG9uIHtcbiAgLm1hdC1zZWFyY2hfZmllbGQge1xuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGhlaWdodDogM3B4O1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWljb24tY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjVweDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCB7XG4gICAgICBsYWJlbC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1pbjtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMS41KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdG9wOiAycmVtO1xuXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICB9XG4gIH1cbn1cblxuLnRvcGljcy10YWJsZSB7XG4gIC5tYXQtcmFkaW8tbGFiZWwge1xuICAgIHdpZHRoOiAyMHB4O1xuICB9XG59XG5cbi8vIGFkZHMgYnJlYWtzIHRvIHRoZSBtYXQtY2hlY2tib3hlcyB3aXRoIGxvbmcgbGFiZWxzXG4ubWF0LWNoZWNrYm94LWxheW91dCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLy8gTyBtYXQtc2VsZWN0IChjb20gYFtkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXT1cInRydWVcImAsIGdsb2JhbCBlbSBhcHAtc2VsZWN0LWlucHV0L1xuLy8gLWxlLy1mbGFnKSBhbmNvcmEgbyBwYWluZWwgbm8gVE9QTyBkYSBjYWl4YSDihpIgc29icmVwb3JpYSBvIGlucHV0LiBFbXB1cnJhbW9zIG9cbi8vIGAubWF0LXNlbGVjdC1wYW5lbC13cmFwYCBwcmEgYmFpeG8sIH5wZWxhIEFMVFVSQSBkYSBjYWl4YSwgcHJhIGFicmlyIGxvZ28gQUJBSVhPXG4vLyBkZWxhLiBWYWxvciBjYWxpYnJhZG8gcHJhcyBjYWl4YXMgTEVHQURBUyAoYXBwZWFyYW5jZSBwYWRyw6NvLCB+MzZweCkuIENvbW1pdFxuLy8gb3JpZ2luYWw6IGQ5NjMzYTExMC5cbi5tYXQtc2VsZWN0LXBhbmVsLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNDBweDtcbn1cblxuLy8gQ2FpeGFzIEZJTFRFUi1TVFlMRUQgKG1hcmNhIGBqZW1zMy1zZWxlY3QtcGFuZWwtY29tcGFjdGApOiBjb3JyZcOnw6NvIGRvXG4vLyBwb3NpY2lvbmFtZW50byBkbyBwYWluZWwgZG8gbWF0LXNlbGVjdCBNVUxUSVBMRS4gQmFzZSAoZGEgZm9udGUgZG8gQGFuZ3VsYXIvXG4vLyBtYXRlcmlhbCAxMS4yKTogbyBwYWluZWwgU09CUkVQw5VFIG8gZ2F0aWxobyBwZWxvIHRvcG8gKG92ZXJsYXlZOnRvcC9vcmlnaW5ZOnRvcCksXG4vLyBhcGxpY2EgYHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweClgIChvZmZzZXRYIGRlIG11bHRpcGxlKSBlIG9mZnNldFk9MCAodmlhXG4vLyBgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ2ApLiBPIGBsZWZ0YCBjYW5jZWxhIG8gLTQwIGUgbyBgdG9wYCBkZXNjZSBwcmEgYmFpeG8gZGEgY2FpeGEuXG4vLyBPcyB2YWxvcmVzIGZvcmFtIENBTElCUkFET1MgcGVsbyBET00gcmVhbCAoZ2V0Qm91bmRpbmdDbGllbnRSZWN0IG1lZGlkbyk6IGNvbVxuLy8gdG9wOjI2L2xlZnQ6NDAgbyBwYWluZWwgZmljYXZhIGR4TGVmdD0rMTFweCwgZHlUb3A9KzdweCDihpIgY29ycmlnaWRvIHAvIGJvcmRhXG4vLyBlc3F1ZXJkYSBhbGluaGFkYSDDoCBjYWl4YSAoZHhMZWZ04oaSMCkgZSB+NHB4IGRlIGZvbGdhIGFiYWl4byAoZHlUb3DihpI0KTpcbi8vICAgbGVmdCA9IDQwIC0gMTEgPSAyOXB4IDsgIHRvcCA9IDI2IC0gMyA9IDIzcHhcbi5tYXQtc2VsZWN0LXBhbmVsLXdyYXA6aGFzKC5qZW1zMy1zZWxlY3QtcGFuZWwtY29tcGFjdCkge1xuICB0b3A6IDIzcHg7XG4gIGxlZnQ6IDI5cHg7XG59XG5cbi8vIFplcmEgYSBhbmltYcOnw6NvIGRlIGFiZXJ0dXJhIGRvIHBhaW5lbCBmaWx0ZXItc3R5bGVkIOKAlCBwYXJlaWEgY29tIG8gcmVzdG9cbi8vIGRvIEpFTVMzIChtZW51cy9wb3BvdmVycyBqw6EgYWJyZW0gc2VtIGFuaW1hw6fDo28pLiBOw4NPIG1leGVyIGVtIHRyYW5zZm9ybTpcbi8vIE1hdGVyaWFsIHVzYSB0cmFuc2xhdGVYKC00MHB4KSBlIG91dHJvcyBwcmEgcG9zaWNpb25hciBvIHBhaW5lbC5cbi5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCB7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jb21wYWN0IHtcbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG5cbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRidXR0b24taGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7ICAgLy8gYWxpYXMgbGVnYWRvIOKGkiB0b2tlbiDDum5pY28gKHZlciBfdmFyaWFibGVzLnNjc3MpXG5cbi5idXR0b25zIHtcbiAgLmlzLWRpdmlkZXIge1xuICAgIG1hcmdpbjogMnJlbSAwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxhbmRpbmctYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC45NXJlbSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuYSB7XG4gIG91dGxpbmU6IDA7XG4gIC8vIENvbnZlbsOnw6NvIGRvIEpFTVMzOiBsaW5rcyBudW5jYSBzdWJsaW5oYW0gbm8gaG92ZXIuIFJlZ3JhIGdsb2JhbFxuICAvLyBjb2RpZmljYWRhIGFxdWkgcHJhIGV2aXRhciBxdWUgY2FkYSBww6FnaW5hIHJlaW52ZW50ZSBvIGAmOmhvdmVyXG4gIC8vIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfWAuIFZlciBtZW3Ds3JpYSBmZWVkYmFja19ub19saW5rX3VuZGVybGluZV9ob3Zlci5cbiAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxufVxuXG5idXR0b24ge1xuICBoZWlnaHQ6ICRidXR0b24taGVpZ2h0O1xufVxuXG4vLyBBIHJlZ3JhIGFjaW1hIEZPUsOHQSBhIGFsdHVyYSBkZSB0b2RvIDxidXR0b24+IGFvIHRva2VuLiBPIE1hdGVyaWFsLCBwb3LDqW0sXG4vLyBjZW50cmFsaXphIG8gbGFiZWwgZG9zIGJvdMO1ZXMgZGUgVEVYVE8gdmlhIGBsaW5lLWhlaWdodDogMzZweGAgZml4byDigJQgcXVlXG4vLyBkZXNjYXNhIHF1YW5kbyAkY29udHJvbC1oZWlnaHQg4omgIDM2cHggKG8gbGFiZWwgZGVzbGl6YSBwcmEgYmFpeG8pLiBBbWFycmFtb3Mgb1xuLy8gbGluZS1oZWlnaHQgYW8gdG9rZW4gcC8gbyBsYWJlbCBjZW50cmFsaXphciBlbSBRVUFMUVVFUiBhbHR1cmEuIChtYXQtcmFpc2VkLWJ1dHRvblxuLy8gasOhIGNlbnRyYWxpemEgdmlhIGBpbmxpbmUtZ3JpZGAgbWFpcyBhYmFpeG8sIGVudMOjbyBmaWNhIGRlIGZvcmEuKVxuYnV0dG9uLm1hdC1idXR0b24sXG5idXR0b24ubWF0LWZsYXQtYnV0dG9uLFxuYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG59XG5cbi5jbG9zZS5idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG5cbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjtcbn1cblxuLnJpcHBsZS1idXR0b24ubWF0LXJhaXNlZC1idXR0b24ge1xuICBmb250LXdlaWdodDogNjAwO1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcblxuICAubWF0LWljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNXB4ICRibGFjay01MDA7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNXB4ICRibGFjay01MDA7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtcmFpc2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnN1Ym1pc3Npb25zLCAucmV2aWV3cywgLmV2ZW50cywgLm15ZXZlbnRzLCAuY29tbWl0dGVlcywgLmV2ZW50LWFkbWluIHtcbiAgLmZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudG9nZ2xlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuXG4gICAgICAubm90aWZ5LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ub3RpZnktYnV0dG9uIHtcbiAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xufVxuXG4uZmlsZS1pY29uLWJ1dHRvbnMge1xuICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBidXR0b24ge1xuICAgIGhlaWdodDogJGZpbGUtaWNvbi1zaXplO1xuICAgIHdpZHRoOiAkZmlsZS1pY29uLXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZTtcbiAgfVxuXG4gIC5zbWFsbGVyLWJ1dHRvbiwgLnNtYWxsZXItYnV0dG9uIG1hdC1pY29uIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICAgIHdpZHRoOiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gICAgZm9udC1zaXplOiAkZmlsZS1pY29uLXNpemUtc21hbGxlci1mb250c2l6ZTtcbiAgfVxuXG4gIGFwcC1maWxlLXVwbG9hZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIC5hcHAtaWNvbi1idXR0b24g4oCUIGJvdMOjbyBpY29uLW9ubHkgNDDDlzQwIGRvIEpFTVMzLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWRyw6NvIMO6bmljbyBjb21wYXJ0aWxoYWRvIHBvcjogc2lubyBkZSBub3RpZmljYcOnw7VlcyAoLnByb2ZpbGUtYnV0dG9uKSxcbi8vIG1lbnUgZGUgdXN1w6FyaW8gKC51c2VyLW1lbnUtYnV0dG9uKSwgdHJpZ2dlciBkbyBjb21tYW5kIHBhbGV0dGVcbi8vICguY29tbWFuZC1wYWxldHRlLXRyaWdnZXIpIGUgYm90w6NvIGRlIGZpbHRyb3MgKC5maWx0ZXItYnV0dG9uKS5cbi8vIFN1YnN0aXR1aSB+MzAgbGluaGFzIGR1cGxpY2FkYXMgZW0gY2FkYSBjb21wb25lbnRlLiBUb2tlbnMgZGUgaG92ZXIvXG4vLyBtZW51LW9wZW4gZmljYW0gZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKGdhdGVkIHBvciB0ZW1hKS4gVXNlIGp1bnRvXG4vLyBjb20gYSBjbGFzc2UgZXNwZWPDrWZpY2EgZG8gY29udGV4dG8gKGV4OiBgY2xhc3M9XCJhcHAtaWNvbi1idXR0b24gZmlsdGVyLWJ1dHRvblwiYClcbi8vIOKAlCBhIGVzcGVjw61maWNhIGZpY2EgY29tbyBob29rIGRlIEpTIGUgb3ZlcnJpZGVzIHBvbnR1YWlzIChiYWRnZSwgZXRjKS5cbi5hcHAtaWNvbi1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zICRlYXNlLW91dDtcblxuICAvLyBSaXBwbGUvZm9jdXMtb3ZlcmxheSBkbyBtYXQtYnV0dG9uIOKAlCBlc2NvbmRpZG9zIHByYSBzdXJmYWNlIGZpY2FyIGxpbXBhLlxuICA6Om5nLWRlZXAgLm1hdC1idXR0b24tcmlwcGxlLFxuICA6Om5nLWRlZXAgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gw41jb25lIOKAlCAyMHB4IGNvbSBheGVzIHdnaHQgMzAwL0ZJTEwgMCBkZWZhdWx0LiBPcGFjaXR5IDAuNjUgYmFzZSxcbiAgLy8gMC45IGhvdmVyLCAxIGNvbSBgLm1lbnUtb3BlbmAgKGVzdGFkbyBhdGl2byBkbyBtZW51L3BhaW5lbCkuXG4gIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyAkZWFzZS1vdXQ7XG4gICAgLy8gYGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzYCByZW1vdmlkbyBkYSB0cmFuc2nDp8OjbzogY2FkYSBmcmFtZSBpbnRlcm1lZGnDoXJpb1xuICAgIC8vIHJlLXNoYXBlIGEgZ2x5cGggKGN1c3RvIGFsdG8gcXVhbmRvIGRpc3BhcmEpLiBFbSB0YWJlbGFzIGNvbSBtdWl0b3NcbiAgICAvLyBgLmFwcC1pY29uLWJ1dHRvbmAgcG9yIGxpbmhhLCBob3ZlciB2aWFqYW5kbyBlbnRyZSBsaW5oYXMgcGFnYSBlc3NlXG4gICAgLy8gcmUtc2hhcGUgZW0gdsOhcmlvcyDDrWNvbmVzIHNpbXVsdMOibmVvcy5cbiAgfVxuXG4gIC8vIGA6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKWAg4oCUIGJvdMOjbyBkZXNhYmlsaXRhZG8gbsOjbyBjbGFyZWlhIG8gw61jb25lIG5vIGhvdmVyXG4gIC8vIChlcmEgZXNzZSBvIGhvdmVyIHF1ZSBzb2JyYXZhIG5vIFwiLi4uXCIgZW0gbW9kbyBlZGnDp8OjbzsgYXMgb3V0cmFzIHJlZ3JhcyBkZSBob3ZlclxuICAvLyBqw6EgZXN0YXZhbSBndWFyZGFkYXMsIG1hcyBvIHJlYWxjZSBkbyDDrWNvbmUgbsOjbykuXG4gICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpub3QoOmRpc2FibGVkKTpob3ZlciAubWF0LWljb24ge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuXG4gICYubWVudS1vcGVuIC5tYXQtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWMtYWNjZW50LCAjN0MyRDEyKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59XG5cblxuXG4vLyBDaGFpciBVSSBidXR0b24gZmFtaWx5IOKAlCBwYXIgXCJwcmltYXJ5IGZpbGxlZFwiIC8gXCJzZWNvbmRhcnkgc3Ryb2tlZFwiXG4vLyBjb21wYXJ0aWxoYWRvIHBvciBmb3JtIHN1Ym1pdC1iYXJzLCBkaWFsb2dzLCBlIHF1YWxxdWVyIGZsdXhvIGRlIGHDp8Ojb1xuLy8gY29uZmlybWFyL2NhbmNlbGFyLiBDZW50cmFsaXphciBhcXVpIGV2aXRhIGRyaWZ0IHZpc3VhbCBlbnRyZSBww6FnaW5hc1xuLy8gKGRlc2NvYnJpbW9zIGlzc28gY29tcGFyYW5kbyBEZXNjYXJ0YXIgZG8gcmV2aWV3cy1jb25maWd1cmF0aW9uIHZzXG4vLyBDYW5jZWxhciBkbyBjb25maXJtYXRpb24tZGlhbG9nIOKAlCBlc3RhdmFtIGNvbSBnZW9tZXRyaWEgZGlmZXJlbnRlKS5cbi8vXG4vLyBVc286XG4vLyAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uICAgY2xhc3M9XCJjaGFpci1idXR0b24gY2hhaXItYnV0dG9uLS1wcmltYXJ5XCIgICAuLi4+U2FsdmFyPC9idXR0b24+XG4vLyAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwiY2hhaXItYnV0dG9uIGNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5XCIgLi4uPkNhbmNlbGFyPC9idXR0b24+XG4vL1xuLy8gVmFyaWFudGUgZGVzdHJ1dGl2YTogYXBsaWNhciBgY29sb3I9XCJ3YXJuXCJgIG5vIGJvdMOjbyBwcmltw6FyaW87IGNvciDDqVxuLy8gZ2VyZW5jaWFkYSBwZWxvIE1hdGVyaWFsLCBnZW9tZXRyaWEvdGlwb2dyYWZpYSBqw6EgdsOqbSBkYXF1aS5cbi8vXG4vLyBPdmVycmlkZXMgbG9jYWlzIChleDogc3VibWl0IGRvIHJldmlld3MtY29uZmlndXJhdGlvbiBjb20gbWluLXdpZHRoXG4vLyBtYWlvciBwb3IgY2F1c2EgZG8gbGFiZWwgXCJTYWx2YXIgYWx0ZXJhw6fDtWVzXCIvXCJTYWx2YW5kb+KAplwiKSBzZWd1ZW1cbi8vIHBvc3PDrXZlaXMg4oCUIGJhc3RhIHNvYnJlc2NyZXZlciBtaW4td2lkdGggbm8gY29tcG9uZW50ZS5cbi5jaGFpci1idXR0b24ubWF0LWZsYXQtYnV0dG9uLFxuLmNoYWlyLWJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG1pbi13aWR0aDogOTZweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLFxuICAgICAgICAgICAgICBib3gtc2hhZG93IDEyMG1zIGVhc2UsIGZpbHRlciAxMjBtcyBlYXNlO1xufVxuXG4vLyBDZW50cmFsaXphIHZlcnRpY2FsbWVudGUgw61jb25lICsgdGV4dG8gZGVudHJvIGRvIGJvdMOjby4gTyB3cmFwcGVyIGRvIE1hdGVyaWFsXG4vLyAoYC5tYXQtYnV0dG9uLXdyYXBwZXJgKSBhbGluaGEgbyBjb250ZcO6ZG8gcGVsYSBsaW5oYSBkZSBiYXNlIHBvciBwYWRyw6NvLCBvIHF1ZVxuLy8gZGVzZW5jb250cmEgbyDDrWNvbmUgZG8gcsOzdHVsbzsgaW5saW5lLWZsZXggKyBhbGlnbi1pdGVtcyBjZW50ZXIgcmVzb2x2ZSBlbVxuLy8gVE9ETyBjaGFpci1idXR0b24gY29tIGRpcmV0aXZhIChtYXQtZmxhdC9tYXQtc3Ryb2tlZCkuXG4uY2hhaXItYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyLFxuLmNoYWlyLWJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBmb250LXdlaWdodDogNDMwO1xuICAvLyBCYWNrZ3JvdW5kIGUgYm9yZGVyIGV4cGzDrWNpdG9zIEdMT0JBSVMgKG7Do28gdGhlbWUtc2NvcGVkKS4gTWF0ZXJpYWxcbiAgLy8gZGlhbG9ncyByZW5kZXJpemFtIHZpYSBjZGstb3ZlcmxheS1jb250YWluZXI7IGVtYm9yYSAubGlnaHQtdGhlbWUvXG4gIC8vIC5kYXJrLXRoZW1lIGVzdGVqYW0gZW0gPGJvZHk+LCByZWdyYXMgZ2xvYmFpcyBzZW0gcHJlZml4byBnYXJhbnRlbVxuICAvLyBhcGxpY2HDp8OjbyBpbmRlcGVuZGVudGUgZGUgcXVhbHF1ZXIgY2FtaW5obyBkZSBjYXNjYWRlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgLy8gQ29yIGRlIHRleHRvIGV4cGzDrWNpdGEgKHRoZW1lLWF3YXJlKS4gU2VtIGVsYSBvIE1hdGVyaWFsIGFwbGljYSB1bSBmb3JlZ3JvdW5kXG4gIC8vIHBhZHLDo28gcXVlIG5vIGRhcmsgZmljYSBlc2N1cm8g4oaSIFwiRGVzY2FydGFyXCIgZXNtYWVjaWRvIG1lc21vIGhhYmlsaXRhZG8uXG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgLy8gQm9yZGEgZG9zIENPTlRST0xFUyA9IGNocm9tZS1ib3JkZXItQUNUSVZFIChtYWlzIGRlZmluaWRhKSwgTUVTTU8gdG9rZW4gZG8gdHJpbyBkb1xuICAvLyBoZWFkZXIgKGNhaXhhIGRlIGZpbHRybywgYm90w6NvIGRlIGZpbHRybywgYm90w6NvIGRlIGHDp8O1ZXMpLiBIYXJtb25pemEgb3MgYm90w7VlcyBkYVxuICAvLyBiYXJyYSBkZSBhw6fDtWVzIGNvbSBvIGhlYWRlcjsgbyBgY2hyb21lLWJvcmRlcmAgYmFzZSBmaWNhIHJlc2VydmFkbyBhIERJVklTT1JFUy5cbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG5cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnkubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG5cbi8vIEhvdmVyIGRvcyBib3TDtWVzIGRhIGJhcnJhIGRlIGNvbmZpcm1hw6fDo28gKGNoYWlyLWJ1dHRvbikuIENvbW8gbyBmb2N1cy1vdmVybGF5IGZvaVxuLy8gemVyYWRvIChhYmFpeG8pLCBvIGZlZWRiYWNrIMOpIGV4cGzDrWNpdG86IGVsZXZhw6fDo28gc3V0aWwgbm9zIGRvaXMgKyBtdWRhbsOnYSBkZSBmdW5kb1xuLy8gbm8gc2VjdW5kw6FyaW8gZSBsZXZlIGVzY3VyZWNpbWVudG8gbm8gcHJpbcOhcmlvLiBFeGNsdWkgbyBlc3RhZG8gZGVzYWJpbGl0YWRvLlxuLmNoYWlyLWJ1dHRvbi5tYXQtZmxhdC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3Zlcixcbi5jaGFpci1idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnkubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnkubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkzKTtcbn1cblxuLy8gWmVyYSBvIHRpbnQgZG8gZm9jdXMgb3ZlcmxheSBubyBjaGFpci1idXR0b24gKE1hdGVyaWFsIGFwbGljYSB+MC4xMlxuLy8gb3BhY2l0eSBxdWFuZG8gZm9jYWRvIOKAlCBvIHF1ZSBkw6EgYSBpbXByZXNzw6NvIHZpc3VhbCBkZSBcImZ1bmRvIGNpbnphXCJcbi8vIG5vIGJvdMOjbyBDYW5jZWxhciBkbyBkaWFsb2csIHF1ZSDDqSBhdXRvLWZvY2FkbykuIEZvY3VzIGNvbnRpbnVhXG4vLyBwZXJjZXB0w612ZWwgdmlhIC5jZGstZm9jdXNlZCBvdXRsaW5lLlxuLmNoYWlyLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBEaXNhYmxlZDogTWF0ZXJpYWwgYXBsaWNhIHNldSBwcsOzcHJpbyBncmF5IChgLm1hdC1idXR0b24tZGlzYWJsZWRgKSxcbi8vIHF1ZSBkZXN0b2EgZG8gcmVzdG8gZG8gY2hhaXIgVUkuIEZvcsOnYW1vcyBvcyB0b2tlbnMgZ2xvYmFpc1xuLy8gYCRidXR0b24tZGlzYWJsZWQtY29sb3JgIC8gYCRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFya2AgKGrDoSB1c2Fkb3MgZW1cbi8vIGBidXR0b246ZGlzYWJsZWRgIGVtIF9jb2xvci1zY2hlbWUuc2NzcywgbWFzIE1hdGVyaWFsIHZlbmNlIHBvclxuLy8gc3BlY2lmaWNpdHkpLiBPIGAubWF0LWljb25gIGhlcmRhIHZpYSBgY29sb3I6IGluaGVyaXRgIChzZXRhZG8gbm9cbi8vIG92ZXJyaWRlIGRvIGZsb2F0aW5nLXN1Ym1pdC1iYXIpLiBBanVzdGFyIGdsb2JhbG1lbnRlID0gZWRpdGFyIG8gdG9rZW4uXG4uY2hhaXItYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uOmRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbjpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b25bZGlzYWJsZWRdIHtcbiAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBEaXNhYmxlZCBkbyBQUklNQVJZIChtYXQtZmxhdC1idXR0b24pOiBtYW50w6ltIG8gYXp1bCwgYXBlbmFzIGVzbWFlY2lkbyDigJRcbi8vIG7Do28gY2FpciBubyBncmF5IGRlZmF1bHQgZG8gTWF0ZXJpYWwuIFJlZ3JhIGdsb2JhbDogdW0gYm90w6NvIGRlc2FiaWxpdGFkb1xuLy8gdGVtIHF1ZSBzZSBwYXJlY2VyIGNvbSBvIG1lc21vIGJvdMOjbyBoYWJpbGl0YWRvLCBzw7MgcXVlIGFwYWdhZG8sIGVtXG4vLyBRVUFMUVVFUiBjb250ZXh0byAodGFiZWxhIGRlIHRyaWxoYXMsIGZsb2F0aW5nIGJhciwgcHLDqXZpYSwgZXRjLikuIFNlbVxuLy8gaXNzbyBvIE1hdGVyaWFsIHNvYnJlc2NyZXZlIGJhY2tncm91bmQrY29sb3IgY29tIG8gcHJlc2V0IGRlIGRpc2FibGVkIGVcbi8vIGRlc3RvYSBkbyByZXN0byBkYSBVSS4gQ29icmUgdGFudG8gYFtkaXNhYmxlZF1gIHF1YW50byBgLm1hdC1idXR0b24tZGlzYWJsZWRgXG4vLyAoY2xhc3NlIHF1ZSBNYXRlcmlhbCBhZGljaW9uYSBxdWFuZG8gdW0gPGE+IGNoYWlyLWJ1dHRvbiBwZXJkZSByb3V0ZXJMaW5rKS5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uOmRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYXBwLXByaW1hcnktbGlnaHQsIDUwMCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41O1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b246ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhcHAtcHJpbWFyeS1kYXJrLCA1MDApICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTU7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gY2hhaXItYnV0dG9uIFwicHVyb1wiIOKAlCBwYXJhIDxidXR0b24+LzxhPiBjb20gY2xhc3M9XCJjaGFpci1idXR0b25cIiBTRU1cbi8vIGRpcmV0aXZhIE1hdGVyaWFsLiBSZXBsaWNhIGEgZ2VvbWV0cmlhL3RpcG9ncmFmaWEvZXN0YWRvcyBxdWVcbi8vIG1hdC1zdHJva2VkLWJ1dHRvbiBlIG1hdC1mbGF0LWJ1dHRvbiBmb3JuZWNlcmlhbS4gU2VsZXRvclxuLy8gYDpub3QoLm1hdC1idXR0b24tYmFzZSlgIG1pcmEgc8OzIG9zIGJhcmUgKE1hdGVyaWFsIHNlbXByZSBhZGljaW9uYVxuLy8gLm1hdC1idXR0b24tYmFzZSBuYXMgc3VhcyB2YXJpYW50ZXMpLCBlbnTDo28gZXN0ZXMgY29udml2ZW0gY29tIG9zXG4vLyBjaGFpci1idXR0b24gTWF0ZXJpYWwgZG8gcmVzdG8gZG8gYXBwIHNlbSBjb2xpc8Ojby4gQ29icmUgPGE+IChuYXZlZ2HDp8Ojb1xuLy8gdmlhIHJvdXRlckxpbmssIGV4LjogYcOnw7VlcyBkbyBtZW1icm8gZG8gY29taXTDqiBuYSBww6FnaW5hIGRvIGV2ZW50bykgYWzDqW1cbi8vIGRlIDxidXR0b24+LlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uY2hhaXItYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC8vIMONY29uZSBpbnRlcm5vIGFsaW5oYWRvIGFvIHRhbWFuaG8gZGEgdGlwb2dyYWZpYSBkbyBib3TDo28gKDEzcHgvMTZweCkuXG4gIC8vIENvYnJlIDMgZm9ybWFzIGRlIHJlbmRlcml6YXIgbyDDrWNvbmU6IGBtYXQtaWNvbmAgKE1hdGVyaWFsIOKAlCAyNHB4XG4gIC8vIGRlZmF1bHQsIHByZWNpc2EgY2FwKSwgYC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkYCAoc3BhbiBjb20gYVxuICAvLyBmb250ZSBzZWxmLWhvc3RlZCwgSkVNUzMgcHVybyBzZW0gTWF0ZXJpYWwpIGUgYC5qZW1zM3NgIChmb250U2V0XG4gIC8vIGNsw6Fzc2ljbykuIE5hcyB2YXJpYW50ZXMgY29tIGRpcmV0aXZhIE1hdGVyaWFsIG8gd3JhcHBlclxuICAvLyBgLm1hdC1idXR0b24td3JhcHBlcmAgasOhIGRpbWVuc2lvbmE7IGFxdWkgw6kgbyBwYXIgcHVyby5cbiAgbWF0LWljb24sXG4gIC5tYXQtaWNvbixcbiAgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG4gIC5qZW1zM3MsXG4gIC5qZW1zM3Ige1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLy8gaGVpZ2h0OiBhdXRvIHNvYnJlc2NyZXZlIGEgcmVncmEgZ2xvYmFsIGBidXR0b24geyBoZWlnaHQgfWAgbWFzIGFxdWlcbiAgLy8gcXVlcmVtb3MgZXhhdGFtZW50ZSBhIGFsdHVyYSBwYWRyw6NvIGRvIE1hdGVyaWFsIOKAlCBlbnTDo28gZGVpeGFtb3MuXG4gIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICBtaW4td2lkdGg6IDk2cHg7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgICAgICAgICAgICAvLyA9ICRjaHJvbWUtcmFkaXVzIGRvIG1hdC1zdHJva2VkLWJ1dHRvblxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICAgICAgICAgLy8gPGE+IGVzdGlsaXphZG8gY29tbyBib3TDo28gbsOjbyBzdWJsaW5oYVxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gIC8vIEZvY28gdmlzw612ZWwgc8OzIHBvciB0ZWNsYWRvIOKAlCBtZXNtYSBpZMOpaWEgZG8gY2RrLWtleWJvYXJkLWZvY3VzZWQuXG4gICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgLy8gRGlzYWJsZWQ6IGN1cnNvciArIHNlbSBpbnRlcmHDp8Ojby4gRXNtYWVjZW1vcyBBUEVOQVMgdGV4dG8gZSDDrWNvbmVcbiAgLy8gKG7Do28gbyBib3TDo28gaW50ZWlybyBjb20gYG9wYWNpdHlgLCBxdWUgY2xhcmVhcmlhIHRhbWLDqW0gYm9yZGEgZSBiZykuXG4gIC8vIGBjb2xvcmAgcmViYWl4YWRhIHZpYSByZ2JhOyDDrWNvbmUgc2VndWUgcG9yIGBjb2xvcjogaW5oZXJpdGAgKGRlZmluaWRvXG4gIC8vIG5vIGZsb2F0aW5nLXN1Ym1pdC1iYXIuY29tcG9uZW50LnNjc3MpLlxuICAmOmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b246bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zOCk7XG59XG5cbi8vIFNlY29uZGFyeSAob3V0bGluZWQsIGZ1bmRvIGRlIGNhcmQpOiBlcXVpdmFsZW50ZSBhbyBtYXQtc3Ryb2tlZC1idXR0b24uXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xufVxuXG4vLyBQcmltYXJ5IChmaWxsZWQsIGZ1bmRvIGFjY2VudCk6IGVxdWl2YWxlbnRlIGFvIG1hdC1mbGF0LWJ1dHRvbiArIGNvbG9yPVwicHJpbWFyeVwiLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgLy8gVGV4dG8gQlJBTkNPIG5vIGFjY2VudCAobWVzbWEgZGVjaXPDo28gZG8gbGlnaHQpOiBjb25zaXN0w6puY2lhXG4gIC8vIHZpc3VhbCBlbSB0b2RvIGJvdMOjbyBkZSBhY2NlbnQuIGAkYWRtaW4tYWNjZW50LWNvbG9yLWRhcmtgID0gd2hpdGUuXG4gIGNvbG9yOiAkYWRtaW4tYWNjZW50LWNvbG9yLWRhcms7XG59XG5cbi8vIFdhcm4gKGZpbGxlZCwgdmVybWVsaG8pOiBlcXVpdmFsZW50ZSBhbyBtYXQtZmxhdC1idXR0b24gKyBjb2xvcj1cIndhcm5cIi5cbi8vIFBhcmEgYcOnw7VlcyBxdWUgcGVkZW0gYXRlbsOnw6NvIChleC46IGNvbmZpcm1hciBjb252aXRlIHBlbmRlbnRlIGRlIFRQQykuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrO1xuICBjb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gSG92ZXIg4oCUIHNlY29uZGFyeTogYmcgPSBgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZGAgKG1lc21vXG4vLyBkbyBob3ZlciBkbyBtZW51IGxhdGVyYWwgbW9kZXJubyBkbyBUUEMgY2hhaXIpLiBTZW0gdHJhbnNpdGlvbjsgc2VtIGJveC1zaGFkb3cuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG5cbi8vIEhvdmVyIOKAlCBwcmltYXJ5L3dhcm46IGVzY3VyZWNlIGxldmVtZW50ZSwgaWd1YWwgYW8gbWF0LWZsYXQtYnV0dG9uLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTMpO1xufVxuXG4vLyBEaXNhYmxlZCDigJQgcHJpbWFyeS93YXJuOiBkZXJydWJhIG8gYWNjZW50IChiZyArIGJvcmRlcikgZSBjYWkgbm8gdmlzdWFsXG4vLyBkbyBzZWNvbmRhcnkgZGVzYWJpbGl0YWRvLiBBc3NpbSBib3TDtWVzIGNvbSBhY2NlbnQtY29sb3IgZmljYW0gaWTDqm50aWNvc1xuLy8gYW9zIGNvbnZlbmNpb25haXMgcXVhbmRvIGluYXRpdm9zIChzw7MgbyB0ZXh0byBlc21hZWNpZG8gY2FycmVnYSBvIGVzdGFkbykuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIEdlbmVyYWwgcmVmYWN0b3JcblxuYnV0dG9uIHtcbiAgJi5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAubWF0LWljb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcblxuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcblxuICAgICAgJi5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggN3B4ICRibGFjay01MDA7XG4gICAgfVxuICB9XG5cbiAgJi5wcm9maWxlLWJ1dHRvbiwgJi5tYXQtaWNvbi1idXR0b24ucHJvZmlsZS1idXR0b24ge1xuICAgIHdpZHRoOiAkYnV0dG9uLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRidXR0b24taGVpZ2h0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbiAgfVxuXG4gICZbY29sb3JdLm1hdC1yYWlzZWQtYnV0dG9uIHNwYW4ubWF0LWJ1dHRvbi13cmFwcGVyOm5vdCg6aGFzKC5tYXQtaWNvbikpLCBcbiAgJltjb2xvcl0ubWF0LXJhaXNlZC1idXR0b24gc3Bhbi5tYXQtYnV0dG9uLXdyYXBwZXI6aGFzKHNwYW4pIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICYubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkW2Rpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJzsgLy8gc2l6ZXNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcblxuJG1heC1iYXNlLWNvbnRhaW5lci13aWR0aDogMTEwMHB4O1xuXG4kZGVza3RvcC13aWR0aC1tZDogMTQ1MHB4O1xuJGRlc2t0b3Atd2lkdGgtc206IDEyMTZweDtcbiR0YWJsZXQtYnJlYWt1cC13aWR0aDogNzY4cHg7XG4kbW9iaWxlLXdpZHRoOiA0ODZweDtcbiRzY3JlZW4taVBob25lU0UtcG9ydHJhaXQtd2lkdGg6IDMyMHB4O1xuJHNjcmVlbi1pUGhvbmU4LXBvcnRyYWl0LXdpZHRoOiAzNzVweDtcbiRzY3JlZW4taVBob25lMTItcHJvLXdpZHRoOiAzOTBweDtcbiRzY3JlZW4taVBob25lOHBsdXMtcG9ydHJhaXQtd2lkdGg6IDQxNHB4O1xuJHNjcmVlbi1pUGFkTWluaS1wb3J0cmFpdC13aWR0aDogODgwcHg7XG4kc2NyZWVuLWlQYWRNaW5pLWxhbmRzY2FwZS13aWR0aDogMTAyNHB4O1xuXG4vLyBTY3JlZW4gd2lkdGggcGVyIGludGVyZmFjZVxuJHNjcmVlbi1tYWluLXBvcnRhbC1zaG9ydDogODkwcHg7XG5cblxuJG1pbi1zY3JlZW4td2lkdGg6IDMyMHB4O1xuJG5hdmJhci1tb2JpbGUtYnJlYWs6IDYwMHB4O1xuXG4kZXZlbnQtdGl0bGUtYmFyOiAwcHg7ICAgICAgICAgIC8vIChsZWdhY3kgc2xvdCwga2VwdCBhdCB6ZXJvOyBkbyBub3QgcmV1c2UpXG4kd29ya3NwYWNlLWJhci1oZWlnaHQ6IDBweDsgICAgICAgLy8gd29ya3NwYWNlIGJhciByZW1vdmVkIOKAlCBrZWVwaW5nIHRoZSB2YXJpYWJsZSBhdCAwIHNvIGFueSBkb3duc3RyZWFtIG9mZnNldHMgcmVzb2x2ZSBuYXR1cmFsbHkgKHVuaXQgb2JyaWdhdMOzcmlhIHByYSBjYWxjKCkgYy8gdmFyKCkgbsOjbyBxdWVicmFyKVxuJGxlZnQtY29sdW1uLWhlYWRlci1oZWlnaHQ6IDBweDsgIC8vIChsZWdhY3kgc2xvdCwga2VwdCBhdCB6ZXJvOyBkbyBub3QgcmV1c2Ug4oCUIGhlYWRlciBzdHJpcCByZW1vdmVkIGJ5IHJlcXVlc3QpXG4kZXhwZXJpbWVudGFsLXNpZGViYXItd2lkdGg6IDI0MHB4OyAvLyBleHBlcmltZW50YWwgc2luZ2xlLXNpZGViYXIgKGljb24rdGV4dCArIGFjY29yZGlvbiBjaGlsZHJlbiksIHNpdHMgdG8gdGhlIGxlZnQgb2YgdGhlIG9yaWdpbmFsIGNocm9tZSBmb3IgQS9CIGNvbXBhcmlzb25cbiRhY3Rpdml0eS1iYXItd2lkdGg6IDQ4cHg7ICAgICAgLy8gVlMgQ29kZS1zdHlsZSB2ZXJ0aWNhbCBpY29uIGJhciBvbiB0aGUgbGVmdCAoVFBDIGNoYWlyIHByaW1hcnkgbmF2aWdhdGlvbiBpbiBNb2Rlcm4pLiBJY29uLW9ubHksIDQww5c0MCBidXR0b25zLlxuJGNsYXNzaWMtdG9vbGJhci1oZWlnaHQ6IDU1cHg7ICAvLyBIb3Jpem9udGFsIHRvb2xiYXIgaGVpZ2h0IGluIENsYXNzaWMgbGF5b3V0LiBTaXplZCB0byBmaXQgYSBjb21wYWN0IGljb24tcGlsbCAoMjhweCkgKyB0aW55IGdhcCArIGxhYmVsICgxMHB4KSArIGJ1dHRvbiBwYWRkaW5nICsgc21hbGwgYnJlYXRoaW5nIHJvb20g4oCUIHRpZ2h0ZXIgdGhhbiB0aGUgaWNvbi1vbmx5IE1vZGVybiB2YXJpYW50IHNvIGljb24gYW5kIGxhYmVsIHJlYWQgYXMgYSB1bml0LlxuJGV2ZW50LWJyZWFkY3J1bWItaGVpZ2h0OiAzNnB4OyAvLyBUb3RhbCByZW5kZXJlZCBoZWlnaHQgb2YgdGhlIGJyZWFkY3J1bWIgKG1hdGNoZXMgYC5ldmVudC1icmVhZGNydW1iIHsgaGVpZ2h0OiAzNnB4IH1gIGluIGV2ZW50LWJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3Mg4oCUIHdpdGggdGhlIHByb2plY3QncyBnbG9iYWwgYGJveC1zaXppbmc6IGJvcmRlci1ib3hgLCB0aGUgMXB4IGBib3JkZXItYm90dG9tYCBpcyBJTkNMVURFRCBpbiB0aGUgMzZweCwgbm90IGFkZGVkIG9uIHRvcCkuIE1vZGVybiBsYXlvdXQgdXNlcyB0aGlzIGRpcmVjdGx5LlxuJGNsYXNzaWMtYnJlYWRjcnVtYi1oZWlnaHQ6IDI2cHg7IC8vIENvbXBhY3Qgb3ZlcnJpZGUgZm9yIENsYXNzaWMgb25seSDigJQgYXBwbGllZCB2aWEgdGhlIGAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpYCBibG9jayBpbiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzIChoZWlnaHQgKyBmb250ICsgaWNvbiBvdmVycmlkZXMgb24gdGhlIGJyZWFkY3J1bWIpIHNvIHRoZSBzdHJpcCByZWNvdmVycyB2ZXJ0aWNhbCBzcGFjZSBmb3IgdGhlIGNhbnZhcy5cbiRhZG1pbi1zdWJtZW51LXdpZHRoOiAxNjVweDsgICAgLy8gVFBDIGNoYWlyIHN1Yi1uYXZpZ2F0aW9uIHBhbmVsIChiZXR3ZWVuIGFjdGl2aXR5IGJhciBhbmQgY29udGVudClcbiRuYXZiYXItaGVpZ2h0OiA1NXB4O1xuJHByb3h5LWJhci1oZWlnaHQ6IDMwcHg7XG4kcHJveHktYmFyLW1hcmdpbi1zaXplOiA0NXB4O1xuJHNpZGVuYXYtd2lkdGg6IDIwMHB4O1xuJHNpZGVuYXYtbW9iaWxlLXdpZHRoOiAyNTBweDtcbiRjb250ZW50LXdpZHRoOiAkc2lkZW5hdi13aWR0aCArIDEwMHB4O1xuJGNvbnRlbnQtd2lkdGgtYWRtaW46IDBweDtcbiRzaWRlbmF2LW1pbmktd2lkdGg6IDQ1cHg7IC8vIHotaW5kZXhlc1xuJHNpZGVuYXYtYWRtaW4tbWluaS13aWR0aDogNzlweDtcbiRzaWRlYmFyLWNvbnRlbnQtei1pbmRleDogMTA7XG4kc2lkZWJhci16LWluZGV4OiAyMDtcbiRuYXZiYXItei1pbmRleDogMzE7XG4kcHJvZ3Jlc3MtYmFyLXotaW5kZXg6IDExMDA7ICAvLyBhYm92ZSBhbGwgYXBwIGNocm9tZSAod29ya3NwYWNlIGJhciwgYWN0aXZpdHkgYmFyLCBtYXQtZHJhd2VyKSBzbyB0aGUgbG9hZGluZyBpbmRpY2F0b3IgaXMgbmV2ZXIgY2xpcHBlZFxuJHByb2dyZXNzLWJhci1oZWlnaHQ6IDJweDtcbiRzaWRlYmFyLWJhY2tkcm9wLXotaW5kZXg6IDM1O1xuJHNpZGViYXItbW9iaWxlLXotaW5kZXg6IDQwO1xuJG5hdmJhci1pY29uLXNpemU6IDcycHg7XG5cbi8vIEZpbGUgaWNvbiBzaXplIHZhcmlhYmxlcy5cbiRmaWxlLWljb24tc2l6ZTogMzBweDtcbiRmaWxlLWljb24tc2l6ZS1zbWFsbGVyOiAkZmlsZS1pY29uLXNpemUgKiAwLjY7XG4kZmlsZS1pY29uLXNpemUtc21hbGxlci1mb250c2l6ZTogMC44cmVtO1xuXG5cbi8vIE1haW4gbGF5b3V0IHBhZGRpbmdzIG9yIG1hcmdpblxuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ6IDEuM3JlbTtcbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtOiAwLjVyZW07XG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtdGFibGV0OiAxcmVtO1xuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LW1vYmlsZTogMC41cmVtO1xuXG4vLyBzaXplIGZvciBhdmF0YXJcbiRhdmF0YXItc2l6ZTogMzZweDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGVsZXZhdGlvbiB0b2tlbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHdvIGNhbm9uaWNhbCB0aWVycyB1c2VkIGFjcm9zcyB0aGUgY2hhaXIgVUkgbWVudXM6XG4vLyAgIDEuIFBBTkVMICDigJQgYW5jaG9yZWQgbWVudXMgKHVzZXIgbWVudSwgbm90aWZpY2F0aW9ucywgZmx5b3V0KS5cbi8vICAgICAgICAgICAgICAgQXBwbGllZCB2aWEgYGZpbHRlcjogZHJvcC1zaGFkb3coLi4uKWAgc28gdGhlIHNoYWRvd1xuLy8gICAgICAgICAgICAgICBmb2xsb3dzIHRoZSBwYW5lbCBzaWxob3VldHRlIChpbmNsLiB0aGUgZmx5b3V0J3Ncbi8vICAgICAgICAgICAgICAgYXJyb3cgdGFpbCkuIERhcmsgbW9kZSBhZGRpdGlvbmFsbHkgZ2V0cyBhIDFweFxuLy8gICAgICAgICAgICAgICBvdXRsaW5lIHZpYSBgYm94LXNoYWRvdzogMCAwIDAgMXB4IDxkYXJrLWJvcmRlcj5gLFxuLy8gICAgICAgICAgICAgICBrZXB0IGlubGluZSBiZWNhdXNlIGl0J3MgYSBjb2xvdXItdG9rZW4gZGVjaXNpb25cbi8vICAgICAgICAgICAgICAgcmF0aGVyIHRoYW4gYW4gZWxldmF0aW9uIG9uZS5cbi8vICAgMi4gRkxPQVRJTkcg4oCUIGRyYWcgcHJldmlld3MgKGNka0RyYWcgY2xvbmVzKS4gU2xpZ2h0bHkgbGFyZ2VyXG4vLyAgICAgICAgICAgICAgICAgYmx1ciAvIGhlYXZpZXIgYWxwaGEgdGhhbiBwYW5lbHMg4oCUIGNvbW11bmljYXRlc1xuLy8gICAgICAgICAgICAgICAgIFwibGlmdGVkIGNsb25lXCIgdnMgXCJhbmNob3JlZCBwYW5lbFwiLlxuJHNoYWRvdy1wYW5lbC1saWdodDogICAgZHJvcC1zaGFkb3coMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMzIpKTtcbiRzaGFkb3ctcGFuZWwtZGFyazogICAgIGRyb3Atc2hhZG93KDAgNXB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjcpKTtcbiRzaGFkb3ctZmxvYXRpbmctbGlnaHQ6IDAgNnB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiRzaGFkb3ctZmxvYXRpbmctZGFyazogIDAgOHB4IDIycHggcmdiYSgwLCAwLCAwLCAwLjU1KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGNvcm5lciByYWRpdXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2luZ2xlIGNhbm9uaWNhbCByYWRpdXMgdXNlZCBhY3Jvc3MgdGhlIGNoYWlyIFVJOiBpbnRlcmFjdGl2ZSBwaWxsc1xuLy8gKHNpZGViYXIgaXRlbXMsIG1lbnUgaXRlbXMsIGZseW91dCBpdGVtcywgYnJlYWRjcnVtYiBzZWdtZW50cyxcbi8vIGNocm9tZSBidXR0b25zKSBBTkQgcGFuZWwgc3VyZmFjZXMgKG1hdC1tZW51LXBhbmVsLCBzaWRlYmFyIGhlYWRlcikuXG4vLyA2cHggaXMgdGhlIEdpdEh1Yi1zdHlsZSBcIm1vZGVybiBhcHBcIiBjb3JuZXIgdGhhdCByZWFkcyBhcyByb3VuZGVkXG4vLyB3aXRob3V0IGZlZWxpbmcgc29mdC4gQ2VudHJhbGlzZWQgaGVyZSBzbyBhbnkgZnV0dXJlIHR1bmluZyBvZiB0aGVcbi8vIGNoYWlyIFVJJ3MgY29ybmVyIGlkZW50aXR5IGlzIGEgc2luZ2xlLXRva2VuIGNoYW5nZS5cbiRjaHJvbWUtcmFkaXVzOiA2cHg7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBjb250cm9sIGhlaWdodFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBbHR1cmEgY2Fuw7RuaWNhIGRvcyBjb250cm9sZXMgaW50ZXJhdGl2b3MgZG8gSkVNUzMgKGNhaXhhcyBkZSBpbnB1dC9zZWxlY3Rcbi8vIGZpbHRlci1zdHlsZWQsIGRhdGVwaWNrZXIsIG51bWJlci1pbnB1dCwgY2hhaXItYnV0dG9uLCBzZWxldG9yIGRlIHJldmlzb3IgZGFcbi8vIHRhYmVsYSBkZSBzdWdlc3TDtWVzKS4gRm9udGUgw5pOSUNBIGRlIHZlcmRhZGU6IGFudGVzIGNhZGEgcHJlc2V0L2NvbXBvbmVudGVcbi8vIGhhcmRjb2RhdmEgYDM2cHhgIChkw6liaXRvIGRlIHRva2VuKS4gTXVkYXIgYXF1aSByZWZsZXRlIGVtIHRvZG9zLiBDb20gb1xuLy8gYGJveC1zaXppbmc6IGJvcmRlci1ib3hgIGdsb2JhbCwgZXN0YSBhbHR1cmEgSU5DTFVJIGJvcmRhICsgcGFkZGluZy5cbi8vXG4vLyBFc2NvbGhhIDI2cHggKDIwMjYtMDYpOiBhbGluaGEgY29tIGEgZGVuc2lkYWRlIG5hdGl2YSBkbyBtYWNPUyDigJRcbi8vICAg4oCiIG1hY09TIFJlZ3VsYXIgTlNUZXh0RmllbGQvTlNQb3BVcEJ1dHRvbiDiiYggMjItMjZweC5cbi8vICAg4oCiIFdpbmRvd3MgRmx1ZW50IDIgQ29tcGFjdCA9IDI0cHgsIERlZmF1bHQgPSAzMnB4IOKGkiAyNiBmaWNhIHByw7N4aW1vIGRvIGNvbXBhY3QuXG4vLyAgIOKAoiBXQ0FHIHRhcmdldCDiiaUgMjRweCBjdW1wcmlkby5cbiRjb250cm9sLWhlaWdodDogMjZweDtcblxuLy8gVGFtYW5obyBkZSBmb250ZSBkbyBDT05URcOaRE8gZG9zIGNvbnRyb2xlcyBkbyBjaGFpciBVSSAodmFsb3IgZGlnaXRhZG9cbi8vIG5vIGlucHV0LCBvcMOnw6NvIHNlbGVjaW9uYWRhIG5vIHNlbGVjdCwgbcOhc2NhcmEgZG8gZGF0ZXBpY2tlciwgbsO6bWVybykuXG4vLyBBbGluaGEgY29tIG8gYm9keSBiYXNlIGRvIEpFTVMzICgxM3B4IOKAlCB2ZXIgYGZlZWRiYWNrX2Jhc2VfYm9keV90ZXh0YClcbi8vIGUgY29tIG8gUmVndWxhciBkbyBtYWNPUyAoU0YgVGV4dCAxM3B0KS4gQW50ZXMgY2FkYSBwcmVzZXQgaGFyZGNvZGF2YVxuLy8gMTRweCAoaGVyYW7Dp2EgZG8gTWF0ZXJpYWwgMTEpIOKAlCB0b2tlbiDDum5pY28gYXF1aSBldml0YSBkcmlmdC5cbiRjb250cm9sLWZvbnQtc2l6ZTogMTNweDtcblxuLy8gUGVzbyBkbyBDT05URcOaRE8gZG9zIGNvbnRyb2xlcyAodGV4dG8gZGVudHJvIGRhIGNhaXhhOiB2YWxvciBkaWdpdGFkbyBub1xuLy8gaW5wdXQsIHZhbG9yIGV4aWJpZG8gbm8gdHJpZ2dlciBkbyBzZWxlY3QsIG3DoXNjYXJhIGRvIGRhdGVwaWNrZXIsIHBsYWNlaG9sZGVyLFxuLy8gcHJlZml4L3N1ZmZpeCkuIFBlc28gbm9ybWFsIOKAlCBuw6NvIGNvbXBldGUgY29tIGxhYmVscyBhZGphY2VudGVzLiBEaWZlcmVudGVcbi8vIGRvIHBlc28gZG9zIElURU5TIERFTlRSTyBkb3MgcGFpbsOpaXMgYWJlcnRvcyAoJG1lbnUtaXRlbS13ZWlnaHQgPSA1MDApLlxuJGNvbnRyb2wtY29udGVudC13ZWlnaHQ6IDQwMDtcblxuLy8gRm9udC13ZWlnaHQgZG9zIGl0ZW5zIGVtIE1FTlVTL1BBSU7DiUlTIChvcMOnw6NvIGRvIHNlbGVjdCwgaXRlbSBkbyBtZW51IGRlXG4vLyBjb250ZXh0bywgbGluaGEgZGEgbGlzdGEgZGUgZnVzbywgZXRjLikuIEFudGVzIGhhcmRjb2RlZCBlbSB+MTAgbHVnYXJlcy5cbiRtZW51LWl0ZW0td2VpZ2h0OiA0MDA7XG4kbWVudS1pdGVtLXdlaWdodC1zZWxlY3RlZDogNjAwO1xuJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ6IDQwMDsgICAvLyB0YWdzIFwiKGJyb3dzZXIpXCIvXCIoZXZlbnQpXCIsIG9mZnNldCBHTVRcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGVhc2luZyBmdW5jdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaW5nbGUgY2Fub25pY2FsIGVhc2luZyBjdXJ2ZSB1c2VkIGJ5IGV2ZXJ5IGFuaW1hdGlvbi90cmFuc2l0aW9uXG4vLyBhY3Jvc3MgdGhlIGNoYWlyIFVJIChzaWRlYmFyIHdpZHRoIHRvZ2dsZSwgYnJlYWRjcnVtYiBsZWZ0IHRyYWNraW5nLFxuLy8gZHJhZy1kcm9wIHJvdyBzaGlmdHMsIGV0Yy4pLiBTYW1lIHNoYXBlIGFzIE1hdGVyaWFsJ3MgXCJzdGFuZGFyZFwiXG4vLyBjdXJ2ZSDigJQgYSBxdWljayBzdGFydCBhbmQgYSBzbG93IGVhc2Utb3V0LiBEZWZpbmVkIG9uY2UgaGVyZSBzb1xuLy8gdGltaW5nIGNoYW5nZXMgY2FuIGJlIG1hZGUgaW4gb25lIHBsYWNlLlxuJGVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcblxuLy8gRHVyYcOnw6NvIGNhbsO0bmljYSBkYSBhbmltYcOnw6NvIGRlIGFiZXJ0dXJhL2ZlY2hhbWVudG8gZG8gc2lkZWJhciBleHBlcmltZW50YWxcbi8vIChtb2Rlcm5vKS4gVXNhZGEgcG9yOiBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHsgdHJhbnNpdGlvbjogd2lkdGggfWAgZSBwb3Jcbi8vIFRPRE8gZWxlbWVudG8gcXVlIHByZWNpc2UgZGVzbGl6YXIganVudG8gKGJyZWFkY3J1bWIsIHJlc2l6ZS1oYW5kbGUsIGV0Yy4pLlxuLy8gVGVyIHVtYSBmb250ZSDDum5pY2EgZXZpdGEgZHJpZnQgZW50cmUgZWxlcyDigJQgbXVkYXIgYXF1aSA9IHR1ZG8gZGVzbGl6YSBub1xuLy8gbWVzbW8gcml0bW8uXG4kZXhwZXJpbWVudGFsLXNpZGViYXItdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnOyAgIC8vIG1peGluIGBqZW1zMy1jb3VudC1iYWRnZWBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3TDo28gaWNvbi1vbmx5IGRlIGhlYWRlciAoY2hhaXItaGVhZGVyLWljb24tYnV0dG9uKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXNhZG8gbm9zIGhlYWRlcnMgZGFzIHDDoWdpbmFzIGRvIGF1dG9yL3Jldmlzb3IgKEV2ZW50b3MsIE1pbmhhc1xuLy8gc3VibWlzc8O1ZXMsIE1pbmhhcyByZXZpc8O1ZXMsIGV0Yy4pIHBhcmEgYcOnw7VlcyBjb21vIEZJTFRSQVIsIEJBSVhBUixcbi8vIGNvbmZpZ3VyYXIgdmlzdWFsaXphw6fDo28sIGV0Yy5cbi8vXG4vLyBPIGNvbnRlw7pkbyBkbyBtZW51L2HDp8OjbyBxdWUgbyBib3TDo28gZGlzcGFyYSDDqSByZXNwb25zYWJpbGlkYWRlIGRvXG4vLyBjb21wb25lbnRlIHBhaSAoaGFuZGxlcnMgYChjbGljaylgLCBbbWF0TWVudVRyaWdnZXJGb3JdLCBldGMuKTsgZXN0ZVxuLy8gYXJxdWl2byBjdWlkYSBBUEVOQVMgZG8gdmlzdWFsIOKAlCBnZW9tZXRyaWEsIGJvcmRhLCBob3ZlciwgYmFkZ2VzLFxuLy8gZXN0YWRvIFwibWVudSBhYmVydG9cIiBlIGRhcmstbW9kZS5cbi8vXG4vLyBWYXJpYW50ZXMgKG1vZGlmaWNhZG9yYXMgb3BjaW9uYWlzKTpcbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyYCAg4oaSIHNlbcOibnRpY2EgZGUgZmlsdHJvLlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1hY3Rpb25zYCDihpIgc2Vtw6JudGljYSBkZSBtZW51IGRlIGHDp8O1ZXMgKGRvd25sb2FkICsgYcOnw7VlcykuXG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24uaGFzLWFjdGl2ZWAgIOKGkiBlc3RhZG8gXCJhdGl2b1wiXG4vLyAgICAgKGV4LjogdGVtIGZpbHRyb3MgYXRpdm9zKSwgcHJlZW5jaGUgbyDDrWNvbmUgKEZJTEwgMSkgY29tXG4vLyAgICAgd2dodCA0MDAgZSBvcGFjaWRhZGUgMS5cbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi5tZW51LW9wZW5gIOKGkiBtZW51IGFiZXJ0byAoc2VsZWNpb25hZG8pLFxuLy8gICAgIGJvcmRhIGFjY2VudCAycHggc2luYWxpemFuZG8gYSBzZWxlw6fDo28gYXRpdmEuXG5cbiRjaGFpci1oZWFkZXItaWNvbi1idXR0b24tc2l6ZTogMzZweDtcblxuLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICRjaGFpci1oZWFkZXItaWNvbi1idXR0b24tc2l6ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6ICRjaGFpci1oZWFkZXItaWNvbi1idXR0b24tc2l6ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICRjaGFpci1oZWFkZXItaWNvbi1idXR0b24tc2l6ZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgLy8gYC5hcHAtaWNvbi1idXR0b25gIGdsb2JhbCAoZW0gYF9idXR0b24uc2Nzc2ApIGRlZmluZVxuICAvLyBgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRgIG5vIG1lc21vIG7DrXZlbCBkZSBlc3BlY2lmaWNpZGFkZSDigJQgc2VtXG4gIC8vIGAhaW1wb3J0YW50YCBhcXVpIGEgYm9yZGEgc29tZSBxdWFuZG8gbyBib3TDo28gdGFtYsOpbSB0ZW0gYXF1ZWxhIGNsYXNzZS5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxMDBtcyAkZWFzZS1vdXQ7XG5cbiAgLy8gSG92ZXIg4oCUIGJvcmRhIFwiZW5ncm9zc2FkYVwiIHZpYSBib3gtc2hhZG93IG91dHNldCAxcHggbmEgbWVzbWEgY29yXG4gIC8vIGRhIGJvcmRhIChuZXV0cmEpLiBaZXJvIGltcGFjdG8gZW0gbGF5b3V0IChib3JkZXIgcmVhbCBjb250aW51YSAxcHgpO1xuICAvLyBlZmVpdG8gdmlzdWFsIMOpIHVtYSBib3JkYSAyw5cgbWFpcyBncm9zc2EuXG4gIC8vXG4gIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYCBwcmVjaXNhIHNlciBwcmVzZXJ2YWRvIGV4cGxpY2l0YW1lbnRlIHBvcnF1ZSBvXG4gIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgIGFwbGljYSB1bSBjaW56YSBubyBob3Zlci9tZW51LW9wZW4gZG9cbiAgLy8gYC5hcHAtaWNvbi1idXR0b25gIGdsb2JhbCAobWFpcyBlc3BlY8OtZmljbyDigJQgYC5saWdodC10aGVtZSAuYXBwLWljb24tYnV0dG9uOmhvdmVyYCkuXG4gIC8vIEJvdMOjbyBkZXNhYmlsaXRhZG8gKGV4LjogXCIuLi5cIiBubyBtb2RvIGVkacOnw6NvIGRhIHDDoWdpbmEpIG7Do28gcmVhZ2UgYW8gaG92ZXI6IHNlbVxuICAvLyBib3JkYSBlbmdyb3NzYWRhIG5lbSBmdW5kby4gR3VhcmRhIHBvciBgLm1hdC1idXR0b24tZGlzYWJsZWRgIChjbGFzc2UgcXVlIG8gTWF0ZXJpYWxcbiAgLy8gc2VtcHJlIHDDtWUgbm8gbWF0LWJ1dHRvbiBkZXNhYmlsaXRhZG8pIEUgcG9yIGA6ZGlzYWJsZWRgLiBQYXJlYWRvIGNvbSBvIGd1YXJkIGRvXG4gIC8vIGZ1bmRvIGNpbnphIGRvIGAuYXBwLWljb24tYnV0dG9uOmhvdmVyYCBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYC5cbiAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gRGVzYWJpbGl0YWRvOiBjdXJzb3IgbmV1dHJvICsgYHBvaW50ZXItZXZlbnRzOiBub25lYC4gRXN0ZSDDumx0aW1vIG1hdGEgbyBgOmhvdmVyYFxuICAvLyBOQSBSQUlaIChvIGVsZW1lbnRvIG5lbSByZWNlYmUgZXZlbnRvcyBkZSBwb250ZWlybyksIGVudMOjbyBuZW5odW1hIHJlZ3JhIGRlIGhvdmVyXG4gIC8vIGRpc3BhcmEg4oCUIGluZGVwZW5kZW50ZSBkZSB0w6otbGFzIHRvZGFzIGd1YXJkYWRvLiDDiSB0YW1iw6ltIHVtIGRpYWduw7NzdGljbzogc2UgYWluZGFcbiAgLy8gaG91dmVyIGhvdmVyIGNvbSBpc3RvLCBvIGJvdMOjbyBOw4NPIGVzdMOhIGZpY2FuZG8gZGVzYWJpbGl0YWRvIChhw60gw6kgZmlhw6fDo28sIG7Do28gQ1NTKS5cbiAgJi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBTZWxlY2lvbmFkbyAobWVudSBhYmVydG8pIOKAlCBib3JkYSBhY2NlbnQgKG1lc21hIGZhbcOtbGlhIGRvIGJhZGdlKSxcbiAgLy8gc2luYWxpemFuZG8gYSBzZWxlw6fDo28gYXRpdmEuIEJvcmRhIHJlYWwgKyBib3gtc2hhZG93IG5hIGNvciBhY2NlbnRcbiAgLy8gcGFyYSB1bSBhbmVsIDJweCBsaW1wbyBlIHVuaWZvcm1lLlxuICAmLm1lbnUtb3BlbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBFc3RhZG8gXCJoYXMtYWN0aXZlXCIg4oCUIHVzYWRvIGVtIGZpbHRyb3MgcXVlIFTDik0gZmlsdHJvcyBhdGl2b3NcbiAgLy8gbWVzbW8gY29tIG8gbWVudSBmZWNoYWRvLiBTb2JyZXNjcmV2ZSBvIMOtY29uZSBwYXJhIGBmaWxsZWRgLlxuICAmLmhhcy1hY3RpdmUgLm1hdC1pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICB9XG5cbiAgLy8gQmFkZ2UgY29udGFkb3Ig4oCUIG7Dum1lcm8gb3BjaW9uYWwgbm8gY2FudG8gc3VwZXJpb3IgZGlyZWl0b1xuICAvLyAoZXguOiBuwrogZGUgZmlsdHJvcyBhdGl2b3MpLiBTZW1wcmUgYWNjZW50IGNvbG9yIHBhcmEgZGVzdGFjYXIuXG4gIC8vIEdlb21ldHJpYSB2aWEgbWl4aW4gY29tcGFydGlsaGFkbzsgcG9zaWNpb25hbWVudG8gKyBzb21icmEgbG9jYWlzLlxuICAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlIHtcbiAgICBAaW5jbHVkZSBqZW1zMy1jb3VudC1iYWRnZSgkYWNjZW50LWJhY2tncm91bmQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC02cHg7XG4gICAgcmlnaHQ6IC02cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbn1cblxuLy8gLS0tLSBEYXJrLW1vZGUgLS0tLVxuLy8gU29iZSBvIGTDrWdpdG8gfjFweCBlbSB0b2RvcyBvcyBiYWRnZXMgKGJlbGwsIHNlZywgY2hhaXItaGVhZGVyKSBub1xuLy8gZGFyaywgdmlhIGBwYWRkaW5nLWJvdHRvbWAuIFJlZ3JhIGdsb2JhbCDigJQgdml2ZSBhcXVpIChuw6NvIG5vIG1peGluKVxuLy8gcG9ycXVlIGAuZGFyay10aGVtZSAmYCBkZW50cm8gZG8gbWl4aW4gc29mcmUgc2NvcGluZyBuZ2NvbnRlbnQgZG9cbi8vIEFuZ3VsYXIgRW11bGF0ZWQgZSBuw6NvIGJhdGUgbm8gYm9keS5cbi5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2UsXG4uZGFyay10aGVtZSAuYmVsbC1iYWRnZSxcbi5kYXJrLXRoZW1lIC5zZWctYmFkZ2Uge1xuICAvLyBSZWR1emlyIGBsaW5lLWhlaWdodGAgKGVyYSAxNnB4ID0gaGVpZ2h0KSBmYXogYSBsaW5lLWJveCBkbyB0ZXh0b1xuICAvLyBlbmNvbGhlciBlIGZpY2FyIGFuY29yYWRhIG5vIHRvcG8gZG8gY29udGFpbmVyLiBEaWdpdCBkZXNjZSBtZW5vc1xuICAvLyA9IHZpc3VhbG1lbnRlIHNvYmUgfjJweC4gYHBhZGRpbmctYm90dG9tOiAycHhgIHNvemluaG8gbsOjbyBmdW5jaW9uYVxuICAvLyAoYm9yZGVyLWJveCArIGxpbmUtaGVpZ2h0PWhlaWdodCBmYXplbSBhIGxpbmUtYm94IG92ZXJmbG93IG9cbiAgLy8gY29udGVudC1ib3gsIGUgbyB0ZXh0byBmaWNhIG5hIG1lc21hIHBvc2nDp8OjbykuIGAhaW1wb3J0YW50YFxuICAvLyBwb3JxdWUgYSByZWdyYSBzY29wZWQgZG8gbWl4aW4gKGAudXNlci1ub3RpZmljYXRpb25zIC5iZWxsLWJhZGdlXG4gIC8vIFtfbmdjb250ZW50LXh4eF1gIDAsNCwwKSBzb2JyZXDDtWUgZXN0YSBnbG9iYWwgMCwyLDAuXG4gIGxpbmUtaGVpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vIE92ZXJyaWRlIGVzcGVjw61maWNvIGRvIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlYCBubyBkYXJrOiBhcXVpXG4vLyBvIGTDrWdpdG8gREVTQ0UgMnB4IChlbSB2ZXogZGUgc3ViaXIgY29tIGEgcmVncmEgYWNpbWEpLiBBcGxpY2FkbyBub3Ncbi8vIGJhZGdlcyBkb3MgYm90w7VlcyBkZSBmaWx0cm8gZGUgTWluaGFzIFN1Ym1pc3PDtWVzIGUgTWluaGFzIFJldmlzw7Vlcy5cbi8vIFJlc3RhdXJhIGxpbmUtaGVpZ2h0IGFvIHZhbG9yIG5hdHVyYWwgKyBwYWRkaW5nLXRvcCBwcmEgZW1wdXJyYXJcbi8vIGEgbGluZS1ib3ggKGUgbyBkw61naXRvIGRlbnRybyBkZWxhKSAycHggcHJhIGJhaXhvLlxuLmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSB7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwLjVweCAhaW1wb3J0YW50O1xufVxuXG4uZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xuICAvLyBDb3IgZG8gw61jb25lIOKAlCBhbnRlcyBmaWNhdmEgaW5kZWZpbmlkYSBlIGNhw61hIHByYSBwcmV0byAoaGVyZGFkb1xuICAvLyBkbyBib2R5IG5vIGRhcmspLCBpbnZpc8OtdmVsIHNvYnJlIGJnIGVzY3Vyby4gTm8gY2hhaXIgZnVuY2lvbmF2YVxuICAvLyBwb3IgcmVncmFzIGFuY2VzdHJhaXMgYWRtaW47IG5vcyB1c29zIGRvIGF1dG9yL3Jldmlzb3IgKGV4LjogcGFpbmVsXG4gIC8vIGRlIG5vdGlmaWNhw6fDtWVzKSBuw6NvIGNoZWdhdmEuIFNldGFyIGFxdWkgZmVjaGEgbyBnYXAgZ2xvYmFsbWVudGUuXG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAubWF0LWljb24geyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gIC8vIEd1YXJkYSBkZSBkaXNhYmxlZCB0YW1iw6ltIG5vIGRhcmsgKHBhciBkbyBndWFyZCBsaWdodCBsw6EgZW0gY2ltYSkuXG4gICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFNlbGVjaW9uYWRvIChtZW51IGFiZXJ0bykg4oCUIGJvcmRhIGFjY2VudCBkbyBEQVJLICgjRkJCRjI0LCBhbWJlci00MDApLiBBbnRlc1xuICAvLyByZXVzYXZhICRhY2NlbnQtYmFja2dyb3VuZCAoIzdDMkQxMiwgYnJpY2stcmVkIGRvIGxpZ2h0KSwgcXVlIGZpY2F2YSBcIm11ZGR5XCIgZVxuICAvLyBzZW0gY29udHJhc3RlIHNvYnJlIGEgc3VwZXJmw61jaWUgZXNjdXJhLiAkYWNjZW50LWJhY2tncm91bmQtZGFyayDDqSBvIHRva2VuIGRlXG4gIC8vIGFjY2VudCBwcsOzcHJpbyBkbyBkYXJrIChtZXNtbyBkbyBiYWRnZSBhYmFpeG8pIOKGkiBhbmVsIGxpbXBvIGUgbGVnw612ZWwuXG4gICYubWVudS1vcGVuIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJhZGdlIOKAlCBtZXNtYSBmYW3DrWxpYSBhY2NlbnQgZG8gZGFyayAoYW1iZXIpLiBUZXh0byBlc2N1cm8gcC8gY29udHJhc3RlIHNvYnJlIG9cbiAgLy8gYW1iZXIgY2xhcm8gKG5vIGxpZ2h0IMOpIGJyYW5jbyBzb2JyZSBicmljay1yZWQpLiBTw7Mgc29icmVzY3JldmUgY29yZXM7XG4gIC8vIGdlb21ldHJpYSB2ZW0gZG8gbWl4aW4uXG4gIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICB9XG59XG5cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW4gYGplbXMzLWNvdW50LWJhZGdlYCDigJQgRk9OVEUgw5pOSUNBIGRhIGdlb21ldHJpYSBkb3MgYmFkZ2VzXG4vLyBudW3DqXJpY29zIGRvIGFwcCAoY29udGFkb3IgZGUgbsOjby1saWRhcywgZmlsdHJvcyBhdGl2b3MsIGV0Yy4pLlxuLy9cbi8vIFZpdmUgZW0gYXJxdWl2byBkZWRpY2FkbyAoc2VtIGRlY2xhcmHDp8O1ZXMgQ1NTKSBwb3JxdWUgQGltcG9ydFxuLy8gU0FTUyBpbmNsdWkgVFVETyBkbyBhcnF1aXZvIGltcG9ydGFkby4gU2UgZXN0aXZlc3NlIGVtXG4vLyBgX2hlYWRlci1pY29uLWJ1dHRvbi5zY3NzYCAoY29tbyBlc3RhdmEgYW50ZXMpLCBxdWFscXVlciBjb21wb25lbnRlXG4vLyBxdWUgaW1wb3J0YXNzZSBwcmEgdXNhciBvIG1peGluIGFycmFzdGFyaWEgbyBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvblxuLy8geyBiYWNrZ3JvdW5kOiB3aGl0ZSB9YCBwcm8gc2V1IGVzY29wbyDigJQgY29saWRpbmRvIGNvbSBhIHZlcnPDo28gZ2xvYmFsXG4vLyB2aWEgQ1NTIHNjb3BlZCBkYSBBbmd1bGFyIChgX25nY29udGVudC0qYCksIHF1ZWJyYW5kbyBvIGRhcmstbW9kZS5cbi8vXG4vLyBDb25zdW1pZG9yZXMgYXR1YWlzOlxuLy8gICDigKIgYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2VgIChoZWFkZXItaWNvbi1idXR0b24sIGNvciBhY2NlbnQpXG4vLyAgIOKAoiBgLmJlbGwtYmFkZ2VgICh1c2VyLW5vdGlmaWNhdGlvbnMsIGNvciB3YXJuaW5nKVxuLy8gICDigKIgYC5zZWctYmFkZ2VgIChub3RpZmljYXRpb25zLWNlbnRlciwgY29yIHdhcm5pbmcpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBqZW1zMy1jb3VudC1iYWRnZSgkYmctY29sb3IsICR0ZXh0LWNvbG9yOiAjZmZmZmZmKSB7XG4gIC8vIEdlb21ldHJpYSArIHRpcG9ncmFmaWEgKyBjZW50cmFsaXphw6fDo28gYWxpbmhhZGFzIGFvXG4gIC8vIGAuc2lkZWJhci1pdGVtLWJhZGdlYCBkbyBtZW51IGxhdGVyYWwgKGF1dG9yL3Jldmlzb3IpOlxuICAvLyAgIHdlaWdodCA2MDAsIHBhZGRpbmcgYDAgNXB4YCwgY2VudHJhbGl6YcOnw6NvIHZpYVxuICAvLyAgIGBsaW5lLWhlaWdodDogMTZweCArIHRleHQtYWxpZ246IGNlbnRlcmAuIEFzc2ltIG9zIDQgYmFkZ2VzIGRvXG4gIC8vICAgYXBwIHJlbmRlcml6YW0gaWTDqm50aWNvcyBlbSBhbHR1cmEgZSBhbGluaGFtZW50byBkbyBnbHlwaC5cbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLy8gRGFyay1tb2RlOiBjb3JyZcOnw6NvIMOzcHRpY2Egdml2ZSBlbSByZWdyYSBHTE9CQUwgZm9yYSBkbyBtaXhpblxuICAvLyAodmlkZSBgX2hlYWRlci1pY29uLWJ1dHRvbi5zY3NzYCkuIE7Do28gcG9kZSBmaWNhciBhcXVpIHBvcnF1ZVxuICAvLyBxdWFuZG8gbyBtaXhpbiDDqSBpbmNsdcOtZG8gbnVtIFNDU1MgZGUgY29tcG9uZW50ZSwgbyBBbmd1bGFyXG4gIC8vIEVtdWxhdGVkIGFkaWNpb25hIGBbX25nY29udGVudC14eHhdYCBhIFRPRE9TIG9zIHNlbGVjdG9ycyxcbiAgLy8gaW5jbHVzaXZlIGAuZGFyay10aGVtZWAg4oCUIGUgbyBib2R5IChxdWUgdGVtIGAuZGFyay10aGVtZWApIG7Do29cbiAgLy8gdGVtIGVzc2UgYXRyaWJ1dG8sIHF1ZWJyYW5kbyBvIG1hdGNoLlxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm1hdC10b29sdGlwIHtcbiAgJi5jYXJkVG9vbHRpcCB7XG4gICAgYm94LXNoYWRvdzogJHRvb2x0aXAtc2hhZG93O1xuXG4gICAgYmFja2dyb3VuZDogJHRvb2x0aXAtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICB9XG59XG5cbi8vIFRvb2x0aXAgY3VzdG9tIGRvcyBwaWxscyBkZSBjcml0w6lyaW8gZG8gQ0FCRcOHQUxITyBkZSBzY29yZSAoTGlzdGEgZGUgU3VibWlzc8O1ZXMpLiBWaXZlIG5vIDxib2R5PlxuLy8gKGZvcmEgZG8gQ0RLIG92ZXJsYXkpLCBlbnTDo28gZXN0aWxpemFkbyBhcXVpIGVtIGVzY29wbyBnbG9iYWwg4oCUIElHVUFMIGFvIGJhbMOjbyBkbyBtYXQtdG9vbHRpcDpcbi8vIGNpbnphIG5vIGNsYXJvLCBjbGFybyBubyBlc2N1cm8uIENvbnRlw7pkbyA9IGxlZ2VuZGEgTVVMVEktTElOSEEgKHTDrXR1bG8gKyBcInZhbG9yOiBkZXNjcmnDp8Ojb1wiIHBvclxuLy8gbGluaGEsIGNvbSBcXG4pOiBgd2hpdGUtc3BhY2U6IHByZS1saW5lYCBwcmVzZXJ2YSBhcyBxdWVicmFzOyBgdGV4dC1hbGlnbjogbGVmdGAgcG9ycXVlIMOpIGxlZ2VuZGEuXG4uc2ctY3JpdC10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgOTcsIDk3LCAwLjkyKTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmRhcmstdGhlbWUgLnNnLWNyaXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbiAgY29sb3I6ICRncmF5LTkwMDtcbn1cblxuLy8gRGFyay1tb2RlIHRvb2x0aXBzOiBpbnZlcnQgTWF0ZXJpYWwncyBkZWZhdWx0IGRhcmsgYmFsbG9vbiB0byBhIGxpZ2h0XG4vLyBiYWxsb29uIHdpdGggZGFyayB0ZXh0IHNvIHRvb2x0aXBzIHJlbWFpbiBsZWdpYmxlIGFnYWluc3QgdGhlIGRhcmsgVUlcbi8vIGNocm9tZS4gTGl2ZXMgYXQgYm9keSBzY29wZSBiZWNhdXNlIG1hdC10b29sdGlwIGlzIHJlbmRlcmVkIGluIHRoZSBDREtcbi8vIG92ZXJsYXkgY29udGFpbmVyIChzaWJsaW5nIG9mIHRoZSBhcHAgcm9vdCwgYnV0IHN0aWxsIHVuZGVyIGJvZHkgd2hlcmVcbi8vIC5kYXJrLXRoZW1lIGlzIGFwcGxpZWQpLlxuLmRhcmstdGhlbWUgLm1hdC10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkZ3JheS05MDAgIWltcG9ydGFudDtcbn1cbiIsIi5ub3RpZmljYXRpb24tbWVudSB7XG4gIGJ1dHRvbi5tYXQtbWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgdGV4dC1vdmVyZmxvdzogaW5pdGlhbDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgcGFkZGluZzogMXJlbSAycmVtO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1haW4tdGhlbWUtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLnRpbWUge1xuICAgICAgbWFyZ2luLXRvcDogLjVlbTtcblxuICAgICAgbWF0LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJhcHAtc2lkZWJhciB7XG4gIG1hdC1zaWRlbmF2IHtcbiAgICAubWF0LWxpc3QgLm1hdC1saXN0LWl0ZW0gLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnM7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0IGJ1dHRvbi5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMnM7XG4gICAgICBjb2xvcjogJG5hdmJhci1pY29uLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubWluaSB7XG4gICAgbWF0LXNpZGVuYXYge1xuICAgICAgLm1hdC1saXN0IC5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3M7XG4gICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2lkZW5hdiAubWF0LWljb24gc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgfVxufVxuXG5hcHAtYWRtaW4tZXZlbnQtc2lkZWJhciB7XG4gIG1hdC1zaWRlbmF2IHtcbiAgICAubWF0LWxpc3Qge1xuICAgICAgLm1hdC1saXN0LWl0ZW0gLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tZW51IHtcbiAgICAgIC5tYXQtZHJhd2VyLWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgbWF0LWxpc3Qge1xuICAgICAgICAgICYuYm90dG9tLWFsaWduZWQge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnbWl4aW5zJzsgICAgICAgIC8vIGplbXMtc2VsZWN0ZWQtY2hlY2sgKGNoZWNrIFNGLXN0eWxlIGNvbXBhcnRpbGhhZG8pXG5AaW1wb3J0ICdkcmFnLWhhbmRsZSc7XG5cbi8vIENocm9tZSBHTE9CQUwgZG8gbWF0LW1lbnUgKHBhaW5lbCArIGl0ZW5zICsgc3dpdGNoZXJzIGRvIHVzZXItbWVudSBjaGFpcikuXG4vLyBSZWdyYXMgUExBTkFTIChzZW0gYDo6bmctZGVlcGApIHBlbG8gTUVTTU8gbW90aXZvIGrDoSBkb2N1bWVudGFkbyBubyBibG9jb1xuLy8gYC52aWV3LXByb2ZpbGUtbWVudWAgbm8gZmltIGRlc3RlIGFycXVpdm86IG51bSBzdHlsZXNoZWV0IEdMT0JBTCBvIGA6Om5nLWRlZXBgXG4vLyB2aXJhIHBzZXVkbyBpbnbDoWxpZG8g4oaSIG8gYnJvd3NlciBkZXNjYXJ0YSBhIHJlZ3JhOyBhIMO6bmljYSBjw7NwaWEgcXVlIGZ1bmNpb25hdmFcbi8vIGVyYSBJTkpFVEFEQSBwb3IgdW0gY29tcG9uZW50ZSBFbXVsYXRlZCBxdWUgaW1wb3J0YSBlc3RlIGFycXVpdm8gKGF2YXRhci1wcm9maWxlXG4vLyBldGMuKSwgcHJlc2VudGUgZW0gcXVhc2UgdG9kYSB0ZWxhIOKAlCBNQVMgbsOjbyBubyBzaGVsbCBgP3ZpZXdNb2RlPWZ1bGxgXG4vLyAocmVuZGVyaXphIHPDsyBgPHJvdXRlci1vdXRsZXQ+YCksIG9uZGUgbyBwYWluZWwgZG8gbWF0LW1lbnUgcGVyZGlhIG8gcGFkZGluZ1xuLy8gbGF0ZXJhbCAoNHB44oaSMCkuIFBsYW5hcywgdmFsZW0gU0VNUFJFIHZpYSBgX2NvcmUuc2Nzc2AsIG5vcyBkb2lzIG1vZG9zLlxuLy8gKEEgaW5kZW50YcOnw6NvIGEgc2VndWlyIMOpIHZlc3TDrWdpbyBkbyBhbnRpZ28gd3JhcHBlciBgOjpuZy1kZWVwYC4pXG4gICAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIChSZW1vdmVkKSBFeHBlcmltZW50YWwgc2lkZWJhciBmbHlvdXQgbWF0LW1lbnUgc3R5bGVzLlxuICAgIC8vIFRoZSBmbHlvdXQgaXMgbm93IGEgY3VzdG9tIGA8YXNpZGUgY2xhc3M9XCJleHBlcmltZW50YWwtZmx5b3V0XCI+YFxuICAgIC8vIGVsZW1lbnQgcmVuZGVyZWQgYXQgdGhlIC5zaWRlYmFyIHJvb3QgYnkgYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYFxuICAgIC8vIChzZWUgYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyBmb3IgaXRzIHN0eWxpbmcpLiBUaGUgb2xkXG4gICAgLy8gYC5tYXQtbWVudS1wYW5lbC5leHBlcmltZW50YWwtZmx5b3V0LW1lbnVgIHJ1bGUgdHJlZSB0aGF0IHVzZWQgdG9cbiAgICAvLyBsaXZlIGhlcmUgd2FzIGRlbGV0ZWQgdG8gYXZvaWQgZnJhbWV3b3JrIGZpZ2h0cyAobWF0LW1lbnUnc1xuICAgIC8vICFpbXBvcnRhbnQgc2l6aW5nLCBDREsgb3ZlcmxheSBpbmxpbmUgcG9zaXRpb25pbmcsIGF1dG8tY2xvc2Ugb25cbiAgICAvLyBpdGVtIGNsaWNrKS4gVGhlIGxpZ2h0L2RhcmsgdGhlbWUgcnVsZXMgZm9yIGAuZXhwZXJpbWVudGFsLWZseW91dGBcbiAgICAvLyBsaXZlIGluIGBfY29sb3Itc2NoZW1lLnNjc3NgLlxuXG4gICAgLm1hdC1tZW51LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gMzBweCBjYXNhIGEgYWx0dXJhIGRvcyBpdGVucyBkbyBzaWRlYmFyIGRvIGNoYWlyXG4gICAgICAgIC8vIChgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW1gKSDigJQgbyBjb21lbnTDoXJpbyBhYmFpeG8gasOhIGRlY2xhcmF2YSBhXG4gICAgICAgIC8vIGludGVuw6fDo28gKFwic2FtZSBkZWZpbml0aW9ucyBhcyB0aGUgc3VibWVudSBpdGVtcyBpbiB0aGUgY2hhaXIgc2lkZWJhclwiKSxcbiAgICAgICAgLy8gbWFzIG8gdmFsb3IgZXN0YXZhIGVtIDM2cHguIEFsaW5oYWRvLlxuICAgICAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAycHggMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwIDEycHggIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICAvLyBgcGFkZGluZy10b3A6IDRweGAgZm9pIHJlbW92aWRvOiBjb20gYGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyYFxuICAgICAgICAgICAgLy8gbm8gaXRlbSwgbyDDrWNvbmUgSsOBIMOpIGNlbnRyYWRvIHZlcnRpY2FsbWVudGUuIE8gcGFkZGluZyBlbXB1cnJhdmEgb1xuICAgICAgICAgICAgLy8gw61jb25lIDRweCBwcmEgYmFpeG8sIGRlc2xvY2FuZG8tbyBlbSByZWxhw6fDo28gYW8gcsOzdHVsbyDigJQgZGVzYWxpbmhhbWVudG9cbiAgICAgICAgICAgIC8vIHZpc8OtdmVsIHByaW5jaXBhbG1lbnRlIG5vIHVzZXItbWVudSAoYC50cGMtdXNlci1tZW51YCksIG9uZGUgb3MgaXRlbnNcbiAgICAgICAgICAgIC8vIGNvbnZpdmVtIGNvbSB3aWRnZXRzIHF1ZSBqw6EgYW5jb3JhbSBvIMOtY29uZSBubyBjZW50cm8uXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tYXQtZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBUUEMgY2hhaXIgYXJlYSB1c2VyIG1lbnUg4oCUIHRleHQgaXRlbXMgZm9sbG93IHRoZSBzYW1lIGRlZmluaXRpb25zIGFzXG4gICAgLy8gdGhlIHN1Ym1lbnUgaXRlbXMgaW4gdGhlIGNoYWlyIHNpZGViYXIuIFRoZSB0aGVtZSArIGxhbmd1YWdlIHJvd3MgYXJlXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IHRvIHRoZSBnbG9iYWwgZGVmYXVsdHMgKHRoZXkncmUgaWNvbi1vbmx5IGFuZCBuZWVkXG4gICAgLy8gdGhlaXIgb3duIHRyZWF0bWVudCBsYXRlcikuXG4gICAgLy8gU2VsZXRvciBjb2JyZSBBTUJPUzogYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51YCAobGVnYWRvIG1hdC1tZW51KVxuICAgIC8vIGUgYC50cGMtdXNlci1tZW51YCBzdGFuZGFsb25lIChwb3BvdmVyLWJhc2VkLCBGYXNlIDHigJM1KS5cbiAgICAvLyDilZDilZDilZAgR2VvbWV0cmlhIGRvcyBpdGVucyBlbSBgLnRwYy11c2VyLW1lbnVgIC8gYC5jb250YWluZXItb3B0aW9uYCDilZDilZDilZBcbiAgICAvLyBGT05URSDDmk5JQ0EgZGUgYWx0dXJhL3BhZGRpbmcvw61jb25lIGRvcyBtZW51cyBKRU1TMyBtb2Rlcm5vcyAodXNlci1tZW51LFxuICAgIC8vIFwiLi4uXCIgZG9zIGFjdGlvbnMtbWVudS1idXR0b24sIGJyZWFkY3J1bWIsIHN1Ym1pc3Npb24tbGlzdCwgdmlldy1wcm9maWxlLFxuICAgIC8vIGNvbG9yLXBpY2tlciwgbGFuZGluZywgZXRjLikuIEFudGVzIGVzc2EgZ2VvbWV0cmlhIHZpdmlhIGVtXG4gICAgLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKGZvcmEgZG8gZXNjb3BvIGRlc3NlIGFycXVpdm8sIHF1ZSBkZXZpYSBzZXIgc8OzIGNvcikuXG4gICAgLy9cbiAgICAvLyBCYXNlID0gMjZweCAoZGVuc28sIGNhc2EgYC5qZW1zMy1zZWxlY3QtcGFuZWxgKS4gRXhjZcOnw6NvID0gdXNlci1tZW51XG4gICAgLy8gPSAyOHB4IHZpYSBjbGFzc2UgZGlzdGludGl2YSBgLnVzZXItbWVudWAgbm8gd3JhcHBlciBkbyBhdmF0YXItcHJvZmlsZS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSxcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIEV4Y2XDp8OjbyBwcm8gdXNlci1tZW51IChhdmF0YXItcHJvZmlsZSk6IDI4cHgg4oCUIG1haXMgcmVzcGlybyBlbSBtZW51XG4gICAgLy8gbG9uZ28gY2hlaW8gZGUgb3DDp8O1ZXMuIEVzcGVjaWZpY2lkYWRlICgwLDIsMCkgaWd1YWwgw6AgYmFzZTsgYSBlc3BlY8OtZmljYVxuICAgIC8vIHZlbmNlIHBvciBvcmRlbSAoZGVjbGFyYWRhIGRlcG9pcykuXG4gICAgLnRwYy11c2VyLW1lbnUudXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51LnVzZXItbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIEljb24gZ2VvbWV0cnkg4oCUIGNvbXVtIGEgdG9kb3Mgb3MgbWVudXMgY29tIGAudHBjLXVzZXItbWVudWAvYC5jb250YWluZXItb3B0aW9uYC5cbiAgICAvLyBQZXNvL0ZJTEwgYW5pbWFtIG5vIGhvdmVyIChlZmVpdG8gZGUgXCJhY2VuZGVyXCIgbyDDrWNvbmUgZGEgb3DDp8OjbyBzb2IgbyBjdXJzb3IpLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAgICAgLy8gU2VtIHRyYW5zacOnw6NvOiBtdWRhbsOnYSBkZSBwZXNvL2ZpbGwgaW5zdGFudMOibmVhIChlc3RpbG8gbWFjT1MpLlxuICAgIH1cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xuICAgIH1cbiAgICAvLyBMZWFkaW5nIGNvbSBmbGFnIGVtb2ppIChlbSB2ZXogZGUgbWF0LWljb24pIOKAlCBlc3BlbGhhciBnZW9tZXRyaWEuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLmZsYWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdOb3RvIENvbG9yIEVtb2ppJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51LFxuICAgIC50cGMtdXNlci1tZW51IHtcblxuICAgICAgICAvLyBTdXByaW1lIG8gZWZlaXRvIHJpcHBsZSBkbyBNYXRlcmlhbCBlbSBUT0RPUyBvcyBtYXQtbWVudS1pdGVtc1xuICAgICAgICAvLyBkbyB1c2VyIG1lbnUg4oCUIGZlZWRiYWNrIGRlIGNsaXF1ZSBhcXVpIGZpY2EgcG9yIGNvbnRhIGRvXG4gICAgICAgIC8vIGhvdmVyIGJnICsgYcOnw6NvIGltZWRpYXRhICh0cm9jYSBkZSB0ZW1hL2xheW91dC9pZGlvbWEsXG4gICAgICAgIC8vIG5hdmVnYcOnw6NvKS4gTyByaXBwbGUgbsOjbyBjb21iaW5hIGNvbSBvIHJlc3RhbnRlIGRvIGNoYWlyIFVJXG4gICAgICAgIC8vIChlc3RpbG8gdGlwb2dyw6FmaWNvL21pbmltYWwgw6AgbGEgTm90aW9uL0xpbmVhcikuXG4gICAgICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtcmlwcGxlLFxuICAgICAgICAubWF0LW1lbnUtaXRlbSAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG9wIDhweCBtYXRjaGVzIHRoZSBsYXRlcmFsIGluc2V0IChwYW5lbCA0cHggKyBpdGVtIG1hcmdpbiA0cHggPVxuICAgICAgICAvLyA4cHgpLiBCb3R0b20gdXNlcyA1cHggdG8gY29tcGVuc2F0ZSBmb3IgdGhlIHBlci1pdGVtIDFweCBtYXJnaW4tXG4gICAgICAgIC8vIGJvdHRvbSAoc28gdGhlIHZpc2libGUgc3BhY2UgYmVsb3cgdGhlIGxhc3Qgcm93IOKJiCA2cHgsIGp1c3QgdW5kZXJcbiAgICAgICAgLy8gdGhlIDhweCB0b3ApLCBzaW5jZSBpdGVtcyBkb24ndCBjYXJyeSBhIG1hcmdpbi10b3AuXG4gICAgICAgIHBhZGRpbmc6IDhweCA0cHggNXB4IDRweCAhaW1wb3J0YW50O1xuICAgICAgICAvLyA2cHggcGFuZWwgY29ybmVycyAoR2l0SHViLXN0eWxlKSDigJQgbW9kZXJuIFBXQSByYWRpdXMgd2l0aG91dFxuICAgICAgICAvLyBtYWtpbmcgdGhlIGNocm9tZSBmZWVsIFwic29mdFwiOyBtYXRjaGVzIHRoZSA2cHgtcmFkaXVzIG9mIHRoZVxuICAgICAgICAvLyBpbm5lciBpdGVtIHBpbGxzIGZvciBhIGNvaGVyZW50IGNvcm5lciBmYW1pbHkuIFNoYWRvdyBsaXZlcyBpblxuICAgICAgICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCAodGhlbWUtYXdhcmUpLlxuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIFNlY3Rpb24gZGl2aWRlcnMg4oCUIGtlZXAgdGhlbSB2aXN1YWxseSBjbGVhciBvZiB0aGUgaXRlbSBob3ZlclxuICAgICAgICAvLyBwaWxscyBhYm92ZS9iZWxvdyBzbyB0aGUgZ3JvdXBzIHJlYWQgYXMgZGlzY3JldGUgYmxvY2tzLiBMYXRlcmFsXG4gICAgICAgIC8vIG1hcmdpbnMgYXJlIE5FR0FUSVZFIDRweCBzbyB0aGUgbGluZSBlc2NhcGVzIHRoZSBwYW5lbCdzIDRweFxuICAgICAgICAvLyBsZWZ0L3JpZ2h0IHBhZGRpbmcgYW5kIHJ1bnMgZWRnZS10by1lZGdlIGFjcm9zcyB0aGUgZnVsbCBwYW5lbFxuICAgICAgICAvLyB3aWR0aCAoaW5zdGVhZCBvZiBzaXR0aW5nIGluZGVudGVkIGxpa2UgdGhlIGl0ZW0gcGlsbHMgYWJvdmUvYmVsb3cpLlxuICAgICAgICAubWF0LWRpdmlkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA2cHggLTRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVncmFzIGRlIGdlb21ldHJpYSBkZSBgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW1gIGFnb3JhXG4gICAgICAgIC8vIHZpdmVtIG5vIGVzY29wbyBgOjpuZy1kZWVwYCBkaXJldG8gKGFjaW1hKSwgcHJhIG7Do28gZGVwZW5kZXJlbVxuICAgICAgICAvLyBkYSBjbGFzc2UgYHRwYy11c2VyLW1lbnVgIHByb3BhZ2FyIGF0w6kgbyBwYWluZWwuXG5cbiAgICAgICAgLy8gQ29tcGFjdCBsYW5ndWFnZSBzd2l0Y2hlciAoZmxhZy1vbmx5IGJ1dHRvbnMpLiBObyByaWdodCBtYXJnaW4g4oCUXG4gICAgICAgIC8vIGVhY2ggZmxhZyBpcyBjZW50cmVkIGluc2lkZSBpdHMgNDTDlzMyIGNlbGwsIG5vIGxhYmVsIGZvbGxvd2luZy5cbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtIC5mbGFnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ05vdG8gQ29sb3IgRW1vamknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC8vIFRoZW1lIHN3aXRjaGVyIHJvdyDigJQgY2VudGVyIHRoZSB0aHJlZSBvcHRpb25zIGFzIGEgdGlnaHQgY2x1c3RlclxuICAgICAgICAvLyAob3ZlcnJpZGUgdGhlIGNvbXBvbmVudCdzIGBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW5gICsgcGVyLVxuICAgICAgICAvLyBidXR0b24gbGF0ZXJhbCBtYXJnaW5zKSBhbmQgc3RyaXAgdGhlIGdsb2JhbCBtYXQtbWVudS1pdGVtIHZlcnRpY2FsXG4gICAgICAgIC8vIG1hcmdpbiBzbyB0aGUgcm93IGh1Z3MgdGhlIGRpdmlkZXJzIHdpdGhvdXQgZXh0cmEgcGFkZGluZy5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSxcbiAgICAgICAgLmNvbnRhaW5lci1sYXlvdXQsXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZ2FwOiA0cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBBY3RpdmUgb3B0aW9uIOKAlCBjdXJzb3IgZGVmYXVsdCBzw7MgcHJhIGNvbXVuaWNhciB2aXN1YWxtZW50ZVxuICAgICAgICAvLyBxdWUgbyBjZWxsIG7Do28gw6kgaW50ZXJhdGl2byAoYSBsw7NnaWNhIGRlIG5vLW9wIGVzdMOhIG5vXG4gICAgICAgIC8vIHRlbXBsYXRlIHZpYSBgc3RvcFByb3BhZ2F0aW9uYCArIGBkaXNhYmxlUmlwcGxlYCkuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgICAgICAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24ge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gYDpub3QoLi4uKWAgYnVtcHMgc3BlY2lmaWNpdHkgcGFzdCB0aGUgYXZhdGFyLXByb2ZpbGUgY29tcG9uZW50J3NcbiAgICAgICAgLy8gdmlldy1lbmNhcHN1bGF0ZWQgYDpmaXJzdC1jaGlsZGAgLyBgOmxhc3QtY2hpbGRgIG1hcmdpbiBydWxlcy5cbiAgICAgICAgLy8gV2lkZXIgNDTDlzMyIGNlbGxzIHdpdGggYSA2cHgtcmFkaXVzIHBpbGwg4oCUIGV4dHJhIGhvcml6b250YWwgcm9vbVxuICAgICAgICAvLyBnaXZlcyB0aGUgYWN0aXZlIGhpZ2hsaWdodCBhIG1vcmUgc3Vic3RhbnRpYWwgY2hpcCB3aXRob3V0IHB1c2hpbmdcbiAgICAgICAgLy8gdGhlIGJ1dHRvbnMgYXBhcnQgdmlzdWFsbHkuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW06bm90KC50cGMtbm8tc3VjaC1jbGFzcyksXG4gICAgICAgIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtOm5vdCgudHBjLW5vLXN1Y2gtY2xhc3MpLFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW06bm90KC50cGMtbm8tc3VjaC1jbGFzcykge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGVtZSBzd2l0Y2hlciBpY29ucyAobGlnaHQvZGFyay9zeXN0ZW0pLiBOb3JtYWxpemVkIHRvIHRoZVxuICAgICAgICAvLyBzeXN0ZW0td2lkZSBpY29uLWF4aXMgbGFkZGVyOiBgd2dodCAzMDAgLyBGSUxMIDBgIGF0IHJlc3Qg4oaSXG4gICAgICAgIC8vIGB3Z2h0IDQwMCAvIEZJTEwgMWAgd2hlbiB0aGUgb3B0aW9uIGlzIHRoZSBjdXJyZW50IHRoZW1lXG4gICAgICAgIC8vIChgLmhpZ2hsaWdodC1idXR0b25gKS4gVGhlIEZJTEwgdHJhbnNpdGlvbiBpcyB3aGF0IGNhcnJpZXMgdGhlXG4gICAgICAgIC8vIFwic2VsZWN0ZWRcIiBjdWUgaGVyZSAocmVzdCBvZiB0aGUgY2hhaXIgVUkga2VlcHMgRklMTCAwIGFsd2F5cyxcbiAgICAgICAgLy8gYnV0IHNlbGVjdGlvbiBpbnNpZGUgdGhpcyB3aWRnZXQgaXMgZXhhY3RseSB0aGUgdXNlLWNhc2UgZm9yXG4gICAgICAgIC8vIHRoZSBmaWxsIGF4aXMg4oCUIHNhbWUgZXhjZXB0aW9uIHdlIG1ha2UgZm9yIHRoZSBmYXZvcml0ZSBzdGFyKS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgICAgICAgICAvLyBTZW0gdHJhbnNpw6fDo286IG11ZGFuw6dhIGRlIHBlc28vZmlsbCBpbnN0YW50w6JuZWEgKGVzdGlsbyBtYWNPUykuXG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgYWN0aXZlIHRoZW1lIGJ1dHRvbiBpcyBhbHNvIGBbZGlzYWJsZWRdYDsgZm9yY2UgZnVsbCBvcGFjaXR5XG4gICAgICAgIC8vIHNvIHRoZSBmaWxsZWQgaWNvbiByZWFkcyBhcyBhIHNlbGVjdGVkIHN0YXRlLCBub3QgYSBkaW1tZWQgY29udHJvbC5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbi8vIEJhcnJhIGRlIHJvbGFnZW0gSE9SSVpPTlRBTCBmYW50YXNtYSBkbyBtb2RhbCBkZSBlZGnDp8OjbyBkZSB0ZW1wbGF0ZS4gTyBNYXRlcmlhbCBkw6Fcbi8vIGBvdmVyZmxvdzogYXV0b2AgVEFOVE8gbm8gYC5tYXQtZGlhbG9nLWNvbnRhaW5lcmAgUVVBTlRPIG5vIGAubWF0LWRpYWxvZy1jb250ZW50YCwgZVxuLy8gYXBsaWNhIGBtYXJnaW46IDAgLTI0cHhgIG5vIGNvbnRlbnQgKGNvbSBib3gtc2l6aW5nIGJvcmRlci1ib3ggZ2xvYmFsLCBvIGNvbnRlbnQgZmljYVxuLy8gNDhweCBtYWlzIGxhcmdvIHF1ZSBhIMOhcmVhIGRvIGNvbnRhaW5lciwgZW5jb3N0YW5kbyBubyBwYWRkaW5nKS4gTyBgb3ZlcmZsb3cteDpoaWRkZW5gXG4vLyBkbyBjb21wb25lbnRlIGNvYnJlIHPDsyBvIGNvbnRlbnQ7IG8gQ09OVEFJTkVSIGNvbnRpbnVhdmEgcG9kZW5kbyByb2xhciBubyBlaXhvIFguIENvcnRhclxuLy8gc8OzIG8gWCBubyBjb250YWluZXIgZWxpbWluYSBhIGZhbnRhc21hIHNlbSBhZmV0YXIgbyBzY3JvbGwgdmVydGljYWwgaW50ZXJubyBkbyBjb250ZcO6ZG8uXG4uZW1haWwtdGVtcGxhdGUtZWRpdC1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLy8gU3VwZXJmw61jaWUgVElOR0lEQSAoY2luemEtcGVkcmEpIG5vIGxpZ2h0LCBwLyBvcyBjYW1wb3MgYnJhbmNvcyBcImVsZXZhcmVtXCJcbiAgICAvLyAobWFpcyBjb250cmFzdGUvcHJvZnVuZGlkYWRlIHF1ZSBvIG1vZGFsIHRvZG8gYnJhbmNvKS4gRGFyayBzb2JyZXNjcmV2ZSBhYmFpeG8uXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xufVxuXG4vLyBTdXBlcmbDrWNpZSBkbyBtb2RhbCBkZSBlZGnDp8OjbyBkZSB0ZW1wbGF0ZSBubyBEQVJLIOKAlCBlc2NhbGEgUVVFTlRFIGRvIEpFTVMzXG4vLyAoZW0gdmV6IGRvIGNpbnphIGZyaW8gcGFkcsOjbyBkbyBNYXRlcmlhbCksIGVzY29wYWRhIGFvIHBhbmVsQ2xhc3MgZG8gZGnDoWxvZ28uXG4vLyBOw612ZWwgXCJzdXBlcmbDrWNpZVwiICgjMjYyNjI2KTsgaW5wdXRzIGZpY2FtIHJlY3VhZG9zICgjMjAyMDIwKSBlIGNoaXBzIGVsZXZhZG9zXG4vLyAoIzM0MzMyZiksIGRlZmluaWRvcyBub3MgcmVzcGVjdGl2b3MgY29tcG9uZW50ZXMuIEJvcmRhIGRlc2NvbGEgZG8gZnVuZG8gZXNjdXJvLlxuLmRhcmstdGhlbWUgLmVtYWlsLXRlbXBsYXRlLWVkaXQtZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gUG9wb3ZlciBmbHV0dWFudGUgZGUgYnVzY2EgZGUgZGVzdGluYXTDoXJpbyAoYWJlcnRvIHBlbG8gY2hpcCBcIitcIikuIENvbnRlw7pkb1xuLy8gdml2ZSBubyBvdmVybGF5IOKGkiBlc3RpbG9zIGdsb2JhaXMuIE8gYXBwLXVzZXItc2VhcmNoIGUgbyBib3TDo28gXCJBZGljaW9uYXJcIlxuLy8gasOhIHPDo28gdGVtw6F0aWNvczsgYXF1aSBzw7MgbyBcImNhcnTDo29cIiArIHJldGVtYXRpemFyIG8gY2FtcG8gZGUgYnVzY2Fcbi8vIChwcmV0byBwdXJvIGRvIHVzZXItc2VhcmNoIOKGkiByZWN1YWRvKS5cbi5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuXG4gICAgLy8gTyBgYXBwLXVzZXItc2VhcmNoYCBww7VlIGAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJgIGVtXG4gICAgLy8gYHBvc2l0aW9uOiBhYnNvbHV0ZWAgKHNlbSB0b3AvbGVmdCkgcHJhIGEgw6FyZWEgZGUgaGludCBuw6NvIGRlc2FsaW5oYXJcbiAgICAvLyBvcyB2aXppbmhvcyBlbSBgYWxpZ24taXRlbXM6Y2VudGVyYC4gRGVudHJvIGRvIHBvcG92ZXIgbsOjbyBow6Egdml6aW5ob3NcbiAgICAvLyDigJQgbWFzIG8gd3JhcHBlciBhYnNvbHV0ZSBwb3VzYSBlbSBjaW1hIGRvIGlucHV0LiBEZXZvbHZlbW9zIGFvIGZsdXhvLFxuICAgIC8vIHNlbSByZXNlcnZhciBlc3Bhw6dvIHF1YW5kbyBuw6NvIGjDoSBoaW50IChtYXQtaGludCBhcGFyZWNlIHPDsyBlbSBlcnJvKTpcbiAgICAvLyAgIOKAoiB3cmFwcGVyIGBzdGF0aWNgIG1hcyBjb2xhcHNhZG8gKG1pbi1oZWlnaHQ6MCkg4oaSIHNlbSBcImJ1cmFjb1wiIGFiYWl4b1xuICAgIC8vICAg4oCiIG8gcmVzcGlybyBkZSA0cHggw6kgZG8gcHLDs3ByaW8gYC5tYXQtaGludGAsIHF1ZSBzw7MgZXhpc3RlIHNlIGhvdXZlclxuICAgIC8vICAgICBtZW5zYWdlbSDigJQgYXNzaW0gbyBwb3BvdmVyIGZpY2Egc2ltw6l0cmljbyBxdWFuZG8gbGltcG8uXG4gICAgYXBwLXVzZXItc2VhcmNoIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhcHAtdXNlci1zZWFyY2ggLm1hdC1oaW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG59XG4ubGlnaHQtdGhlbWUgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSAucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2xhc2ggbWVudSBkZSB2YXJpw6F2ZWlzIChlZGl0b3IgZGUgdGVtcGxhdGUgZGUgZS1tYWlsKSDigJQgZHJvcGRvd24gYW5jb3JhZG9cbi8vIGFiYWl4byBkbyBjYW1wbyB2aWEgQ0RLIG92ZXJsYXk7IGNvbnRlw7pkbyB2aXZlIG5vIG92ZXJsYXkgKGdsb2JhbCArIHRoZW1lLWF3YXJlKS5cbi52YXJpYWJsZS1zbGFzaC1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC1oZWlnaHQ6IDI4MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblxuICAgIC8vIEl0ZW0gPSBbY2hpcCBkYSB2YXJpw6F2ZWxdIC0gZXhwbGljYcOnw6NvLCBudW1hIGxpbmhhIChhIGV4cGxpY2HDp8OjbyBxdWVicmFcbiAgICAvLyBzZSBmb3IgbG9uZ2EpLiBPIGNoaXAgw6kgbyBNRVNNTyBkb3MgZWRpdG9yZXMgKGAudnRlLWNoaXBgKS5cbiAgICAudmFyaWFibGUtc2xhc2gtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87ICAgICAgICAgICAgICAgICAvLyB2ZW5jZSBvIGdsb2JhbCBgYnV0dG9uIHsgaGVpZ2h0OiAzNnB4IH1gXG4gICAgICAgIHBhZGRpbmc6IDVweCA4cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBDaGlwIGRhIHZhcmnDoXZlbCAoc2VtIFwiw5dcIiBhcXVpIOKGkiBwYWRkaW5nIGVxdWlsaWJyYWRvKS5cbiAgICAgICAgLnZ0ZS1jaGlwIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnZhci1kZXNjIHsgZmxleDogMSAxIGF1dG87IG1pbi13aWR0aDogMDsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNDAwOyB9XG4gICAgfVxufVxuLmxpZ2h0LXRoZW1lIC52YXJpYWJsZS1zbGFzaC1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICAudmFyaWFibGUtc2xhc2gtaXRlbSB7XG4gICAgICAgIC52YXItZGVzYyB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG4gICAgfVxufVxuLmRhcmstdGhlbWUgLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICAudmFyaWFibGUtc2xhc2gtaXRlbSB7XG4gICAgICAgIC52YXItZGVzYyB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgICAgJjpob3ZlciwgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7IH1cbiAgICB9XG59XG5cbi8vIENoaXBzIGRlIHZhcmnDoXZlbCBkbyBhcHAtdmFyaWFibGUtdGVtcGxhdGUtZWRpdG9yLiBHTE9CQUlTIHBvcnF1ZSBvcyBjaGlwcyBzw6NvXG4vLyBjcmlhZG9zIHZpYSBkb2N1bWVudC5jcmVhdGVFbGVtZW50IChzZW0gbyBhdHJpYnV0byBkZSBlbmNhcHN1bGHDp8OjbyBkb1xuLy8gY29tcG9uZW50ZSksIGVudMOjbyBlc3RpbG9zIGNvbXBvbmVudC1zY29wZWQgbsOjbyBvcyBhbGNhbsOnYW0uIFDDrWx1bGFcbi8vIGBub21lIMOXYCBjb20gYm90w6NvIGRlIHJlbW/Dp8Ojby5cbi52dGUtY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBwYWRkaW5nOiAwIDRweCAwIDhweDtcbiAgICBtYXJnaW46IDAgMXB4O1xuICAgIC8vIEVzcXVlbWEgQVpVTCBDTEFSTyAobWFpcyBjb250cmFzdGUpLiBUZXh0by/DlyA9IHRva2VuIGRlIGF6dWwgZGUgcGFwZWxcbiAgICAvLyAoJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yICMxMTQ1QzIgbGlnaHQgLyAjNUM4RUYwIGRhcmspOyBmdW5kbyBlXG4gICAgLy8gYm9yZGEgZW0gYXp1bCBjbGFybyAoVGFpbHdpbmQgYmx1ZS01MC8yMDApIG5vIGxpZ2h0IGUgdGludGEgYXp1bCBubyBkYXJrLlxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZmRiZmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmY2ZmY7XG4gICAgY29sb3I6ICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgLnZ0ZS1jaGlwLXJlbW92ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAxMDBtcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDY5LCAxOTQsIDAuMTQpO1xuICAgICAgICB9XG4gICAgfVxufVxuLnZ0ZS1yZWFkb25seSAudnRlLWNoaXAtcmVtb3ZlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyBEZXN0YXF1ZSBkbyBQUkVWSUVXOiBmdW5kbyBhenVsIGNsYXJvIGF0csOhcyBkZSBjYWRhIHZhcmnDoXZlbCBqw6Egc3Vic3RpdHXDrWRhXG4vLyAoZ2VyYWRvIHBvciBKUyBubyBlZGl0b3Ig4oaSIGdsb2JhbCkuIFNlbSBib3JkYTsgc8OzIHJlYWxjZSBkbyB0ZXh0by5cbi52dGUtcHJldmlldy12YXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmYwZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDAgMnB4O1xufVxuLmRhcmstdGhlbWUgLnZ0ZS1wcmV2aWV3LXZhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMzApO1xufVxuXG4uZGFyay10aGVtZSAudnRlLWNoaXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE0MiwgMjQwLCAwLjIyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoOTIsIDE0MiwgMjQwLCAwLjU1KTtcbiAgICBjb2xvcjogJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcms7XG4gICAgLnZ0ZS1jaGlwLXJlbW92ZTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE0MiwgMjQwLCAwLjMwKTsgfVxufVxuXG4ubWVudS1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmRpc2FibGVkLWJ1dHRvbiB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG1hdC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgfVxuICAgIC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAycHggNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8vIE1lbnUgZGUgVklTw4NPIGRlIHBlcmZpbCAocGFwZXItaW5mbyk6IG8gaXRlbSBWSUdFTlRFIGFwYXJlY2UgXCJzZWxlY2lvbmFkb1wiIGVcbi8vIGZpY2EgTsODTyBjbGljw6F2ZWwgKGBbZGlzYWJsZWRdYCBubyB0ZW1wbGF0ZSkuIERlcy1lc21hZWNlIG8gZGltIGRvIGRpc2FibGVkIGVcbi8vIGFwbGljYSBvIHJlYWxjZSBkbyBpdGVtIGF0dWFsLlxuLy8gU0VNIGA6Om5nLWRlZXBgOiBvIHBhaW5lbCBkbyBtYXQtbWVudSB2aXZlIG5vIE9WRVJMQVkgKG7DrXZlbCBib2R5KSwgZm9yYSBkZVxuLy8gcXVhbHF1ZXIgY29tcG9uZW50ZSwgZW50w6NvIHByZWNpc2EgZGUgcmVncmEgR0xPQkFMIHBsYW5hLiBEZW50cm8gZGUgOjpuZy1kZWVwLFxuLy8gbyBzdHlsZXMuY3NzIGdsb2JhbCBlbWl0aWEgYDo6bmctZGVlcCAudmlldy1wcm9maWxlLW1lbnXigKZgIChwc2V1ZG8gaW52w6FsaWRvIOKGklxuLy8gcmVncmEgZGVzY2FydGFkYSBwZWxvIGJyb3dzZXIpIGUgbyByZWFsY2Ugc8OzIGFwYXJlY2lhIHF1YW5kbyBhbGd1bSBjb21wb25lbnRlXG4vLyBxdWUgaW1wb3J0YSBlc3RlIGFycXVpdm8gZXN0YXZhIG5hIHRlbGEg4oCUIG8gcXVlIE7Dg08gb2NvcnJlIG5hIHDDoWdpbmEgZG8gY2hhaXIuXG4vLyBPcMOnw7VlcyBTRU0gw61jb25lIGzDrWRlci4gUmVzZXJ2YW0gMjhweCDDoCBlc3F1ZXJkYSBwLyBvIGNoZWNrIGRvIGl0ZW0gYXR1YWxcbi8vIChtZXNtYSBtw6l0cmljYSBkbyBgYXBwLWplbXMtc2VsZWN0YCAvIGAuamVtczMtc2VsZWN0LXBhbmVsYCksIGVudMOjbyBvIHLDs3R1bG9cbi8vIE7Dg08gZGVzbG9jYSBxdWFuZG8gbyBjaGVjayBhcGFyZWNlL3NvbWUuIGBwb3NpdGlvbjogcmVsYXRpdmVgIGFuY29yYSBvXG4vLyBgOjpiZWZvcmVgLiBSZWdyYXMgUExBTkFTIChzZW0gYDo6bmctZGVlcGApOiBvIHBhaW5lbCB2aXZlIG5vIG92ZXJsYXkgKGJvZHkpIGVcbi8vIG8gYmxvY28gYDo6bmctZGVlcGAgYWNpbWEgw6kgZHJvcGFkbyBuYSBww6FnaW5hIGRvIGNoYWlyIChwc2V1ZG8gZ2xvYmFsIGludsOhbGlkbykuXG4vLyBQcmVmaXhvIGAubWF0LW1lbnUtcGFuZWxgIOKGkiBzcGVjaWZpY2l0eSAoMCw0LDApIHAvIFZFTkNFUiBhIHJlZ3JhIGJhc2UgZG9zXG4vLyBpdGVucyBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtXG4vLyB7IHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQgfWAsICgwLDMsMCkpIOKAlCBzZW0gaXN0bywgbyBwYWRkaW5nLWxlZnQgZGUgOHB4IGRhXG4vLyBiYXNlIGdhbmhhIHBvciBvcmRlbSBkZSBzb3VyY2UgZSBvIHLDs3R1bG8gY29sYSBubyBjaGVjayAoYWNhdmFsYW1lbnRvKS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLFxuLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjhweCAhaW1wb3J0YW50O1xufVxuLy8gSXRlbSBBVFVBTDogbWFyY2FkbyBTw5MgcGVsbyBDSEVDSyDDoCBFU1FVRVJEQSAoZm9udGUgw7puaWNhOiBgamVtcy1zZWxlY3RlZC1jaGVja2AsXG4vLyBvIG1lc21vIGRvIHNlbGVjdCBnbG9iYWwpLiBGb3JhIG8gY2hlY2ssIGNvbXBvcnRhLXNlIGNvbW8gb3MgZGVtYWlzIGl0ZW5zIOKAlFxuLy8gaW50ZXJhdGl2bzogcmVhbMOnYSBubyA6aG92ZXIgZSBtb3N0cmEgYSBtw6NvemluaGEgKGNsaWNhciBuZWxlIMOpIG5vLW9wKS4gTsODTyBmb3LDp2Fcbi8vIG1haXMgY3Vyc29yL29wYWNpdHkvY29sb3I6IGVyYW0gcmVtZW5kb3MgZG8gYFtkaXNhYmxlZF1gIChqw6EgcmVtb3ZpZG8pLCBlIG9cbi8vIGBjb2xvciAhaW1wb3J0YW50YCBhaW5kYSBhdHJhcGFsaGFyaWEgbyB0ZXh0byBicmFuY28gZG8gaG92ZXIgbm8gbWFjT1MuXG4udHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGplbXMtc2VsZWN0ZWQtY2hlY2soJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IpO1xufVxuLmRhcmstdGhlbWUgLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyAgIC8vIHPDsyBhIGNvciBtdWRhIG5vIGRhcmtcbn1cblxuLy8g4pWQ4pWQ4pWQIEhvdmVyIGVzdGlsbyBtYWNPUyDigJQgc8OzIGJnIGRlIHJvd3MgZXNwZWPDrWZpY29zIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gSXRlbSBob3ZlciBnZXJhbCAoYmFja2dyb3VuZCBBY2NlbnRDb2xvciArIHRleHRvL8OtY29uZS9jaGVjayBicmFuY29zKSBmb2lcbi8vIGNvbnNvbGlkYWRvIG5vIGJsb2NvIFtNQUMtU1RZTEVdIGFiYWl4by4gQXF1aSBTw5MgZmljYW0gb3MgbWVudXMgZXNwZWNpYWlzXG4vLyBxdWUgcHJlY2lzYW0gYmcgYWNjZW50IFNFTSB0b2NhciBubyBjb250ZcO6ZG8gKGNoaXBzIGNvbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gcHLDs3ByaWEpOiBzdGF0dXMtbWVudS1yb3cgZSBncm91cC1tZW51LXJvdyAoTGlzdGEgZGUgU3VibWlzc8O1ZXMpLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSB7XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93LmFjdGl2ZSxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gXCIrIE5vdm8gR3J1cG9cIiDigJQgbsOjbyDDqSBjaGlwLCB0ZW0gYGNvbG9yYCBwaW5hZG8gcGVsbyBgLmdyb3VwLWNoaXAtbWVudS1iYXNpY2BcbiAgLy8gKDAsMSwwICsgbmdjb250ZW50KTsgZm9yw6dhIGJyYW5jbyBwcmEgY29udHJhc3RhciBjb20gbyBmdW5kbyBhenVsIGRvIHJvdy5cbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24sXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbiB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmRhcmstdGhlbWUge1xuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdy5hY3RpdmUsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24sXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbiB7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pWQ4pWQ4pWQIEFuaW1hw6fDo28gZGUgYWJlcnR1cmEgZG8gcG9wb3ZlciDigJQgcG9yIE9TIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gTWFjOiBpbnN0YW50w6JuZW8gKHBhZHLDo28gZG8gTlNNZW51IOKAlCBuYWRhIGFxdWkpLlxuLy8gTGludXgvR1RLL0tERSAoZSBkZWZhdWx0IGBvdGhlcmApOiBmYWRlICsgc2NhbGUgKDAuOOKGkjEuMCksIDEyMG1zIGVhc2Utb3V0LlxuLy8gICBFc3RpbG8gdHJhZGljaW9uYWwgZG8gR05PTUUvR1RLNC4gT3JpZ2VtIGRvIHNjYWxlIHJlc3BlaXRhIGAub3BlbnMtdXBgLlxuLy8gV2luZG93czogZmFkZSArIHNsaWRlIHZlcnRpY2FsICh+OHB4LCBkaXJlw6fDo28gb3Bvc3RhIMOgIMOibmNvcmEpLCAxODBtc1xuLy8gICBlYXNlLW91dC4gQWxpbmhhIGFvIEZsdWVudCBEZXNpZ24gcmVhbCAoMTAvMTEpIOKAlCBtZW51cyBkbyBXaW5kb3dzIG7Do29cbi8vICAgZmF6ZW0gXCJwZXJzaWFuYVwiLCBmYXplbSBlc3NlIGZhZGUrc2xpZGUgc3V0aWwuIFNlbSBlZmVpdG8gYWNyeWxpYyBub1xuLy8gICBmdW5kbyDigJQgbyBwYWluZWwgcGVybWFuZWNlIGNvbSBvIG1lc21vIGJnIGRvIHJlc3RvIGRhIFVJLlxuLy8gUmVncmEgZW0gU0NTUyBHTE9CQUwgKG7Do28gcGFzc2EgcG9yIHZpZXcgZW5jYXBzdWxhdGlvbikuXG46cm9vdDpub3QoW2RhdGEtb3M9XCJtYWNcIl0pOm5vdChbZGF0YS1vcz1cIndpbmRvd3NcIl0pIC5qZW1zLXBvcG92ZXItcGFuZWwge1xuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbiAxMjBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cbkBrZXlmcmFtZXMgamVtcy1wb3BvdmVyLWluIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG46cm9vdFtkYXRhLW9zPVwid2luZG93c1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIHtcbiAgYW5pbWF0aW9uOiBqZW1zLXBvcG92ZXItaW4td2luIDE4MG1zIGN1YmljLWJlemllcigwLCAwLCAwLCAxKTtcbn1cbjpyb290W2RhdGEtb3M9XCJ3aW5kb3dzXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwub3BlbnMtdXAge1xuICBhbmltYXRpb24tbmFtZTogamVtcy1wb3BvdmVyLWluLXdpbi11cDtcbn1cbkBrZXlmcmFtZXMgamVtcy1wb3BvdmVyLWluLXdpbiB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4td2luLXVwIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLy8gQWNlc3NpYmlsaWRhZGUg4oCUIHF1ZW0gcHJlZmVyZSBtb3ZpbWVudG8gcmVkdXppZG8sIHNlbSBhbmltYcOnw6NvIGVtIE5FTkhVTSBTTy5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIFRva2VucyBkZSBSRUFMQ0UgREUgSE9WRVIgKGJnICsgZmcpLCBkZXJpdmFkb3MgZG8gT1MgbnVtIGx1Z2FyIHPDsy4gQSByZWdyYVxuLy8gXCJtYWMg4oaSIGFjY2VudCBkbyBzaXN0ZW1hIChhenVsKSBjb20gdGV4dG8gYnJhbmNvOyBkZW1haXMgT1Mg4oaSIGNpbnphIG5ldXRybyBkb1xuLy8gbWVudVwiIG1vcmEgQVFVSSwgbsOjbyBlc3BhbGhhZGEgcG9yIHNlbGV0b3IuIENvbXBvbmVudGVzIGZhemVtLCBubyBob3Zlcjpcbi8vICAgYmFja2dyb3VuZDogdmFyKC0tamVtcy1ob3Zlci1iZyk7ICBjb2xvcjogdmFyKC0tamVtcy1ob3Zlci1mZyk7XG4vLyBlIGhlcmRhbSBvIGNvbXBvcnRhbWVudG8gcG9yIE9TIGF1dG9tYXRpY2FtZW50ZSAoZXguOiBgLmNvbHVtbnMtbWVudS1idXR0b25gKS5cbi8vIGAtLWplbXMtaG92ZXItZmdgIGd1YXJkYSBhIGNvciBOT1JNQUwgZG8gdGV4dG8gbm8gbsOjby1tYWMgKG7Do28gYGluaGVyaXRgOiBjb21vXG4vLyBjdXN0b20gcHJvcGVydHksIGBpbmhlcml0YCB2aXJhcmlhIGtleXdvcmQgZSBuw6NvIHVtIHZhbG9yIHVzw6F2ZWwgZW0gdmFyKCkpLlxuLy8gSU1QT1JUQU5URTogYSBjbGFzc2UgZGUgdGVtYSAoYC5kYXJrLXRoZW1lYCkgdml2ZSBubyBgPGJvZHk+YCwgZW50w6NvIGVsYVxuLy8gcmVkZWNsYXJhIGEgdmFyacOhdmVsIEFCQUlYTyBkbyBgOnJvb3RbZGF0YS1vcz1cIm1hY1wiXWAgKG5vIGA8aHRtbD5gKSBlIHZlbmNlcmlhXG4vLyBwb3IgaGVyYW7Dp2EgZGUgRE9NIG5vIG1hYy1kYXJrIChjaW56YSBubyBsdWdhciBkbyBhY2NlbnQpLiBQb3IgaXNzbyBvIG92ZXJyaWRlXG4vLyBkYXJrIMOpIGVzY29wYWRvIGEgYDpyb290Om5vdChbZGF0YS1vcz1cIm1hY1wiXSlgIOKAlCBubyBtYWMgKGxpZ2h0IE9VIGRhcmspIHPDsyB2YWxlXG4vLyBvIGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCBkbyBgPGh0bWw+YCwgZSBvIEFjY2VudENvbG9yIGrDoSDDqSB0aGVtZS1hd2FyZSBwZWxvIE9TLlxuOnJvb3Qge1xuICAtLWplbXMtaG92ZXItYmc6ICN7JHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZH07XG4gIC0tamVtcy1ob3Zlci1mZzogI3skc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcn07XG59XG46cm9vdDpub3QoW2RhdGEtb3M9XCJtYWNcIl0pIC5kYXJrLXRoZW1lIHtcbiAgLS1qZW1zLWhvdmVyLWJnOiAjeyRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFya307XG4gIC0tamVtcy1ob3Zlci1mZzogI3skc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrfTtcbn1cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0ge1xuICAtLWplbXMtaG92ZXItYmc6IEFjY2VudENvbG9yO1xuICAtLWplbXMtaG92ZXItZmc6ICNmZmY7XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gW01BQy1TVFlMRSDigJQgUkVNT1ZFUiBQUkEgUkVWRVJURVJdIEVzdGlsbyBtYWNPUy1saWtlIG5vcyBtZW51cy9kcm9wZG93bnMuXG4vLyBHYXRlIMO6bmljbzogYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIChjYXJpbWJhZG8gcG9yIGBiaW5kT3NDbGFzc1RvUm9vdCgpYCBlbVxuLy8gYGRldmljZS50c2AsIGNoYW1hZG8gbm8gYm9vdHN0cmFwIHBvciBgQmFzZUNvbXBvbmVudGApLiBUcm9jYXIgdmlhIERldlRvb2xzOlxuLy8gICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5vcyA9ICd3aW5kb3dzJyAgIChvdSAnbGludXgnLydtYWMnKVxuLy9cbi8vIEVzY29wbzogaXRlbnMgZGUgVE9EQVMgYXMgZmFtw61saWFzIGRlIGRyb3Bkb3duIEpFTVMzIChkw6liaXRvIGNvbmhlY2lkbyDigJRcbi8vIHZlciBtZW3Ds3JpYSBgcHJvamVjdF9kZXNpZ25fc3lzdGVtX21pZ3JhdGlvbl9kZWJ0YCk6XG4vLyAgIOKAoiBwb3BvdmVyIGl0ZW1zIChtYXQtbWVudS1pdGVtLCBbcm9sZT1tZW51aXRlbV0sIGplbXMtc2VsZWN0LW9wdGlvbilcbi8vICAg4oCiIG1hdC1zZWxlY3QgLyBtYXQtYXV0b2NvbXBsZXRlICgubWF0LW9wdGlvbilcbi8vXG4vLyBDb21wb3J0YW1lbnRvOlxuLy8gICDigKIgRm9udCBzbW9vdGhpbmcgc3VicGl4ZWwgKG1hdGNoaW5nIHN0ZW1zIG1haXMgZ3Jvc3NvcyBkbyBzaXN0ZW1hKVxuLy8gICDigKIgSG92ZXIvYWN0aXZlIGJnID0gYEFjY2VudENvbG9yYCAoQ1NTIENvbG9yIEw1LCByZXNvbHZlIHBybyBhY2NlbnQgT1MpXG4vLyAgIOKAoiBUZXh0by/DrWNvbmUvY2hlY2sgcGludGFtIGJyYW5jbyBwcmEgY29udHJhc3RlXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLy8gRm9udCBzbW9vdGhpbmc6IG1hdGNoaW5nIG8gcmVuZGVyaW5nIG5hdGl2byBkb3MgbWVudXMgbWFjT1MgKHN1YnBpeGVsKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbn1cblxuLy8gSG92ZXIvYWN0aXZlIGJnICsgdGV4dG8vw61jb25lIGJyYW5jb3MuIGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCBjb21wb3VuZCBjb21cbi8vIGR1cGxpY2HDp8OjbyBkZSBzZWxldG9yZXMgYmFzZSAoYC5tYXQtb3B0aW9uLm1hdC1vcHRpb25gLCBgLmplbXMtc2VsZWN0LW9wdGlvblxuLy8gLmplbXMtc2VsZWN0LW9wdGlvbmApIHNvYmUgc3BlY2lmaWNpdHkgcHJhIGJhdGVyIGFzIHJlZ3JhcyBjaGFpci1zdHlsZVxuLy8gZXhpc3RlbnRlcyAoYF9jb2xvci1zY2hlbWUuc2Nzc2AgMCw1LDAgZSAwLDYsMCkgc2VtIGAhaW1wb3J0YW50YCBhY3VtdWxhclxuLy8gbWFpcyBmdW5kby4gQ29tYmluYSBsaWdodCtkYXJrIGF1dG9tYXRpY2FtZW50ZSAoQWNjZW50Q29sb3IvQWNjZW50Q29sb3JUZXh0XG4vLyBqw6Egc8OjbyB0aGVtZS1hd2FyZSBwZWxvIE9TKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbS5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmUsXG4vLyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCAobsOjbyBgLm1hdC1hY3RpdmVgKSBwYXJhIG8gcmVhbGNlIHBvciBURUNMQURPOiBgLm1hdC1hY3RpdmVgIMOpIG9cbi8vIG1hcmNhZG9yIGRvIExpc3RLZXlNYW5hZ2VyIHF1ZSBvIENESyBww7VlIG5hIFBSSU1FSVJBIG9ww6fDo28gYW8gQUJSSVIgbyBwYWluZWwgKHNlbSBzZWxlw6fDo28pLFxuLy8gZW50w6NvIHBpbnTDoS1sbyBjb20gQWNjZW50Q29sb3IgZGF2YSBvIGZ1bmRvIGFjY2VudCBpbmRlc2VqYWRvIGxvZ28gbm8gb3Blbi4gQWNjZW50IHPDsyBub1xuLy8gbW91c2UgKDpob3ZlcikgZSBubyBmb2NvIHBvciB0ZWNsYWRvIOKAlCBpZ3VhbCDDoCBuZXV0cmFsaXphw6fDo28gZW0gX2NvbG9yLXNjaGVtZS5zY3NzLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBBY2NlbnRDb2xvciAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBDb3IgYnJhbmNhIGNvYnJlIFRFWFQtQ09OVEVOVCArIMOtY29uZXMgKyBzcGFuIGludGVybm8gYC5tYXQtb3B0aW9uLXRleHRgLlxuLy8gKG8gY2FzY2FkZSBkbyBjb2xvciBkbyBpdGVtIHBvZGUgc2VyIHBlcmRpZG8gZW0gc3BhbnMgY29tIGNvbG9yIHByw7NwcmlvO1xuLy8gYXF1aSBnYXJhbnRpbW9zIGV4cGzDrWNpdG8uKVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3ZlciAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsOm5vdCguc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsKSAubWF0LW9wdGlvbjpob3ZlciAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1vcHRpb24tdGV4dCB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8vIENoZWNrIGRhIG9ww6fDo28gc2VsZWNpb25hZGEgKGA6OmJlZm9yZWAgZG8gbWl4aW4gYGplbXMtc2VsZWN0ZWQtY2hlY2tgLCBDU1Ncbi8vIG1hc2spLiBVc2EgYGJhY2tncm91bmQtY29sb3JgIGNvbW8gZmlsbCAoTsODTyBgY29sb3JgKS4gQ29icmU6XG4vLyAgIOKAoiBhcHAtamVtcy1zZWxlY3Q6IGAuamVtcy1zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkOjpiZWZvcmVgXG4vLyAgIOKAoiBtYXQtc2VsZWN0OiBgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOjpiZWZvcmVgXG4vLyAgIOKAoiB2aWV3LXByb2ZpbGUtbWVudSAoYXBwLXBvcG92ZXIgY29tIGlzLWN1cnJlbnQpOiBgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDo6YmVmb3JlYFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkLmFjdGl2ZTo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb246aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZTo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZC5tYXQtYWN0aXZlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuQG1peGluIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoJGNvbXBvbmVudCwgJHNlbGVjdG9yLCAkcHJvcCwgJGxpZ2h0VmFsdWUsICRkYXJrVmFsdWUpIHtcbiAgICAubGlnaHQtdGhlbWUge1xuICAgICAgI3skY29tcG9uZW50fSAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAjeyRwcm9wfTogJGxpZ2h0VmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIC5kYXJrLXRoZW1lIHtcbiAgICAgICN7JGNvbXBvbmVudH0gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAjeyRwcm9wfTogJGRhcmtWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuLy8gQ2hlY2sgXCJzZWxlY2lvbmFkb1wiIGFvIGVzdGlsbyBTRiBTeW1ib2xzIChtYWNPUyk6IHF1YWRyYWRvIDE0w5cxNCBhbmNvcmFkbyDDoFxuLy8gRVNRVUVSREEgZGEgb3DDp8OjbyAoYWJzb2x1dGUgKyB2ZXJ0aWNhbC1jZW50ZXIpLCBkZXNlbmhhZG8gcG9yIFNWRy1tYXNrIGVcbi8vIHBpbnRhZG8gdmlhIGBiYWNrZ3JvdW5kLWNvbG9yYCAodGhlbWUtYXdhcmUgcGVsYSBjb3IgcGFzc2FkYSkuIEZvbnRlIMOaTklDQSBkb1xuLy8gY2hlY2sgdXNhZG8gbm8gYGFwcC1qZW1zLXNlbGVjdGAsIG5vIGZpbHRybyBgLmplbXMzLXNlbGVjdC1wYW5lbGAgZSBubyBtZW51XG4vLyBzZWxldG9yIGRlIHBlcmZpbCAocGFwZXItaW5mbykuIEEgb3DDp8OjbyBxdWUgcmVjZWJlIHByZWNpc2EgZGVcbi8vIGBwb3NpdGlvbjogcmVsYXRpdmVgIGUgcmVzZXJ2YXIgfjI4cHggZGUgYHBhZGRpbmctbGVmdGAuIE5vIGRhcmssIGJhc3RhXG4vLyBzb2JyZXNjcmV2ZXIgYGJhY2tncm91bmQtY29sb3JgIChhIGdlb21ldHJpYS9tw6FzY2FyYSBuw6NvIG11ZGFtKS5cbkBtaXhpbiBqZW1zLXNlbGVjdGVkLWNoZWNrKCRjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRpbnNldDogOHB4KSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogJGluc2V0O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbn1cbiIsImFwcC1jdXN0b20tZm9ybSB7XG4gIGFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dCB7XG4gICAgYXBwLWN1c3RvbS1mb3JtIHtcbiAgICAgIG1hdC1mb3JtLWZpZWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhcHAtdGFibGUtZm9ybS1maWVsZHMtY29udGFpbmVyIHtcbiAgICBhcHAtY3VzdG9tLWZvcm0ge1xuICAgICAgbWF0LWZvcm0tZmllbGQge1xuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcixcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ldmVudC1hZG1pbiB7ICBcbiAgaDMgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIGg0IC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIGg1IC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICBoNiAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cbn0iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubWF0LXNuYWNrLWJhci1jb250YWluZXIge1xuXG4gICYuZXJyb3IsXG4gICYubm90aWZpY2F0aW9uLFxuICAmLndhcm5pbmcge1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4ICsgJHNpZGVuYXYtYWRtaW4tbWluaS13aWR0aDtcbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICRlcnJvci1pbnZhbGlkLWNvbG9yO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0ZXI7XG4gIH1cblxuICAmLm5vdGlmaWNhdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLWNvbG9yO1xuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZlMjg5O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICB9XG59IiwiLm1hdC1mYWIge1xuICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgfVxufVxuIiwiLnBhZ2luYXRvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMDtcblxuICBtYXQtcGFnaW5hdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdG9wOiB1bnNldDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLnNob3ctYWxsLXN1Ym1pc3Npb25zIHtcbiAgLm1hdC1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgICAucGFwZXItaW5mbyB7XG4gICAgICAubWFpbiB7XG4gICAgICAgID4gLmNvbHVtbnMge1xuICAgICAgICAgIG1hcmdpbjogLTAuNzVyZW0gLTAuNzVyZW0gMCAtMC43NXJlbTtcblxuICAgICAgICAgIC50aXRsZS1yb3cge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZWJyZWFrIHtcbiAgICBicmVhay1hZnRlcjogYWx3YXlzO1xuICB9XG59XG5cbi5zaG93LWFsbC1zdWJtaXNzaW9ucy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yO1xuICBwYWRkaW5nOiAxZW07XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbm1hdC1jYXJkIHtcbiAgLy8gYm94LXNoYWRvdzogMCA2cHggNXB4IC0xcHggJGJsYWNrLWJhY2tncm91bmQtYWxwaGExLCAwIC0xcHggMTBweCAwICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4NnB4KSB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDEwcHggLTFweCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTEsIDAgLTFweCAyMHB4IDAgJGJsYWNrLWJhY2tncm91bmQtYWxwaGExO1xuICB9XG5cbiAgLm1hdC1jYXJkLWhlYWRlci10ZXh0e1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cblxuICAvLyBTdHlsZSBldmVudHMgY2FyZHNcbiAgJi5ldmVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bm90KFtjbGFzcyo9JyN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSddKXtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLmhvcml6b250YWwtYWxpZ257XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cblxuICAgICAgLmluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC53YXJuaW5nIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwLjVyZW0gMnJlbTtcbiAgICAgIH1cbiAgICAgIC53YXJuaW5nICsgLmluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDYwJTsgLyogb3ZlcnJpZGUgKi9cbiAgICAgIH1cblxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWJyZWFrdXAtd2lkdGgpe1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5pbmZvcm1hdGlvbntcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YXJuaW5ne1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtIDJyZW0gMC41cmVtIDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaG9yaXpvbnRhbC1hbGlnbiB7XG4gICAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAud2FybmluZy1wdWJsaWMtYXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJhY2stbm90LW9wZW4tY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcmVtO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBleHRlbmQgaDU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIG1hdC1jYXJkLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgfVxuXG4gICAgLmZsb2F0LXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAubGVmdC1idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAmLnN1YmNvbmZlcmVuY2VzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuXG4gICYuYWRtaW4tZXZlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcblxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICBtYXQtY2FyZC1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWhlYWRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvcjtcblxuICAgICAgQGV4dGVuZCBoMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcblxuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG5cbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBtYXQtc3Bpbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBtYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcblxuICAgICAgICBtYXQtYWN0aW9uLXJvdyB7XG4gICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLWFjdGlvbnMge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdGFibGUge1xuXG4gICAgICAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIH1cblxuICAgICAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRldmVudC1jYXJkLWxpbmUtc2VwYXJhdG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZXZlbnQtY2FyZC1saW5lLXNlcGFyYXRvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJhc2UtY2FyZCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgICBtYXQtY2FyZC1oZWFkZXIge1xuICAgICAgQGV4dGVuZCBoMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcblxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcblxuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgIC5jbG9zZWQtaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgICAgfVxuXG4gICAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6YmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWF0LXNwaW5uZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGl0bGUgd2l0aCBIMyBwcm9wZXJ0aWVzXG4uY2FyZC10aXRsZSB7XG4gIEBleHRlbmQgaDM7XG4gIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvcjtcbn1cblxuLy8gU3VidGl0bGUgd2l0aCBINCBwcm9wZXJ0aWVzXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIEBleHRlbmQgaDQ7XG59XG5cbi8vIENvbnRlbnQgd2l0aCBINSBwcm9wZXJ0aWVzXG4uY2FyZC1jb250ZW50IHtcbiAgQGV4dGVuZCBoNTtcbn1cblxuXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcblxuICAuc2VjdGlvbi10aXRsZSB7XG4gICAgQGV4dGVuZCBoMztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgfVxuXG4gIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS40cmVtO1xuICB9XG59XG4vLyAub3B0aW9ucyB7XG4vLyAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuLy8gfVxuXG4vLyAubWF0LXNsaWRlLXRvZ2dsZSB7XG4vLyAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vIH1cblxuLy8gLmNvbHVtbiB7XG4vLyAgIHBhZGRpbmctYm90dG9tOiAwO1xuLy8gfVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm5neC1tYXQtdGltZXBpY2tlci1zcGFjZXIge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xufVxuXG4vLyBSZXNwaXJvIGVudHJlIGEgw7psdGltYSBsaW5oYSBkb3MgZGlhcyBkbyBjYWxlbmTDoXJpbyBlIGEgw6FyZWEgZGUgaG9yYXMuXG4vLyBBIGxpYiBkZXNlbmhhIHVtYSBsaW5oYSBkaXZpc8OzcmlhIHZpYSBgOjpiZWZvcmVgIG5vIHRvcG8gZG8gY29udGFpbmVyIOKAlFxuLy8gZXNjb25kZW1vcy5cbi8vIExheW91dDogdGltZXBpY2tlciBDRU5UUkFMSVpBRE8gaG9yaXpvbnRhbG1lbnRlOyBvIGJvdMOjbyBkbyBmdXNvIGZsdXR1YVxuLy8gY29tbyBgcG9zaXRpb246IGFic29sdXRlYCDDoCBkaXJlaXRhIOKAlCBsYXJndXJhIHZhcmnDoXZlbCBkZWxlIG7Do28gZW1wdXJyYVxuLy8gbyBob3JhL21pbnV0by9zZXRhcyAocXVlIGZpY2FtIGZpeG9zIGluZGVwZW5kZW50ZSBkbyBmdXNvIGVzY29saGlkbykuXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCAudGltZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyAgIC8vIHZlbmNlIG8gYHBhZGRpbmctdG9wOiA1cHhgIGRhIGxpYlxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBGYWl4YSDDunRpbCBtYWlzIGVzdHJlaXRhIHF1ZSBvIHBhaW5lbCDigJQgaG9yYSBmaWNhIGNlbnRyYWRhIG5lbGEgZSBvXG4gIC8vIGZ1c28gZmljYSBwcsOzeGltbyDDoCBob3JhIChuw6NvIGNvbGFkbyBuYSBib3JkYSBkaXJlaXRhIGRvIHBhaW5lbCkuXG4gIG1heC13aWR0aDogMjIwcHg7XG5cbiAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLm5neC1tYXQtdGltZXBpY2tlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNXB4KTsgICAvLyBkZXNsb2NhIGhvcmEvbWludXRvL3NldGFzIDM1cHggcHJhIGVzcXVlcmRhXG4gIH1cblxuICBhcHAtdGltZS16b25lLWlucHV0LFxuICAuY29udGFpbmVyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4OyAgICAgICAgICAgICAgICAgICAvLyAxNXB4IHByYSBlc3F1ZXJkYSBlbSByZWxhw6fDo28gw6AgYm9yZGEgZGlyZWl0YSBkYSBmYWl4YVxuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4vLyBFbnF1YW50byBvIHBhaW5lbCBkbyBkYXRlcGlja2VyIGVzdGl2ZXIgXCJsaW1wb1wiIChzZW0gaW50ZXJhw6fDo28vbXVkYW7Dp2EpLFxuLy8gb3MgYm90w7VlcyDDlyAoY2FuY2VsYXIpIGUg4pyTIChjb25maXJtYXIpIGZpY2FtIGRlc2FiaWxpdGFkb3Mg4oCUIG7Do28gaMOhIG8gcXVlXG4vLyBwcmVzZXJ2YXIvZGVzY2FydGFyLiBBIGNsYXNzZSBgLmlzLWNsZWFuLXBpY2tlcmAgw6kgc2V0YWRhIG5vIGAuY2RrLW92ZXJsYXktcGFuZWBcbi8vIHBlbG8gYG9uQ2FsZW5kYXJPcGVuZWRgIGRvIGNvbXBvbmVudGUgZSDDqSByZW1vdmlkYSBubyBwcmltZWlybyBjbGljayBkZW50cm8gZG9cbi8vIHBhaW5lbC4gU2VtIGVzc2EgZmxhZyBvcyBib3TDtWVzIGdhbmhhbSBjb21wb3J0YW1lbnRvIG5vcm1hbC5cbi5jZGstb3ZlcmxheS1wYW5lLmlzLWNsZWFuLXBpY2tlciAuYWN0aW9ucyBidXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjQgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBDZW50cmFsaXphw6fDo28gdmVydGljYWwgZG9zIGdsaWZvcyDDlyBlIOKckyBkZW50cm8gZG9zIGJvdMO1ZXMgZGEgw6FyZWEgYC5hY3Rpb25zYFxuLy8gZG8gcGFpbmVsIGRvIGRhdGVwaWNrZXIuIE1hdGVyaWFsIGRlZmF1bHQgZGVpeGEgYC5tYXQtYnV0dG9uLXdyYXBwZXJgIGNvbW9cbi8vIGlubGluZS1ibG9jayArIGAubWF0LWljb25gIGNvbSBgbGluZS1oZWlnaHRgIGRhIGZvbnRlIChiYXNlbGluZS1hbGlnbmVkKSxcbi8vIHF1ZSBkZXNjZW50cmFsaXphIHZzIGEgYWx0dXJhIGRvIGJvdMOjbyAoMzZweCkuIEZvcsOnYSBmbGV4LWNlbnRlciBuYSBjYWRlaWEuXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG5cbiAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG4gIG1hdC1pY29uLFxuICAubWF0LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFJlc3Bpcm8gZGUgMnB4IGVudHJlIG9zIGJvdMO1ZXMgw5cgZSDinJMuXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24gKyBidXR0b24ge1xuICBtYXJnaW4tbGVmdDogMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vIENlbnRyYWxpemEgYSBkdXBsYSDDlyAvIOKckyBob3Jpem9udGFsbWVudGUgbm8gcGFpbmVsIChkZWZhdWx0IGRhIGxpYiDDqSBmbGV4LWVuZClcbi8vICsgZXNwYcOnbyBleHRyYSBhY2ltYSBwcmEgZGFyIHJlc3Bpcm8gZW50cmUgbyB0aW1lcGlja2VyIGUgb3MgYm90w7VlcyBkZSBhw6fDo28uXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAxN3B4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxN3B4ICFpbXBvcnRhbnQ7ICAgLy8gaWd1YWwgYW8gdG9wIHByYSBzaW1ldHJpYVxufVxuXG4vLyBTZW0gdHJhbnNpw6fDo28gZGUgaG92ZXIgbm9zIGJvdMO1ZXMgw5cgZSDinJMg4oCUIG11ZGFuw6dhIGRlIGZ1bmRvIGluc3RhbnTDom5lYSxcbi8vIG1hcyBvIGVmZWl0byBkZSBob3ZlciAoYmcpIGRvIE1hdGVyaWFsIGZpY2EgcHJlc2VydmFkby5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbixcbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbiAqIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBIb3ZlciBkbyDDlyAoY2FuY2VsYXIpIOKAlCBmYW3DrWxpYSBcImJvdMOjby9tZW51XCIgZG8gY2hhaXIgVUk6XG4vLyBgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZGAsIG1lc21vIGRvIG1hdC1tZW51LWl0ZW0gZVxuLy8gYnJlYWRjcnVtYi4gVmVuY2UgbyBgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheWAgZG8gTWF0ZXJpYWwgKGRlZmF1bHRcbi8vIGNpbnphIHRyYW5zbMO6Y2lkbykgbmV1dHJhbGl6YW5kbyBvIG92ZXJsYXkuXG4vLyBgOmZpcnN0LWNoaWxkYCA9IMOXIChwcmVwZW5kIGRvIGBhZGRCdXR0b25DbG9zZWApLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBCb3TDo28g4pyTIChjb25maXJtYXIpIEVOQUJMRUQg4oCUIGZpbGwgYWNjZW50ICsgw61jb25lIGJyYW5jbyAobWVzbWEgZmFtw61saWFcbi8vIGRvcyBwcmltw6FyaW9zIGRvIGNoYWlyIFVJKS4gTyDDlyAoY2FuY2VsYXIpIGZpY2Egbm8gZm9ybWF0byBcInN0cm9rZWRcIlxuLy8gbmV1dHJvOyBzw7MgbyDinJMgdmlyYSBcInByaW1hcnlcIi4gRXN0YWRvIGRpc2FibGVkIChmb3JtIGxpbXBvIOKGkiBjbGFzc2Vcbi8vIGAuaXMtY2xlYW4tcGlja2VyYCBubyBwYW5lLCBPVSBgW2Rpc2FibGVkXWAgbm8gYm90w6NvIHF1YW5kbyBvIGZvcm0gZXN0w6Fcbi8vIGludsOhbGlkbykgbWFudMOpbSBvIHZpc3VhbCBuZXV0cm8vb3BhY28gb3JpZ2luYWwuXG4vLyBgOmxhc3QtY2hpbGRgID0g4pyTIChvIMOXIMOpIGBwcmVwZW5kYGFkbyBhbnRlcyBwZWxvIGBhZGRCdXR0b25DbG9zZWApLlxuLmNkay1vdmVybGF5LXBhbmU6bm90KC5pcy1jbGVhbi1waWNrZXIpIC5hY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAubWF0LWljb24geyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG59XG4uZGFyay10aGVtZSAuY2RrLW92ZXJsYXktcGFuZTpub3QoLmlzLWNsZWFuLXBpY2tlcikgLmFjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDaGFpciBVSSBhbGlnbm1lbnQ6IGRhdGVwaWNrZXIvdGltZXBpY2tlciBwb3B1cCB0eXBvZ3JhcGh5LlxuLy8gUG9wdXAgw6kgcmVuZGVyaXphZG8gZW0gYGNkay1vdmVybGF5LWNvbnRhaW5lcmAgZGlyZXRvIHNvYiA8Ym9keT4sIGZvcmFcbi8vIGRvIGNvbXBvbmVudCBlbmNhcHN1bGF0aW9uIOKAlCBydWxlcyBwcmVjaXNhbSBzZXIgZ2xvYmFpcy4gQWxpbmhhIGFzXG4vLyBmb250ZXMgZG8gcG9wdXAgY29tIG8gcml0bW8gMTMvNDMwIGRhIHDDoWdpbmEuXG4vLyBCb3JkZXItcmFkaXVzIGRvIHBvcHVwIGFsaW5oYWRvIGNvbSBvIHJlc3RvIGRvIGNoYWlyIFVJICgkY2hyb21lLXJhZGl1cykuXG4vLyBQYWRkaW5nIHJlZHV6aWRvIHByYSBjb21wYWN0YXIgKE1hdGVyaWFsIGRlZmF1bHQgdGVtIH44cHggbm8gLm1hdC1jYWxlbmRhclxuLy8gcXVlIHZpdmUgZGVudHJvIGRvIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50KS5cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7ICAgLy8gbWVzbWEgY29yIGRvcyBwYWluw6lpcyBkbyBzZWxlY3RcbiAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7ICAgICAgLy8gMnB4IGRlIHJlc3Bpcm8gZW50cmUgbyBwYWluZWwgZSBhIGNhaXhhXG4gIG1hcmdpbi1ib3R0b206IDJweCAhaW1wb3J0YW50OyAgIC8vIGlkZW0gcXVhbmRvIGFicmUgcHJhIGNpbWFcbiAgLy8gTGFyZ3VyYSBkbyBwb3B1cCBjb21wYWN0YWRhIOKAlCBNYXRlcmlhbCBkZWZhdWx0IH4yOTZweC4gQ29tbyBhIGNhbGVuZGFyXG4gIC8vIHRhYmxlIGZvaSByZWR1emlkYSBwcmEgMjAwcHgsIG8gcG9wdXAgdGVtIGVzcGHDp28gbGF0ZXJhbCBzb2JyYW5kbztcbiAgLy8gMjU2cHggZGVpeGEgZm9sZ2EgY29uZm9ydMOhdmVsIHNlbSBkZXNwZXJkw61jaW8uXG4gIHdpZHRoOiAyNTZweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgLy8gU29tYnJhIHVuaWZpY2FkYSBjb20gb3MgcGFpbsOpaXMgZG8gc2VsZWN0IChsaWdodCk6IGZpbHRlciBlbSB2ZXogZG9cbiAgLy8gYm94LXNoYWRvdyBkZWZhdWx0IE1hdGVyaWFsIChxdWUgdXNhIGVsZXZhdGlvbiBtdWl0byBwZXNhZGEpLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcblxuICAubWF0LWNhbGVuZGFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1hdC1jYWxlbmRhciB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gIC8vIEhlYWRlciAobcOqcy9hbm8gKyBhcnJvd3MpIHNvYmUg4oCUIHJlZHV6IHBhZGRpbmctdG9wIGRvIGhlYWRlciBwcmFcbiAgLy8gY29sYXIgY29tIGEgYm9yZGEgc3VwZXJpb3IgZG8gcG9wdXAuXG4gIC5tYXQtY2FsZW5kYXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggMDtcblxuICAgIC5tYXQtY2FsZW5kYXItY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm90w7VlcyDigLkg4oC6ICAocHJldmlvdXMvbmV4dCBtb250aCkuIENvbnRpbnVhbSBzZW5kbyBgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+YCxcbiAgICAvLyBtYXMgZXNjb25kZW1vcyBvIGNocm9tZSBNYXRlcmlhbCAocmlwcGxlL2ZvY3VzLW92ZXJsYXkvZ2xpZm8gZGVmYXVsdCkgZVxuICAgIC8vIGluamV0YW1vcyBTVkcgY2hldnJvbiB2aWEgYDo6YWZ0ZXJgLiBSZXN1bHRhZG86IHBhcmVjZSB1bSBib3TDo28gSFRNTCBwdXJvXG4gICAgLy8gY29tIG8gbWVzbW8gcGVzbyB2aXN1YWwgZG9zIGdsaWZvcyBzZWN1bmTDoXJpb3MgKCRpY29uLW11dGVkIC8gaG92ZXIpLlxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24ge1xuICAgICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgLy8gTyBNYXRlcmlhbCBkZXNlbmhhIG8gY2hldnJvbiB2aWEgYDo6YWZ0ZXJgIG5vIFBSw5NQUklPIGJvdMOjb1xuICAgICAgLy8gKHRyacOibmd1bG8gQ1NTIGNvbSBib3JkZXIgKyB0cmFuc2Zvcm0pLiBaZXJhbW9zIGNvbXBsZXRhbWVudGVcbiAgICAgIC8vIHByYSBlbGUgbsOjbyBjb21wZXRpciBjb20gbyBub3NzbyBTVkctbWFzayBubyB3cmFwcGVyLlxuICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIHN2ZyxcbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIgLm1hdC1pY29uIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIC8vIENoZXZyb24gU1ZHIGlubGluZSB2aWEgbWFzayAobWVzbW8gcGFkcsOjbyBkbyBjaGV2cm9uIGRvIHNlbGVjdCkuXG4gICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgICAubWF0LWJ1dHRvbi13cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyOjphZnRlciB7XG4gICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J002LjUgMiBMMyA1IEw2LjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTYuNSAyIEwzIDUgTDYuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIH1cbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTMuNSAyIEw3IDUgTDMuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMy41IDIgTDcgNSBMMy41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuXG4gICAgLy8gQ2hyb21lIE1hdGVyaWFsIGZvcmEg4oCUIHNlbSByaXBwbGUvZm9jdXMtb3ZlcmxheSBxdWUgZGVpeGFyaWFtXG4gICAgLy8gXCJmbGFzaFwiIGFvIGNsaWNhci9ob3Zlci5cbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiAubWF0LXJpcHBsZSxcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LXJpcHBsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gSG92ZXI6IFwiYWNlbmRlXCIgKG1lc21hIGxpbmd1YWdlbSBkbyBjaGV2cm9uIGRvIHNlbGVjdCBlIGRvIGNhbGVuZMOhcmlvKS5cbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbjpob3ZlcixcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gVG9kb3Mgb3MgcsOzdHVsb3MgZG8gY2FsZW5kw6FyaW8g4oCUIHBlcsOtb2RvIChtw6pzL2FubyksIGJvZHktbGFiZWwgKEZFVi9KQU7igKYpLFxuICAgIC8vIGhlYWRlciAoZGlhcyBkYSBzZW1hbmEpLiBQb2zDrXRpY2Egc3lzdGVtLXdpZGUgYG5vLWNhcHNgIOKAlCBvdmVycmlkZVxuICAgIC8vIGFvIE1hdGVyaWFsIGRlZmF1bHQgZSBhbyBwcsOzcHJpbyBgdGV4dC10cmFuc2Zvcm1gIGlubGluZSB2aWEgbGlnYXR1cmUuXG4gICAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uLFxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiAqLFxuICAgIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCxcbiAgICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50OyAgIC8vIDhweCBlbSB2b2x0YSDigJQgcmVzcGlybyBkbyBoZWFkZXIgbm8gdG9wbyArIGJhc2UgdW5pZm9ybWUgcC8gb3Mgc2VsZXRvcmVzIGRlIGFuby9tw6pzLlxuICB9XG5cbiAgLy8gTGltaXRhIGxhcmd1cmEgZGEgdGFiZWxhIHByYSBlbmNvbGhlciBvIGdhcCBob3Jpem9udGFsIGVudHJlIGRpYXMuXG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgZGVpeGEgbyB0YWJsZSBlc3RpY2FyIHByYSAxMDAlIGRvIGNvbnRhaW5lcjsgY2FkYSB0ZFxuICAvLyB2aXJhIH40MHB4LiBDb20gbWF4LXdpZHRoIDI0MHB4IG8gY2FsZW5kw6FyaW8gZmljYSB2aXN1YWxtZW50ZSBjb21wYWN0by5cbiAgLm1hdC1jYWxlbmRhci10YWJsZSB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC8vIFJlc3Bpcm8gZW50cmUgYSBsaW5oYSBkYXMgaW5pY2lhaXMgKEQgUyBULi4uKSBlIGEgMcKqIGxpbmhhIGRvIG3DqnMg4oCUXG4gIC8vIDhweCB2aWEgcGFkZGluZy10b3AgbmEgcHJpbWVpcmEgbGluaGEgZG8gYm9keSAoYSBgaGVpZ2h0YCBubyBkaXZpZGVyXG4gIC8vIHBvZGUgbsOjbyBiYXN0YXIgZGVwZW5kZW5kbyBkYSB0YWJlbGEpLlxuICAubWF0LWNhbGVuZGFyLWJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgIHBhZGRpbmctdG9wOiA4cHggIWltcG9ydGFudDtcbiAgfVxuXG5cbiAgLy8gVGlwb2dyYWZpYSBkbyByw7N0dWxvIFwiSnVuLiBkZSAyMDI2XCIg4oCUIGlndWFsIGFvIGNvbnRlw7pkbyBkYXMgY2FpeGFzXG4gIC8vIGRlIHRleHRvIGRvIEpFTVMzICgxM3B4IC8gNDAwIC8gLTAuMDFlbSAvIGNvciBkbyBib2R5IGRvIGNoYWlyIFVJKS5cbiAgLy8gSG92ZXI6IGZhbcOtbGlhIFwiYm90w6NvL21lbnVcIiBkbyBjaGFpciBVSVxuICAvLyAoYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmRgLCBtZXNtbyBkbyBtYXQtbWVudS1pdGVtIGVcbiAgLy8gZG8gw5cgZG8gZGF0ZXBpY2tlcikuIE5ldXRyYWxpemEgbyBgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheWAgZG8gTWF0ZXJpYWwuXG4gIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAgIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkgeyBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDsgICAgICAgICAgICAgICAgLy8gbXV0ZWQsIG1hcyB2aXPDrXZlbCBlbSBxdWFscXVlciBiZ1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAgICAgICAgICAgICAgLy8gc2VtIGJvcmRhIGFvIHJlZG9yIGRhcyBpbmljaWFpc1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIE1hdGVyaWFsIGRlc2VuaGEgdW0gZGl2aWRlciAoYC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXJgKVxuICAvLyBsb2dvIGFiYWl4byBkYXMgaW5pY2lhaXMuIEEgTElOSEEgZW0gc2kgKGA6OmFmdGVyYCkgZmljYSBlc2NvbmRpZGEuXG4gIC8vIEVzcGHDp28gZW50cmUgaGVhZGVyIGUgMcKqIGxpbmhhIGRvcyBkaWFzIHZlbSB2aWEgYGhlaWdodGAgZXhwbMOtY2l0b1xuICAvLyBubyBgPHRoPmAgZGl2aWRlciDigJQgaW11bmUgYSBgcGFkZGluZzogMCAhaW1wb3J0YW50YCBlIGFvXG4gIC8vIGBib3JkZXItY29sbGFwc2VgIGRhIHRhYmVsYS5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlciB7XG4gICAgaGVpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIGAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxgIMOpIG8gcsOzdHVsbyBcIkZFVi5cIiBxdWUgTWF0ZXJpYWwgcmVuZGVyaXphXG4gIC8vIGNvbW8gY8OpbHVsYSBpbnZpc8OtdmVsIG5vIGluw61jaW8gZGEgcHJpbWVpcmEgc2VtYW5hIHBhcmNpYWwuIENvbW8gb1xuICAvLyBoZWFkZXIgasOhIG1vc3RyYSBcIkZFVi4gREUgMjAyMVwiLCBhIGxhYmVsIGRlbnRybyBkbyBib2R5IMOpIHJlZHVuZGFudGUuXG4gIC8vIEVzY29uZGVyIGNvbSBgdmlzaWJpbGl0eTogaGlkZGVuYCBwcmVzZXJ2YSBvIGxheW91dCBkbyBjb2xzcGFuIChhXG4gIC8vIHByaW1laXJhIHNlbWFuYSBwYXJjaWFsIGZpY2EgYWxpbmhhZGEgY29ycmV0YW1lbnRlKSBtYXMgb2N1bHRhIG8gdGV4dG8uXG4gIC8vIE1hdGVyaWFsIHJlbmRlcml6YSBlc3NlIGA8dGQ+YCBjb21vIHVtIGxhYmVsL3BsYWNlaG9sZGVyIGNvbHNwYW4gbm9cbiAgLy8gaW7DrWNpbyBkYSBwcmltZWlyYSBzZW1hbmEgcGFyY2lhbC4gQ29tbyBvIGhlYWRlciBqw6EgbW9zdHJhIFwiRkVWLiBERSAyMDIxXCIsXG4gIC8vIG8gcsOzdHVsbyBhcXVpIMOpIHJlZHVuZGFudGUuIFplcmFyIGFsdHVyYS9mb250L3BhZGRpbmcgY29sYXBzYVxuICAvLyB2aXN1YWxtZW50ZSBzZW0gcXVlYnJhciBvIGFsaW5oYW1lbnRvIGRhcyBjb2x1bmFzIChvIGNvbHNwYW4gY29udGludWFcbiAgLy8gcmVzZXJ2YW5kbyBjb2x1bmFzLCBzw7MgbsOjbyB0ZW0gYWx0dXJhKS5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsIHtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIExpbmhhIGRlIGluaWNpYWlzIChEIFMgVCBRLi4uKSBzZW0gcGFkZGluZy1ib3R0b20g4oCUIE1hdGVyaWFsIGRlZmF1bHRcbiAgLy8gZW1wdXJyYSA4cHggYWJhaXhvIGRhcyBpbmljaWFpcyBhbnRlcyBkYSBib2R5IGNvbWXDp2FyLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0ciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAvLyBNYXRlcmlhbCBjb21wdXRhIGFsdHVyYSBwb3Igcm93ICh0YWJsZSBsYXlvdXQpLCBuw6NvIHBvciBjZWxsLiBQcmFcbiAgLy8gY29tcGFjdGFyIG8gZ2FwIGVudHJlIHJvd3MgZGUgZGlhcyBwcmVjaXNhIGF0YWNhciBvIDx0cj4gZGlyZXRvLlxuICAubWF0LWNhbGVuZGFyLWJvZHkgdHIge1xuICAgIGhlaWdodDogMjZweDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsIHtcbiAgICBoZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICB9XG5cbiAgLy8gU2VsZXRvciBkZSBBTk8gKHZpZXcgXCJtdWx0aS15ZWFyXCIpIOKAlCBhIGPDqWx1bGEgZGVmYXVsdCAoMjTDlzI0KSBmaWNhXG4gIC8vIHBlcXVlbmEgcHJhIGFicmlnYXIgXCIyMDI2XCIuIFZpcmEgUElMTCBhbG9uZ2FkbyAobGFyZ3VyYSBjb25mb3J0w6F2ZWxcbiAgLy8gKyByYWRpdXMgcGlsbCkuIEhlaWdodCBtYW50aWRhLlxuICBuZ3gtbWF0LW11bHRpLXllYXItdmlldyB7XG4gICAgLy8gU2VtIGxpbmhhIGRlIGluaWNpYWlzIG5lc3NhIHZpZXcg4oCUIG8gYC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXJgXG4gICAgLy8gKHNwYWNlciBkZWZhdWx0IGRvIE1hdGVyaWFsKSB2aXJhIHVtYSBmb2xnYSBzdXBlcmlvciBpbsO6dGlsLiBTb21lLlxuICAgIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDsgICAvLyBwaWxsICg9IGhlaWdodC8yKVxuICAgIH1cbiAgfVxuXG4gIC8vIFNlbGV0b3IgZGUgTcOKUyAodmlldyBcInllYXJcIikg4oCUIG1lc21hIGlkZWlhOiBcImphblwiLCBcImZldlwiLi4uIHByZWNpc2FtXG4gIC8vIGRlIG1haXMgbGFyZ3VyYSBxdWUgYSBjw6lsdWxhIGRlZmF1bHQuIFBpbGwgaWTDqm50aWNvIGFvIGRvIGFuby5cbiAgbmd4LW1hdC15ZWFyLXZpZXcge1xuICAgIC8vIElkZW0g4oCUIHNlbSBsaW5oYSBkZSBpbmljaWFpcywgc3BhY2VyIG7Do28gZmF6IHNlbnRpZG8uXG4gICAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4ubmd4LW1hdC10aW1lcGlja2VyIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcblxuICBpbnB1dCxcbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEFwcm94aW1hIGFzIDMgbGluaGFzICjilrIgLyBob3JhOm1pbnV0byAvIOKWvCkg4oCUIE1hdGVyaWFsIGTDoSA0MHB4IGRlIGFsdHVyYVxuICAvLyBubyBgbWF0LWljb24tYnV0dG9uYCArIGVzcGHDp28gZGUgdGQ7IHJlZHV6aW1vcyBhIGFsdHVyYSBkb3MgYXJyb3dzXG4gIC8vIGUgbyBwYWRkaW5nIGRvcyB0ZHMgcHJhIGNvbXBhY3RhciBvIGJsb2NvLlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxuICAvLyBCb3TDtWVzIGRlIHNwaW4gKOKWsiDilrwpIFNFTSBjaHJvbWUgTWF0ZXJpYWwg4oCUIHBhcmVjZW0gSFRNTCBwdXJvLFxuICAvLyBpZ3VhbCBhb3MgKy/iiJIgZG8gbnVtYmVyLWlucHV0OiB0cmFuc3BhcmVudGUgZW0gcmVwb3VzbywgZmlsbCBkbyB0b2tlblxuICAvLyBubyBob3ZlciwgZ2xpZm8gXCJhY2VuZGVcIiBubyBob3Zlciwgc2VtIHJpcHBsZS9mb2N1cy1vdmVybGF5LlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24ge1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmcgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIG1hdC1pY29uLFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gV3JhcHBlciBpbnRlcm5vIGRvIG1hdC1mb3JtLWZpZWxkIChpbnB1dCBkYSBob3JhL21pbnV0bykg4oCUIHplcmEgYXNcbiAgLy8gbWFyZ2Vucy9wYWRkaW5ncyBkZWZhdWx0IGRvIGAubWF0LWZvcm0tZmllbGQtd3JhcHBlcmAgcXVlIGVtcHVycmFtXG4gIC8vIGFzIGxpbmhhcyBkZSBzZXRhcyBwcmEgbG9uZ2UuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmZpbHRlci1zdHlsZWQg4oCUIFBSRVNFVCBHTE9CQUwgZG8gZGF0ZXBpY2tlciBubyBlc3RpbG9cbi8vIGRhIGNhaXhhIGRlIGZpbHRybyAoYXBwLWN1c3RvbS1zZWFyY2ggYC5jaGlwLWV4cGFuZGVkYCkuIEZPTlRFIMOaTklDQTogZWRpdGFyXG4vLyBhcXVpIHJlZmxldGUgZW0gVE9ET1Mgb3MgdXNvcy4gT3B0LWluIHBvciBjbGFzc2U7IGNvbWJpbmUgY29tIG9zIGlucHV0cyBkb1xuLy8gY29tcG9uZW50ZSBjb25mb3JtZSBvIGNhc28gKGZsYWdzIHNlcGFyYWRvcyk6XG4vL1xuLy8gICA8YXBwLWRhdGV0aW1lcGlja2VyLWlucHV0IGNsYXNzPVwiZmlsdGVyLXN0eWxlZFwiXG4vLyAgICAgICAgW2xvY2tDbG9zZV09XCJ0cnVlXCIgICAgICAgIC8vIGNhbGVuZMOhcmlvIG1vZGFsIChzw7MgZmVjaGEgcG9yIFgvY2hlY2spXG4vLyAgICAgICAgW2lubGluZVRpbWVab25lXT1cInRydWVcIiAgIC8vIGdsb2JvICsgdmlzdWFsaXphZG9yIGRlIGZ1c29zIG5vIGNhbXBvXG4vLyAgICAgICAgW2VuYWJsZWRUaW1lWm9uZV09XCJ0cnVlXCIgLi4uPlxuLy9cbi8vIFRyw6pzIHBlw6dhcyBkbyBwcmVzZXQ6ICgxKSBhIENBSVhBIGNvbSBkYXRhID0gLmZpbHRlci1zdHlsZWQgKGVzdGUgYmxvY28pO1xuLy8gKDIpIG8gU0VMRVRPUiBkZSBkYXRhID0gcG9wdXAgZG8gY2FsZW5kw6FyaW8gKC5tYXQtY2FsZW5kYXIsIGrDoSBnbG9iYWwgYWNpbWEpXG4vLyArIG1vZGFsIHZpYSBbbG9ja0Nsb3NlXTsgKDMpIG8gVklTVUFMSVpBRE9SIGRlIGZ1c29zID0gZ2xvYm8gKyBhcHAtZGlhbG9nLXRpbWV6b25lXG4vLyB2aWEgW2lubGluZVRpbWVab25lXSAoZXN0aWxvIGRvIGdsb2JvIG5vIGZpbSBkZXN0ZSBibG9jbykuXG4vL1xuLy8gTyBtYXQtZm9ybS1maWVsZCAoYXBwZWFyYW5jZT1vdXRsaW5lKSDDqSBcImFjaGF0YWRvXCI6IGVzY29uZGVtb3MgbyBjaHJvbWUgZG9cbi8vIG91dGxpbmUgKyBsYWJlbCBmbHV0dWFudGUgKyBzdWJzY3JpcHQsIGUgZGVzZW5oYW1vcyBhIGNhaXhhIGRpcmV0byBub1xuLy8gYC5tYXQtZm9ybS1maWVsZC1mbGV4YC4gR2xvYmFsIChzZW0gOjpuZy1kZWVwKTogbyBjb21wb25lbnRlIMOpIEVtdWxhdGVkLCBtYXNcbi8vIGVzdGFzIHJlZ3JhcyB2aXZlbSBubyBzdHlsZXNoZWV0IEdMT0JBTCwgZW50w6NvIGF0aW5nZW0gYXMgY2xhc3NlcyBpbnRlcm5hc1xuLy8gc2VtIHByZWNpc2FyIGRlIGVuY2Fwc3VsYW1lbnRvLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmZpbHRlci1zdHlsZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLy8gRGVmYXVsdCBgZmxleDogMCAwIGF1dG9gIChjb250ZcO6ZG8gbmF0dXJhbCkgc8OzIGZvcmEgZG8gZ3JpZCBCdWxtYS5cbiAgLy8gQ29tIGAuY29sdW1uYCwgZGVpeGFtb3MgYXMgcmVncmFzIGRlIGZsZXggZG8gQnVsbWEgKGBmbGV4OiAxIDEgMGAgZXRjLilcbiAgLy8gZG9taW5hcmVtIOKAlCBzZW7Do28gbyBob3N0IG7Do28gY3Jlc2NlIG5hIGNvbHVuYSBlIG9zIGlybcOjb3MgZmljYW1cbiAgLy8gZGVzYWxpbmhhZG9zIChjYXNvIGRhcyBEYXRhcyB2cyBMb2NhbGl6YcOnw6NvKS5cbiAgJjpub3QoLmNvbHVtbikge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAyNjBweDsgICAgIC8vIGxhcmd1cmEgZGVmYXVsdCBmb3JhIGRvIGdyaWRcbiAgfVxuXG4gIC8vIG1hdC1mb3JtLWZpZWxkIGludGVybm8gZXhwYW5kZSBwcmEgbGFyZ3VyYSBkbyBob3N0LiBTZW0gaXNzbywgcXVhbmRvXG4gIC8vIG8gY29uc3VtaWRvciBwYXNzYSBgW3dpZHRoXT1cIicyMDBweCdcImAgKHZpYSBIb3N0QmluZGluZyBlbSAudHMpLCBvIGhvc3RcbiAgLy8gZ2FuaGEgMjAwcHggbWFzIG8gZm9ybS1maWVsZCBjb250aW51YSBjb250ZW50LXNpemVkIOKGkiBjYWl4YSB2aXN1YWxtZW50ZVxuICAvLyBuw6NvIHJlc3BlaXRhIGEgbGFyZ3VyYSBzb2xpY2l0YWRhLlxuICAvLyBOw4NPIHVzYXIgYD5gIHBvcnF1ZSBvIHRlbXBsYXRlIHRlbSB1bSB3cmFwcGVyIGA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1pbnB1dFwiPmBcbiAgLy8gZW50cmUgbyBob3N0IGUgbyBgbWF0LWZvcm0tZmllbGRgIOKAlCBkZXNjZW5kZW50ZSwgbsOjbyBmaWxobyBkaXJldG8uXG4gIC5kYXRlcGlja2VyLWlucHV0IHsgd2lkdGg6IDEwMCU7IH1cbiAgLm1hdC1mb3JtLWZpZWxkIHsgd2lkdGg6IDEwMCU7IG1pbi13aWR0aDogMDsgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBtaW4td2lkdGg6IDA7IH1cbiAgLy8gU3Vic2NyaXB0LXdyYXBwZXIgdmlzw612ZWwgZW0gQUJTT0xVVEUgYWJhaXhvIGRhIGNhaXhhIHByYSBtb3N0cmFyXG4gIC8vIG1hdC1lcnJvciBzZW0gZW1wdXJyYXIgbyBsYXlvdXQgKG1lc21hIHTDqWNuaWNhIGRvIF9mb3JtLWZpZWxkLnNjc3MpLlxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLy8gRXNjb25kZSBtYXQtaGludCAoaW5jbHVpbmRvIG8gYD9gIGRvIGBbaGVscF1gKSBuYSDDoXJlYSBkZSBzdWJzY3JpcHQgcHJhXG4gIC8vIG7Do28gc29icmVwb3IgZGl2aWRlcnMgZW50cmUgc2XDp8O1ZXMuXG4gIC5tYXQtZm9ybS1maWVsZC1oaW50LXdyYXBwZXIsXG4gIC5tYXQtaGludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvLyBBIGNhaXhhIOKAlCBlc3BlbGhhIGAuY2hpcC1leHBhbmRlZGA6IDM2cHgsIHJhZGl1cy9mdW5kby9ib3JkYSBkb3MgdG9rZW5zXG4gIC8vIGNocm9tZS4gUGFkZGluZy1MRUZUIHJlZHV6aWRvIGEgNHB4IHByYSBlbmNvc3RhciBvIGJvdMOjbyBkbyBjYWxlbmTDoXJpb1xuICAvLyBwcsOzeGltbyBkYSBib3JkYSAobyBib3TDo28gdGVtIGhvdmVyIGJnIHF1ZSBhYnJhw6dhIG9zIDRweCByZXN0YW50ZXMpO1xuICAvLyBwYWRkaW5nLXJpZ2h0IHNlZ3VlIDEwcHggZG8gZ2FwIG5hdHVyYWwgw6AgZGlyZWl0YS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAzcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgLy8gQ2xpY2sgZW0gUVVBTFFVRVIgcG9udG8gZG8gYm94IGFicmUgbyBwaWNrZXIgKGhhbmRsZXIgbm9cbiAgICAvLyBgLmRhdGVwaWNrZXItaW5wdXRgIHdyYXBwZXIpIOKAlCBjdXJzb3IgYHBvaW50ZXJgIHNpbmFsaXphIGlzc28uXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIEhvdmVyL2ZvY28gaW5zdGFudMOibmVvcyDigJQgc2VtIHRyYW5zacOnw6NvIChhIHBlZGlkbyBkbyB1c3XDoXJpbykuXG4gICAgLy8gTmVjZXNzw6FyaW8gcHJhIG8gZmxleCBjaGFpbiBzaHJpbmtlYXI6IGBvdmVyZmxvdzogaGlkZGVuYCBjbGlwYSBvIGNvbnRlw7pkb1xuICAgIC8vIHF1ZSB2YXphIGFsw6ltIGRhIGJvcmRhIGRvIGJveDsgYG1pbi13aWR0aDogMGAgbGliZXJhIG8gaXRlbSBmaWxobyBkbyBmbGV4XG4gICAgLy8gcGFpIGEgZW5jb2xoZXIgYWJhaXhvIGRvIHRhbWFuaG8gZGUgY29udGXDumRvLlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG4gIC8vIElucHV0L21hc2sgaW50ZXJubyB0YW1iw6ltIGhlcmRhIG8gcG9pbnRlciAocmVhZG9ubHksIGNsaWNrIGRlbGVnYWRvKS5cbiAgLm1hdC1pbnB1dC1lbGVtZW50LFxuICAuY29udGFpbmVyLWRhdGUtdGltZS1tYXNrIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHsgbWluLXdpZHRoOiAwOyB9XG4gIC5fY29udGFpbmVyLWlucHV0IHsgbWluLXdpZHRoOiAwOyB9XG5cbiAgLy8gQ2FsZW5kw6FyaW8gPSDDjUNPTkUtR1VJQSDDgCBFU1FVRVJEQSAoY29tbyBvIGBmaWx0ZXJfYWx0YCBkbyBmaWx0cm8pOiBtb3ZpZG9cbiAgLy8gcC8gYW50ZXMgZG8gdGV4dG8gKGBvcmRlcjogLTFgKSwgbXV0ZWQsIDE4cHgsIHNlbSBjaHJvbWUgZGUgbWF0LWljb24tYnV0dG9uLlxuICAvLyBPIHN1ZmZpeCBkbyBNYXRlcmlhbCDDqSBgZGlzcGxheTpibG9ja2AgKGxpbmUtYm94IDIzcHgpICsgdG9nZ2xlIGlubGluZSBuYVxuICAvLyBiYXNlbGluZSAoYWZ1bmRhdmEgfjYuNXB4KTsgZm9yw6dhbW9zIGZsZXgtY2VudGVyIG5hIGNhZGVpYS4gTWF0ZXJpYWwgYWluZGFcbiAgLy8gYXBsaWNhIGBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjRweGAgbm8gc3VmZml4IOKAlCB6ZXJhbW9zLlxuICAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcbiAgICBvcmRlcjogLTE7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8vIEJvdMOjbyAyOMOXMjgg4oCUIMOhcmVhIGNsaWPDoXZlbCBxdWFkcmFkYSwgaG92ZXIgYmcgXCJhYnJhw6dhbmRvXCIgbyBnbGlmby5cbiAgICAvLyBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBgLm1hdC1idXR0b24tYmFzZSB7IGhlaWdodDogMzZweCB9YFxuICAgIC8vIGRvIE1hdGVyaWFsIChzcGVjaWZpY2l0eSBhbHRhICsgcmVncmEgZ2xvYmFsIGRvIGJ1dHRvbiB7IGhlaWdodDogMzZweCB9XG4gICAgLy8gZW0gYF9idXR0b24uc2Nzc2ApLlxuICAgIHdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7XG4gIH1cbiAgLy8gU2VtIGZpbGwgZGUgaG92ZXIgbm8gYm90w6NvIGRvIGNhbGVuZMOhcmlvIOKAlCBzw7MgYSBDT1IgZG8gZ2xpZm8gbXVkYVxuICAvLyAobWVzbWEgbGluZ3VhZ2VtIGRvcyArL+KIkiBlIGNoZXZyb24gZG8gc2VsZWN0OiBvIGNvbnRhaW5lciBmaWNhIGxpbXBvKS5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LXJpcHBsZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8vIE8gw61jb25lIGRlZmF1bHQgZG8gdG9nZ2xlIMOpIHVtIFNWRyBDSEVJTyAoXCJncm9zc2Vpcm9cIikuIEVzY29uZGVtb3MgZVxuICAvLyByZW5kZXJpemFtb3MgbyBnbGlmbyBGSU5PIGRvIE1hdGVyaWFsIFN5bWJvbHMgdmlhIGxpZ2F0dXJlIG5vIGA6OmFmdGVyYC5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWRlZmF1bHQtaWNvbixcbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSBzdmcgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogJ2NhbGVuZGFyX3RvZGF5JztcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAvLyBNZXNtYSBjb3IgZG8gc3ViLWJvdMOjbyBkbyBzZWxlY3Qg4oCUIG11dGVkIGVtIHJlcG91c28sIFwiYWNlbmRlXCIgbm8gaG92ZXIuXG4gICAgLy8gU2VtIG9wYWNpdHkgKG8gdG9rZW4gasOhIGVtYnV0ZSBhIGFsZmEgY29ycmV0YSkuXG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICB9XG4gIC8vIFwiQWNlbmRlXCIgbm8gaG92ZXIgZGEgQ0FJWEEgRSBlbnF1YW50byBvIHBhaW5lbCBkbyBjYWxlbmTDoXJpbyBlc3TDoSBhYmVydG9cbiAgLy8gKG8gbW91c2UgbWlncmEgcHJvIHBhaW5lbCBlIHBlcmRlcmlhIG8gaG92ZXIg4oCUIGlndWFsIGFvIGNoZXZyb24gZG8gc2VsZWN0XG4gIC8vIHF1YW5kbyBgLmlzLW9wZW5gKS4gQ29icmUgYC5waWNrZXItb3BlbmAgKHdyYXBwZXIgcHLDs3ByaW8pLCBgLm1hdC1mb2N1c2VkYFxuICAvLyAoTWF0ZXJpYWwgZHVyYW50ZSBvdmVybGF5KSBlIGNhaXhhcyBjb20gdmlzdWFsaXphZG9yIGRlIGZ1c28gYWJlcnRvXG4gIC8vIChgOmhhcygudHotZ2xvYmUubWVudS1vcGVuKWApLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3BlbikgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLnBpY2tlci1vcGVuIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXI7XG4gIH1cblxuICAvLyBQcmVzZXJ2YSBvIGhhbG8gKGJveC1zaGFkb3cpIGRhIGNhaXhhIGVucXVhbnRvIG8gdmlzdWFsaXphZG9yIGRlIGZ1c29cbiAgLy8gZXN0w6EgYWJlcnRvIOKAlCBvIG1vdXNlIG1pZ3JhIHBybyBwb3BvdmVyIGUgbyBgOmhvdmVyYCBuYXR1cmFsIHNlIHBlcmRlLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3Blbikge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIH1cblxuICAvLyDDgXJlYSBkbyB2YWxvciDigJQgc2VtIG8gYm9yZGVyLXRvcCBkbyBvdXRsaW5lOyBsYXJndXJhIG5hdHVyYWwgKGEgY2FpeGFcbiAgLy8gYWJyYcOnYSBvIGNvbnRlw7pkbyBudW1hIMO6bmljYSBsaW5oYSwgY29tbyBvIGZpbHRybykuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBWYWxvciArIG9mZnNldCBudW1hIMO6bmljYSBsaW5oYSwgY2VudHJhbGl6YWRvcywgZ2FwIGVueHV0byAoZXJhIDE1cHgpLlxuICAuX2NvbnRhaW5lci1pbnB1dCB7XG4gICAgZ2FwOiA2cHggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLy8gVGlwb2dyYWZpYSBJRMOKTlRJQ0EgYW8gYC5jaGlwLWlucHV0YCBkbyBmaWx0cm86IDE0cHggLyA0MDAgLyAtMC4wMWVtIC8gY29yXG4gIC8vIGRlIGNvcnBvIGRvIGNoYWlyIFVJIChvIGRlZmF1bHQgZG8gY29tcG9uZW50ZSDDqSAxM3B4LzQzMCkuXG4gIC5jb250YWluZXItZGF0ZS10aW1lLW1hc2sge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgLy8gSU1QT1JUQU5URTogYGZsZXgtYmFzaXM6IGF1dG9gIChuw6NvIDApIOKAlCBzw7MgYXNzaW0gYSBzb21hIGRvcyBiYXNpcyBub1xuICAgIC8vIGAuX2NvbnRhaW5lci1pbnB1dGAgZXhjZWRlIGEgbGFyZ3VyYSBkaXNwb27DrXZlbCBxdWFuZG8gaMOhIGNvbnRlw7pkb1xuICAgIC8vIGRlbWFpcywgZGlzcGFyYW5kbyBvIHNocmluayBwaGFzZSBkbyBmbGV4LiBDb20gYGJhc2lzOiAwYCwgYSBtYXNrXG4gICAgLy8gZ2FuaGF2YSBlc3Bhw6dvIHPDsyB2aWEgYGdyb3dgLCBlIG8gb2Zmc2V0IChxdWUgdGVtIHNocmluayA5OTk5KSBudW5jYVxuICAgIC8vIGVyYSBhY2lvbmFkbyBwcmEgY29sYXBzYXIuIGBtaW4td2lkdGg6IDBgIGxpYmVyYSBvIHNocmluayBhYmFpeG8gZGVcbiAgICAvLyBtaW4tY29udGVudDsgYG92ZXJmbG93OiBoaWRkZW5gICsgYHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzYCBhcGxpY2FtXG4gICAgLy8gXCIuLi5cIiBjb21vIMO6bHRpbW8gcmVjdXJzbyAoYXDDs3MgbyBvZmZzZXQgY29sYXBzYXIpLlxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyAgICAgICAvLyB0ZXh0LW92ZXJmbG93IGV4aWdlIGNvbnRleHRvIGRlIGJsb2NvXG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG4gIC5wbGFjZWhvbGRlci1tYXNrIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICB9XG4gIC8vIE9mZnNldCBkZSB0aW1lem9uZSBSRUNVQURPIOKAlCBzZWN1bmTDoXJpbyBhbyB2YWxvci5cbiAgLy8gYGZsZXg6IDAgOTk5OSBhdXRvYCArIGBtaW4td2lkdGg6IDBgICsgYG92ZXJmbG93OiBoaWRkZW5gOiBxdWFuZG8gaMOhXG4gIC8vIG92ZXJmbG93IG5vIGAuX2NvbnRhaW5lci1pbnB1dGAsIG8gb2Zmc2V0IGVuY29saGUgfjk5OTl4IG1haXMgcsOhcGlkbyBxdWUgYVxuICAvLyBkYXRhIChxdWUgdGVtIGBmbGV4LXNocmluazogMWApLiBSZXN1bHRhZG86IG8gYChVVEMuLi4pYCBcInNvbWVcIiBQUklNRUlST1xuICAvLyAobGFyZ3VyYSBjb2xhcHNhIGEgMCwgY29udGXDumRvIMOpIGNsaXBhZG8pLCBlIFPDkyBERVBPSVMg4oCUIHNlIGFpbmRhIGFzc2ltXG4gIC8vIG7Do28gY291YmVyIOKAlCBhIGRhdGEgdHJ1bmNhIGNvbSBcIi4uLlwiLiBTZW0gdGhyZXNob2xkIGVtIHB4LCBzZW0gY29udGFpbmVyXG4gIC8vIHF1ZXJ5OiBvIHByw7NwcmlvIG1vdG9yIGRlIGZsZXggZGVjaWRlIGNvbSBiYXNlIG5vIG92ZXJmbG93IHJlYWwuXG4gIC5vZmZzZXQge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXg6IDAgOTk5OSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gVklTVUFMSVpBRE9SIGRlIGZ1c29zIChyZWFkLW9ubHksIFtpbmxpbmVUaW1lWm9uZV0pIMOgIGRpcmVpdGEgZG8gdmFsb3I6XG4gIC8vIGdsb2JvIFNVVElMIChtZW5vciArIG9wYWNpdHkgYmFpeGEgKyB0cmHDp28gZmlubyksIHNlbSBjaHJvbWUgZGUgbWF0LWljb24tYnV0dG9uLlxuICBhcHAtZGlhbG9nLXRpbWV6b25lLmlubGluZS10ei12aWV3ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAvLyBPIDxzcGFuPiB3cmFwcGVyIGRvIGJvdMOjbyDDqSBpbmxpbmUgKGJhc2VsaW5lKSDihpIgam9nYXZhIG8gZ2xvYm8gfjEuM3B4XG4gICAgLy8gYWNpbWEgZG8gY2VudHJvLiBGbGV4LWNlbnRlciBubyB3cmFwcGVyIGFsaW5oYS5cbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5zbWFsbGVyLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LXJpcHBsZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLnNtYWxsZXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbiB7IG9wYWNpdHk6IDAuNzsgfVxuICB9XG5cbiAgLy8gSG92ZXIvZm9jbyA9IG1lc21hIGxpbmd1YWdlbSBkbyBgLmNoaXAtZXhwYW5kZWRgLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgfVxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmZvY3VzLXdpdGhpbixcbiAgLy8gUGlja2VyIGFiZXJ0bzogbWFudMOpbSBvIGJveCBjb20gbyBsb29rIFwic2VsZWN0ZWRcIiBtZXNtbyBzZSBvIGZvY28gZG9cbiAgLy8gdGVjbGFkbyB0aXZlciBtaWdyYWRvIHBybyBvdmVybGF5IGRvIGNhbGVuZMOhcmlvLlxuICAucGlja2VyLW9wZW4gLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8gRGFyayBtb2RlIOKAlCBlc3BlbGhhIG9zIHRva2VucyAqLWRhcmsgZGEgY2FpeGEgZGUgZmlsdHJvLlxuLmRhcmstdGhlbWUgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmZpbHRlci1zdHlsZWQge1xuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICB9XG4gIC5jb250YWluZXItZGF0ZS10aW1lLW1hc2sgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAucGxhY2Vob2xkZXItbWFzayB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlcixcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gIH1cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpmb2N1cy13aXRoaW4sXG4gIC5waWNrZXItb3BlbiAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIH1cbiAgLy8gQ29yIGRvIGdsaWZvIGRvIGNhbGVuZMOhcmlvIGVtIGRhcmsg4oCUIG11dGVkIGVtIHJlcG91c28sIGFjZW5kZSBubyBob3Zlci5cbiAgLy8gU2VtIGZpbGwgbm8gYm90w6NvIChtZXNtYSBsaW5ndWFnZW0gZG9zIG91dHJvcyBnbGlmb3Mgc2VjdW5kw6FyaW9zKS5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWRhcms7XG4gIH1cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5waWNrZXItb3BlbiAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvY3VzZWQgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcms7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSBkb3MgYm90w7VlcyDigLkg4oC6IGRvIGNhbGVuZMOhcmlvIOKAlCB2aXZlbSBubyBvdmVybGF5IHBvcnRhbGxhZG9cbi8vIChmb3JhIGRvIGhvc3QgYGFwcC1kYXRldGltZXBpY2tlci1pbnB1dGApLCBwb3IgaXNzbyBlc2NvcG8gZ2xvYmFsLlxuLmRhcmstdGhlbWUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24sXG4uZGFyay10aGVtZSAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIHtcbiAgY29sb3I6ICRpY29uLW11dGVkLWRhcmsgIWltcG9ydGFudDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcmsgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIERhcms6IGNvciBkZSBmdW5kbyBkbyBtaW5pLXBhaW5lbCBkbyBkYXRlcGlja2VyIGlndWFsIMOgIGRvcyBwYWluw6lpcyBkb1xuLy8gc2VsZWN0IChgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrYCkg4oCUIG1hbnTDqW0gYSBsaW5ndWFnZW0gY29lc2Fcbi8vIGVudHJlIG92ZXJsYXlzLlxuLmRhcmstdGhlbWUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDsgICAvLyBtZXNtYSBcImJvcmRhXCIgZG9zIHBhaW7DqWlzIGRvIHNlbGVjdFxuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtZXNtYSBzb21icmEgZGUgcGFpbmVsIGRvIGRhcmtcblxuICAvLyBDb3IgZG8gcsOzdHVsbyBcIkp1bi4gZGUgMjAyNlwiIG5vIGRhcmsg4oCUIG1lc21hIGRvIGNvbnRlw7pkbyBkYXMgY2FpeGFzIGRlIHRleHRvLlxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxuICB9XG4gIC8vIEluaWNpYWlzIGRvcyBkaWFzIGRhIHNlbWFuYSAoRCBTIFQgUS4uLikgbm8gZGFyayDigJQgbXV0ZWQgY2xhcm9cbiAgLy8gKG8gZGVmYXVsdCBkbyBNYXRlcmlhbCBmaWNhIHByZXRvIHF1YXNlIGludmlzw612ZWwgc29icmUgYSBmb2xoYSBlc2N1cmEpLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWRhcms7XG4gIH1cblxuICAvLyBCb3TDtWVzIGRlIHNwaW4gKOKWsiDilrwpIGRvIHRpbWVwaWNrZXIgbm8gZGFyayDigJQgbXV0ZWQgY2xhcm87IGhvdmVyXG4gIC8vIFwiYWNlbmRlXCIgY29tIGZ1bmRvIGRvIHRva2VuIGRhcmsuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWRhcmsgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIAgQ29yIGRvIGRpYS9tw6pzL2FubyBTRUxFQ0lPTkFETyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE8gdGVtYSBwcmUtY29tcGlsYWRvIGBpbmRpZ28tcGluay5jc3NgIGRvIE1hdGVyaWFsIHBpbnRhXG4vLyBgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNSB9YCAoaW5kaWdvIGRvXG4vLyBNYXRlcmlhbCkuIE5vc3NvIGFjY2VudCDDqSBzeXN0ZW1CbHVlICgjMDA3QUZGKSDigJQgbWFpcyBjbGFyby92aXZvLiBBcXVpXG4vLyBzb2JyZXNjcmV2ZW1vcyBwcmEgbWFudGVyIGlkZW50aWRhZGUgdmlzdWFsIGRvIEpFTVMzIG5vIGNhbGVuZMOhcmlvLlxuLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLy8gSG92ZXIvZm9jbyBlbSBjw6lsdWxhIE7Dg08gc2VsZWNpb25hZGEg4oCUIHbDqXUgc3V0aWwgZG8gYWNjZW50IChtZXNtYVxuLy8gcmVjZWl0YSBkbyBNYXRlcmlhbCwgc8OzIHRyb2NhIG8gaHVlKS4gfjE1JSBvcGFjaXR5IG1hbnTDqW0gbGVnaWJpbGlkYWRlXG4vLyBkbyBkaWE7IG8gTWF0ZXJpYWwgZGVmYXVsdCB1c2F2YSBhIG1lc21hICUgc29icmUgbyBpbmRpZ28uXG4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3ZlclxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksXG4uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZVxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksXG4uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudC1iYWNrZ3JvdW5kLCAwLjE1KSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXJcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYWNjZW50LWJhY2tncm91bmQtZGFyaywgMC4yMikgIWltcG9ydGFudDtcbn1cbi8vIFwiSG9qZVwiIChjw6lsdWxhIGRvIGRpYSBhdHVhbCwgY29udG9ybm8pIOKAlCBpbmRpZ28gcG9yIGRlZmF1bHQ7IG1vdmUgcC8gYWNjZW50LlxuLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQUkVTRVQgR0xPQkFMIGAuZmlsdGVyLXN0eWxlZGAgcGFyYSBvcyB3cmFwcGVycyBgYXBwLXRleHQtaW5wdXRgIGVcbi8vIGBhcHAtc2VsZWN0LWlucHV0YCAoZSB2YXJpYW50ZXMgLWZsYWcvLWxlIHF1ZSBjb21wYXJ0aWxoYW0gbyB0ZW1wbGF0ZS1iYXNlKS5cbi8vXG4vLyBNZXNtbyBjaHJvbWUgZG9zIHBpY2tlcnMgSkVNUzMgKGRhdGVwaWNrZXIgLyBudW1iZXItaW5wdXQgLyB0aHJlc2hvbGQtYmFuZCk6XG4vLyBjYWl4YSAzNnB4LCByYWRpdXMvYm9yZGVyL2JnIGRvcyB0b2tlbnMgY2hyb21lLCBzZW0gdW5kZXJsaW5lIG91IG91dGxpbmVcbi8vIE1hdGVyaWFsIGxlZ2Fkb3MuIE9wdC1pbiBwb3IgY2xhc3NlIG5vIGhvc3Qg4oCUIGFzc2ltIGEgbWlncmHDp8OjbyDDqSBncmFkdWFsXG4vLyAocMOhZ2luYS1hLXDDoWdpbmEpIGUgZm9ybWFzIHJlYXRpdmFzL25nTW9kZWwvdmFsaWRhdG9ycyBjb250aW51YW0gaW50YWN0b3MuXG4vL1xuLy8gVVNPOlxuLy8gICA8YXBwLXRleHQtaW5wdXQgY2xhc3M9XCJmaWx0ZXItc3R5bGVkXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAuLi4vPlxuLy8gICA8YXBwLXNlbGVjdC1pbnB1dCBjbGFzcz1cImZpbHRlci1zdHlsZWRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIC4uLi8+XG4vL1xuLy8gQ29tYmluZSBjb20gYFt3aWR0aF09XCInPG4+J1wiYCBxdWFuZG8gcHJlY2lzYXIgZGUgbGFyZ3VyYSBmaXhhIChkZWZhdWx0XG4vLyB2aXJhIG8gY29udGXDumRvIG5hdHVyYWwg4oCUIGhvc3Qgw6kgYGRpc3BsYXk6IGJsb2NrYCkuXG4vL1xuLy8gTk9UQSDigJQgdmlldyBlbmNhcHN1bGF0aW9uIChgZmVlZGJhY2tfYW5ndWxhcl92aWV3X2VuY2Fwc3VsYXRpb25gKTogZXN0ZVxuLy8gYXJxdWl2byDDqSBHTE9CQUwgKGltcG9ydGFkbyBlbSBgX2NvcmUuc2Nzc2ApLiBOw6NvIHRlbnRlIHJlcGxpY2FyIGVzc2FzXG4vLyByZWdyYXMgbm8gc2NvcGVkIHNjc3MgZG8gY29tcG9uZW50ZSBjb25zdW1pZG9yOyBvIEFuZ3VsYXIgZHJvcGFcbi8vIHNpbGVuY2lvc2FtZW50ZSByZWdyYXMgcXVlIHRvY2FtIGludGVybm9zIGRvIE1hdGVyaWFsLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4lZmlsdGVyLXN0eWxlZC1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvLyBXcmFwcGVyIGludGVybm8gZ2VyYWRvIHBlbG8gYXBwLXRleHQtaW5wdXQgKGBkaXYubnVtZXJpYy1pbnB1dGApIGUgcGVsb3NcbiAgLy8gYXBwLXNlbGVjdC1pbnB1dC8tZmxhZy8tbGUgKGBkaXYuc2VsZWN0LWlucHV0YC9gZGl2LnNlbGVjdC1pbnB1dC1sZWApLlxuICAvLyBPIGAudGktZGVzY3JpcHRpb25gIG1vcmEgREVOVFJPIGRlc3NlIHdyYXBwZXIgKGlndWFsIGFvIGBkdC1kZXNjcmlwdGlvbmBcbiAgLy8gZGVudHJvIGRvIGAuZGF0ZXBpY2tlci1pbnB1dGApIHByYSBlc2NhcGFyIGRvIHBhZGRpbmcgZG8gYC5jb2x1bW5gIEJ1bG1hXG4gIC8vIGRvIHBhaSDigJQgZW50w6NvIMOpIG8gV1JBUFBFUiBxdWUgZ2FuaGEgYHBvc2l0aW9uOiByZWxhdGl2ZWAsIG7Do28gbyBob3N0LlxuICA+IC5udW1lcmljLWlucHV0LFxuICA+IGRpdi5zZWxlY3QtaW5wdXQsXG4gID4gZGl2LnNlbGVjdC1pbnB1dC1sZSxcbiAgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIG1hdC1mb3JtLWZpZWxkIHsgd2lkdGg6IDEwMCU7IG1pbi13aWR0aDogMDsgfVxuXG4gIC8vIFplcmEgbyBjaHJvbWUgbGVnYWN5L291dGxpbmUgZG8gTWF0ZXJpYWwg4oCUIHZhbW9zIHBpbnRhciBhIGNhaXhhIG7Ds3MgbWVzbW9zLlxuICAvLyBFc2NvbmRlIHRhbWLDqW0gbyBgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJgIChvIG1hdC1sYWJlbCBmbHV0dWFudGVcbiAgLy8gaW50ZXJubyBkbyBNYXRlcmlhbCkg4oCUIHVzYW1vcyBsYWJlbCBFU1RSVVRVUkFMIGV4dGVybm8gKC50aS1kZXNjcmlwdGlvbikuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBtaW4td2lkdGg6IDA7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LXBsYWNlaG9sZGVyLXJlcXVpcmVkIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gU3Vic2NyaXB0LXdyYXBwZXIgKMOhcmVhIGRlIGVycm8vaGludCBkbyBNYXRlcmlhbCkg4oCUIHBvc2ljaW9uYWRvXG4gIC8vIEFCU09MVVRPIGxvZ28gYWJhaXhvIGRhIGNhaXhhLCBwcmEgbsOjbyBlbXB1cnJhciBvIGxheW91dC4gU8OzIGZpY2FcbiAgLy8gdmlzw612ZWwgcXVhbmRvIG8gZm9ybS1maWVsZCBlc3TDoSBpbnbDoWxpZG8gRSB0b3VjaGVkL2RpcnR5IChNYXRlcmlhbFxuICAvLyBqw6EgY29udHJvbGEgaXNzbyB2aWEgYG1hdC1mb3JtLWZpZWxkLWludmFsaWRgKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8vIEVzY29uZGUgbWF0LWhpbnQgKGluY2x1aW5kbyBvIGA/YCBkbyBgW2hlbHBdYCkgbmEgw6FyZWEgZGUgc3Vic2NyaXB0IHByYVxuICAvLyBuw6NvIHNvYnJlcG9yIGRpdmlkZXJzIGVudHJlIHNlw6fDtWVzLiBPIHN1YnNjcmlwdCBBQlNPTFVURSBleHDDtWUgc8OzXG4gIC8vIGVycm9zIOKAlCBmZWVkYmFjayBpbmZvcm1hdGl2byAoYFtoZWxwXWApIGRldmUgaXIgZW0gb3V0cm8gbHVnYXIuXG4gIC5tYXQtZm9ybS1maWVsZC1oaW50LXdyYXBwZXIsXG4gIC5tYXQtaGludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8vIExhYmVsIEVTVFJVVFVSQUwgYWNpbWEgZGEgY2FpeGEg4oCUIG1lc21vIHBhZHLDo28gZG9zIGRlbWFpcyBwaWNrZXJzIGdsb2JhaXNcbiAgLy8gKGAuZHQtZGVzY3JpcHRpb25gIG5vIGRhdGVwaWNrZXIsIGAubmktZGVzY3JpcHRpb25gIG5vIG51bWJlci1pbnB1dCkuXG4gIC8vIFJlbmRlcml6YWRvIHBlbG8gdGVtcGxhdGUgZG8gd3JhcHBlciAoYDxsYWJlbCAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgLy8gY2xhc3M9XCJ0aS1kZXNjcmlwdGlvblwiPmApIEFOVEVTIGRvIG1hdC1mb3JtLWZpZWxkLiBQb3NpY2lvbmFtZW50b1xuICAvLyBBQlNPTFVUTyBzb2JyZSBvIGhvc3QgKHF1ZSB0ZW0gYHBvc2l0aW9uOiByZWxhdGl2ZWApLlxuICAudGktZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgICAvLyBwZXJtaXRlIG8gaG92ZXIg4oaSIG1hdFRvb2x0aXAgKGFwcE92ZXJmbG93VG9vbHRpcCkgbm8gbGFiZWxcblxuICAgIC8vIE1hcmNhZG9yIGRlIGNhbXBvIG9icmlnYXTDs3JpbyAoYDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtbWFya1wiPio8L3NwYW4+YCkuXG4gICAgLy8gVmVybWVsaG8gaW5zdGl0dWNpb25hbCArIG1hcmdpbi1sZWZ0IG3DrW5pbW8g4oCUIHNlZ3VlIGNvbnZlbsOnw6NvIGRvXG4gICAgLy8gc2lzdGVtYSAodXNhZGEgdGFtYsOpbSBlbSBgLmplbXMtc2VsZWN0LWRlc2NyaXB0aW9uYCkuXG4gICAgLnJlcXVpcmVkLW1hcmsge1xuICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEEgY2FpeGEgdmlzw612ZWwg4oCUIGdlb21ldHJpYS90b2tlbnMgaWd1YWlzIGFvcyBkZW1haXMgcGlja2VycyBkbyBKRU1TMy5cbiAgLy8gYG1hcmdpbi10b3A6IDE2cHhgIHJlc2VydmEgbyBlc3Bhw6dvIGRvIGxhYmVsLWFjaW1hIChsYWJlbCBhYnNvbHV0byBub1xuICAvLyB0b3BvIGRhIGAubWF0LWZvcm0tZmllbGRgKTsgbWVzbW8gb2Zmc2V0IHVzYWRvIHBlbG9cbiAgLy8gYC5kdC1kZXNjcmlwdGlvbiArIG1hdC1mb3JtLWZpZWxkYCBubyBkYXRlcGlja2VyIGUgcGVsb1xuICAvLyBgLm5pLWRlc2NyaXB0aW9uICsgLm51bWJlci1pbnB1dC1ib3hgIG5vIG51bWJlci1pbnB1dC5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1hcmdpbjogMTZweCAwIDA7XG4gICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIC8vIEhvdmVyL2ZvY28gaW5zdGFudMOibmVvcyDigJQgc2VtIHRyYW5zacOnw6NvIChhIHBlZGlkbyBkbyB1c3XDoXJpbykuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBRdWFuZG8gaMOhIGJvdMOjbyBkZSBjb3BpYXIgbm8gc3VmZml4IChgYXBwLXRleHQtaW5wdXQgW2NvcHlWYWx1ZV1gKSxcbiAgLy8gemVyYSBvIHBhZGRpbmctcmlnaHQgcHJvIGJvdMOjbyBmaWNhciBmbHVzaCBjb20gYSBib3JkYSBkaXJlaXRhLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnRpLWNvcHktYnRuKSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDsgICAgICAgICAgICAgLy8gY2VudHJhbGl6YSBvIGlucHV0IHZlcnRpY2FsbWVudGUgdmlhIGZsZXhcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7ICAgICAgIC8vIG9jdXBhIHRvZGEgYSBhbHR1cmEgZG8gYC5tYXQtZm9ybS1maWVsZC1mbGV4YFxuICB9XG5cbiAgLy8gUHJlZml4L3N1ZmZpeCBjb20gYSBNRVNNQSB0aXBvZ3JhZmlhL2Jhc2VsaW5lIGRvIGlucHV0IOKAlCB2aXN1YWxtZW50ZVxuICAvLyBjb250w61udW9zIChleC46IHByZWZpeCBjb20gYSBVUkwtYmFzZSwgaW5wdXQgY29tIG8gc2x1ZyBkbyBldmVudG8pLlxuICAvLyBsaW5lLWhlaWdodCBmaXhvIGlkw6pudGljbyBhbyBkbyBpbnB1dCArIGRpc3BsYXk6IGlubGluZS1mbGV4ICsgY2VudGVyXG4gIC8vIGFsaWdubWVudCBnYXJhbnRlbSBxdWUgcHJlZml4IGUgaW5wdXQgZmlxdWVtIG5vIE1FU01PIGVpeG8gdmVydGljYWxcbiAgLy8gKHNlbSBpc3NvLCBvIGxlZ2FjeSBhcGxpY2EgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lIGNvbSB0cmFuc2Zvcm1cbiAgLy8gcHLDs3ByaW8gZG8gcHJlZml4LCBxdWUgZGVzYWxpbmhhIGxldmVtZW50ZSkuXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIFRleHRvIGRvIHByZWZpeC9zdWZmaXggc2VsZWNpb27DoXZlbCBjb20gY3Vyc29yIGRlIHRleHRvLiBNYXRlcmlhbCBwb3JcbiAgICAvLyBkZWZhdWx0IHVzYSBgdXNlci1zZWxlY3Q6IG5vbmVgIGVtIHByZWZpeC9zdWZmaXggKGVzcGVyYW5kbyDDrWNvbmVzKTtcbiAgICAvLyBhcXVpIGZvcsOnYW1vcyB0ZXh0by1saWtlIHByYSB1c3XDoXJpbyBwb2RlciBkZXN0YWNhciBlIGNvcGlhciBvIHRyZWNoby5cbiAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gIH1cblxuICAvLyBJbnB1dCBjb20gbGluZS1oZWlnaHQgZml4byBpZMOqbnRpY28gYW8gcHJlZml4L3N1ZmZpeC4gYCFpbXBvcnRhbnRgXG4gIC8vIHByYSB2ZW5jZXIgbyBgbWFyZ2luLXRvcDogLTAuMDYyNWVtYCBlIGB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tYCBxdWVcbiAgLy8gbyBNYXRlcmlhbCBsZWdhY3kgYXBsaWNhIG5vIGAubWF0LWlucHV0LWVsZW1lbnRgIChxdWUgdGVtIG1lc21hXG4gIC8vIGVzcGVjaWZpY2lkYWRlIHF1ZSBhIG5vc3NhIHJlZ3JhKS4gU2VtIGFsdHVyYSBmaXhhIHByYSBkZWl4YXIgbyBmbGV4XG4gIC8vIGRvIGluZml4IGNlbnRyYWxpemFyIG8gaW5wdXQuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gVGlwb2dyYWZpYSBkbyBJTlBVVC9TRUxFQ1Qg4oCUIGFsaW5oYSBjb20gYC5jaGlwLWlucHV0YCBkbyBmaWx0cm9cbiAgLy8gKDE0LzQwMC8tMC4wMWVtKSB1c2FkYSBub3MgZGVtYWlzIHByZXNldHMgZG8gc2lzdGVtYS5cbiAgLm1hdC1pbnB1dC1lbGVtZW50LFxuICAubWF0LXNlbGVjdC12YWx1ZS10ZXh0IHtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY28g4oCUIE1FU01BIGxpbmd1YWdlbSBkbyBgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmZpbHRlci1zdHlsZWRgXG4gIC8vIChlIGRvIGAuY2hpcC1leHBhbmRlZGApOiBob3ZlciBnYW5oYSByaW5nIDFweCBuYSBib3JkYS1hY3RpdmU7IGZvY29cbiAgLy8gbWFudMOpbSBvIHJpbmcgbWFzIHRyb2NhIGEgY29yIHBlbG8gYWNjZW50LlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgfVxuICAmLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIEVzdGFkbyBpbnbDoWxpZG8g4oCUIGJvcmRhIHZlcm1lbGhhIChzZW0gbyBcInJpbmdcIiBkZSBlcnJvIGdyb3NzbyBkbyBNYXRlcmlhbCkuXG4gIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgfVxuXG4gIC8vIEVzdGFkbyBERVNBQklMSVRBRE8gKGV4Ljogc2VsZWN0IGRlIGZpbHRybyBzZW0gb3DDp8O1ZXMgcHJhIG1vc3RyYXIpOiBjYWl4YVxuICAvLyBhcGVuYXMgZXNtYWVjaWRhLiBgcG9pbnRlci1ldmVudHM6IG5vbmVgIG5hIGNhaXhhIMOpIG8gcHVsbyBkbyBnYXRvIOKAlCBzZW1cbiAgLy8gZXZlbnRvcyBkZSBtb3VzZSBvIGA6aG92ZXJgIE5VTkNBIGRpc3BhcmEsIGVudMOjbyBvIHN1Yi1ib3TDo28gZG8gY2hldnJvbiBuw6NvXG4gIC8vIFwiYWNlbmRlXCIsIG7Do28gYXBhcmVjZSBjdXJzb3IgYmxvcXVlYWRvIGUgbmVuaHVtIHJlYWxjZSBlc2NhcGEuIE8gc2VsZWN0IGrDoVxuICAvLyBlc3TDoSBkZXNhYmlsaXRhZG8gKG5hZGEgcHJhIGNsaWNhciksIGVudMOjbyB6ZXJhciBwb2ludGVyLWV2ZW50cyDDqSBzZWd1cm8uXG4gIC8vIE8gTWF0ZXJpYWwgbWFyY2EgbyBgbWF0LWZvcm0tZmllbGRgIGNvbSBgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkYC5cbiAgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBMYWJlbCBlc21hZWNpZG8ganVudG8gcXVhbmRvIGEgY2FpeGEgZXN0w6EgZGVzYWJpbGl0YWRhLiBPIGAudGktZGVzY3JpcHRpb25gXG4gIC8vIMOpIGlybcOjbyBBTlRFUklPUiBkbyBtYXQtZm9ybS1maWVsZCAoZm9yYSBkbyBhbGNhbmNlIGRlIGNvbWJpbmF0b3IgY29tdW0pLFxuICAvLyBlbnTDo28gZGV0ZWN0YW1vcyBvIGVzdGFkbyBwZWxvIHdyYXBwZXIgY29tIGA6aGFzKClgLlxuICA+IGRpdjpoYXMoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAudGktZGVzY3JpcHRpb24ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IHRleHQtaW5wdXQgKGlucHV0IHNpbXBsZXMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuYXBwLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZSAoaW5wdXQgKyBtYXQtYXV0b2NvbXBsZXRlKSDilIDilIDilIDilIBcbi8vIEVzdGVuZGUgVGV4dElucHV0Q29tcG9uZW50IOKAlCBoZXJkYSBgZGVzY3JpcHRpb25gIGUgdmlzdWFsIGRlIGlucHV0LlxuYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogbXVsdGlsaW5lLXRleHQtaW5wdXQgKHRleHRhcmVhKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERpZmVyZW50ZSBkb3MgZGVtYWlzOiBhbHR1cmEgbsOjby1maXhhIChjcmVzY2UgY29tIGBbcm93c11gKS4gUmV1c2EgYVxuLy8gY2FpeGEgY2hyb21lIG1hcyBsaWJlcmEgaGVpZ2h0IGF1dG8vbWluLWhlaWdodC5cbmFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG5cbiAgLy8gV3JhcHBlciBsb2NhbCBlc3BlY8OtZmljbyBkbyBtdWx0aWxpbmUgKGBkaXYubXVsdGlsaW5lLXRleHQtaW5wdXRgKS5cbiAgPiAubXVsdGlsaW5lLXRleHQtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIEJveCBhYnJhw6dhIG8gdGV4dGFyZWEg4oCUIHNlbSBhbHR1cmEgZml4YSBuZW0gbWluLWhlaWdodCBwcsOzcHJpbyAobyBtaW4gw6lcbiAgLy8gZG8gdGV4dGFyZWEpOyBwYWRkaW5nIHZlcnRpY2FsIG1hbnTDqW0gbyByZXNwaXJvIGludGVybm8uIGBtYXJnaW46IDBgXG4gIC8vIHNvYnJlc2NyZXZlIG8gYG1hcmdpbjogMTZweCAwIDBgIGhlcmRhZG8gZG8gYmFzZSBwcmVzZXQgKHF1ZSByZXNlcnZhcmlhXG4gIC8vIGVzcGHDp28gcHJvIGxhYmVsLWFjaW1hIGFic29sdXRvIOKAlCBuw6NvIHVzYWRvIG5vIG11bHRpbGluZSBwYWRyw6NvKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4IDEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFF1YW5kbyBIw4EgZGVzY3JpcHRpb24gbGFiZWwgKGAudGktZGVzY3JpcHRpb25gKSwgcmVzdGF1cmEgYSByZXNlcnZhIGRlXG4gIC8vIDE2cHggbm8gdG9wbyBwcmEgcXVlIG8gbGFiZWwgYWJzb2x1dG8gbsOjbyBmaXF1ZSBzb2JyZXBvc3RvIGFvIHRleHRhcmVhLlxuICAmOmhhcyg+IC5tdWx0aWxpbmUtdGV4dC1pbnB1dCA+IC50aS1kZXNjcmlwdGlvbikgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIGRvIGluZml4LWZsZXggaGVyZGFkbyBkbyBiYXNlIHByZXNldCAobmVjZXNzw6FyaW8gcHJvIGFsaW5oYW1lbnRvXG4gIC8vIHByZWZpeCtpbnB1dCBubyB0ZXh0LWlucHV0KS4gUHJvIG11bHRpbGluZSwgdGV4dGFyZWEgw6kgbyDDum5pY28gZmlsaG8gZVxuICAvLyBxdWVyZW1vcyBxdWUgZWxlIFwiZmlxdWUgY29sYWRvXCIgbm8gdG9wbyBkbyBib3gsIHNlbSBjZW50cmFsaXphw6fDo28gb3VcbiAgLy8gc3RyZXRjaCBxdWUgY3JpYSBnYXAgYWNpbWEgZG8gdGV4dG8uXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUZXh0YXJlYSBhdXRvLWNyZXNjZSB2aWEgYGNka1RleHRhcmVhQXV0b3NpemVgIOKAlCBgcmVzaXplOiBub25lYCBkZXNsaWdhXG4gIC8vIG8gaGFuZGxlIG1hbnVhbCBkbyBicm93c2VyIChDREsgYWp1c3RhIHNvemluaG8gYW8gY29udGXDumRvKS4gYG92ZXJmbG93OlxuICAvLyBoaWRkZW5gIGltcGVkZSBzY3JvbGxiYXIg4oCUIGEgY2FpeGEgU0VNUFJFIG1vc3RyYSB0b2RvIG8gdGV4dG8uXG4gIC8vIEEgYWx0dXJhIE3DjU5JTUEgw6kgY29udHJvbGFkYSBwZWxvIGBbY2RrQXV0b3NpemVNaW5Sb3dzXWAgbm8gdGVtcGxhdGVcbiAgLy8gKGNvbnN1bWlkb3JlcyBwYXNzYW0gYHJvd3M9XCJOXCJgKSDigJQgTsODTyB1c2FyIENTUyBgbWluLWhlaWdodGAgYXF1aVxuICAvLyAoY2F1c2EgZG91YmxlLW1pbiBjb20gbyBDREsgZSBhIGNhaXhhIGNyZXNjZSBlcnJhZG8pLlxuICB0ZXh0YXJlYS5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7ICAgICAgIC8vIENESyBhdXRvc2l6ZSBtZWRlIGVtIGNvbnRlbnQtYm94OyBzZW0gaXN0byBib3JkYStwYWRkaW5nIHBvZGVtIGNsaXBhclxuICAgIC8vIGxpbmUtaGVpZ2h0IGV4cGzDrWNpdG8gKDEuNSA9IGVzcGHDp2FtZW50byByZXNwaXLDoXZlbCBkZSBsZWl0dXJhKSDigJRcbiAgICAvLyBgbm9ybWFsYCBjYXVzYSBvIGBjZGtUZXh0YXJlYUF1dG9zaXplYCBhIHN1Yi1tZWRpciBvIHNjcm9sbEhlaWdodFxuICAgIC8vIChicm93c2VycyByZXRvcm5hbSB1bSB2YWxvciBxdWUgZGlmZXJlIGFsZ3VucyBweCBkbyBhbHR1cmEgcmVhbCxcbiAgICAvLyBjbGlwYW5kbyBhIMO6bHRpbWEgbGluaGEpLiBWYWxvciBudW3DqXJpY28gw6kgZGV0ZXJtaW7DrXN0aWNvLlxuICAgIC8vIGAhaW1wb3J0YW50YCBzb2JyZXNjcmV2ZSBvIGBsaW5lLWhlaWdodDogMWAgZG8gYmFzZSBwcmVzZXQgKHF1ZSDDqVxuICAgIC8vIHBybyBhbGluaGFtZW50byBwcmVmaXgraW5wdXQgbm8gaW5saW5lIGlucHV0KS5cbiAgICBsaW5lLWhlaWdodDogMS41ICFpbXBvcnRhbnQ7XG4gICAgLy8gUGFkZGluZy1ib3R0b20gMnB4ID0gYnVmZmVyIHByYSBjb2JyaXIgYXJyZWRvbmRhbWVudG9zIGRvIGF1dG9zaXplXG4gICAgLy8gcXVlIGFpbmRhIGFzc2ltIGNvcnRhbSBhIMO6bHRpbWEgbGluaGEgZW0gYWxndW5zIGJyb3dzZXJzL2ZvbnRlcy5cbiAgICBwYWRkaW5nOiAwIDAgMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IHNlbGVjdC1pbnB1dCAoY29tYm8gYm94KSBlIHZhcmlhbnRlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFJlZmluYWRvIDIwMjYtMDYgcHJhIHB1eGFyIGxpbmd1YWdlbSBOQVRJVkEgZGUgc2VsZWN0IGRvIG1hY09TL1dpbmRvd3M6XG4vLyAgIDEuIEJnIGRhIGNhaXhhIG1haXMgU1VUSUwgKHNlbWktdHJhbnNwYXJlbnRlLCBlc3RpbG8gTlNQb3BVcEJ1dHRvbikuXG4vLyAgIDIuIENoZXZyb24gRFVQTE8gKOKHhSB1cCtkb3duKSBjb21vIG5vIG1hY09TLlxuLy8gICAzLiBTVUItQk9Uw4NPIHZpc3VhbCDDoCBkaXJlaXRhIChsZXZlIGJnICsgYm9yZGVyLWxlZnQpIGNvbW8gV2luZG93cy5cbi8vICAgNC4gRXN0YWRvcyBkZSBmb2NvL2hvdmVyIHBlcm1hbmVjZW0gaW50YWN0b3MgKGFjY2VudCkg4oCUIHPDsyBvIHJlc3RvIG11ZGEuXG5hcHAtc2VsZWN0LWlucHV0LmZpbHRlci1zdHlsZWQsXG5hcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbmFwcC1zZWxlY3QtaW5wdXQtbGUuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xuXG4gIC8vIDEpIEJnIHNlbWktdHJhbnNwYXJlbnRlIHNvYnJlIG8gY2FudmFzIOKAlCBmbHV0dWEgc3V0aWwsIGVzdGlsbyBtYWNPUy5cbiAgLy8gICAgTWFudMOpbSBsZWdpYmlsaWRhZGUgZG8gdGV4dG8gKGJvcmRhIGNvbnRpbnVhIGRlZmluaW5kbyBvIGJveCkuXG4gIC8vICAgIOKaoCBOw4NPIHNvYnJlc2NyZXZlciBgZGlzcGxheWAvYGFsaWduLWl0ZW1zYCBkbyBgLm1hdC1zZWxlY3QtdmFsdWVgIG91XG4gIC8vICAgIGAubWF0LXNlbGVjdC10cmlnZ2VyYCDigJQgTWF0ZXJpYWwgbGVnYWN5IHVzYSBgZGlzcGxheTogdGFibGUtY2VsbGAgbm9cbiAgLy8gICAgdmFsdWU7IHRyb2NhciBwLyBmbGV4IGZheiBvIHRleHRvIHN1bWlyLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbiAgfVxuXG4gIC8vIE1hdGVyaWFsIDExIHVzYSBgZGlzcGxheTogaW5saW5lLXRhYmxlYCBubyBgLm1hdC1zZWxlY3QtdHJpZ2dlcmAgKGNvbVxuICAvLyB2YWx1ZS9hcnJvdyBjb21vIHRhYmxlLWNlbGxzKS4gSXNzbyBpbXBlZGUgbyB3cmFwcGVyIGRvIGFycm93IGRlXG4gIC8vIHJlc3BlaXRhciBgYWxpZ24tc2VsZmAgZSB0cmF2YSBhIGFsdHVyYSBkYSByb3cgbmEgZG8gdGV4dG8uIEZvcsOnYW1vc1xuICAvLyBGTEVYIG5vIHRyaWdnZXIgZSBgZGlzcGxheTogYmxvY2s7IGZsZXg6IDEgMSBhdXRvYCBubyB2YWx1ZSBwcmFcbiAgLy8gcHJlc2VydmFyIG8gcmVuZGVyaW5nIGRvIHRleHRvIChlbGxpcHNpcykg4oCUIHNlbSBxdWVicmFyIG9cbiAgLy8gYDxtYXQtc2VsZWN0LXZhbHVlLXRleHQ+YCwgcXVlIGVyYSBvIG1vdGl2byBvcmlnaW5hbCBkZSBtYW50ZXIgb1xuICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsIG5vIHZhbHVlLlxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAvLyAzKSBTdWItYm90w6NvIGRvIGNoZXZyb24g4oCUIFFVQURSQURPIGNvbSBjYW50b3MgNHB4IChpZMOqbnRpY28gYW9cbiAgLy8gICAgYGFwcC1qZW1zLXNlbGVjdGApLiBCZyB2aWEgdG9rZW4gYCRzdXJmYWNlLXJhaXNlZGAgKGhhcm1vbml6YSBjb21cbiAgLy8gICAgbyByZXN0byBkbyBjaGFpciBVSSkuIE1hcmdlbSBuZWdhdGl2YSA4cHggcHV4YSBvIHN1Yi1ib3TDo28gcHJhXG4gIC8vICAgIH4ycHggZGEgYm9yZGEgZGlyZWl0YSBkbyBib3ggKHBhZGRpbmctcmlnaHQgZG8gZmxleCDDqSAxMHB4KS5cbiAgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTsgICAvLyBtZXNtYSBjb3IgZGEgYm9yZGEgZGEgY2FpeGE7IGVzdMOhdGljYVxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgICAgICAgICAgICAgICAgICAgIC8vIFwic29tZVwiIG5hIGNhaXhhOyBob3ZlciBkYSBjYWl4YSBwcmVlbmNoZVxuICAgIC8vIFplcmEgbGluZS1oZWlnaHQgKyB0cmFuc2Zvcm0gaGVyZGFkb3MgZG8gTWF0ZXJpYWwg4oCUIGV2aXRhIG9mZnNldFxuICAgIC8vIHZlcnRpY2FsIGZhbnRhc21hIGRlbnRybyBkbyBjw61yY3Vsby5cbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gSG92ZXIgZGEgQ0FJWEEgRSBtZW51IGFiZXJ0byAobWF0LWZvY3VzZWQg4oaSIG1hdC1zZWxlY3QgY29tIHBhaW5lbCBhYmVydG8pXG4gIC8vIOKGkiBzdWItYm90w6NvIGdhbmhhIGZpbGwgZG8gdG9rZW4gZSBvIGNoZXZyb24gXCJhY2VuZGVcIiAoY29yIG1haXMgZXNjdXJhL2NsYXJhKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZztcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdyxcbiAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXI7XG4gIH1cblxuICAvLyAyKSBDaGV2cm9uIERVUExPICh1cCtkb3duKSDigJQgU0YgU3ltYm9sIGBjaGV2cm9uLnVwLmNoZXZyb24uZG93bmAgZW1cbiAgLy8gICAgcGVzbyBgLm1lZGl1bWAuIENvciB2aWEgYFVJQ29sb3Iuc2Vjb25kYXJ5TGFiZWxgIGRhIEFwcGxlXG4gIC8vICAgIChsaWdodDogcmdiYSg2MCw2MCw2NywwLjYwKSAvIGRhcms6IHJnYmEoMjM1LDIzNSwyNDUsMC42MCkpLlxuICAvLyAgICBUYW1hbmhvIH4xMMOXMTJwdCBtZWRpZG8gZW0gcHJpbnRzIGRvIFN5c3RlbSBTZXR0aW5ncy5cbiAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gTWF0ZXJpYWwgYXBsaWNhIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1JSlgIG5vIGFycm93IHAvIGNvbXBlbnNhclxuICAgIC8vIG8gdHJpw6JuZ3VsbyBDU1MtYm9yZGVyIG9yaWdpbmFsLiBDb21vIHVzYW1vcyBTVkcgbWFzaywgbyB0cmFuc2Zvcm1cbiAgICAvLyBzw7MgZGVzY2VudHJhbGl6YSDigJQgemVyYW1vcy5cbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTAgMTInPjxwYXRoIGQ9J00yIDQgTDUgMSBMOCA0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PHBhdGggZD0nTTIgOCBMNSAxMSBMOCA4JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEwIDEyJz48cGF0aCBkPSdNMiA0IEw1IDEgTDggNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjxwYXRoIGQ9J00yIDggTDUgMTEgTDggOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgfVxufVxuXG4uZGFyay10aGVtZSB7XG4gIGFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQtbGUuZmlsdGVyLXN0eWxlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgICAvLyBzdXRpbCBlbSBkYXJrXG4gICAgfVxuICAgIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIH1cbiAgICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyLFxuICAgIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrO1xuICAgIH1cbiAgICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdyxcbiAgICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcms7XG4gICAgfVxuICAgIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdWxtYSBgLmNvbHVtbmAgZGVmYXVsdCB0ZW0gYHBhZGRpbmc6IDAuNzVyZW1gICgxMnB4KS4gUHJvcyB3cmFwcGVyc1xuLy8gZGUgZm9ybXVsw6FyaW8gZG8gSkVNUzMgcmVkdXppbW9zIHByYSA2cHgg4oaSIGdyYWRlIG1haXMgY29tcGFjdGEsIGNvbVxuLy8gbWVub3MgXCJhclwiIGVudHJlIGFzIGNhaXhhcy4gVmFsZSB0YW50byBwcm9zIHdyYXBwZXJzIGNvbSBgLmZpbHRlci1zdHlsZWRgXG4vLyBxdWFudG8gcHJvcyBxdWUgdXNhbSBgW3dpZHRoXWAgKG51bWJlci1pbnB1dCwgZGF0ZXRpbWVwaWNrZXIpLlxuYXBwLXRleHQtaW5wdXQuY29sdW1uLFxuYXBwLXNlbGVjdC1pbnB1dC5jb2x1bW4sXG5hcHAtc2VsZWN0LWlucHV0LWZsYWcuY29sdW1uLFxuYXBwLXNlbGVjdC1pbnB1dC1sZS5jb2x1bW4sXG5hcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5jb2x1bW4sXG5hcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuY29sdW1uLFxuYXBwLW51bWJlci1pbnB1dC5jb2x1bW4sXG5hcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuY29sdW1uLFxuYXBwLWplbXMtc2VsZWN0LmNvbHVtbiB7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuLy8gTW9iaWxlICjiiaQ3NjhweCk6IGZvcsOnYSBvcyB3cmFwcGVycyBKRU1TMyBhIHNlIGNvbXBvcnRhcmVtIGNvbW9cbi8vIGJsb2NrIDEwMCUgd2lkdGgsIHZlbmNlbmRvIG8gYGRpc3BsYXk6IGlubGluZS1mbGV4YCBoZXJkYWRvIGRvIHByZXNldFxuLy8gKHF1ZSB0ZW0gbWFpb3IgZXNwZWNpZmljaWRhZGUgcXVlIG8gYC5jb2x1bW4geyBkaXNwbGF5OiBibG9jayB9YCBCdWxtYVxuLy8gbm8gbW9iaWxlKS4gU2VtIGlzc28sIG9zIGNhbXBvcyBuw6NvIGNvbGFwc2FtIHByYSB2ZXJ0aWNhbCBubyBjZWx1bGFyLlxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYXBwLXRleHQtaW5wdXQuY29sdW1uLFxuICBhcHAtc2VsZWN0LWlucHV0LmNvbHVtbixcbiAgYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmNvbHVtbixcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5jb2x1bW4sXG4gIGFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlLmNvbHVtbixcbiAgYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmNvbHVtbixcbiAgYXBwLW51bWJlci1pbnB1dC5jb2x1bW4sXG4gIGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5jb2x1bW4sXG4gIGFwcC1qZW1zLXNlbGVjdC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBPdmVybGF5cyBkb3MgZHJvcGRvd25zIChtYXQtc2VsZWN0LCBtYXQtYXV0b2NvbXBsZXRlLCBkYXRlcGlja2VyKSDigJRcbi8vIHJlbmRlcml6YWRvcyBmb3JhIGRvIGhvc3QgcGVsbyBDREsgT3ZlcmxheSwgcG9ydGFudG8gYSByZWdyYSDDqSBHTE9CQUxcbi8vIChuw6NvIHBvZGUgc2VyIHNjb3BlYWRhIHBlbG8gaG9zdCkuIDFweCBkZSByZXNwaXJvIGVudHJlIGEgYm9yZGEgaW5mZXJpb3Jcbi8vIGRhIGNhaXhhIGUgbyB0b3BvIGRvIHBhaW5lbCwgcHJhIG7Do28gcGFyZWNlciBcImNvbGFkb1wiIG5vIGlucHV0LlxuLm1hdC1zZWxlY3QtcGFuZWwsXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4vLyBDYWxlbmTDoXJpbyBkbyBkYXRlcGlja2VyOiBxdWFuZG8gbyBDREsgcG9zaWNpb25hIEFDSU1BIChzZW0gZXNwYcOnb1xuLy8gZW1iYWl4byksIG8gYG1hcmdpbi10b3BgIGFjaW1hIMOpIGlycmVsZXZhbnRlIOKAlCBzw7MgYG1hcmdpbi1ib3R0b21gIGNyaWFcbi8vIG8gcmVzcGlybyBlbnRyZSBhIGJvcmRhIGluZmVyaW9yIGRvIGNhbGVuZMOhcmlvIGUgYSBzdXBlcmlvciBkYSBjYWl4YS5cbi8vIDJweCAoYSBwZWRpZG8gZG8gdXN1w6FyaW8pIOKAlCBgbWFyZ2luLXRvcDogMXB4YCBjb250aW51YSBhcGxpY2FkbyBwcmFcbi8vIGFiZXJ0dXJhIHBhZHLDo28gKHByYSBiYWl4bykuXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLy8gbWF0LWF1dG9jb21wbGV0ZSBhYmVydG8gQUNJTUEgZG8gY2FtcG86IG8gQ0RLIHDDtWUgYSBjbGFzc2UgYG1hdC1hdXRvY29tcGxldGUtcGFuZWwtYWJvdmVgXG4vLyBubyBgLmNkay1vdmVybGF5LXBhbmVgLiBBw60gYSBib3JkYSBJTkZFUklPUiBkbyBwYWluZWwgZW5jb3N0YSBubyB0b3BvIGRhIGNhaXhhIGUgY29icmUgYVxuLy8gYm9yZGEgYXp1bCBkbyBpbnB1dC4gYG1hcmdpbi1ib3R0b206IDFweGAgYWZhc3RhIG8gcGFpbmVsIDFweCBwcmEgY2ltYSwgcmV2ZWxhbmRvIG8gYXp1bFxuLy8gKG8gYG1hcmdpbi10b3A6IDFweGAgZ2xvYmFsIHPDsyB2YWxlIHByYSBhYmVydHVyYSBwcmEgYmFpeG8pLiBFc2NvcG8gbmEgYnVzY2EgZGUgdXN1w6FyaW9zLlxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwtYWJvdmUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwudXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xufVxuXG4vLyBDaHJvbWUgZG9zIHBhaW7DqWlzIGRlIGRyb3Bkb3duIChtYXQtc2VsZWN0IC8gbWF0LWF1dG9jb21wbGV0ZSkgdmVtIGRvXG4vLyBwcmVzZXQgY29tcGFydGlsaGFkbyBgLmplbXMzLXNlbGVjdC1wYW5lbGAgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AuIE9zXG4vLyB3cmFwcGVycyBgLmZpbHRlci1zdHlsZWRgIChhcHAtc2VsZWN0LWlucHV0LCAtZmxhZywgLWxlKSBhcGxpY2FtIGVzc2Vcbi8vIHBhbmVsQ2xhc3MgYXV0b21hdGljYW1lbnRlIHZpYSBuZ09uSW5pdCDigJQgbyBjb25zdW1lciBuw6NvIHByZWNpc2EgcGFzc2FyXG4vLyBuYWRhLiBBcXVpIE7Dg08gcmVkZWZpbmltb3MgZ2xvYmFsbWVudGUgYC5tYXQtc2VsZWN0LXBhbmVsYCBwb3JxdWUgaXNzb1xuLy8gYWZldGEgbWVudXMgZm9yYSBkbyBwYWRyw6NvIEpFTVMzIChBbmd1bGFyIE1hdGVyaWFsIHB1cm9zLCBjaGlwLW1lbnVzIGV0Yy4pLlxuXG4vLyBEYXJrIHRoZW1lIOKAlCBwYXJlaWEgb3MgdG9rZW5zICotZGFyayBkZSBjYWRhIHByb3ByaWVkYWRlIHBpbnRhZGEuXG4uZGFyay10aGVtZSB7XG4gIGFwcC10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQtbGUuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIH1cbiAgICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgICAubWF0LXNlbGVjdC12YWx1ZS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIH1cbiAgICAudGktZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICB9XG4gICAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICB9XG4gICAgJi5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIGFwcC11c2VyLXNlYXJjaCBlbSBPVkVSTEFZIChwb3BvdmVyL2Rpw6Fsb2dvKTogY29udMOpbSBvIGhpbnQgbmEgY2FpeGEg4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPIGBhcHAtdXNlci1zZWFyY2hgIHDDtWUgbyBgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyYCBlbVxuLy8gYHBvc2l0aW9uOiBhYnNvbHV0ZWAgKHNlbSB0b3AvbGVmdCkgcHJhIGEgw6FyZWEgZGUgaGludCBuw6NvIGRlc2FsaW5oYXIgdml6aW5ob3Ncbi8vIGlubGluZSAoYWxpZ24taXRlbXM6Y2VudGVyKSBub3MgRk9STVVMw4FSSU9TIGRlIHDDoWdpbmEuIE1hcyBudW0gb3ZlcmxheSBmbHV0dWFudGVcbi8vIG8gd3JhcHBlciBhYnNvbHV0ZSBwb3VzYSBGT1JBIGRhIGNhaXhhIOKAlCBvIGhpbnQgXCJOZW5odW0gdXN1w6FyaW8gZW5jb250cmFkb1wiXG4vLyBhcGFyZWNpYSBzb2x0byBhYmFpeG8gZG8gcG9wb3Zlci4gQ29tbyBvcyB1c29zIGlubGluZSBjb20gYWxpbmhhbWVudG8gdml2ZW0gZW1cbi8vIHDDoWdpbmFzIChuw6NvIGVtIG92ZXJsYXlzKSwgZGV2b2x2ZW1vcyBvIHN1YnNjcmlwdCBhbyBmbHV4byBHTE9CQUxNRU5URSBwLyB0b2RvXG4vLyB1c2VyLXNlYXJjaCBkZW50cm8gZGUgYC5jZGstb3ZlcmxheS1wYW5lYC4gU29sdcOnw6NvIMO6bmljYSAoc2VtIGZpeGVzIHBvciBww6FnaW5hKTpcbi8vIHN1YnN0aXR1aSBvcyBwYXRjaGVzIHBvbnR1YWlzIHRpcG8gYC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXJgLlxuLmNkay1vdmVybGF5LXBhbmUgYXBwLXVzZXItc2VhcmNoIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuLmNkay1vdmVybGF5LXBhbmUgYXBwLXVzZXItc2VhcmNoIC5tYXQtaGludCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29sb3JzJztcblxuLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9ycyBmb3Igc3VibWlzc2lvbiBhbmQgcmV2aWV3LlxuJHN1Ym1pc3Npb24tYmc6IHJnYmEoMCwgMCwgMCwgLjEpO1xuJHJldmlldy1iZzogcmdiYSgwLCAwLCAwLCAuMSk7XG5cbi8vL1xuLy8gQ2xhc3MgZGVmaW5pdGlvbnMgZm9yIHN1Ym1pc3Npb24gYW5kIHJldmlldyBzdGF0dXMsIGNvbnNpZGVyaW5nIG9wdGlvbmFsIGJhY2tncm91bmQtZmlsbCBhbmQgbGlua3MuXG4vLy9cblxuLnBhcGVyQmFja2dyb3VuZCB7IC8vIENsYXNzIGZvciB0b2dnbGluZyBiYWNrZ3JvdW5kIE9OIGFuZCBPRkYuXG4gIC8vIENvciBiYXNlIGRvIHRleHRvIG5vIENPTlRBSU5FUiAoaGVyZGFkYSksIG7Do28gZGlyZXRvIG5vcyBzcGFucy9zbWFsbHMuIEFudGVzXG4gIC8vIGBzcGFuOm5vdCgubWF0LWJ1dHRvbi13cmFwcGVyKSwgc21hbGwgeyBjb2xvcjogJGJsYWNrLTEwMDAgfWAgZm9yw6dhdmEgIzAzMDMwMyBlbSBUT0RPXG4gIC8vIHNwYW4vc21hbGwgaW50ZXJubyBlIEFUUk9QRUxBVkEgYSBjb3IgcHLDs3ByaWEgZGUgY29tcG9uZW50ZXMgKGV4LjogYXBwLWZpbGUtcGlsbCxcbiAgLy8gZGVzY3Jpw6fDo28pLiBDb21vIGNvciBoZXJkYWRhLCBlbGVtZW50b3Mgc2VtIGNvciBwcsOzcHJpYSBwZWdhbSBhIGJhc2U7IGNvbXBvbmVudGVzXG4gIC8vIG1hbnTDqm0gYSBkZWxlcy4gVmFsb3IgPSAjMzczNzM0IChjb3IgYmFzZSBkZSB0ZXh0byBkbyBzaXN0ZW1hKSwgbsOjbyBvICMwMzAzMDMgYW50ZXJpb3IuXG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICBhLCAuZmEtZmlsZS1wZGYsIC5mYS11cGxvYWQge1xuICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcms6IHRyb2NhIHBybyBhY2NlbnQtZGFyayAoYW1iZXItNDAwKS4gUGFkcsOjbyBkZSB0b2RhIGNoYWlyIFVJOlxuICAvLyBhY2NlbnQgbXVkYSBlbnRyZSB0ZW1hcy4gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYXMgcmVncmFzXG4gIC8vIGxpZ2h0IGFjaW1hICh0YW1iw6ltIGNvbSBgIWltcG9ydGFudGApLlxuICAuZGFyay10aGVtZSAmIHtcbiAgICBhLCAuZmEtZmlsZS1wZGYsIC5mYS11cGxvYWQge1xuICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3VibWlzc2lvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym1pc3Npb24tYmc7XG4gIH1cblxuICAucmV2aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2aWV3LWJnO1xuICB9XG5cbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIC8vIHBhZGRpbmc6IDRweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkY29udGVudC1jb2xvcjtcblxuICBAbWl4aW4gZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHN0YXR1cy1saXN0KSB7XG4gICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICYuI3skc3RhdHVzfSwgJi4jeyRzdGF0dXN9LnBhcGVyLXN0YXR1cyB7XG4vLyAgICAgICAgYSB7XG4vLyAgICAgICAgICBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDIpfSAhaW1wb3J0YW50O1xuLy8gICAgICAgIH1cblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje250aCgkY29udGVudCwgMSl9ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLm1hdC1pY29uLnN0YXR1cy1pY29uIHtcbiAgICAgICAgICBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDMpfSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdWJtaXNzaW9uIHtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3VibWlzc2lvbi1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRwdWJsaWNhdGlvbi1zdGF0dXMpO1xuICB9XG5cbiAgLy8gVGFnIGRlIHJldmlzw6NvOiBmdW5kbyBDTEFSTyAobGlnaHRlbiBkYSBjb3IgZG8gc3RhdHVzKSArIGJvcmRhIEVTQ1VSQVxuICAvLyBkbyBtZXNtbyB0b20gKGRhcmtlbikuIFNvYnJlc2NyZXZlIG8gYmcgY2hlaW8gZG8gZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmRcbiAgLy8gc8OzIG5vIGNoaXAgKC5wYXBlci1zdGF0dXMpIOKAlCBvIGZpbGwgZGUgY2FyZC9saW5oYSBjb250aW51YSBuYSBjb3IgY2hlaWEuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9LnBhcGVyLXN0YXR1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIMONY29uZSBubyBtZXNtbyB0b20gZXNjdXJvIGRhIGJvcmRhLlxuICAgICAgICAubWF0LWljb24uc3RhdHVzLWljb24ge1xuICAgICAgICAgIGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5yZXZpZXcge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRyZXZpZXctc3RhdHVzKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkcmV2aWV3LXN0YXR1cyk7XG4gIH1cblxuICAvLyBEaWZlcmVuY2lhw6fDo28gZGUgRk9STUEgZW50cmUgb3MgZG9pcyBzaXN0ZW1hcyBkZSBzdGF0dXMgKGFtYm9zXG4gIC8vIHByZWVuY2hpZG9zIOKAlCBib20gY29udHJhc3RlKTogc3VibWlzc8OjbyA9IFBJTEwgc3VwZXItYXJyZWRvbmRhZG87XG4gIC8vIHJldmlzw6NvID0gUkVUw4JOR1VMTy4gRXNjb3BvIG5vIGNoaXAgKC5wYXBlci1zdGF0dXMpLiBQcsOpLWF0ZW50aXZvLlxuICAmLnN1Ym1pc3Npb24ucGFwZXItc3RhdHVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICB9XG4gICYucmV2aWV3LnBhcGVyLXN0YXR1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnN0YXR1c0JhY2tncm91bmQge1xuICBAbWl4aW4gZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHN0YXR1cy1saXN0KSB7XG4gICAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9Lmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7bnRoKCRjb250ZW50LCAxKX0gIWltcG9ydGFudDtcblxuICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoMCwgMCwgMCwgLjMpIDtcblxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcblxuICAgICAgICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAuYm9yZGVyQmFja2dyb3VuZCB7XG4gICAgICAgICAgJi5ib3JkZXJDb2xvckJhY2tncm91bmQge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm1hdC1pY29uLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdHJpbmcge1xuICAgICAgICAgIC8vIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGFnIGRlIHJldmlzw6NvIG1vYmlsZTogZnVuZG8gY2xhcm8gKGxpZ2h0ZW4pICsgYm9yZGEgZXNjdXJhIChkYXJrZW4pLlxuICBAbWl4aW4gZ2VuZXJhdGUtc3RhdHVzLXJldmlldy1ib3JkZXIoJHN0YXR1cy1saXN0KSB7XG4gICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICYuI3skc3RhdHVzfS5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKG50aCgkY29udGVudCwgMSksIDMwJSkgIWltcG9ydGFudDtcblxuICAgICAgICAvLyDDjWNvbmUgbm8gbWVzbW8gdG9tIGVzY3VybyBkYSBib3JkYS5cbiAgICAgICAgLm1hdC1pY29uLmljb24ge1xuICAgICAgICAgIGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdWJtaXNzaW9uIHtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3VibWlzc2lvbi1zdGF0dXMpO1xuICB9XG5cbiAgJi5yZXZpZXcge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRyZXZpZXctc3RhdHVzKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkcmV2aWV3LXN0YXR1cyk7XG4gIH1cblxuICAvLyBEaWZlcmVuY2lhw6fDo28gZGUgRk9STUEgKG1vYmlsZSk6IHN1Ym1pc3PDo28gPSBQSUxMOyByZXZpc8OjbyA9IFJFVMOCTkdVTE8uXG4gIC8vIEFtYm9zIGNvbSDDrWNvbmUuXG4gICYuc3VibWlzc2lvbi5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5yZXZpZXcuaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBTdWJtaXNzaW9uIEZvcm0gQW5zd2Vyc1xuLnN1Ym1pc3Npb24tZm9ybS1pdGVtIHtcbiAgcCB7XG4gICAgLmZpZWxkLXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5maWVsZC1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICB9XG59XG4iLCIgIC8vIE1EMyBib2R5LXNtYWxsICgxMnB4IC8gNDAwIC8gMTZweCBsaW5lLWhlaWdodCAvICswLjAyNXJlbSB0cmFja2luZykuXG4gIC5sZWdlbmQsIC5jYXB0aW9uIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMjVyZW07XG5cbiAgICBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgICAgIG1hcmdpbjogMCAwLjI1ZW07XG5cbiAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyDilIDilIAgQXZpc28gLyBlc3RhZG8gZGUgcMOhZ2luYSAoTk9USUNFKSDigJQgZGVmaW5pw6fDo28gw5pOSUNBIGUgZ2xvYmFsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTWVuc2FnZW5zIGluZm9ybWF0aXZhcyAvIGVzdGFkb3MgdmF6aW9zIGFvIGxvbmdvIGRhIHDDoWdpbmEgZGUgc3VibWlzc8Ojb1xuLy8gKHJldmlzw7VlcyBuw6NvIGxpYmVyYWRhcywgc2VtIG1lbnNhZ2VucyBuYSBkaXNjdXNzw6NvLCBwcmF6byBkZSBjb25mZXLDqm5jaWEgbsOjb1xuLy8gZGVmaW5pZG8sIHNlbSByZWdyYXMgZGUgYXJxdWl2bywgZXRjLikuIFRPRE9TIGNvbWXDp2FtIGNvbSBvIMOtY29uZSBgaW5mb2AgZVxuLy8gY29tcGFydGlsaGFtIGFsaW5oYW1lbnRvICjDoCBlc3F1ZXJkYSksIGNvciwgcGVzbyBlIHRhbWFuaG8gZGEgZm9udGUuXG4vL1xuLy8gVXNvIG5vIHRlbXBsYXRlIChvIMOtY29uZSDDqSBNYXRlcmlhbCBTeW1ib2xzIHBvciBsaWdhZHVyYSDigJQgc2VtIE1hdEljb25Nb2R1bGUpOlxuLy8gICA8cCBjbGFzcz1cInBhZ2Utbm90aWNlXCI+XG4vLyAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+aW5mbzwvc3Bhbj5cbi8vICAgICA8c3Bhbj57eyAnY2hhdmUuaTE4bicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4vLyAgIDwvcD5cbi5wYWdlLW5vdGljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogNHB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgICAvLyAxM3B4XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG5cbiAgICAvLyDDjWNvbmUgbMOtZGVyIChpbmZvKS4gYC5tYXQtaWNvbmAgdGFtYsOpbSBjb2JlcnRvIHAvIHF1ZW0gasOhIHVzYSA8bWF0LWljb24+LlxuICAgID4gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG4gICAgPiAubWF0LWljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4uZGFyay10aGVtZSAucGFnZS1ub3RpY2Uge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIG9wYWNpdHk6IDAuNzsgICAvLyBtZXNtYSBsZXZlemEgZGEgbWVuc2FnZW0gZGUgcmVmZXLDqm5jaWEgKHJlYnV0dGFsKSBubyBkYXJrXG59XG4iLCIuaG9tZSB7XG4gIC51c2VyLWRhc2hib2FyZCwgLnN1Ym1pc3Npb25zLCAucmV2aWV3cywgLmV2ZW50cywgLm15ZXZlbnRzLCAuY29tbWl0dGVlcyB7XG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4taVBob25lOHBsdXMtcG9ydHJhaXQtd2lkdGgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnZzcGFjZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICB9XG4gIH1cbiAgLnN1Ym1pc3Npb25zLCAucmV2aWV3cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIH1cbn1cblxuLmFkbWluIHtcbiAgLmV2ZW50LWFkbWluIC5zdWJjb25mZXJlbmNlc3tcbiAgICAuY29sdW1ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwibWFya2Rvd24ge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4kYmxvY2staGVpZ2h0OiA2MHB4O1xuJG9wdGlvbnMtd2lkdGg6IDIxMHB4O1xuJGZpbHRlcnMtd2lkdGg6IDEyMHB4O1xuXG4ubWFpbntcbiAgICAmLWhlYWRlciB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8vIEFuY2hvciBwYXJhIGAucGFnZS1maWx0ZXItcm93YCBxdWFuZG8gZWxhIHZpdmUgZGVudHJvIGRvIGhlYWRlclxuICAgICAgICAvLyAobW9kbyBcImNoaXAgY2VudHJhbGl6YWRvIG5vIGhlYWRlclwiKS4gQSByb3cgdmlyYSBhYnNvbHV0YW1lbnRlXG4gICAgICAgIC8vIGNlbnRyYWxpemFkYSBubyBlaXhvIFgsIGluZGVwZW5kZW50ZSBkYSBsYXJndXJhIGRlIHRpdGxlL29wdGlvbnMuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubWFpbi10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAvLyBSZWN1byBlc3F1ZXJkbyBwYWRyw6NvIGRvIHTDrXR1bG8g4oCUIGhpc3RvcmljYW1lbnRlIHByZXNlbnRlIGVtXG4gICAgICAgICAgICAvLyBTdWJtaXNzw7VlcyAodmlhIGNhc2NhZGUgaW5kaXJldGEpOyBleHBsw61jaXRvIGFxdWkgcHJhIHZhbGVyXG4gICAgICAgICAgICAvLyBlbSB0b2RhcyBhcyBww6FnaW5hcyBjb20gZXNzZSBoZWFkZXIgKGF1dG9yL3Jldmlzb3IpLlxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcblxuICAgICAgICAgICAgbWluLWhlaWdodDogJGJsb2NrLWhlaWdodDtcblxuICAgICAgICAgICAgZmxleC1iYXNpczogY29udGVudDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICAuZmlsdGVyQW5kT3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aCkge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuXG4gICAgICAgICAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5vdGlmeS1idXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFF1YW5kbyBow6EgY2hpcC1zZWFyY2ggZGVudHJvIGRvIC5vcHRpb25zIChhcGVuYXMgbmFzIDUgcMOhZ2luYXNcbiAgICAgICAgICAgIC8vIGF1dG9yL3Jldmlzb3IpLCB0cm9jYSBwYXJhIGxheW91dCBob3Jpem9udGFsIOKAlCB0b2dnbGVzICsgY2hpcFxuICAgICAgICAgICAgLy8gZmljYW0gbGFkbyBhIGxhZG8gZW0gdmV6IGRlIGVtcGlsaGFkb3MgdmVydGljYWxtZW50ZS4gTyByZXN0b1xuICAgICAgICAgICAgLy8gZG8gYXBwIChjaGFpciBhZG1pbiBldGMpIG1hbnTDqW0gZmxleC1jb2x1bW4gZG8gbGVnYWRvLlxuICAgICAgICAgICAgJjpoYXMoYXBwLWN1c3RvbS1zZWFyY2gpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowIDAuNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpbHRlckxhYmVsIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmFjdGlvbi1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgaGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowIDAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtYnJlYWt1cC13aWR0aCkge1xuICAgICAgICAgICAgLm1haW4tdGl0bGUge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwcmVtO1xuICAgIH1cblxuICAgIC8vIEZpbHRybyBjZW50cmFsaXphZG8gbm8gaGVhZGVyIChtb2RvIGFsd2F5c09wZW4pLiBVc2EgcG9zaXRpb246YWJzb2x1dGVcbiAgICAvLyBwYXJhIGdhcmFudGlyIGNlbnRyYWxpemHDp8OjbyB2aXN1YWwgZXhhdGEsIGlnbm9yYW5kbyBhcyBsYXJndXJhc1xuICAgIC8vIGFzc2ltw6l0cmljYXMgZGUgYC5tYWluLXRpdGxlYCAoZXNxdWVyZGEpIGUgYC5maWx0ZXJBbmRPcHRpb25zYCAoZGlyZWl0YSkuXG4gICAgJi1oZWFkZXIgPiAucGFnZS1maWx0ZXItcm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgLy8gQWNpbWEgZG9zIGRlbWFpcyBmbGV4IGl0ZW1zIHByYSBuw6NvIGZpY2FyIGNvYmVydG8uXG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uc2VwYXJhdG9yIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaHIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3I7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG5cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIC8vIHdpZHRoOiAxMDB2dztcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVza3RvcC13aWR0aC1zbSkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kfSkpKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3Atd2lkdGgtc20pIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMHZ3ICsgKDIgKiAoI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbX0pKSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc219KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtYnJlYWt1cC13aWR0aCkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC10YWJsZXR9KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC10YWJsZXR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtd2lkdGgpIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMHZ3ICsgKDIgKiAoI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtbW9iaWxlfSkpKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtbW9iaWxlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtIDA7XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIGRpdmlkZXIg4oCUIGxpbmhhIGhvcml6b250YWwgZW50cmUgc2XDp8O1ZXMgYWRqYWNlbnRlcy5cbi8vIFBhZHLDo28gY2hhaXIgVUkgdXNhZG8gZW0gdG9kYXMgYXMgcMOhZ2luYXMgY29tIG3Dumx0aXBsYXMgLnNlY3Rpb25cbi8vIChjaGVja2xpc3QsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjLikuIEJvcmRlci10b3AgY29sb3IgdmlhXG4vLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCAodGhlbWUtYXdhcmU6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0L2RhcmspLlxuLy9cbi8vIGBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50YCBzb2JyZXNjcmV2ZSBvIGAuc2VjdGlvbiB7IHBhZGRpbmctdG9wOiAwXG4vLyAhaW1wb3J0YW50IH1gIGZvcsOnYWRvIHBvciBgX2NhcmQuc2Nzc2AuIGBtYXJnaW4tdG9wOiAxcmVtYCBkw6EgcmVzcGlyb1xuLy8gYWNpbWEgZG8gZGl2aWRlci5cbi8vXG4vLyBDb2JyZSB0YW1iw6ltIGNvbWJpbmHDp8O1ZXMgY29tIGAucm93LW1kYCAod3JhcHBlciBkZSBzdWItc2VjdGlvbnNcbi8vIHNpZGUtYnktc2lkZSkgdXNhZG8gZW0gcmV2aWV3cy1jb25maWd1cmF0aW9uLlxuLnNlY3Rpb24gKyAuc2VjdGlvbixcbi5zZWN0aW9uICsgLnJvdy1tZCxcbi5yb3ctbWQgKyAuc2VjdGlvbiB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uc3Vic2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB9XG59XG5cbi5zdWJzdWJzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi8vIFNvbWJyYSBpbmZlcmlvciBuYSB0b29sYmFyIChuYXZiYXIgYXV0b3IvcmV2aXNvcikgQVBFTkFTIG5hIHDDoWdpbmEgZGVcbi8vIHN1Ym1pc3PDo28gKHBhcGVyLWluZm8sIG1vbnRhZGEgdmlhIGFwcC1zdWJtaXNzaW9uLXZpZXcpLiBSZWdyYSBHTE9CQUwgY29tXG4vLyBgOmhhcygpYCBwb3JxdWUgYSBuYXZiYXIgZSBvIGNvbnRlw7pkbyBzw6NvIHN1YsOhcnZvcmVzIElSTcODUyBzb2IgYC5ob21lYFxuLy8gKGA6aG9zdC1jb250ZXh0YCBzw7MgYWxjYW7Dp2EgYW5jZXN0cmFpcywgbsOjbyBpcm3Do29zKS4gU8OzIGNhc2EgbmEgw6FyZWEgYC5ob21lYFxuLy8gKGF1dG9yL3Jldmlzb3IpIOKAlCBhIHJvdGEgYWRtaW4gdXNhIG91dHJvIHNoZWxsLCBlbnTDo28gYSBhZG1pbiBuw6NvIMOpIGFmZXRhZGEuXG4uaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLy8gRGFyayBtb2RlOiBzb21icmEgcHJldGEgc29icmUgZnVuZG8gZXNjdXJvIHByZWNpc2EgbWFpcyBvcGFjaWRhZGVcbi8vIHByYSBhbmNvcmFyIHZpc3VhbG1lbnRlIChhIG1lc21hIDAuMTggZG8gbGlnaHQgc29tZSBubyBkYXJrKS5cbi5kYXJrLXRoZW1lIC5ob21lOmhhcygucGFnZS1jb250ZW50IGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KSxcbiAgICAgICAgICAgICAgICAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLy8gU29tYnJhIFBFUk1BTkVOVEUgbmEgYmFycmEgZGUgbmF2ZWdhw6fDo28gKGJyZWFkY3J1bWIpIGRvIFRQQyBDaGFpciBlbnF1YW50byBhXG4vLyBww6FnaW5hIGRlIHN1Ym1pc3PDo28gZXN0w6EgYWJlcnRhIOKAlCBlbSBsYXlvdXQgTU9ERVJOTyAoYC5sZWdhY3ktY2hyb21lLWRpc2FibGVkYClcbi8vIE9VIEFNUExPIChgLndpZGUtbW9kZWApLCBtYXMgTsODTyBubyBjbMOhc3NpY28tbsOjby1hbXBsby4gQSBiYXJyYSBWSVPDjVZFTCDDqSBvXG4vLyBgLmV2ZW50LWJyZWFkY3J1bWJgIChwb3NpdGlvbjogZml4ZWQpOyBvIGhvc3QgYGFwcC1ldmVudC1icmVhZGNydW1iYCBzw7Ncbi8vIHJlc2VydmEgMzZweCBlbSBmbHV4byDigJQgcG9yIGlzc28gYSBzb21icmEgdmFpIG5vIGVsZW1lbnRvIGludGVybm8sIG7Do28gbm8gaG9zdFxuLy8gKHNlbsOjbyBmaWNhIGF0csOhcyBkYSBiYXJyYSwgaW52aXPDrXZlbCkuXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLy8gRGFyayBtb2RlOiBzb21icmEgcHJldGEgcHJlY2lzYSBtYWlzIG9wYWNpZGFkZSBFIDIgY2FtYWRhcyBwcmFcbi8vIGFuY29yYXIgc29icmUgZnVuZG8gZXNjdXJvIChtZXNtYSB0w6ljbmljYSBkYXMgYmFycmFzIGF1dG9yL3Jldmlzb3IpLlxuLmRhcmstdGhlbWUgLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLmRhcmstdGhlbWUgLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4vLyBTb21icmEgbmEgYm9yZGEgRElSRUlUQSBkbyBzaWRlYmFyIG1vZGVybm8sIG5hcyBww6FnaW5hcyBGVUxMLUJMRUVEIChzdWJtaXNzw6NvIGVcbi8vIGNlcnRpZmljYWRvIGRlIGFwcmVzZW50YcOnw6NvKSwgb25kZSBvIGNvbnRlw7pkbyB2YWkgZGUgcG9udGEgYSBwb250YSBlIHByZWNpc2EgZGVzc2Fcbi8vIHNvbWJyYSBwcmEgc2Ugc2VwYXJhciBkbyBtZW51LlxuLy9cbi8vIMOJIHVtYSBgYm94LXNoYWRvd2AgTkEgUFLDk1BSSUEgYC5leHBlcmltZW50YWwtc2lkZWJhcmAg4oCUIG7Do28gbWFpcyB1bSBwc2V1ZG8gYDo6YWZ0ZXJgXG4vLyBmaXhvIGFuY29yYWRvIGVtIGBsZWZ0OiB2YXIoLS1leHBlcmltZW50YWwtc2lkZWJhci13aWR0aClgLiBNb3Rpdm86IG8gcHNldWRvIFNBTFRBVkEgYW9cbi8vIGFicmlyL2NvbGFwc2FyICh1bWEgYHRyYW5zaXRpb25gIE7Dg08gcmVhZ2UgYSBtdWRhbsOnYSBkZSBjdXN0b20gcHJvcGVydHkgbsOjby1yZWdpc3RyYWRhKSxcbi8vIGVucXVhbnRvIG8gYHdpZHRoYCBkbyBzaWRlYmFyIGFuaW1hdmEg4oaSIG8gXCJlZmVpdG8gZGUgZG9pcyBwYWluw6lpc1wiLiBDb21vIGEgYm94LXNoYWRvdyBmYXpcbi8vIHBhcnRlIGRhIGNhaXhhIGRvIHNpZGViYXIsIGVsYSBhY29tcGFuaGEgbyBgd2lkdGhgIG5hIGFuaW1hw6fDo28gREUgR1JBw4dBLCBzaW5jcm9uaXphZGEuXG4vL1xuLy8gTyBgY2xpcC1wYXRoYCByZWNvcnRhIGEgc29tYnJhIEFDSU1BIGRhIGJhc2UgZG8gYnJlYWRjcnVtYiAobWVzbW8gcG9udG8gcXVlIG8gYHRvcGAgZG9cbi8vIHBzZXVkbyBhbnRpZ28pLCBwcmEgZWxhIG7Do28gY3J1emFyL2NvYnJpciBhIGJhcnJhIGRlIG5hdmVnYcOnw6NvLiBPIHBvbMOtZ29ubyBtYW50w6ltIFRPRE8gb1xuLy8gY29udGXDumRvIGRvIHNpZGViYXIgKGRlbnRybyBkZSBgMCAwIOKGkiAxMDAlIOKGkiBib3R0b21gKTsgc8OzIGEgc29tYnJhIOKAlCBxdWUgZmljYSBBTMOJTSBkZVxuLy8gYDEwMCVgLCDDoCBkaXJlaXRhIOKAlCDDqSByZWNvcnRhZGEgbm8gdHJlY2hvIGRvIHRvcG8gKGNsaXAtcGF0aCByZWNvcnRhIGJveC1zaGFkb3cpLiBBXG4vLyBgYm9yZGVyLXJpZ2h0YCAoZGl2aXNvciBkZSAxcHgpIGRvIHNpZGViYXIgcGVybWFuZWNlLCBkZWZpbmlkYSDDoCBwYXJ0ZS5cbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOm5vdCgud2lkZS1tb2RlKTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLFxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpub3QoLndpZGUtbW9kZSk6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gICAgYm94LXNoYWRvdzogNnB4IDAgMTBweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAwIDAsXG4gICAgICAgIDEwMCUgMCxcbiAgICAgICAgMTAwJSBjYWxjKHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KSArIDM2cHgpLFxuICAgICAgICBjYWxjKDEwMCUgKyAyNHB4KSBjYWxjKHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KSArIDM2cHgpLFxuICAgICAgICBjYWxjKDEwMCUgKyAyNHB4KSAxMDAlLFxuICAgICAgICAwIDEwMCVcbiAgICApO1xufVxuXG4vLyBDb250cm9sZXMgZGUgcHVibGljYcOnw6NvOiBhIHDDoWdpbmEgdGVybWluYSBuYXMgQUJBUyDigJQgZSwgZGVudHJvIGRlbGFzLCBuYVxuLy8gYmFycmEgZGUgY29uZmlybWHDp8OjbywgcXVlIGrDoSB0ZW0gcmVzcGlybyBwcsOzcHJpby4gTyBgcGFkZGluZy1ib3R0b21gIHF1ZSBvXG4vLyBjYW52YXMgYXBsaWNhIHBvciBwYWRyw6NvIChgYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2Nzc2ApIHNvYnJhIGFxdWkuXG4vL1xuLy8gQSByZWdyYSB2aXZlIEFRVUksIGUgbsOjbyBubyBTQ1NTIGRhIHDDoWdpbmEsIHBvciBkb2lzIG1vdGl2b3MgcXVlIHNlIHNvbWFtOiBhXG4vLyBjdXN0b20gcHJvcGVydHkgcHJlY2lzYSBzZXIgZXNjcml0YSBubyBNRVNNTyBlbGVtZW50byBxdWUgYSBjb25zb21lIChlbGFzXG4vLyBoZXJkYW0gZGUgY2ltYSBwYXJhIGJhaXhvLCBlIG8gYC5tYXQtc2lkZW5hdi1jb250ZW50YCDDqSBBTkNFU1RSQUwgZGEgcMOhZ2luYSksXG4vLyBlIHJlZ3JhIHF1ZSBhdHJhdmVzc2EgY29tcG9uZW50ZXMgdGVtIGRlIHNlciBnbG9iYWwg4oCUIG5vIFNDU1MgZGUgdW1cbi8vIGNvbXBvbmVudGUgY29tIGVuY2Fwc3VsYW1lbnRvIGVtdWxhZG8sIG8gc2VsZXRvciBnYW5oYXJpYSBvIGF0cmlidXRvIGRlXG4vLyBlbmNhcHN1bGFtZW50byBlIG7Do28gY2FzYXJpYSBjb20gdW0gZWxlbWVudG8gZGUgZm9yYS4gMXB4IGVtIHZleiBkZSAwIGV2aXRhXG4vLyBjb2xhcHNvIGRlIG1hcmdlbSBlbnRyZSBvIMO6bHRpbW8gZmlsaG8gZSBvIGNhbnZhcy5cbi5tYXQtc2lkZW5hdi1jb250ZW50OmhhcyhhcHAtZXZlbnQtcHVibGljYXRpb24pIHtcbiAgICAtLWNhbnZhcy1wYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuXG4vLyBQw6FnaW5hIGRlIHN1Ym1pc3PDo286IGZ1bmRvIGNpbnphIGNvYnJpbmRvIFRPRE8gbyBjb250YWluZXIgZGUgc2Nyb2xsIChsYXRlcmFpc1xuLy8gRSByb2RhcMOpKS4gU3Vic3RpdHVpIG8gYW50aWdvIGZ1bGwtYmxlZWQgcG9yIG1hcmdlbSBuZWdhdGl2YSAoZnLDoWdpbCBubyBjaGFpcikuXG4vL1xuLy8gQXV0b3I6IG8gY29udGFpbmVyIMOpIGAucGFnZS1jb250ZW50YC5cbi5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xufVxuLy8gQ2hhaXI6IHplcmEgbyBwYWRkaW5nIGxhdGVyYWwgZG8gY29udGVudCAocGFwZXItaW5mbyBwcmVlbmNoZSBkZSBwb250YSBhIHBvbnRhKS5cbi8vIFplcmEgdGFtYsOpbSBvIHBhZGRpbmctQk9UVE9NICg4cHggZGVmYXVsdCBkbyBNYXRlcmlhbCBubyBtYXQtc2lkZW5hdi1jb250ZW50KTpcbi8vIGVsZSBzb21hdmEgYW8gZ3V0dGVyIGRlIDI0cHggZG8gcGFwZXItaW5mbywgZGVpeGFuZG8gbyB2w6NvIGluZmVyaW9yICgzMnB4KVxuLy8gbWFpb3IgcXVlIG8gc3VwZXJpb3IgKDI0cHgpLiBPIHBhcGVyLWluZm8gasOhIGZvcm5lY2Ugc2V1IHByw7NwcmlvIGd1dHRlci5cbm1hdC1zaWRlbmF2LWNvbnRlbnQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8vIENoYWlyOiBwaW50YSBkZSBjaW56YSBUT0RBIGEgcGlsaGEgZG8gTWF0ZXJpYWwgZHJhd2VyIChjb250ZW50ICsgY29udGFpbmVyLCBub3Ncbi8vIDIgbsOtdmVpcyBhbmluaGFkb3MpLiBgLnNpZGViYXIg4oCmYCAoMCwzLDApICsgYCFpbXBvcnRhbnRgIFZFTkNFIG8gYmcgZG8gdGVtYVxuLy8gKF9jb2xvci1zY2hlbWUuc2NzczogYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5tYXQtc2lkZW5hdi1jb250ZW50YCA9IGJyYW5jbyxcbi8vIG1lc21hIGVzcGVjaWZpY2lkYWRlIDAsMSwxIHF1ZSBhIG1pbmhhIHJlZ3JhIGFudGlnYSBwZXJkaWEgcG9yIG9yZGVtKSBlIG9cbi8vIGAjZmFmYWZhYCBkZWZhdWx0IGRvIE1hdGVyaWFsIG5vIGAubWF0LWRyYXdlci1jb250YWluZXJgLiDDiSBvIHF1ZSBmYWx0YXZhIHByYVxuLy8gbWF0YXIgYSBmYWl4YSBicmFuY2EgZG8gcm9kYXDDqSAobyBwYWRkaW5nLWJvdHRvbSBicmFuY28gYWJhaXhvIGRvIGNvbnRlw7pkbykuXG4uc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LXNpZGVuYXYtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTAgIWltcG9ydGFudDtcbn1cbi8vIE92ZXJzY3JvbGwgYm91bmNlIChtYWNPUyB0cmFja3BhZCkgcmV2ZWxhIG8gYmcgZG8gYDxodG1sPmAgKHF1ZW0gcm9sYSBlbVxuLy8gYWRtaW4pLiBPIHRlbWEgZGVmaW5lIGBodG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKSB7IGJhY2tncm91bmQ6IHdoaXRlIH1gXG4vLyBlIGBodG1sOmhhcyhib2R5LmRhcmstdGhlbWUpIHsgYmFja2dyb3VuZDogYmxhY2sgfWBcbi8vIChfY29sb3Itc2NoZW1lLnNjc3M6MzQ0LDM0OCDigJQgZXNwZWNpZmljaWRhZGUgMCwxLDIpLiBQcmEgdmVuY2VyLCBjYXNhbW9zXG4vLyBvIHBhZHLDo28gZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvIGxvZ28gYWNpbWEgKGxpbmhhcyA0MzctNDQyKTogZHVwbGFcbi8vIGA6aGFzYCAodGVtYSArIHDDoWdpbmEgdjIpID0gZXNwZWNpZmljaWRhZGUgMCwxLDMuIENvciBkYXJrID0gTUVTTU9cbi8vIGAkYWRtaW4tYmFja2dyb3VuZC1kYXJrYCAoYmxhY2spIHF1ZSBvIHBhcGVyLWluZm8gdXNhIGNvbW8gY2FudmFzIOKAlFxuLy8gY29uc2lzdMOqbmNpYSBjb20gYSBmb2xoYSBgIzIwMjAyMGAgKGVsZXZhZGEpIHF1ZSBmaWNhIHZpc8OtdmVsIGFjaW1hLlxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSk6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG59XG5odG1sOmhhcyhib2R5LmRhcmstdGhlbWUpOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cbi8vIFN0aWNreSBkYSBiYXJyYSBkZSBtZXRhZGFkb3Mgbm8gY2hhaXI6IG8gc2Nyb2xsZXIgcmVhbCDDqSBvIGBodG1sYCwgbWFzIGEgcGlsaGFcbi8vIGBtYXQtc2lkZW5hdi1jb250ZW50YC9gY29udGFpbmVyYCAob3ZlcmZsb3cgYXV0by9oaWRkZW4pIGludGVyY2VwdGEgb1xuLy8gYHBvc2l0aW9uOiBzdGlja3lgIFNFTSByb2xhciAocXVlbSByb2xhIMOpIG8gaHRtbCkuIENvbW8gZXNzYXMgY2FtYWRhcyBuw6NvXG4vLyByb2xhbSwgdG9ybmFtb3MgYG92ZXJmbG93OiB2aXNpYmxlYCBzw7MgbmVzc2EgcMOhZ2luYSDigJQgYXNzaW0gbyBzdGlja3kgc2UgcHJlbmRlXG4vLyBhbyBgaHRtbGAgKHNlbSBjcmlhciBiYXJyYSBkZSByb2xhZ2VtIGludGVybmEsIGFvIGNvbnRyw6FyaW8gZG8gaGFjayBhbnRpZ28pLlxuLy8gTyBgW3Njcm9sbD1ub11gIChvdmVyZmxvdzpjbGlwKSBOw4NPIGludGVyY2VwdGEgc3RpY2t5LCBlbnTDo28gZmljYSBjb21vIGVzdMOhLlxuLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLy8gXCJEYW7Dp2FyXCIgbm8gZmltIGRhIHDDoWdpbmEgKGNoYWlyLCBtb2RvIHZpc8Ojbyk6IG8gdmlkcm8gZm9zY28gc3RpY2t5XG4vLyAoYC5wYXBlci1zaGVldDpoYXMoLm1ldGEtY2FyZC5zdHVjayk6OmJlZm9yZWAsIGNvbSBgbWFyZ2luLWJvdHRvbWAgTkVHQVRJVk8pIGZheiBvXG4vLyBjb250ZcO6ZG8gYWNpbWEgbXVkYXIgZGUgYWx0dXJhIGR1cmFudGUgbyBzY3JvbGw7IG8gU0NST0xMIEFOQ0hPUklORyBkbyBDaHJvbWVcbi8vIHJlYWp1c3RhIG8gc2Nyb2xsVG9wIGUgZW50cmEgZW0gbG9vcCBuYSBiYXNlIChvbmRlIG7Do28gaMOhIGJhcnJhIGZsdXR1YW50ZSBlc3RlbmRlbmRvXG4vLyBvIGZpbSDigJQgcG9yIGlzc28gbsOjbyBvY29ycmUgZW0gZWRpw6fDo28pLiBDb21vIG8gc2Nyb2xsZXIgw6kgbyBgaHRtbGAsIGRlc2xpZ2Ftb3Mgb1xuLy8gYW5jaG9yaW5nIGRlbGUgU8OTIG5lc3RhIHDDoWdpbmEgKHJlY3Vyc28gbWVub3I7IG8gY29udGXDumRvIGxhenkgY2FycmVnYSBhYmFpeG8gZGFcbi8vIGRvYnJhLCBlbnTDo28gbsOjbyBwZXJkZSBuYWRhIHBlcmNlcHTDrXZlbCkuXG5odG1sOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xufVxuLy8gTWVzbW8gbW90aXZvIG5hIFZpc8OjbyBkZSBDYWxlbmTDoXJpbzogbyBjYWxlbmTDoXJpbyDDqSByZW5kZXJpemFkbyBpbnRlaXJvIG5vXG4vLyBmbHV4byBkYSBww6FnaW5hIChxdWVtIHJvbGEgw6kgbyBgaHRtbGApIGUgYSBsaW5oYSBkZSBkaWFzIGRhIHNlbWFuYSB1c2Fcbi8vIGBwb3NpdGlvbjogc3RpY2t5YCBwYXJhIGZpY2FyIGZpeGEgbm8gdG9wby4gU2VtIGxpYmVyYXIgbyBvdmVyZmxvdyBkZXN0YXNcbi8vIGNhbWFkYXMsIG8gc3RpY2t5IMOpIGludGVyY2VwdGFkbyBwb3IgZWxhcyDigJQgcXVlIG7Do28gcm9sYW0g4oCUIGUgYSBsaW5oYSBzb21lXG4vLyBhbyByb2xhciBhIHDDoWdpbmEuXG4uc2lkZWJhcjpoYXMoYXBwLWNhbGVuZGFyLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5zaWRlYmFyOmhhcyhhcHAtY2FsZW5kYXItdmlldykgLm1hdC1kcmF3ZXItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLy8gTGlzdGFyIFByb2dyYW1hOiBvIGZ1bmRvIGVtIHZvbHRhIGRhIGZvbGhhIHVzYSBhIE1FU01BIGNvciBkYSBmb2xoYSwgZSBlc3NhXG4vLyBjb3Igw6kgZGVmaW5pZGEgbnVtIGx1Z2FyIHPDsyDigJQgYC0tcHJvZ3JhbS1wYXBlcmAsIG5hIGZvbGhhIGRvIHByb2dyYW1hXG4vLyAoYHByb2dyYW0tc2hlZXQuY3NzLnRzYCwgaW5qZXRhZGEgZW5xdWFudG8gYSB0ZWxhIGVzdMOhIG1vbnRhZGEpLiBBcXVpIGFwZW5hc1xuLy8gTEVNT1MgYSB2YXJpw6F2ZWw7IG7Do28gcmVwZXRpciBvIHZhbG9yLiBWYWxlIG5vcyBkb2lzIHRlbWFzLCBkZSBwcm9ww7NzaXRvOiBvXG4vLyBwcm9ncmFtYSDDqSBwYXBlbCwgbsOjbyBzZWd1ZSBjbGFyby9lc2N1cm8uIFBpbnRhciBzw7MgbyBgbWF0LXNpZGVuYXYtY29udGVudGBcbi8vIGRlaXhhcmlhIGZhaXhhIG5vIHJvZGFww6ksIGRhw60gbyBgLm1hdC1kcmF3ZXItY29udGFpbmVyYCBqdW50by5cbi5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uc2lkZWJhcjpoYXMoYXBwLWV2ZW50LXByb2dyYW0pIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV2ZW50LXByb2dyYW0pIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3JhbS1wYXBlciwgI2ZmZmZmZikgIWltcG9ydGFudDtcbn1cbi8vIE92ZXJzY3JvbGwgZWzDoXN0aWNvOiBxdWVtIHJvbGEgw6kgbyBgaHRtbGAsIGUgw6kgbyBmdW5kbyBkZWxlIHF1ZSBhcGFyZWNlIGFvXG4vLyBwdXhhciBhbMOpbSBkbyB0b3BvL2ZpbS4gUHJlY2lzYSBDQVNBUiBhIGZvcm1hIGRvIHNlbGV0b3IgZG8gdGVtYVxuLy8gKGBodG1sOmhhcyhib2R5LmRhcmstdGhlbWUpYCwgMCwxLDEg4oCUIG8gYDpoYXMoKWAgaGVyZGEgYSBlc3BlY2lmaWNpZGFkZSBkb1xuLy8gYXJndW1lbnRvIG1haXMgZXNwZWPDrWZpY28pOiBzZW0gbyBgYm9keS48dGVtYT5gIGFxdWksIGEgbWluaGEgcmVncmEgZmljYXJpYVxuLy8gZW0gMCwwLDIgZSBvIHByZXRvIGRvIHRlbWEgZXNjdXJvIHZlbmNlcmlhLCBhcGFyZWNlbmRvIG5hcyBwb250YXMuXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLWV2ZW50LXByb2dyYW0pLFxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKTpoYXMoYXBwLWV2ZW50LXByb2dyYW0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmFtLXBhcGVyLCAjZmZmZmZmKTtcbn1cbi8vIE1vZG8gZXNjdXJvLlxuLmRhcmstdGhlbWUgLnBhZ2UtY29udGVudDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LXNpZGVuYXYtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIE92ZXJzY3JvbGwgZWzDoXN0aWNvIChtYWNPUyBydWJiZXItYmFuZCk6IG8gc2Nyb2xsZXIgUkVBTCDDqSBvIGBodG1sYCBlIG8gZnVuZG9cbi8vIGRlbGUgw6kgcHJvcGFnYWRvIHBybyBjYW52YXMgKGEgw6FyZWEgcXVlIGFwYXJlY2UgYW8gcHV4YXIgYWzDqW0gZG8gdG9wby9maW0pLiBPXG4vLyB0ZW1hIHBpbnRhIGBodG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKWAgZGUgYnJhbmNvIChfY29sb3Itc2NoZW1lLnNjc3M6MzQ0LFxuLy8gZXNwZWNpZmljaWRhZGUgMCwxLDIpLiBFc3BlbGhhbW9zIGVzc2UgcGFkcsOjbyArIGEgY29uZGnDp8OjbyBkYSBww6FnaW5hIGRlXG4vLyBzdWJtaXNzw6NvICgwLDEsMykgcHJhIFZFTkNFUiBlIGRlaXhhciBvIGNhbnZhcyBjaW56YS4gVmFsZSBhdXRvciBlIGNoYWlyLlxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSk6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG59XG5odG1sOmhhcyhib2R5LmRhcmstdGhlbWUpOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gQ2VydGlmaWNhZG8gZGUgYXByZXNlbnRhw6fDo28gKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpOiBNRVNNTyBmdWxsLWJsZWVkXG4vLyBjaW56YSBkYSBww6FnaW5hIGRlIHN1Ym1pc3PDo28gYWNpbWEuIENvbW8gw6kgT1VUUk8gc2VsZWN0b3IgZGUgY29tcG9uZW50ZSwgYXNcbi8vIHJlZ3JhcyBgOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KWAgbsOjbyBvIGFsY2Fuw6dhbSDigJQgZXNwZWxoYW1vcyBhcXVpIHAvIGF1dG9yXG4vLyAoYC5wYWdlLWNvbnRlbnRgKSBlIGNoYWlyIChgbWF0LXNpZGVuYXYtY29udGVudGAvYC5zaWRlYmFyYCBkcmF3ZXIpLCBsaWdodCtkYXJrLFxuLy8gKyBvIGNhbnZhcyBkbyBgaHRtbGAgKG92ZXJzY3JvbGwpICsgYG92ZXJmbG93OiB2aXNpYmxlYCBubyBzaGVsbCAoc2Vuw6NvIGFcbi8vIFNPTUJSQSBncmFuZGUgZGEgZm9saGEgZG8gY2VydGlmaWNhZG8gw6kgcmVjb3J0YWRhIHBlbGEgcGlsaGEgZG8gZHJhd2VyLCBkb1xuLy8gbWVzbW8gamVpdG8gcXVlIGEgc3VibWlzc8OjbyBwcmVjaXNhIOKAlCBhIGZvbGhhIGZheiBzbmFwLXRvLWZpdCwgbnVuY2Egcm9sYSkuXG4vLyBFc3BlY2lmaWNpZGFkZSBgYXBwLWhvbWUgLmhvbWUgLnBhZ2UtY29udGVudGAgKDAsMiwxKSArIGAhaW1wb3J0YW50YCBwLyBWRU5DRVIgb1xuLy8gdG9rZW4gYnJhbmNvIGRvIGBfY29sb3Itc2NoZW1lLnNjc3M6MjQ1OWAgKG1lc21hIGVzcGVjaWZpY2lkYWRlLCBtYXMgIWltcG9ydGFudCkuXG4vLyBTZW0gaXNzbywgbyBgLmNlcnRpZmljYXRlLXBhZ2VgIHBpbnRhIGEgw6FyZWEgdmlzw612ZWwgZGUgY2luemEsIG1hcyBvIGAucGFnZS1jb250ZW50YFxuLy8gYXRyw6FzIGNvbnRpbnVhIGJyYW5jbyAoYXBhcmVjZSBub3Mgc2xpdmVycy9nYXApLlxuYXBwLWhvbWUgLmhvbWUgLnBhZ2UtY29udGVudDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTAgIWltcG9ydGFudDtcbn1cbi8vIEEgbmF2YmFyIMOpIGZpeGVkIGUgbyBgLnBhZ2UtY29udGVudGAgY29tZcOnYSBlbSBgdG9wOiBuYXZiYXIgKyAzcHhgIChob21lLnNjc3MpXG4vLyDihpIgc29icmEgdW1hIGZhaXhhIGRlIDNweCBhdHLDoXMgZGVsYSBtb3N0cmFuZG8gbyBmdW5kbyBkbyBgLmhvbWVgIChxdWUgbyB0b2tlblxuLy8gYF9jb2xvci1zY2hlbWUuc2NzczoyNDU3YCBwaW50YSBkZSBCUkFOQ08gY29tICFpbXBvcnRhbnQpLiDDiSBhIGxpbmhhIGJyYW5jYS5cbi8vIGBhcHAtaG9tZSAuaG9tZWAgKDAsMSwxKSArICFpbXBvcnRhbnQgdmVuY2UgbyB0b2tlbi5cbmFwcC1ob21lIC5ob21lOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwICFpbXBvcnRhbnQ7XG59XG5tYXQtc2lkZW5hdi1jb250ZW50OmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTAgIWltcG9ydGFudDtcbn1cbi8vIFNoZWxsIE7Dg08gcmVjb3J0YSDihpIgYSBzb21icmEgZGEgZm9saGEgZGVzdmFuZWNlIG5vIGNpbnphIChlc3BlbGhhIGFzIGxpbmhhc1xuLy8gZGEgc3VibWlzc8OjbyBhY2ltYSkuIFZhbGUgYXV0b3IgKGAucGFnZS1jb250ZW50YCkgZSBjaGFpciAoZHJhd2VyKS5cbi5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpLFxuLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLy8gTyBhZG1pbi1ldmVudC1zaWRlYmFyIGVtYnJ1bGhhIG8gcm91dGVyLW91dGxldCBudW0gYDxkaXYgc2Nyb2xsPVwibm9cIlxuLy8gc3R5bGU9XCJvdmVyZmxvdzogY2xpcFwiPmAgKHAvIHN0aWNreSBkZSBww6FnaW5hIGludGVybmEgbsOjbyB2YXphcikuIE8gY2VydGlmaWNhZG9cbi8vIGZheiBzbmFwLXRvLWZpdCBlIGVuY29zdGEgbmEgYm9yZGEg4oaSIGVzc2UgY2xpcCBjb3J0YSBhIHNvbWJyYSBkYSBmb2xoYS5cbi8vIERlc3RyYXZhbW9zIFPDkyBwLyBvIGNlcnRpZmljYWRvIChuw6NvIHRlbSBzdGlja3kgbmVtIHJvbGEpLiBgb3ZlcmZsb3c6IGNsaXBgIMOpXG4vLyBJTkxJTkUg4oaSIHByZWNpc2EgZGUgYCFpbXBvcnRhbnRgIHAvIHZlbmNlci5cbltzY3JvbGw9XCJub1wiXTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtaG9tZSAuaG9tZSAucGFnZS1jb250ZW50OmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWhvbWUgLmhvbWU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBTb21icmFzIGRvIGNocm9tZSBubyBjZXJ0aWZpY2FkbyDigJQgTUVTTUFTIGRhIHDDoWdpbmEgZGUgc3VibWlzc8OjbyAobmF2YmFyIGRvXG4vLyBhdXRvci9yZXZpc29yLCBicmVhZGNydW1iIGRvIGNoYWlyLCBlIGJvcmRhIGRpcmVpdGEgZG8gbWVudSBsYXRlcmFsIG1vZGVybm8pLFxuLy8gZXNwZWxoYWRhcyBkbyBibG9jbyBgOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KWAgYWNpbWEuIFZlciBhcXVlbGUgYmxvY28gcC8gb1xuLy8gcmFjaW9uYWwgZGUgY2FkYSB0w6ljbmljYS4gQSBuYXZiYXIgTsODTyB0ZW0gc29tYnJhIHByw7NwcmlhIChvIGRlZmF1bHQgw6kgc8OzIHVtXG4vLyBib3JkZXItYm90dG9tIHDDoWxpZG8gZGUgJGNocm9tZS1ib3JkZXItbGlnaHQpIOKAlCBhIGVsZXZhw6fDo28gw6kgc2VtcHJlIHBvci1ww6FnaW5hLlxuLmhvbWU6aGFzKC5wYWdlLWNvbnRlbnQgYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICAvLyBOZXV0cmFsaXphIG8gYm9yZGVyLWJvdHRvbSBww6FsaWRvICgjRTdFNUU0KSBkbyBgX2NvbG9yLXNjaGVtZS5zY3NzYCDigJQgY29udHJhXG4gICAgLy8gYSBzb21icmEgZWxlIHZpcmEgdW1hIGxpbmhhIGNsYXJhLiBBIHNlcGFyYcOnw6NvIGZpY2Egc8OzIG5hIHNvbWJyYS4gYCFpbXBvcnRhbnRgXG4gICAgLy8gcC8gdmVuY2VyIG8gdG9rZW4gKHF1ZSB0YW1iw6ltIHVzYSAhaW1wb3J0YW50KS5cbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLmhvbWU6aGFzKC5wYWdlLWNvbnRlbnQgYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cbi5kYXJrLXRoZW1lIC5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLmRhcmstdGhlbWUgLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KSxcbiAgICAgICAgICAgICAgICAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi8vIChBIHNvbWJyYSBkYSBib3JkYSBkaXJlaXRhIGRvIHNpZGViYXIgcGFyYSBgYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZWAgYWdvcmEgw6kgYSBtZXNtYVxuLy8gIGBib3gtc2hhZG93YCArIGBjbGlwLXBhdGhgIGRhIHN1Ym1pc3PDo28g4oCUIHZlciBhIHJlZ3JhIGNvbWJpbmFkYSBhY2ltYS4gTyBwc2V1ZG8gYDo6YWZ0ZXJgXG4vLyAgcXVlIHNhbHRhdmEgZm9pIHJlbW92aWRvLilcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIHBvcnRyYWl0IOKAlCBib2R5IG9mZnNldCBwcm8gYm90dG9tIG5hdlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQSBuYXZiYXIgZW0gbW9iaWxlIHBvcnRyYWl0IGZpY2EgZW0gRFVBUyBwYXJ0ZXM6IHRvcCBtaW5pIGJhciAoNDhweCwgYWluZGFcbi8vIG5vIGZsdXhvIGRlZmF1bHQpICsgYm90dG9tIG5hdiAoNjRweCArIHNhZmUtYXJlYSwgYHBvc2l0aW9uOiBmaXhlZGApLiBPXG4vLyBib3R0b20gbmF2IHNvYnJlcMO1ZSBvIGZpbmFsIGRvIGNvbnRlw7pkbyDigJQgcmVzZXJ2YW1vcyBwYWRkaW5nLWJvdHRvbSBubyBib2R5XG4vLyBwcmEgbmluZ3XDqW0gZmljYXIgZXNjb25kaWRvIGVtYmFpeG8gZGVsZS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoNjRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKSk7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgVE9QIG1pbmkgYmFyICsgQk9UVE9NIHByaW1hcnkgbmF2IChyZWdyYXMgR0xPQkFJUylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZpdmUgQVFVSSAoYXJxdWl2byBnbG9iYWwsIHNlbSBzY29waW5nIEFuZ3VsYXIpIGUgTsODTyBlbVxuLy8gYG5hdmJhci5jb21wb25lbnQuc2Nzc2AgcG9ycXVlIHF1YW5kbyBvIEFuZ3VsYXIgRW11bGF0ZWQgc2NvcGEgYSByZWdyYSxcbi8vIGFkaWNpb25hIGBbX25nY29udGVudC14eHhdYCBhIFRPRE9TIG9zIHNpbXBsZSBzZWxlY3RvcnMg4oCUIGluY2x1c2l2ZVxuLy8gYGh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl1gLiBDb21vIGA8aHRtbD5gIG7Do28gdGVtIGVzc2UgYXRyaWJ1dG8sXG4vLyBvIHNlbGV0b3IgTlVOQ0EgY2FzYSBlIGFzIHJlZ3JhcyBuw6NvIGFwbGljYW0uIEVzdGUgw6kgbyBtZXNtbyB0aXBvIGRlIGJ1Z1xuLy8gcXVlIGFwYXJlY2UgY29tIGAuZGFyay10aGVtZWAgc2NvcGluZyBlbSBTQ1NTIGRlIGNvbXBvbmVudGUuXG4vL1xuLy8gQXJxdWl0ZXR1cmE6XG4vLyAgIOKAoiBUb3AgbWluaSBiYXIgKGEgcHLDs3ByaWEgYC5uYXZiYXJgLCBhbHR1cmEgNDhweCkg4oaSIGxvZ28gKyByaWdodC1jb250YWluZXJcbi8vICAgICAoc2VhcmNoLCBoZWxwLCBub3RpZiwgYXZhdGFyKS4gYC5uYXZiYXItaXRlbXNgIHNhaSBkbyBmbHV4byBkYXF1aS5cbi8vICAg4oCiIEJvdHRvbSBuYXYgKGEgYC5uYXZiYXItaXRlbXNgIHByb21vdmlkYSBhIGBwb3NpdGlvbjogZml4ZWRgKSDihpJcbi8vICAgICBhcGVuYXMgb3MgNSBuYXYgaXRlbXMgcHJpbcOhcmlvcy4gNjRweCArIHNhZmUtYXJlYSBkbyBpUGhvbmUuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgLy8gVG9wIG1pbmkgYmFyIOKAlCBmb3LDp2EgdG9wIHBvc2l0aW9uIChvdmVycmlkZSBkYXMgYEBtZWRpYSBtYXgtd2lkdGhgXG4gICAgLy8gcXVlIGNvbG9jYXZhbSBhIG5hdmJhciBpbnRlaXJhIG5vIGJvdHRvbSkuXG4gICAgdG9wOiB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgLy8gTmF2IGl0ZW1zIHNhaSBkbyBmbHV4byBkbyB0b3AgYmFyIGUgdmlyYSBiYXJyYSBQUsOTUFJJQSBubyBib3R0b20uXG4gICAgLy8gYCFpbXBvcnRhbnRgIG5hIHBvc2l0aW9uL2JvdHRvbS9sZWZ0L3JpZ2h0L2hlaWdodCBwb3JxdWUgYXMgcmVncmFzXG4gICAgLy8gc2NvcGVkIGRvIGNvbXBvbmVudGUgYG5hdmJhci5jb21wb25lbnQuc2Nzc2AgdMOqbSBtZXNtYVxuICAgIC8vIHNwZWNpZmljaXR5IGUgY2FycmVnYW0gREVQT0lTIOKAlCBzZW0gIWltcG9ydGFudCBvIGBwb3NpdGlvbjpcbiAgICAvLyByZWxhdGl2ZWAgYmFzZSBkbyBjb21wb25lbnRlIHZlbmNpYS5cbiAgICAubmF2YmFyLWl0ZW1zIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogLTFweCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNjRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gT1BBQ08gZXhwbMOtY2l0byDigJQgbWVzbWEgY29yIGRhIG5hdmJhciBkZXNrdG9wXG4gICAgICAgIC8vIChgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZGAg4oCUIHRva2VuIGdsb2JhbCBkbyBjaHJvbWUpLlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICAgICAgei1pbmRleDogMzA7XG5cbiAgICAgICAgLy8gSW5kaWNhdG9yICsgdW5kZXJsaW5lIENPTVBBUlRJTEhBRE9TIGNvbSBvIGRlc2t0b3Ag4oCUIG1lc21hIEpTLFxuICAgICAgICAvLyBtZXNtYSBDU1MgYmFzZSBkbyBuYXZiYXIuY29tcG9uZW50LnNjc3MuIE8gSlMgYXBvbnRhIHByYVxuICAgICAgICAvLyAubWF0LWljb24gZW0gbW9iaWxlLXBvcnRyYWl0LCBlbnTDo28gYSBww61sdWxhIGRlc2xpemEgbm8gdGFtYW5ob1xuICAgICAgICAvLyBkbyDDrWNvbmUuIE92ZXJyaWRlcyBtb2JpbGUgYWJhaXhvICh0cmFww6l6aW8gaW52ZXJ0aWRvIGRvXG4gICAgICAgIC8vIHVuZGVybGluZSBwcmEgZWxlIFwiYWJyaXIgcHJhIGJhaXhvXCIgbm8gdG9wbyBkbyBwaWxsKS5cbiAgICAgICAgLm5hdmJhci1pdGVtcy11bmRlcmxpbmUge1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDJweCAwLCBjYWxjKDEwMCUgLSAycHgpIDAsIDEwMCUgMTAwJSwgMCAxMDAlKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2FkYSBpdGVtIG9jdXBhIDEvNSBkYSBsYXJndXJhIHZpYSBmbGV4IOKAlCBkaXN0cmlidWnDp8OjbyB1bmlmb3JtZS5cbiAgICAgICAgYXBwLXNpZGViYXItaXRlbSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQm90dG9tLW5hdiBtb2JpbGUgw6kgRkxBVCDigJQgc2VtIGJvcmRlcnMsIHNlbSBiZyBubyBob3Zlciwgc2VtXG4gICAgICAgIC8vIHJhZGl1cyBkZSBjaGlwLiBFc3RhZG8gYXRpdm8gPSBzw7MgY29yIGFjY2VudCArIMOtY29uZSBmaWxsZWRcbiAgICAgICAgLy8gKHBhZHLDo28gaU9TL0FuZHJvaWQpLiAhaW1wb3J0YW50IHZlbmNlIG8gbGF5b3V0IGRlc2t0b3AgcGlsbC5cbiAgICAgICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQSByZWdyYSAuc2VsZWN0ZWQgYW50aWdhICh0cmFuc3BhcmVudCkgZm9pIFJFTU9WSURBIOKAlCBjb25mbGl0YXZhXG4gICAgICAgIC8vIGNvbSBvIGJnIGFjY2VudCB0aW50IHF1ZSBhcGxpY2Ftb3Mgbm8gVGllciAxIChibG9jbyBhYmFpeG8pLlxuICAgICAgICAvLyBTb21lIGNvbSBvIHVuZGVybGluZSBhY2NlbnQgZG8gaXRlbSBhdGl2byDigJQgZXN0YWRvIGF0aXZvIGrDoVxuICAgICAgICAvLyDDqSBzaW5hbGl6YWRvIHBlbGEgY29yIGRvIHRleHRvL8OtY29uZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuICAgICAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246OmJlZm9yZSxcbiAgICAgICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBEYXJrOiBib3JkZXItdG9wIGRvIGJvdHRvbSBuYXYgbXVkYSBwcmEgdG9rZW4gZGFyay5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgUG9ydHJhaXQg4oCUIFBvbGltZW50byBUaWVyIDEgKyAyIChuYXZiYXIpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wbGVtZW50YSBvIGJsb2NvIGFudGVyaW9yLiBBZGnDp8O1ZXM6XG4vLyAgIFQxLjEgTG9nbyB0b3AtbGVmdCByZXN0YXVyYWRvXG4vLyAgIFQxLjIgw41jb25lcyBkbyByaWdodC1jb250YWluZXIgZW1wdXJyYWRvcyBwcmEgZGlyZWl0YVxuLy8gICBUMS4zIEVzdGFkbyBhdGl2byBkbyBib3R0b20gbmF2IGNvbSBiZyBhY2NlbnQgdGludCArIHRvcCBiYXIgM3B4XG4vLyAgIFQxLjQgSWNvbiBzaXplIDIycHggbm8gYm90dG9tIG5hdlxuLy8gICBUMi41IDphY3RpdmUgdGFwIGZlZWRiYWNrIChiZyBhbyB0b2Nhcilcbi8vICAgVDIuNiBMYWJlbCAxMXB4ICsgbWFpcyByZXNwaXJvIGVudHJlIMOtY29uZSBlIGxhYmVsXG4vLyAgIFQyLjcgQ29udGVudCBndXR0ZXIgbGF0ZXJhbCAxNuKGkjEyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGFwcC1uYXZiYXIge1xuICAgIC8vIFQxLjEg4oCUIExvZ28gdm9sdGEgYSBhcGFyZWNlciBubyB0b3AtbGVmdC4gU29icmVzY3JldmUgb1xuICAgIC8vIGBkaXNwbGF5OiBub25lYCBFIGB3aWR0aDogMHB4YCBkbyBgQG1lZGlhIG1heC13aWR0aGAgZG8gY29tcG9uZW50LlxuICAgIC5uYXZiYXIgYS5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDhweCAwIDRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAvLyBOw4NPIHVzYSBgPmAgKGRpcmVjdCBjaGlsZCkgcG9ycXVlIG5vIEhUTUwgbyBpbWcgdml2ZSBkZW50cm8gZGVcbiAgICAvLyBgPHBpY3R1cmU+YCAoZ3JhbmRjaGlsZCBkYSBhbmNob3IpLiBEZXNjZW5kZW50ZSDDqSBvIHF1ZSBjYXNhLlxuICAgIC5uYXZiYXIgYS5sb2dvIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubmF2YmFyIGEubG9nbyBwaWN0dXJlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBUMS4yIOKAlCBgLnNwYWNlcmAgKGVudHJlIG5hdi1pdGVtcyBlIHJpZ2h0LWNvbnRhaW5lcikgc29tZTtcbiAgICAvLyByaWdodC1jb250YWluZXIgZmljYSBhbmNvcmFkbyDDoCBkaXJlaXRhIGNvbSBtYXJnaW4tbGVmdCBhdXRvLlxuICAgIC5uYXZiYXIgLnNwYWNlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxufVxuXG4vLyBCb3R0b20gbmF2IOKAlCBNYXRlcmlhbCAzIEV4cHJlc3NpdmUgKyBBZGFwdGl2ZSBsYWJlbHMuXG4vLyAgIOKAoiBDZWxsIGJnIHRvdGFsbWVudGUgVFJBTlNQQVJFTlRFIChlcmEgdGludCBhenVsIG5vIGNlbGwgaW50ZWlybykuXG4vLyAgIOKAoiBJbmRpY2F0b3IgYmFyIFNVUEVSSU9SIFJFTU9WSURPIChlcmEgM3B4IGFjY2VudCBubyB0b3BvKS5cbi8vICAg4oCiIFNlbGVjaW9uYWRvOiBQw41MVUxBIGFjY2VudCBhYnJhw6dhbmRvIFPDkyBvIMOtY29uZSArIMOtY29uZSBGSUxMRURcbi8vICAgICAoTWF0ZXJpYWwgU3ltYm9scyB2YXJpYXRpb24gRklMTD0xKSArIGxhYmVsIGFjY2VudCBib2xkLlxuLy8gICDigKIgTsOjby1zZWxlY2lvbmFkbzogc8OzIMOtY29uZSBtYWlvciAoMjZweCksIFNFTSBsYWJlbCDigJQgbGFiZWwgcmVzZXJ2YWRhXG4vLyAgICAgdmlhIHZpc2liaWxpdHk6aGlkZGVuIHByYSBuw6NvIHB1bGFyIGFsdHVyYSBuYSB0cm9jYS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gQ29udGFpbmVyIGRvIMOtY29uZSB2aXJhIG8gXCJoaXRib3hcIiBkYSBww61sdWxhLiBVc2Ftb3MgcGFkZGluZ1xuICAgICAgICAvLyB2ZXJ0aWNhbCBtZW5vciBwcmEgZGVpeGFyIHJlc3Bpcm8gcHJvIGxhYmVsIGF0aXZvLlxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIFAzIOKAlCBIb3Zlci9wcmVzc2VkLiBQw61sdWxhIGVzY3VyZWNlIH4yLTMlIG5vIHRvcXVlL2hvdmVyLlxuICAgICAgICAvLyBBcGxpY2EgZW0gLm1hdC1pY29uIChuw6NvIG5vIGJ1dHRvbikgcG9ycXVlIGEgcMOtbHVsYSBWSVZFIG5vXG4gICAgICAgIC8vIC5tYXQtaWNvbiAoYmcgY29tIHBhZGRpbmcrYm9yZGVyLXJhZGl1cykuXG4gICAgICAgIC8vIFRhcCBmZWVkYmFjayBTVVRJTDogYmcgbGV2ZSBubyBCT1TDg08gKG7Do28gbm8gw61jb25lKSBkdXJhbnRlXG4gICAgICAgIC8vIG8gdG9xdWUg4oCUIG7Do28gdGludGEgYSBjb3IgZG8gw61jb25lLCBzw7MgYSDDoXJlYSBhbyByZWRvci5cbiAgICAgICAgLy8gRmFkZSByw6FwaWRvIHByYSBzZW5zYcOnw6NvIGRlIFwiZmxhc2ggdMOhdGlsXCIuXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDQwbXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQMiDigJQgQmFkZ2UgbWVub3IgKDE0cHggZW0gdmV6IGRlIDE2cHgpICsgYm9yZGEgYnJhbmNhIDEuNXB4XG4gICAgLy8gICAgICBwcmEgXCJkZXNjb2xhclwiIGRvIGZ1bmRvL3DDrWx1bGEuIEF1bWVudGEgdHJhbnNmb3JtIFkgcHJhIGZpY2FyXG4gICAgLy8gICAgICBtYWlzIGNvbGFkbyBuYSBib3JkYSBzdXBlcmlvciBkbyDDrWNvbmUuXG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5zaWRlYmFyLWl0ZW0tYmFkZ2Uge1xuICAgICAgICBtaW4td2lkdGg6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDFweCA0cHggMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAuc2lkZWJhci1pdGVtLWJhZGdlcyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00cHgsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLnNpZGViYXItaXRlbS1iYWRnZSB7XG4gICAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC8vIFF1ZWJyYSBvIHN0YWNraW5nIGNvbnRleHQgZG8gYGFwcC1zaWRlYmFyLWl0ZW1gIChxdWUgZXJhIHo9MSkg4oCUXG4gICAgLy8gY29tIGB6LWluZGV4OiBhdXRvYCwgbyBiYWRnZSBlc2NhcGEgcHJvIGNvbnRleHRvIHBhaSAoYC5uYXZiYXItaXRlbXNgKVxuICAgIC8vIGUgcG9kZSBpciBwcmEgej0zIChhY2ltYSBkYSBsaW5oYSBhY2NlbnQsIHo9MikuIEEgYm9yZGEgZG8gYm90w6NvXG4gICAgLy8gY29udGludWEgbm8gZmx1eG8gbmF0dXJhbCwgQUJBSVhPIGRhIGxpbmhhIGFjY2VudCAoej0yKS4gT25seS1iYWRnZS11cCxcbiAgICAvLyBib3JkZXItc3RpbGwtZG93bi5cbiAgICBhcHAtc2lkZWJhci1pdGVtIHtcbiAgICAgICAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIMONQ09ORSBkZWZhdWx0OiBww61sdWxhIEdIT1NUIChiZyBjaW56YSB1bHRyYS1zdXRpbCkgZW0gVE9ET1MuXG4gICAgLy8gQ3JpYSBcImdyaWQgdW5pZm9ybWVcIiDigJQgdG9kb3Mgb3MgaXRlbnMgcGFyZWNlbSBjb250aWRvcywgYXRpdm9cbiAgICAvLyB2cy4gaW5hdGl2byBzZSBkaXN0aW5ndWUgcGVsbyB0aW50IGFjY2VudCwgbsOjbyBwZWxhIHByZXNlbsOnYVxuICAgIC8vIGRlIGNvbnRhaW5lci5cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgLy8gTWF0Y2ggdmlzdWFsIGRvIGRlc2t0b3A6IHPDsyBib3JkYSBubyBpbmF0aXZvOyBzZWxlY3RlZCBnYW5oYVxuICAgICAgICAvLyBzb21icmEgKHJlZ3JhIGFiYWl4bykuIFNlbSBiZyB0aW50LCBzZW0gdW5kZXJsaW5lLlxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAvLyBDb3IgKyBvcGFjaWRhZGUgaGVyZGFkYXMgZG8gY29sb3Itc2NoZW1lIChtZXNtYSBkb3Mgw61jb25lc1xuICAgICAgICAvLyBubyBkZXNrdG9wKS4gU2VtIG9wYWNpdHkgPCAxIGFxdWkg4oCUIGRlc2t0b3AgbsOjbyBkaW1tYS5cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLy8gRklMTCAxIHNlbXByZSDigJQgw61jb25lcyBkbyBib3R0b20gbmF2IGVtIG1vYmlsZSBzw6NvIGZpbGxlZFxuICAgICAgICAvLyAobWFpcyBtYXNzYSB2aXN1YWwsIGxlaXR1cmEgaW5zdGFudMOibmVhIGVtIHRvcXVlKS5cbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdGSUxMJyAxLCAnd2dodCcgNDAwLCAnb3BzeicgMjQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBMQUJFTCBkZWZhdWx0OiBzZW1wcmUgVklTw41WRUwgKGV2aXRhIHJlY29uaGVjaW1lbnRvIHRydW5jYWRvIHPDs1xuICAgIC8vIHBlbG8gw61jb25lLCBlc3BlY2lhbG1lbnRlIHBvcnF1ZSBvcyDDrWNvbmVzIGFxdWkgdMOqbSBjb3JlcyBkZSBtYXJjYVxuICAgIC8vIHF1ZSBuw6NvIHNlIHByZXN0YW0gYSBzZXJlbSBsaWRvcyBjb21vIFwiZXN0YWRvXCIpLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAubGFiZWwtc2hvcnQge1xuICAgICAgICBmb250LXNpemU6IDExcHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAzcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBFc3RhZG8gQVRJVk8g4oCUIHBpbGwgYWNjZW50ICsgZmlsbGVkICsgbGFiZWwgdmlzw612ZWwuXG4gICAgLy8gYC5zZWxlY3RlZC5zZWxlY3RlZGAgKGR1cGxpY2FkbykgYnVtcG8gc3BlY2lmaWNpdHkgcHJhIHZlbmNlciBvXG4gICAgLy8gYC5uYXZiYXJbX25nY29udGVudC0qXSAubmF2YmFyLWl0ZW1zW19uZ2NvbnRlbnQtKl0gLnNpZGViYXItaXRlbVxuICAgIC8vIC5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkYCBkbyBjb21wb25lbnQgKDAsNywwIHBlbG8gbmdjb250ZW50KS5cbiAgICAvLyBTZWxlY3RlZDogcGlsbCBicmFuY28gKyBhY2NlbnQgbGluZSB2w6ptIGRvIGAubmF2YmFyLWl0ZW1zLWluZGljYXRvcmBcbiAgICAvLyArIGAubmF2YmFyLWl0ZW1zLXVuZGVybGluZWAgKEpTIHNoYXJlZCBjb20gZGVza3RvcCwgYW5pbWEgZW50cmUgaXRlbnMpLlxuICAgIC8vIEFxdWkgc8OzIG5ldXRyYWxpemFtb3MgbyBnaG9zdCBwaWxsIGRhIC5tYXQtaWNvbiAodHJhbnNwYXJlbnRlKSxcbiAgICAvLyBtYW50ZW5kbyBvIMOtY29uZSBvcGFjby5cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIC8vIEJnICsgYm9yZGVyIGhlcmRhbSBkbyBlc3RhZG8gZGVmYXVsdCAodHJhbnNwYXJlbnRlICsgYm9yZGFcbiAgICAgICAgICAgIC8vIGNocm9tZSkuIE1hdGNoIGRlc2t0b3A6IHNlbGVjdGVkIE7Dg08gZXNjb25kZSBib3JkYSBuZW1cbiAgICAgICAgICAgIC8vIG11ZGEgYmcgZG8gcHLDs3ByaW8gYm90w6NvIChvIGluZGljYXRvciBicmFuY28gdml2ZSBudW1cbiAgICAgICAgICAgIC8vIGVsZW1lbnRvIHNlcGFyYWRvIGF0csOhcyDigJQgLm5hdmJhci1pdGVtcy1pbmRpY2F0b3IpLlxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEYXJrOiBzw7MgYWp1c3RlIGRlIGJvcmRlci1jb2xvciBwcmEgY2hyb21lLWJvcmRlci1kYXJrIChtZXNtbyBwYWRyw6NvXG4vLyBkbyBzaWRlYmFyLWl0ZW0gY29tcG9uZW50IGVtIGA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKWApLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgfVxuICAgIC8vIFNlbGVjdGVkIGVtIGRhcms6IHNlbSBiZyBleHRyYSBubyAubWF0LWljb24uIE1hdGNoIGRlc2t0b3Ag4oCUXG4gICAgLy8gbyBwaWxsIGJyYW5jby9lc2N1cm8gdmVtIGRvIGAubmF2YmFyLWl0ZW1zLWluZGljYXRvcmAgKHNoYXJlZCkuXG59XG5cbi8vIERhcms6IGhvdmVyL2FjdGl2ZSBkYSBww61sdWxhICsgYm9yZGEgZG8gYmFkZ2Ugbm8gYmcgZXNjdXJvLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgUG9ydHJhaXQg4oCUIE1lbGhvcmlhcyBUaWVyIEIvQy9EL0UgKyBBIHBhcmNpYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0ge1xuICAgIC8vIEIuIFNhZmUtYXJlYS1pbnNldC10b3Ag4oCUIHJlc3BlaXRhIG8gbm90Y2ggZGUgaVBob25lIC8gc3RhdHVzIGJhclxuICAgIC8vICAgIEFuZHJvaWQuIFRvcCBiYXIgc29iZSBwcmEgZm9yYSBkYSDDoXJlYSBcImNsaWPDoXZlbFwiIGRvIG5vdGNoIGVcbiAgICAvLyAgICBhdW1lbnRhIGFsdHVyYSBwcmEgY29tcGVuc2FyLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDQ4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIFRyYW5zcGFyZW50ZSDigJQgbyBnbGFzcyBkbyAubWFpbi1oZWFkZXIgKHF1ZSBjb2JyZSBUT0RPIG9cbiAgICAgICAgLy8gdG9wbywgbm90Y2ggaW5jbHXDrWRvKSDDqSBxdWVtIHZpc3VhbG1lbnRlIHJlcHJlc2VudGEgYSB0b3AgYmFyLlxuICAgICAgICAvLyBTw5MgYmcg4oCUIE5BREEgZGUgYmFja2Ryb3AtZmlsdGVyL3RyYW5zZm9ybS9maWx0ZXIgYXF1aSwgc2Vuw6NvXG4gICAgICAgIC8vIHZpcmEgY29udGFpbmluZyBibG9jayBlIHF1ZWJyYSBvIGBwb3NpdGlvbjogZml4ZWRgIGRhIGJvdHRvbVxuICAgICAgICAvLyBuYXYgKGAubmF2YmFyLWl0ZW1zYCBzb2JlIHByYSBkZW50cm8gZG8gdG9wbykuXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBDLiBCb3R0b20gbmF2IGNvbSBzb21icmEgc3V0aWwg4oCUIGTDoSBzZW5zYcOnw6NvIGRlIGNhbWFkYSBlbGV2YWRhXG4gICAgLy8gICAgc29icmUgbyBjb250ZcO6ZG8gKHBhZHLDo28gaU9TL0FuZHJvaWQpLiBTdWJzdGl0dWkgYSBib3JkZXItdG9wXG4gICAgLy8gICAgcGxhbmEgcG9yIHVtYSBzb21icmEgc3VwZXJpb3IgMi1jYW1hZGFzLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIC0xcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNiksXG4gICAgICAgICAgICAgICAgICAgIDAgLTNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgfVxuXG4gICAgLy8gRC4gTG9nbywgc2VhcmNoLCBoZWxwLCBiZWxsIOKAlCBUT0RPUyBvY3VsdG9zIG5vIHRvcG8uIFNlYXJjaCxcbiAgICAvLyAgICBoZWxwZGVzayBlIG5vdGlmaWNhw6fDtWVzIG1pZ3JhbSBwcm8gbWVudSBkbyB1c3XDoXJpbyAoZMOpYml0b1xuICAgIC8vICAgIGRlIHRlbXBsYXRlIOKAlCBhaW5kYSBuw6NvIG1vdmlkb3MsIGFwZW5hcyBvY3VsdG9zIGFxdWkpLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciBhLmxvZ28sXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5zcGFjZXIsXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcixcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b24sXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gTyBgLnJpZ2h0LW5hdmJhci1jb250YWluZXJgIGludGVpcm8gc29tZSBubyB0b3BvIOKAlCB0b2RvcyBvcyDDrWNvbmVzXG4gICAgLy8gKHNlYXJjaC9oZWxwL2JlbGwvYXZhdGFyIGRvIHRvcG8pIGVzdMOjbyBvY3VsdG9zIGluZGl2aWR1YWxtZW50ZS5cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQXZhdGFyIG1vYmlsZSDigJQgNsK6IHNsb3QgREVOVFJPIGRhIC5uYXZiYXItaXRlbXMgKHZpc8OtdmVsIHPDsyBhcXVpKS5cbiAgICAvLyBEZXNsb2NhIGEgZmlsYSBkZSBzaWRlYmFyLWl0ZW1zIDRweCBwcmEgZGlyZWl0YSAodmlzdWFsIGJhbGFuY2UpLlxuICAgIC8vIE8gYXZhdGFyIChtb2JpbGUtdXNlci1tZW51LXNsb3QpIGNvbXBlbnNhIGNvbSBtYXJnaW4tbGVmdDogLTRweCBwcmFcbiAgICAvLyBuw6NvIGRlc2xvY2FyIGp1bnRvIOKAlCBzw7Mgb3Mgw61jb25lcyBhbmRhbS5cbiAgICAvLyBEZXNsb2NhIDRweCBwcmEgZGlyZWl0YSB2aWEgbWFyZ2luIChOw4NPIHRyYW5zZm9ybSDigJQgdHJhbnNmb3JtIGNyaWFcbiAgICAvLyBzdGFja2luZyBjb250ZXh0IGUgcHJlbmRlIG8gYmFkZ2UsIGltcGVkaW5kby1vIGRlIHN1YmlyIGFjaW1hIGRhXG4gICAgLy8gbGluaGEgYWNjZW50KS4gTWFyZ2luLWxlZnQgbm8gcHJpbWVpcm8sIG1hcmdpbi1yaWdodCBhanVzdGFkbyBub1xuICAgIC8vIMO6bHRpbW87IG91IGFwZW5hcyBwYWRkaW5nZyBuYSBuYXZiYXItaXRlbXMgcHJhIGVtcHVycmFyIHRvZG9zLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgfVxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIC5tb2JpbGUtdXNlci1tZW51LXNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC8vIFNvYmUgbWFpcyBxdWUgb3Mgb3V0cm9zIOKAlCBvIGF2YXRhciAoMzbDlzM2KSDDqSBtYWlvciBxdWUgbyBwaWxsXG4gICAgICAgIC8vIGRvIMOtY29uZSAofjMyIGFsdG8pLCBlbnTDo28gcHJlY2lzYSBjb21lw6dhciBtYWlzIGFsdG8gcHJhIHF1ZSBvXG4gICAgICAgIC8vIGNlbnRybyB2aXN1YWwgYmF0YSBjb20gYSBcImxpbmhhIGRvcyDDrWNvbmVzXCIgKG7Do28gY29tIGEgbGluaGFcbiAgICAgICAgLy8gZG9zIGxhYmVscykuXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBmbGV4OiAwIDAgNTZweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyAubW9iaWxlLXVzZXItbWVudS1zbG90IC51c2VyLW1lbnUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE0cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMgLm1vYmlsZS11c2VyLW1lbnUtc2xvdCAudXNlci1tZW51LXBob3RvIHtcbiAgICAgICAgd2lkdGg6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIENhbnRvcyBhcnJlZG9uZGFkb3Mg4oCUIG1lc21vICRjaHJvbWUtcmFkaXVzIGRvIGF2YXRhciBkZXNrdG9wLlxuICAgICAgICAvLyBBIHJlZ3JhIGRvIGRlc2t0b3AgbWlyYSBgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnVzZXItbWVudS1waG90b2BcbiAgICAgICAgLy8gZSBuw6NvIHBlZ2EgZXNzZSBub3ZvIHNsb3QuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIEUuIEd1dHRlciBsYXRlcmFsIGRvcyBjYXJkcyBtYWlzIGFwZXJ0YWRvIGVtIG1vYmlsZSBwb3J0cmFpdC5cbiAgICAvLyAgICBBcHJvdmVpdGEgYSBsYXJndXJhIGVzdHJlaXRhIGRvIHZpZXdwb3J0IChtYWlzIGVzcGHDp28gcHJvXG4gICAgLy8gICAgY29udGXDumRvKS4gQXBsaWNhIG5vIHNoZWxsIHBhZHLDo28gYC5wYWdlLWNvbnRlbnRgLlxuICAgIC8vICAgIFRhbWLDqW06IGB6LWluZGV4OiBhdXRvYCBkZXJydWJhIG8gc3RhY2tpbmcgY29udGV4dCBxdWVcbiAgICAvLyAgICBwcmVuZGVyaWEgbyBgLm1haW4taGVhZGVyYCAoej0zMikgYWJhaXhvIGRhIG5hdmJhciAoej0zMSksXG4gICAgLy8gICAgdG9ybmFuZG8gbyBmaWx0cm8gaW52aXPDrXZlbCBubyB0b3BvLlxuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIGhvbWUuc2NzcyBlbXB1cnJhIC5wYWdlLWNvbnRlbnQgcHJhIGJhaXhvICh0b3A6IG5hdmJhciszK2Nocm9tZSlcbiAgICAgICAgLy8g4oCUIGVtIG1vYmlsZS1wb3J0cmFpdCBvIG9mZnNldCB2aXZlIG5vIC5tYWluLWJvZHksIGFxdWkgemVyYS5cbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIGhvbWUuc2NzcyBhcGxpY2EgcGFkZGluZy1ib3R0b206IG5hdmJhci1oZWlnaHQrMjggKD04M3B4KSBlbVxuICAgICAgICAvLyBpUGhvbmU4LXBvcnRyYWl0IOKAlCBsZWdhZG8gZGEgYm90dG9tLWJhciBhbnRpZ2EuIE8gbm9zc28gYm9keVxuICAgICAgICAvLyBqw6EgcmVzZXJ2YSAzMitzYWZlIHByYSBib3R0b20gbmF2LCBlbnTDo28gYXF1aSB6ZXJhIHByYSBuw6NvXG4gICAgICAgIC8vIGR1cGxpY2FyIGZvbGdhLlxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEEuIEZVU8ODTyBuYXZiYXIgKyBtYWluLWhlYWRlciBlbSBVTUEgbGluaGEgc8OzLlxuICAgIC8vICAgIExheW91dDogW2ZpbHRybyBkYSBww6FnaW5hIGNlbnRyYWxpemFkb10gW2F2YXRhciAodXNlci1tZW51KV0uXG4gICAgLy8gICAgTyBgLm1haW4taGVhZGVyYCBkYSBww6FnaW5hIMOpIFBPU0lDSU9OQURPIHNvYnJlIGEgZmFpeGEgZGFcbiAgICAvLyAgICBuYXZiYXIgKHRvcD0wICsgc2FmZS1hcmVhKSBlIHZpcmEgbyBkb25vIHZpc3VhbCBkbyB0b3BvLlxuICAgIC8vICAgIFRpdGxlIGRhIHDDoWdpbmEgc29tZSAoYm90dG9tIG5hdiBqw6Egc2luYWxpemEgYSBww6FnaW5hIGF0aXZhKS5cbiAgICAvLyAgICByaWdodDogNjBweCByZXNlcnZhIGVzcGHDp28gcHJvIGF2YXRhciBxdWUgY29udGludWEgbm8gbmF2YmFyLlxuICAgIC8vIEhlYWRlciBlbSBtb2JpbGUtcG9ydHJhaXQg4oCUIFVNIMO6bmljbyBibG9jbyBkZSByZWdyYXMuIEVzcGVjaWZpY2lkYWRlXG4gICAgLy8gYWx0YSAoNiBjbGFzc2VzKSBwcmEgdmVuY2VyIG8gYGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudGAgZG9cbiAgICAvLyBldmVudHMuY29tcG9uZW50LnNjc3MgY29tcGlsYWRvIGNvbSAzIGF0dHJzIGBfbmdjb250ZW50YCAoc3BlYyAwLDYsMCkuXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyLm1haW4taGVhZGVyLm1haW4taGVhZGVyLm1haW4taGVhZGVyLm1haW4taGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogY2FsYyg0OHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDApKSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wIGNvbXBlbnNhIG8gbm90Y2gg4oCUIGZpbHRybyBmaWNhIGFiYWl4byBkZWxlLlxuICAgICAgICBwYWRkaW5nOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkgMTJweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIMOaTklDQSBsYXlvdXQgcmVncmEg4oCUIGZsZXgtY2VudGVyLiBBbnVsYSBvIGdyaWQgaGVyZGFkby5cbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gR2xhc3MgKyB6ZXJvIHNvbWJyYSAoZ2xhc3MgcmVhbCB2aXZlIG5vIDo6YmVmb3JlKS5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogY2FsYygjeyRuYXZiYXItei1pbmRleH0gKyAxKSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLy8gQ2FtYWRhIGRlIGJsdXIgY29tIG3DoXNjYXJhIGdyYWRpZW50ZS4gRmljYSBBVFLDgVMgZG8gY29udGXDumRvIGRvXG4gICAgLy8gaGVhZGVyIChmaWx0ZXIgY2hpcCkgcG9ycXVlIGEgb3JkZW0gbm8gRE9NICg6OmJlZm9yZSBhbnRlcyBkZVxuICAgIC8vIGZpbGhvcyByZWFpcykgZSBvIHBvaW50ZXItZXZlbnRzOm5vbmUgZ2FyYW50ZW0gcXVlIG7Do28gaW50ZXJjZXB0ZVxuICAgIC8vIGludGVyYcOnw6NvLlxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlcjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgLy8gVGludCBlbSBncmFkaWVudGU6IHRvcG8gY29tIDUwJSBkZSBvcGFjaWRhZGUgYnJhbmNhLCByb2RhcMOpXG4gICAgICAgIC8vIDEwMCUgdHJhbnNwYXJlbnRlLiBDb21iaW5hZG8gY29tIG8gbWFzayAobWVzbW8gcGVyZmlsKSBkw6EgdW1cbiAgICAgICAgLy8gZmFkZSBkdXBsbyBzdWF2ZSDigJQgbm8gcm9kYXDDqSBzb21lIHRhbnRvIG8gdGludCBxdWFudG8gbyBibHVyLlxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSkgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCkgc2F0dXJhdGUoMTE1JSk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpIHNhdHVyYXRlKDExNSUpO1xuICAgICAgICAvLyBNw6FzY2FyYTogb3BhY2Egbm8gdG9wbyAoYmx1ciBjaGVpbykg4oaSIHRyYW5zcGFyZW50ZSBubyBmaW1cbiAgICAgICAgLy8gKGJsdXIgemVybykuIE1hdGNoIGlPUy9tYWNPUyB0cmFuc2x1Y2VudCBuYXYuXG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMDAgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIH1cbiAgICAvLyBPdmVycmlkZSBkbyBldmVudHMuY29tcG9uZW50LnNjc3MgcXVlIGFwbGljYSBib3gtc2hhZG93IGVtIGlzLXNjcm9sbGVkLlxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlci5pcy1zY3JvbGxlZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyAoQW50ZXM6IGA6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgfWAgcHJhIGRlc2xpZ2FyIGEgZXh0ZW5zw6NvIGRlIGJnXG4gICAgLy8gIGRvIGV2ZW50cy5zY3NzLiBBZ29yYSByZWFwcm92ZWl0YW1vcyBvIDo6YmVmb3JlIHBybyBnbGFzcyBncmFkaWVudCxcbiAgICAvLyAgZW50w6NvIE7Dg08gZXNjb25kZW1vcyBtYWlzLiBBIHJlZ3JhIGRvIGdsYXNzIGZpY2Egbm8gYmxvY28gQS4pXG5cbiAgICAvLyBUaXRsZSBkYSBww6FnaW5hIHNvbWUg4oCUIGJvdHRvbSBuYXYgasOhIG1vc3RyYSBxdWFsIHDDoWdpbmEgZXN0w6EgYXRpdmEuXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5tYWluLXRpdGxlLFxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlciAucGFnZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEZpbHRybyDDqSBvIMO6bmljbyBmaWxobyB2aXPDrXZlbC4gU2VtIGdyaWQtY29sdW1uLCBzZW0ganVzdGlmeS1zZWxmLlxuICAgIC8vIENvbW8gbyBwYWkgw6kgZmxleC1jZW50ZXIsIG8gZmlsdHJvIGNlbnRyYWxpemEgYXV0b21hdGljYW1lbnRlLlxuICAgIC8vIG1heC13aWR0aCBsaW1pdGEgYSBsYXJndXJhIMO6dGlsOyBtYXJnaW4gYXV0byBmb3LDp2EgY2VudHJhbGl6YcOnw6NvXG4gICAgLy8gY2FzbyBvdXRyb3MgaXJtw6NvcyBhcGFyZcOnYW0uXG4gICAgLy8gU2hyaW5rLXRvLWZpdDogZmlsdHJvIHPDsyBvY3VwYSBhIGxhcmd1cmEgbmF0dXJhbCBkbyBjaGlwICh+MjgwcHgpLlxuICAgIC8vIFNlbSB3aWR0aDogMTAwJSwgc2VtIG1heC13aWR0aC4gTyBmbGV4LWNlbnRlciBkbyAubWFpbi1oZWFkZXJcbiAgICAvLyBjZW50cmFsaXphIGEgY2FpeGEgaW50ZWlyYSBhdXRvbWF0aWNhbWVudGUuIFNlIGFsZ3VtIGRpYSBvIGNoaXBcbiAgICAvLyBmaWNhciBtdWl0byBsYXJnbywgY2FwIGNvbSBtYXgtd2lkdGguXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5wYWdlLXNlYXJjaC1maWx0ZXIge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlciAucGFnZS1zZWFyY2gtZmlsdGVyIGFwcC1jdXN0b20tc2VhcmNoIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIGFwcC1jdXN0b20tc2VhcmNoIOKAlCBkZXNpZ24gZ2xvYmFsIG1vYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgICAvLyBBcGxpY2EgZW0gVE9EQVMgYXMgaW5zdMOibmNpYXMgZG8gY29tcG9uZW50ZSBlbSBtb2JpbGUtcG9ydHJhaXQsXG4gICAgLy8gbsOjbyBzw7Mgbm8gaGVhZGVyICgxMCBjYWxsZXJzIGFkbWluIHRhbWLDqW0gaGVyZGFtIHF1YW5kby9zZSBvIGFwcFxuICAgIC8vIGZvciB1c2FkbyBlbSBtb2JpbGUpLlxuICAgIC8vIOKAoiBFc2NvbmRlIG8gYXRhbGhvIFwiL1wiIChuw6NvIGZheiBzZW50aWRvIGVtIHRvcXVlKVxuICAgIC8vIOKAoiBCb3JkZXItcmFkaXVzIGFycmVkb25kYWRvIGRvcyBkb2lzIGxhZG9zIChwaWxsIHNoYXBlKVxuICAgIGFwcC1jdXN0b20tc2VhcmNoIC5zaG9ydGN1dC1oaW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCxcbiAgICBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgICAgICAgICAgICAgIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm90w6NvIGRlIGZpbHRybyAoYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlcmApIGFvIGxhZG8gZG9cbiAgICAvLyBjaGlwIOKAlCBlbSBtb2JpbGUgZGV2ZSB0ZXIgbWVzbWEgYmcgZSBzb21icmEgZG8gY2hpcCBwcmEgcGFyZWNlcmVtXG4gICAgLy8gXCJpcm3Do29zXCIuIEJnID0gYCRhZG1pbi1iYWNrZ3JvdW5kYCAobyBNRVNNTyBkbyBgLmNoaXAtZXhwYW5kZWRgIGVtXG4gICAgLy8gX2NvbG9yLXNjaGVtZS5zY3NzIOKAlCBjb20gYGFsd2F5c09wZW5gIG8gY2hpcCB2aXPDrXZlbCDDqSBvIGV4cGFuZGlkbyxcbiAgICAvLyBuw6NvIG8gdHJpZ2dlciBjb2xhcHNhZG8pLCBzb21icmEgaWTDqm50aWNhLlxuICAgIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAgICAgICAgICAgICAgICAgICAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE2KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIC5tYWluLWJvZHkgb2Zmc2V0ID0gc8OzIG5hdmJhciAoNDggKyBzYWZlLWFyZWEpICsgZm9sZ2EgKDhweCkuXG4gICAgLy8gU2VtIGVzcGHDp28gZXh0cmEgcHJvIGhlYWRlciDigJQgZWxlIGFnb3JhIHZpdmUgREVOVFJPIGRhIGZhaXhhXG4gICAgLy8gZGEgbmF2YmFyLlxuICAgIC5tYWluLWJvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg0OHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDApKSAhaW1wb3J0YW50O1xuICAgICAgICAvLyBSZXNlcnZhIHBybyBib3R0b20gbmF2IOKAlCBhcXVpIGUgbsOjbyBubyBib2R5IHBvcnF1ZSAuaG9tZVxuICAgICAgICAvLyAoYW5jZXN0b3IpIMOpIGhlaWdodDoxMDB2aCArIG92ZXJmbG93IHZpc2libGUsIG8gcXVlIGZheiBvXG4gICAgICAgIC8vIHBhZGRpbmcgZG8gYm9keSBzZXIgXCJlbmdvbGlkb1wiIHF1YW5kbyBvcyBjYXJkcyBvdmVyZmxvd2FtLlxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDApKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gQy1kYXJrOiBzb21icmEgbWFpcyBpbnRlbnNhIHByYSB2ZW5jZXIgYmcgZXNjdXJvICsgYmcgb3BhY28uXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAtMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgICAgICAgICAgMCAtNnB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjM1KSAhaW1wb3J0YW50O1xufVxuXG4vLyBHbGFzcyBkYXJrOiBuYXZiYXIgdHJhbnNwYXJlbnRlICsgdGludCBkbyBoZWFkZXIgZW0gIzIwMjAyMCAobWVzbWFcbi8vIGNvciBkYSAubmF2YmFyIGRvIGRlc2t0b3AgZGFyayA9ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaykuXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciAubmF2YmFyLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbn1cbi8vIERhcmsgZG8gZmlsdGVyIGJ1dHRvbiDigJQgYCRhZG1pbi1iYWNrZ3JvdW5kLWRhcmtgLCBwYXJlYW5kbyBvXG4vLyBgLmNoaXAtZXhwYW5kZWRgIGRhcmsgKG1lc21vIHBhciBsaWdodC9kYXJrIGRhIHJlZ3JhIGFjaW1hKS5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXIsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXI6OmJlZm9yZSxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5tYWluLWhlYWRlci5tYWluLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDMyLCAzMiwgMzIsIDAuNSkgMCUsIHJnYmEoMzIsIDMyLCAzMiwgMCkgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIFBvcnRyYWl0IOKAlCBNZW51IGRvIHVzdcOhcmlvIGNvbW8gQk9UVE9NIFNIRUVUXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPIHBvcG92ZXIgZG8gYXZhdGFyIChgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGVgKSDDqVxuLy8gcG9ydGFkbyBwcm8gPGJvZHk+IOKAlCByZWdyYXMgZ2xvYmFpcyBjYXNhbS4gRW0gbW9iaWxlLXBvcnRyYWl0IGVsZSBkZWl4YSBkZVxuLy8gc2VyIHBvcG92ZXIgYW5jb3JhZG8gZSB2aXJhIGJvdHRvbSBzaGVldDogc29iZSBkbyByb2RhcMOpLCBvY3VwYSBhIGxhcmd1cmFcbi8vIHRvZGEsIGNhbnRvcyBzdXBlcmlvcmVzIGFycmVkb25kYWRvcywgaGFuZGxlIGJhciBubyB0b3BvLCBzY3JpbSBhdHLDoXMuXG4vLyBEZXNrdG9wIGUgdGFibGV0cyBOw4NPIHJlY2ViZW0gZXNzYXMgcmVncmFzIOKAlCBvIHBvcG92ZXIgYW5jb3JhZG8gbm9ybWFsXG4vLyBjb250aW51YSB2YWxlbmRvIGzDoS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUge1xuICAgIC8vIEFudWxhIHRyYW5zZm9ybSBpbmxpbmUgc2V0YWRvIHBlbG8gYHBvc2l0aW9uKClgIGRvIHBvcG92ZXIg4oCUIHNoZWV0IGZpY2FcbiAgICAvLyBmaXhvIG5vIHJvZGFww6ksIG7Do28gYW5jb3JhZG8gYW8gdHJpZ2dlci5cbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIC8vIEFsdHVyYSBWQVJJw4FWRUwg4oCUIGNyZXNjZSBjb20gbyBjb250ZcO6ZG8uIENhcCBlbSA5MnZoIHPDsyBjb21vXG4gICAgLy8gc2FsdmFndWFyZGEgKGV4LjogaWRpb21hcyBmdXR1cm9zIGF1bWVudGFtIGRlbWFpcyBvIG1lbnUpLlxuICAgIC8vIGBoZWlnaHQ6IGF1dG9gICsgbWF4IGNhcCA9IHNoZWV0IGFjb21wYW5oYSBvIG7Dum1lcm8gZGUgaXRlbnMuXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogOTJ2aCAhaW1wb3J0YW50O1xuICAgIC8vIE92ZXJmbG93IFJFRElSRUNJT05BRE8gcHJvIGAudHBjLXVzZXItbWVudWAgKGNoaWxkKSDigJQgc2Ugb1xuICAgIC8vIHNjcm9sbCBmaWNhciBubyBzaGVldCwgbyBicm93c2VyIGhpamFja2EgbyBnZXN0byBkZSBhcnJhc3RhclxuICAgIC8vIHByYSBiYWl4byBjb21vIHNjcm9sbCBpbnRlcm5vIGUgZW1pdGUgcG9pbnRlcmNhbmNlbCwgbWF0YW5kb1xuICAgIC8vIG1ldSBkcmFnLXRvLWNsb3NlLlxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIC8vIHRvdWNoLWFjdGlvbjogbm9uZSBpbXBlZGUgcXVhbHF1ZXIgaGlqYWNrIGRvIGJyb3dzZXIgc29icmUgZ2VzdG9zXG4gICAgLy8gbm8gc2hlZXQuIE8gc2Nyb2xsIHZpdmUgbm8gZmlsaG8sIGNvbSBwYW4teSBhdGl2byBsw6EuXG4gICAgdG91Y2gtYWN0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLy8gQmcgZG8gc2hlZXQg4oCUIG1lc21hIGNvciBkbyBgLnRwYy11c2VyLW1lbnVgICh2aWFcbiAgICAvLyBgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZGApLiBPIHNoZWV0IHRlbSBwYWRkaW5nLXRvcCBwcm8gaGFuZGxlXG4gICAgLy8gYmFyOyBzZW0gYmcgcHLDs3ByaW8sIGVzc2EgZmFpeGEgZmljYXJpYSB0cmFuc3BhcmVudGUgZSBtb3N0cmFyaWFcbiAgICAvLyBvIHNjcmltL3DDoWdpbmEgYXRyw6FzLlxuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gICAgLy8gQ2FudG9zIGFycmVkb25kYWRvcyBzw7Mgbm8gdG9wbyAoc2Vuc2HDp8OjbyBkZSBcInNoZWV0IHN1YmluZG9cIikuXG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAyMHB4IDAgMCAhaW1wb3J0YW50O1xuICAgIC8vIEhhbmRsZSBiYXIgdmlzdWFsIOKAlCBncmlwIGNpbnphIGNlbnRyYWxpemFkbyBubyB0b3BvLlxuICAgIHBhZGRpbmctdG9wOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDApICsgMTJweCkgIWltcG9ydGFudDtcbiAgICAvLyBTb21icmEgcHJhIGRlc2NvbGFyIGRvIGJnIGF0csOhcy5cbiAgICBib3gtc2hhZG93OiAwIC02cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFpbXBvcnRhbnQ7XG4gICAgLy8gQW5pbWEgZW50cmFkYSDigJQgc29iZSBkZSBiYWl4by5cbiAgICBhbmltYXRpb246IG1vYmlsZS11c2VyLXNoZWV0LWluIDI0MG1zIGN1YmljLWJlemllciguMiwgLjgsIC4yLCAxKTtcbn1cbi8vIEhhbmRsZSBiYXIgKGdyaXApIHZpYSA6OmJlZm9yZSDigJQgcGVxdWVubyBwaWxsIGNpbnphIG5vIHRvcG8gZG8gc2hlZXQuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGU6OmJlZm9yZSxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuLy8gQmcgZG8gc2hlZXQgZW0gZGFyayDigJQgdXNhIGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmtgIChtZXNtYSBjb3Jcbi8vIGRvIC50cGMtdXNlci1tZW51IGRhcmspLlxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUge1xuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gU2NyaW0gYXRyw6FzIGRvIHNoZWV0OiBlc2N1cmVjZSBvIGFwcCBwYXJhIHNpbmFsaXphciBxdWUgbyBzaGVldCDDqSBtb2RhbC5cbi8vIFVzYW1vcyBgOmhhcygpYCBwcmEgc8OzIGFwbGljYXIgcXVhbmRvIG8gc2hlZXQtY2FuZGlkYXRlIGVzdMOhIGFiZXJ0byBubyBib2R5LlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5OmhhcygubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlKSAuamVtcy1wb3BvdmVyLWJhY2tkcm9wIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuNDIpICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiBtb2JpbGUtdXNlci1zY3JpbS1pbiAyNDBtcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBtb2JpbGUtdXNlci1zaGVldC1pbiB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50OyB9XG4gICAgdG8gICB7IHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5Aa2V5ZnJhbWVzIG1vYmlsZS11c2VyLXNjcmltLWluIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwKTsgfVxuICAgIHRvICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDAuNDIpOyB9XG59XG5cbi8vIFNjcm9sbCBsb2NrOiBlbnF1YW50byBvIHNoZWV0IGVzdGl2ZXIgYWJlcnRvLCBhIHDDoWdpbmEgZGUgZnVuZG8gbsOjbyByb2xhLlxuLy8gTyBzaGVldCB0ZW0gc2V1IHByw7NwcmlvIG92ZXJmbG93IGludGVybm8sIGVudMOjbyBjb250aW51YSBzY3JvbGzDoXZlbC5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl06aGFzKC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUpLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXTpoYXMoLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSkgYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuLy8gU2hlZXQ6IHNlbSB0b3VjaC1hY3Rpb24gZ2xvYmFsIOKAlCBvIGxpc3RlbmVyIEpTIGNvbnRyb2xhIGRyYWcgdnMgc2Nyb2xsXG4vLyAocHJldmVudERlZmF1bHQgbm8gZHJhZywgZGVpeGEgYnJvd3NlciBoYW5kbGVhciBzY3JvbGwgZm9yYSBkYSBncmlwIHpvbmUpLlxuXG4vLyBJdGVucy9ibG9jb3MgZXhjbHVzaXZvcyBkbyBzaGVldCBtb2JpbGUg4oCUIG9jdWx0b3MgZW0gcXVhbHF1ZXIgZGVuc2lkYWRlXG4vLyBxdWUgTsODTyBzZWphIG1vYmlsZS1wb3J0cmFpdC4gQ29icmUgaGVhZGVyIGRvIHVzdcOhcmlvLCBsYWJlbHMgZGUgc2XDp8Ojbyxcbi8vIGUgb3MgMyBpdGVucyBtaWdyYWRvcyBkbyB0b3BvIChzZWFyY2gvaGVscC9ub3RpZmljYXRpb25zKS4gTm8gZGVza3RvcFxuLy8gb3MgMyBib3TDtWVzIHZpdmVtIG5vIGAucmlnaHQtbmF2YmFyLWNvbnRhaW5lcmAsIGVudMOjbyByZXBldGktbG9zIG5vXG4vLyBtZW51IGRlc2t0b3Agc2VyaWEgcmVkdW5kw6JuY2lhLlxuLy8gTnVjbGVhcjogYm9keSBhbmNlc3RvciArIGNsYXNzIHRyaXBsaWNhZGEg4oCUIHZlbmNlIHF1YWxxdWVyIHJlZ3JhXG4vLyBpbnRlcm5hIGRvIEFuZ3VsYXIgTWF0ZXJpYWwuXG5ib2R5IC5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtLm1vYmlsZS1vbmx5LW1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5IC5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtLm1vYmlsZS1vbmx5LW1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuLy8gT3Bvc3RvOiBpdGVucyBxdWUgc8OzIGV4aXN0ZW0gbm8gZGVza3RvcCAoZXguOiBDb3BpYXIgSkVNUyBJRCDigJQgZW1cbi8vIG1vYmlsZSBvIElEIGrDoSBhcGFyZWNlIG5vIGhlYWRlciBkbyBzaGVldCkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkgLmRlc2t0b3Atb25seS1tZW51LWl0ZW0uZGVza3RvcC1vbmx5LW1lbnUtaXRlbS5kZXNrdG9wLW9ubHktbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIOKUgOKUgCBBw6fDtWVzIHLDoXBpZGFzIGxhZG8gYSBsYWRvIChtb2JpbGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2VhcmNoIC8gaGVscGRlc2sgLyBub3RpZmljYcOnw7VlcyByZW5kZXJhbSBjb21vIDMgw61jb25lcyBlbSByb3csIHNlbVxuLy8gbGFiZWxzLiBXcmFwcGVyIGBtb2JpbGUtcXVpY2stYWN0aW9uc2Agc8OzIGV4aXN0ZSBlbSBtb2JpbGUtcG9ydHJhaXRcbi8vIChnYXRlIC5tb2JpbGUtb25seS1tZW51LWl0ZW0pLlxuLy8gTGF5b3V0IGNhc2EgY29tIC5jb250YWluZXItdGhlbWUgKGxpbmhhIGRlIGVzY29saGEgZGUgdGVtYSkg4oCUIGNsdXN0ZXJcbi8vIGNlbnRyYWxpemFkbywgZ2FwIDRweCwgY2VsbHMgNDTDlzMyLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggMCAhaW1wb3J0YW50O1xuICAgIGdhcDogNHB4ICFpbXBvcnRhbnQ7XG59XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1idG4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1idG4gLm1hdC1pY29uIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjJweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG59XG4vLyBGbGFncyDigJQgbWVzbWFzIGRpbWVuc8O1ZXMgZG9zIMOtY29uZXMsIG1hcyBvIGVtb2ppIHZpdmUgbnVtIDxzcGFuPi5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWZsYWcgLmZsYWcge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLy8gRGl2aXNvciB2ZXJ0aWNhbCBlbnRyZSBxdWljayBhY3Rpb25zIGUgZmxhZ3MuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtZGl2aWRlcixcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyDilIDilIAgQ2xlYW51cCBkbyAudHBjLXVzZXItbWVudSBkZW50cm8gZG8gc2hlZXQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBLaWxsIGRvIGRyb3Atc2hhZG93IGUgZG8gYm9yZGVyLXJhZGl1cyBpbnRlcm5vIOKAlCBvIHNoZWV0IGrDoSDDqSBvXG4vLyBcImNvbnRhaW5lciB2aXN1YWxcIiwgbyBtZW51IGludGVybm8gZGV2ZSBmbHVpciBzZW0gc29tYnJhIHByw7NwcmlhIG5lbVxuLy8gY2FudG9zIGFycmVkb25kYWRvcyBleHRyYXMuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC50cGMtdXNlci1tZW51IHtcbiAgICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgLy8gU2Nyb2xsIGRvIGNvbnRlw7pkbyB2aXZlIEFRVUkgKG7Do28gbm8gc2hlZXQpIOKAlCBzaGVldCBmaWNhIGNvbVxuICAgIC8vIHRvdWNoLWFjdGlvbjogbm9uZSBwcm8gZHJhZy10by1jbG9zZSwgZSBlc3RlIGNvbnRhaW5lciBjdWlkYVxuICAgIC8vIGRvIHNjcm9sbCBjb20gcGFuLXkgbmF0dXJhbCBkbyBicm93c2VyLlxuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXkgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIOKUgOKUgCBIZWFkZXIgZG8gc2hlZXQgbW9iaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLm1vYmlsZS11c2VyLWhlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAyMHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICAgICAgLy8gdG91Y2gtYWN0aW9uOiBub25lIOKAlCBvIGhlYWRlciBkbyB1c3XDoXJpbyDDqSBwYXJ0ZSBkYSBncmlwIHpvbmU7XG4gICAgICAgIC8vIHNlbSBpc3NvIG8gYnJvd3NlciBpbnRlcnByZXRhIG8gZ2VzdG8gY29tbyBzY3JvbGwgZGUgLnRwYy11c2VyLW1lbnVcbiAgICAgICAgLy8gKHF1ZSB0ZW0gcGFuLXkpIGUgY2FuY2VsYSBub3NzbyBkcmFnLXRvLWNsb3NlLlxuICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWF2YXRhciB7XG4gICAgICAgIGZsZXg6IDAgMCA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkY29udGVudC1jb2xvcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW1haWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWlkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIFNlY3Rpb24gbGFiZWxzIChBw6fDtWVzIHLDoXBpZGFzIC8gQ29udGEgLyBBcGFyw6puY2lhIC8gU29icmUpIOKUgOKUgFxuICAgIC5tb2JpbGUtc2VjdGlvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjBweCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIC8vIFJlc2V0YSBob3Zlci9mb2N1cyBkbyBtYXQtbWVudS1pdGVtIHF1ZSBoZXJkYXJpYW0uXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgRGVzdHJ1Y3RpdmUgKFNhaXIpIOKAlCB2ZXJtZWxobyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgICAubW9iaWxlLWRlc3RydWN0aXZlLWl0ZW0ge1xuICAgICAgICBjb2xvcjogI2Q2NDU1MCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubW9iaWxlLWRlc3RydWN0aXZlLWl0ZW0gLm1hdC1pY29uIHtcbiAgICAgICAgY29sb3I6ICNkNjQ1NTAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIERhcmsgdmFyaWFudHMg4oCUIGJvcmRlciwgdGV4dG9zLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUsXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUge1xuICAgIC5tb2JpbGUtdXNlci1oZWFkIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWF2YXRhciB7IGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWRhcms7IH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1uYW1lIHsgY29sb3I6ICRjb250ZW50LWNvbG9yLWRhcms7IH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1tYWlsIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1pZCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAubW9iaWxlLXNlY3Rpb24tbGFiZWwgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG59XG5cbi8vIExheW91dCBkb3MgaXRlbnMgZGVudHJvIGRvIHNoZWV0IOKAlCBtYWlzIHJlc3Bpcm8sIHRpcG9ncmFmaWEgbGV2ZW1lbnRlIG1haW9yXG4vLyBxdWUgbyBtYXQtbWVudS1pdGVtIHBhZHLDo28gZG8gZGVza3RvcCAodG91Y2ggdGFyZ2V0cyBpT1Mg4omlIDQ0cHgpLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLnRwYy11c2VyLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICB9XG4gICAgLy8gQ2FkYSBsaW5oYSBkbyBtZW51IChtYXQtbWVudS1pdGVtIHByZXNlcnZhZG8sIHPDsyBlc3Bhw6dhbWVudG8gbWFpb3IpLlxuICAgIC5tYXQtbWVudS1pdGVtLCBbbWF0LW1lbnUtaXRlbV0ge1xuICAgICAgICBoZWlnaHQ6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gICAgW21hdC1tZW51LWl0ZW1dIC5tYXQtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBPdmVyZmxvdyBtZW51IGRvIGhhbWJ1cmdlciBkYSBuYXZiYXIg4oCUIGl0ZW1zIHJlbmRlcml6YWRvcyBubyBib2R5XG4vLyAobWF0LW1lbnUgcG9ydGFsZWQpLiBPIHRlbXBsYXRlIGFwbGljYSBgLmlzLW5hdi12aXNpYmxlYCBub3MgaXRlbXNcbi8vIHF1ZSBBSU5EQSBhcGFyZWNlbSBuYSBuYXYgKG7Do28gYWJzb3J2aWRvcyk7IHJlZ3JhIGFiYWl4byBlc2NvbmRlXG4vLyBlc3RlcyBkbyBtZW51IHByYSBldml0YXIgcmVkdW5kw6JuY2lhLlxuLy8gU2VsZWN0b3IgY2hhaW5hIC5tYXQtbWVudS1wYW5lbCArIC5uYXYtb3ZlcmZsb3ctbWkgcHJhIHZlbmNlciBvXG4vLyBgLm5hdi1vdmVyZmxvdy1taSB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudCB9YCBkbyBibG9jbyBkZSBsYXlvdXQuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1uYXYtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gdjIgXCJWZXIgdG9kYXMgYXMgc3VibWlzc8O1ZXNcIiBhdGl2YTogemVyYSBvIHBhZGRpbmcgbGF0ZXJhbCBkb1xuLy8gbWF0LXNpZGVuYXYtY29udGVudCBwcmEgcXVlIG8gY2luemEgZGEgcMOhZ2luYSAoYGFwcC1leHBvcnQtc3VibWlzc2lvbnNgXG4vLyB0ZW0gYmcgY2luemEgbm8gaG9zdCkgcHJlZW5jaGEgZWRnZS10by1lZGdlLiBTZW0gaXNzbyByZXN0YXJpYW0gZmFpeGFzXG4vLyBicmFuY2FzIGRlIH4yMXB4IGVudHJlIGEgZm9saGEgZSBvIHNpZGViYXIvYm9yZGEgZGlyZWl0YS5cbmJvZHkuZXhwb3J0LXN1Ym1pc3Npb25zLWFjdGl2ZSAubWF0LXNpZGVuYXYtY29udGVudCB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4vLyBgLS1jb250ZW50LWxlZnQtb2Zmc2V0YDogZGlzdMOibmNpYSBkbyBDQU5WQVMgKMOhcmVhIGRlIGNvbnRlw7pkbykgw6AgYm9yZGFcbi8vIGVzcXVlcmRhIGRvIHZpZXdwb3J0LiBWYXJpYSBwb3IgbW9kbyBkbyBzaGVsbC4gw4kgY29uc3VtaWRhIHBlbGEgYmFycmFcbi8vIGZsdXR1YW50ZSBkbyBgYXBwLWV4cG9ydC1zdWJtaXNzaW9uc2AgKGUgc3VhIGJhbmRhIGRlIGJsdXIpIHByYVxuLy8gY2VudHJhbGl6YXIgc29icmUgbyBjYW52YXMgZW0gdmV6IGRvIHZpZXdwb3J0LCBhZGFwdGFuZG8gYW9zIDMgbW9kb3MuXG4vLyAgIE1vZGVybiBuYXJyb3c6IGNhbnZhcyBjb21lw6dhIGRlcG9pcyBkYSBgZXhwZXJpbWVudGFsLXNpZGViYXJgICgyNDBweCBkZWZhdWx0KS5cbi8vICAgTW9kZXJuIHdpZGU6ICAgc2lkZWJhciBvY3VsdG8gKDBweCkuXG4vLyAgIENsYXNzaWM6ICAgICAgIGV4cGVyaW1lbnRhbCArIGFjdGl2aXR5LWJhciArIGFkbWluLXN1Ym1lbnUuXG4vLyBEZWZpbmlkYXMgbm8gYm9keSBQUkEgR0FSQU5USVIgaGVyYW7Dp2EgcHJhIHF1YWxxdWVyIGRlc2NlbmRlbnRlIGRhIHYyLFxuLy8gbWVzbW8gc2UgbyBgLnNpZGViYXJgIGRvIGFkbWluLWV2ZW50LXNpZGViYXIgbsOjbyBmb3IgYW5jZXN0cmFsIGRpcmV0by5cbi8vIGA6aGFzKClgIGNhc2EgcXVhbHF1ZXIgZXN0YWRvIGRlIG1vZGUgZGVudHJvIGRvIGJvZHkuXG5ib2R5Omhhcyguc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOm5vdCgud2lkZS1tb2RlKSkge1xuICAgIC0tY29udGVudC1sZWZ0LW9mZnNldDogdmFyKC0tZXhwZXJpbWVudGFsLXNpZGViYXItd2lkdGgsICN7JGV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRofSk7XG59XG5ib2R5Omhhcyguc2lkZWJhci53aWRlLW1vZGUpIHtcbiAgICAtLWNvbnRlbnQtbGVmdC1vZmZzZXQ6IDBweDtcbiAgICAvLyBXaWRlLW1vZGU6IG8gYnJlYWRjcnVtYiBjb2xhcHNhICg6aG9zdCBoZWlnaHQ6MCArIGJhcnJhIHRyYW5zbGFkYVxuICAgIC8vIGZvcmEgZG8gdmlld3BvcnQpIOKAlCBuw6NvIHJlc2VydmEgYWx0dXJhLiBBIGJhcnJhIGZsdXR1YW50ZSBkYSB2MiB1c2FcbiAgICAvLyBlc3NhIHZhciBwcmEgY2FsY3VsYXIgc2V1IHRvcDsgZW0gd2lkZS1tb2RlIGZpY2EgMC5cbiAgICAtLWJyZWFkY3J1bWItcmVzZXJ2ZWQtaGVpZ2h0OiAwcHg7XG59XG5ib2R5Omhhcyguc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpOm5vdCgud2lkZS1tb2RlKSkge1xuICAgIC8vIENsYXNzaWM6IGAubWF0LXNpZGVuYXYtY29udGFpbmVyLmNvbnRlbnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50IH1gXG4gICAgLy8gKGFkbWluLWV2ZW50LXNpZGViYXIgbGluaGEgfjIwOTApIHplcmEgbyBvZmZzZXQgZG8gb3V0ZXI7IHPDsyBvIElOTkVSXG4gICAgLy8gYC5tYXQtc2lkZW5hdi1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IHZhcigtLWFkbWluLXN1Ym1lbnUtd2lkdGgpIH1gXG4gICAgLy8gY29udGEuIGAuY2xhc3NpYy1zdWJtZW51YCDDqSBmaXhlZC1wb3NpdGlvbiDDoCBlc3F1ZXJkYSBjb20gZXNzYSBtZXNtYVxuICAgIC8vIGxhcmd1cmEg4oaSIGNhbnZhcyBjb21lw6dhIGVtIGFkbWluLXN1Ym1lbnUtd2lkdGgsIG5hZGEgbWFpcy5cbiAgICAtLWNvbnRlbnQtbGVmdC1vZmZzZXQ6IHZhcigtLWFkbWluLXN1Ym1lbnUtd2lkdGgsICN7JGFkbWluLXN1Ym1lbnUtd2lkdGh9KTtcbiAgICAvLyBDbGFzc2ljIHRvcCBjaHJvbWU6IGJyZWFkY3J1bWIgY29tcGFjdG8gKDI2KSArIHRvb2xiYXIgaG9yaXpvbnRhbCAoNTUpID0gODEuXG4gICAgLS1icmVhZGNydW1iLXJlc2VydmVkLWhlaWdodDogY2FsYygjeyRjbGFzc2ljLWJyZWFkY3J1bWItaGVpZ2h0fSArICN7JGNsYXNzaWMtdG9vbGJhci1oZWlnaHR9KTtcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyBQYWluZWwgXCJ2YXppb1wiIGRhcyBww6FnaW5hcyBkZSBsaXN0YSBkbyBhdXRvci9yZXZpc29yIChTdWJtaXNzw7Vlcyxcbi8vIFJldmlzw7VlcywgU2Vzc8O1ZXMgcXVlIGNvb3JkZW5vLCBUUENzLCBQdWJsaWNhw6fDtWVzLCBDb29yZGVuYcOnw6NvKS5cbi8vIENhcnTDo28gb3V0bGluZSB0cmFjZWphZG8gKyB0w610dWxvICsgbWVuc2FnZW0sIGNlbnRyYWxpemFkby5cbi5lbXB0eS1wYWdlLXBhbmVsIHtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIG1hcmdpbjogM3JlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAyLjVyZW0gMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbmJvZHkuZGFyay10aGVtZSAuZW1wdHktcGFnZS1wYW5lbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xufVxuXG4uZW1wdHktcGFnZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC43NXJlbTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbmJvZHkuZGFyay10aGVtZSAuZW1wdHktcGFnZS10aXRsZSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi5lbXB0eS1wYWdlLW1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG59XG5cbi8vIFV0aWxpZGFkZSBnbG9iYWwg4oCUIGVzY29uZGUgU0VNIGNvbGFwc2FyIGxheW91dCAoZ3JpZCAzLXNsb3QgZG8gaGVhZGVyXG4vLyBkZSBww6FnaW5hcyBjb250aW51YSBhbGluaGFkbykuIFVzYWRvIG5vIGAucGFnZS1zZWFyY2gtZmlsdGVyYCBxdWFuZG9cbi8vIGEgcMOhZ2luYSBuw6NvIHRlbSBjb250ZcO6ZG8gKG5hZGEgcHJhIGZpbHRyYXIpLlxuLmlzLWludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWlucHV0IOKAlCBpbnB1dCBkZSB0ZXh0byBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIBcbi8vIE1lc21vIHBhZHLDo28gZG8gYC5qZW1zMy1uYXRpdmUtY2hlY2tib3hgOiBlc2NhcGEgZG9zIHdyYXBwZXJzIE1hdGVyaWFsLFxuLy8gcmVzcGlyYSBvcyB0b2tlbnMgZG8gc2lzdGVtYSwgY29tcG9ydGEtc2UgY29tbyBjb250cm9sZSBcImNoYWlyLWxldmVsXCJcbi8vIChtZXNtYSBhbHR1cmEgJGNvbnRyb2wtaGVpZ2h0IGRvcyBkZW1haXMpLlxuLy9cbi8vIFVTTzpcbi8vICAgPGxhYmVsIGNsYXNzPVwiamVtczMtbmF0aXZlLWlucHV0LWxhYmVsXCI+XG4vLyAgICAgUsOzdHVsb1xuLy8gICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiamVtczMtbmF0aXZlLWlucHV0XCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuLy8gICA8L2xhYmVsPlxuLy9cbi8vIEVzdGFkb3M6IDpmb2N1cyAoYm9yZGVyIGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICsgaGFsbyksIDpkaXNhYmxlZCxcbi8vIDppbnZhbGlkLmFyaWEtaW52YWxpZD10cnVlIChib3JkYSB2ZXJtZWxoYSkuIERhcmsgcGFyZWFkby5cblxuLmplbXMzLW5hdGl2ZS1pbnB1dCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAvLyBUZXh0YXJlYTogbWVzbWEgY2FpeGEsIG1hcyBjcmVzY2UgZW0gYWx0dXJhIChtaW4taGVpZ2h0IH40IGxpbmhhcykuXG4gICAgJi5qZW1zMy1uYXRpdmUtaW5wdXQtLXRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCN7JGNvbnRyb2wtaGVpZ2h0fSAqIDMpO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gICAgLy8gQ2hyb21lIHBhcmVhZG8gYW8gYGFwcC1qZW1zLXNlbGVjdGAgKGAuamVtcy1zZWxlY3QtdHJpZ2dlcmApOlxuICAgIC8vIG1lc21hIGJvcmRlci1jb2xvciwgbWVzbW8gYmcsIG1lc21hIHdlaWdodCDigJQgYXNzaW0gb3MgY29udHJvbGVzXG4gICAgLy8gYWxpbmhhbSB2aXN1YWxtZW50ZSBsYWRvIGEgbGFkbyBubyBtZXNtbyBmb3JtdWzDoXJpby5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTAwbXMgZWFzZS1vdXQsIGJveC1zaGFkb3cgMTAwbXMgZWFzZS1vdXQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpOyB9XG5cbiAgICAvLyBIb3ZlcjogaGFsbyBjaW56YSAobWVzbW8gZG8gYC5qZW1zLXNlbGVjdC10cmlnZ2VyYCkuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoOmZvY3VzKTpub3QoW2FyaWEtaW52YWxpZD1cInRydWVcIl0pIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBGb2N1cyAoc2VsZWN0ZWQpOiBib3JkYSArIGhhbG8gYXp1aXMgKGFjY2VudCkuIENhc2EgY29tIG9cbiAgICAvLyBgLmplbXMtc2VsZWN0LXRyaWdnZXJgIGVtIGVzdGFkbyA6Zm9jdXMvaXMtb3Blbi5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgfVxufVxuXG4uamVtczMtbmF0aXZlLWlucHV0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAgIC5yZXF1aXJlZC1tYXJrIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi5qZW1zMy1uYXRpdmUtaW5wdXQtZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWluLWhlaWdodDogMWVtO1xufVxuXG4vLyBMYXlvdXQgbGFiZWwgKGVzcXVlcmRhKSArIGVycm8gKGRpcmVpdGEsIGFsaW5oYWRvIGFvIGZpbSBkbyBjYW1wbylcbi8vIG51bWEgbWVzbWEgbGluaGEgQUNJTUEgZG8gaW5wdXQuIFVzYSBmbGV4ICsgZ2FwOyBlcnJvIHJlc2V0YSBvXG4vLyBgbWFyZ2luLXRvcGAgZG8gYmxvY28gaW5saW5lIHByYSBmaWNhciBuYSBtZXNtYSBiYXNlbGluZSBkbyBsYWJlbC5cbi5qZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWxyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcblxuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWwgeyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgICAuamVtczMtbmF0aXZlLWlucHV0LWVycm9yIHsgbWFyZ2luLXRvcDogMDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbn1cblxuYm9keS5kYXJrLXRoZW1lIHtcbiAgICAuamVtczMtbmF0aXZlLWlucHV0IHtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgICAgIC8vIFBhciBEQVJLIGRvIGBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZGAgKGJyYW5jbykgZG8gYmxvY29cbiAgICAgICAgLy8gbGlnaHQuIEZhbHRhdmEg4oCUIHNlbSBlbGUgVE9ETyBpbnB1dCBuYXRpdm8gZG8gYXBwIHJlbmRlcml6YXZhIGNvbVxuICAgICAgICAvLyBmdW5kbyBicmFuY28gbm8gZGFyayAoaXNzdWUgIzIzNzEsIHZpc8OtdmVsIG5hIHRlbGEgZGUgQ29uZmxpdG9zIGRlXG4gICAgICAgIC8vIEludGVyZXNzZSkuIE1lc21vIHRva2VuIHF1ZSBvIGBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZWAgYW8gbGFkb1xuICAgICAgICAvLyBqw6EgdXNhLCBlbnTDo28gb3MgZG9pcyBjb250cm9sZXMgdm9sdGFtIGEgY2FzYXIuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTsgfVxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpOm5vdChbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0geyBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrOyB9XG4gICAgfVxuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWwgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1lcnJvciB7IGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyazsgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWJ1dHRvbiDigJQgYm90w6NvIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTWVzbW8gcGFkcsOjbyBkbyBgLmplbXMzLW5hdGl2ZS1pbnB1dGAgZSBgLmplbXMzLW5hdGl2ZS1jaGVja2JveGA6XG4vLyBldml0YSBvIHdyYXBwZXIgTWF0ZXJpYWwgKG1hdC1mbGF0LWJ1dHRvbiwgbWF0LXJhaXNlZC1idXR0b24gZXRjLiksXG4vLyByZXNwaXJhIG9zIHRva2VucyBkbyBjaGFpciBVSS5cbi8vXG4vLyBVU086XG4vLyAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiamVtczMtbmF0aXZlLWJ1dHRvbiBqZW1zMy1uYXRpdmUtYnV0dG9uLS1wcmltYXJ5XCI+RW50cmFyPC9idXR0b24+XG4vLyAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiamVtczMtbmF0aXZlLWJ1dHRvbiBqZW1zMy1uYXRpdmUtYnV0dG9uLS1zZWNvbmRhcnlcIj5DYW5jZWxhcjwvYnV0dG9uPlxuLy9cbi8vIFZhcmlhbnRlczogLS1wcmltYXJ5IChhY2NlbnQgZmlsbGVkKSwgLS1zZWNvbmRhcnkgKGNocm9tZSBzdHJva2VkKSxcbi8vIC0tZGFuZ2VyICh2ZXJtZWxobyBmaWxsZWQsIGHDp8O1ZXMgZGVzdHJ1dGl2YXMpLlxuXG4uamVtczMtbmF0aXZlLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIG1pbi13aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAvLyBgZmVlZGJhY2tfbm9faG92ZXJfdHJhbnNpdGlvbmA6IGhvdmVyIMOpIGluc3RhbnTDom5lbyBubyBKRU1TMy5cbiAgICAvLyBgdHJhbnNpdGlvbmAgc8OzIGVtIGZvY3VzLXZpc2libGUgKG11ZGFuw6dhIGRlIGVzdGFkbywgbsOjbyBob3ZlcikuXG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG59XG5cbi8vIFByaW1hcnkg4oCUIGFjY2VudCBmaWxsZWQuXG4uamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTQpOyB9XG4gICAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC44OCk7IH1cbn1cbmJvZHkuZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBjb2xvcjogIzBhMWEyZTtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBTZWNvbmRhcnkg4oCUIGNocm9tZSBzdHJva2VkLlxuLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTsgfVxufVxuYm9keS5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTsgfVxufVxuXG4vLyBEYW5nZXIg4oCUIGHDp8OjbyBkZXN0cnV0aXZhIChleGNsdWlyLCBkZXNjYXJ0YXIpLiBNZXNtbyBwZXNvIHZpc3VhbCBkb1xuLy8gYC0tcHJpbWFyeWAsIHRyb2NhbmRvIG8gYWNjZW50IHBlbG8gdmVybWVsaG8gaW5zdGl0dWNpb25hbC5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGZpbHRlcjogYnJpZ2h0bmVzcygwLjk0KTsgfVxuICAgICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDAuODgpOyB9XG59XG5ib2R5LmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbiAgICBjb2xvcjogIzJhMGEwYTtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrO1xufVxuXG4vLyBNb2RpZmljYWRvciBgLS1ibG9ja2Ag4oCUIGxhcmd1cmEgMTAwJSBkYSBjb2x1bmEgKGZvcm0gc3VibWl0IGVtIGNhcmRcbi8vIHZlcnRpY2FsLCB0aXBvIHNpZ25pbikuXG4uamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4iLCIuc21hbGwtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hdC1oZWFkZXItcm93IHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tc3RhdHVzLCAubWF0LWNvbHVtbi1ldmVudCwgLm1hdC1jb2x1bW4tdHJhY2tGaWxlTmFtZSwgLm1hdC1jb2x1bW4tZGVhZGxpbmUsIC5tYXQtY29sdW1uLWJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1zdGF0dXMge1xuICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1ldmVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDg1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1kZWFkbGluZSB7XG4gICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtcm93IHtcbiAgICAgICAgLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNlbGw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1zdGF0dXMsIC5tYXQtY29sdW1uLWV2ZW50LCAubWF0LWNvbHVtbi10cmFja0ZpbGVOYW1lLCAubWF0LWNvbHVtbi1kZWFkbGluZSwgLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tc3RhdHVzIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQubWF0LWNvbHVtbi1ldmVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDg1cHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5tYXQtY29sdW1uLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ci51cGNvbWluZyAubWF0LWNvbHVtbi1kZWFkbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEoMjU1LCAxNjUsIDAsIC41KTtcbiAgICB9XG5cbiAgICB0ci5sYXRlIC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgxNjUsIDQyLCA0MiwgLjUpO1xuICAgIH1cblxuICAgICYubGVnZW5kIHtcbiAgICAgICAgLnVwY29taW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEoMjU1LCAxNjUsIDAsIC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXRlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEoMTY1LCA0MiwgNDIsIC41KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudGFibGUge1xuICAgICYuc2ltcGxlLXRhYmxle1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgXG4gICAgICAgIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICAgXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWxpbmUtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICBcbiAgICAgICAgICAmLm1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSwgJi5tYXQtY2VsbDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRlbnQtYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmp1c3RpZnktY2VudGVyIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aDpmaXJzdC1jaGlsZCwgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdGg6bGFzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIHRyIHtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICBcbiAgICBcbiAgICAgICAgdGZvb3QgdGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgIFxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLmZsZXhlZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIFxuICAgICAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5uby1saW5lIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tcmlnaHQtbGluZXtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLm5vLWJvdHRvbS1saW5le1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLm5vLXBhZGRpbmcge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxudGFibGUge1xuICAgICYuaGlnaGxpZ2h0LXRhYmxlIHtcbiAgICAgICAgJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgICAgICBcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBib3JkZXItc3BhY2luZzogMHB4IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBcbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgLjVlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5ID4gdHIsIHRmb290ID4gdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIFxuICAgICAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICB0ZDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0ZDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGQubWF0LWZvb3Rlci1jZWxse1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OmNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU29ydCBoZWFkZXIgKE1hdGVyaWFsKTogYSDDoXJlYSBjbGljw6F2ZWwgcC8gb3JkZW5hciDDqSBBUEVOQVMgbyB0w610dWxvIGRhIGNvbHVuYSxcbi8vIE7Dg08gYSBjw6lsdWxhIGludGVpcmEuIE8gYC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyYCBQUkVFTkNIRSBhIGPDqWx1bGEgKGZsZXggYmxvY2sgK1xuLy8ganVzdGlmeS1jb250ZW50OmNlbnRlciksIGVudMOjbyByZXN0cmluZ2lyIG8gcG9udGVpcm8gYSBlbGUgbsOjbyBiYXN0YS4gSW5lcnRpemFtb3Mgb1xuLy8gYDx0aD5gICsgbyBjb250YWluZXIgZSByZWF0aXZhbW9zIHPDsyBvIENPTlRFw5pETyAoYC5tYXQtc29ydC1oZWFkZXItY29udGVudGAgPSBvIHTDrXR1bG8sXG4vLyBkaW1lbnNpb25hZG8gcGVsbyB0ZXh0bykgZSBhIHNldGEuIE8gY2xpcXVlIG5vIHTDrXR1bG8gYm9yYnVsaGEgYXTDqSBvIGxpc3RlbmVyIGRvIHRoLlxuLy8gR2xvYmFsOiB2YWxlIHAvIGEgdGFiZWxhIHBhZHLDo28gKC5qZW1zMy10YWJsZSkgZSBhIGRhIExpc3RhIGRlIFN1Ym1pc3PDtWVzLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ubWF0LXNvcnQtaGVhZGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4gIC5tYXQtc29ydC1oZWFkZXItY29udGVudCxcbiAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIHRhYmxlIHtcbi8vICAgICAmLnNpbXBsZS10YWJsZXtcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4vLyAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4vLyAgICAgICAgIHRoIHtcbi8vICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4vLyAgICAgICAgICAgZm9udC1zaXplOiAwLjgwcmVtO1xuLy8gICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4vLyAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuLy8gICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvcjtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICB0aCwgdGQge1xuLy8gICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBcbi8vICAgICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1saW5lLWNvbG9yO1xuLy8gICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB0aGluO1xuICAgIFxuICAgIFxuLy8gICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbi8vICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4vLyAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuLy8gICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgXG4vLyAgICAgICAgICAgJi5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSwgJi5tYXQtY2VsbDpmaXJzdC1vZi10eXBlLCAmLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsICYubWF0LWNlbGw6bGFzdC1vZi10eXBlIHtcbi8vICAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbi8vICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAuY29udGVudC1idXR0b24ge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8gICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbi8vICAgICAgICAgICAgIHNwYW4ge1xuLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4vLyAgICAgICAgICAgICB9XG5cbi8vICAgICAgICAgICAgICYuanVzdGlmeS1jZW50ZXIge1xuLy8gICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIHRoOmZpcnN0LWNoaWxkLCB0ZDpmaXJzdC1jaGlsZCB7XG4vLyAgICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIHRoOmxhc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGQge1xuLy8gICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICB0Ym9keSB0ZCB7XG4vLyAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuLy8gICAgICAgICB9XG4gICAgXG4gICAgXG4vLyAgICAgICAgIHRmb290IHRkIHtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICBcbi8vICAgICAgICAgICBidXR0b24ge1xuLy8gICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5mbGV4ZWQge1xuLy8gICAgICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgXG4vLyAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBcbi8vICAgICAgICAgICBtYXQtaWNvbiB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAubm8tbGluZSB7XG4vLyAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLXJpZ2h0LWxpbmV7XG4vLyAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5uby1ib3R0b20tbGluZXtcbi8vICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5uby1wYWRkaW5nIHtcbi8vICAgICAgICAgICBwYWRkaW5nOiAwO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4vLyAgICAgICAgICAgICB3aWR0aDogMjVweDtcbi8vICAgICAgICAgICAgIGhlaWdodDogMjVweDtcblxuLy8gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8gICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuLy8gICAgICAgICAgICAgYSB7XG4vLyAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2s7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbi8vICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4vLyAgICAgICAgICAgICAubWF0LWljb24ge1xuLy8gICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gLmplbXMzLXRhYmxlIOKAlCBUQUJFTEEgUEFEUsODTyBkbyBKRU1TMyAocmVmZXLDqm5jaWE6IHRhYmVsYSBkYSBMaXN0YSBkZVxuLy8gU3VibWlzc8O1ZXMpLiBGdW5jaW9uYSB0YW50byBjb20gTWF0ZXJpYWwgKGA8dGFibGUgbWF0LXRhYmxlPmApIHF1YW50b1xuLy8gY29tIGA8dGFibGU+YCBIVE1MIHB1cm8g4oCUIGJhc3RhIGEgY2xhc3NlLlxuLy9cbi8vICAgPHRhYmxlIGNsYXNzPVwiamVtczMtdGFibGVcIj4gLi4uIDwvdGFibGU+XG4vLyAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiLi4uXCIgY2xhc3M9XCJqZW1zMy10YWJsZVwiPiAuLi4gPC90YWJsZT5cbi8vXG4vLyBVc2UgYG1hdC10YWJsZWAgYXBlbmFzIHF1YW5kbyBwcmVjaXNhciBkb3MgcmVjdXJzb3MgZG8gTWF0ZXJpYWxcbi8vIChzb3J0LCBwYWdpbmF0aW9uLCBzdGlja3kgY29sdW1ucywgdmlydHVhbGl6YXRpb24pLiBQcmEgdGFiZWxhc1xuLy8gZXN0w6F0aWNhcy9zaW1wbGVzLCBIVE1MIHB1cm8gw6kgbyBzdWZpY2llbnRlIGUgbWFpcyBsZXZlLlxuLy9cbi8vIENhcmFjdGVyw61zdGljYXM6XG4vLyAgIOKAoiBIZWFkZXIgdHJhbnNwYXJlbnRlLCBzZW0gYm9yZGE7IHRpcG9sb2dpYSAxMnB4IC8gNTAwIC8gc2VudGVuY2UgY2FzZSAvXG4vLyAgICAgY29yIGByZ2JhKDAsMCwwLC41NDEpYCAoPSBkZWZhdWx0IGAubWF0LWhlYWRlci1jZWxsYCBkbyBNYXRlcmlhbCkuXG4vLyAgIOKAoiBMaW5oYXMgZGUgY29udGXDumRvIGNvbSBmdW5kbyBjaW56YSAoYCRncmF5LTEyNWApLCBzdXBvcnRhbmRvIGRhcmsgbW9kZS5cbi8vICAg4oCiIFNlcGFyYWRvciBlbnRyZSBjw6lsdWxhcyA9IGdhcCB0cmFuc3BhcmVudGUgKGJvcmRlci1zcGFjaW5nIDFweCkg4oCUIHNlbVxuLy8gICAgIGJvcmRhcyBpbnRlcm5hczsgbyBcInJlc3Bpcm9cIiBlbnRyZSBjb2x1bmFzL2xpbmhhcyByZXZlbGEgYSBww6FnaW5hIGF0csOhcy5cbi8vICAg4oCiIENhbnRvcyBhcnJlZG9uZGFkb3MgKDZweCkgbmEgcHJpbWVpcmEgZSDDumx0aW1hIHRkIGRlIGNhZGEgbGluaGEuXG4vLyAgIOKAoiBDb250ZcO6ZG8gMTNweCAvIDQwMCAvIGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcmAgKCMzNzM3MzQpIOKAlFxuLy8gICAgIGEgYWx0dXJhIGRhIGxpbmhhIHZlbSBTw5MgZG8gcGFkZGluZyBpbnRlcm5vIChgMC41ZW0gKyAycHhgKS5cbi8vXG4vLyBPcyBgIWltcG9ydGFudGAgZXhpc3RlbSBwcmEgdmVuY2VyICgxKSByZWdyYXMgTWF0ZXJpYWwgY29tIG1lc21hXG4vLyBlc3BlY2lmaWNpZGFkZSBjYXJyZWdhZGFzIGFudGVzIChib3JkZXItc3BhY2luZywgcm93IGhlaWdodCkgZSAoMikgcmVncmFzXG4vLyBnbG9iYWlzIGFudGlnYXMgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKGBzaW1wbGUtdGFibGUgdGhgIGNvbG9yKS4gUXVhbmRvIGFcbi8vIGAuc2ltcGxlLXRhYmxlYCBmb3IgYXBvc2VudGFkYSwgcG9kZW1vcyBsaW1wYXIgb3MgZG8gaGVhZGVyLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxudGFibGUuamVtczMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIGAhaW1wb3J0YW50YCB2ZW5jZSBvIGAubWF0LXRhYmxlIHsgYmFja2dyb3VuZDogd2hpdGUgfWAgZG8gdGVtYSBkb1xuICAgIC8vIEFuZ3VsYXIgTWF0ZXJpYWwgKG1lc21hIGVzcGVjaWZpY2lkYWRlOyBNYXRlcmlhbCBjb3N0dW1hIGNhcnJlZ2FyXG4gICAgLy8gZGVwb2lzLCBlbnTDo28gc2VtIGAhaW1wb3J0YW50YCBvIGJyYW5jbyB2ZW5jZSkuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIC8vIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIGB0YWJsZS5tYXQtdGFibGUgeyBib3JkZXItc3BhY2luZzogMCB9YFxuICAgIC8vIGluamV0YWRvIHBlbG8gTWF0ZXJpYWwgKG1lc21hIGVzcGVjaWZpY2lkYWRlOyBNYXRlcmlhbCBjYXJyZWdhIHByaW1laXJvKS5cbiAgICBib3JkZXItc3BhY2luZzogMXB4IDFweCAhaW1wb3J0YW50O1xuXG4gICAgLy8gTWF0ZXJpYWwgZml4YSBgdHIubWF0LWhlYWRlci1yb3cgeyBoZWlnaHQ6IDU2cHggfWAgZSBgdHIubWF0LXJvdyB7IGhlaWdodDogNDhweCB9YDtcbiAgICAvLyBzb2x0YW1vcyBwcmEgYWx0dXJhIHNlZ3VpciBvIHBhZGRpbmcgaW50ZXJubyAobWVzbWEgZXN0cmF0w6lnaWEgZGEgdjIpLlxuICAgIC8vIFByYSBIVE1MIHB1cm8gbyBgPHRyPmAgasOhIMOpIGBoZWlnaHQ6IGF1dG9gIHBvciBkZWZhdWx0IOKAlCByZWdyYSDDqSBuby1vcC5cbiAgICB0ci5tYXQtaGVhZGVyLXJvdyxcbiAgICB0ci5tYXQtcm93IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gSGVhZGVyIOKAlCBNYXRlcmlhbCAoYC5tYXQtaGVhZGVyLWNlbGxgKSBvdSBIVE1MIHB1cm8gKGB0aGApLlxuICAgIHRoLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwLjVyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQxKSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gTGluaGFzIGRlIGNvbnRlw7pkbyDigJQgTWF0ZXJpYWwgKGAubWF0LWNlbGxgKSBvdSBIVE1MIHB1cm8gKGB0ZGApLlxuICAgIC8vIEFsdHVyYSBkYSBsaW5oYSA9IHBhZGRpbmcgaW50ZXJubyArIGNvbnRlw7pkbywgc2VtIGBsaW5lLWhlaWdodGAgZXhwbMOtY2l0b1xuICAgIC8vIChoZXJkYSBkbyBkZWZhdWx0IGRvIG5hdmVnYWRvcikuIFZlcnRpY2FsIGNvbXBhY3RvICgycHgpIMOpIG8gUEFEUsODTyBkYVxuICAgIC8vIHRhYmVsYSBKRU1TMyDigJQgdG9kb3Mgb3MgY29uc3VtaWRvcmVzIChwZW9wbGUtdGFibGUsIGV2ZW50LXRyYWNrcyxcbiAgICAvLyBldmVudC1zZXR0aW5ncy1lbWFpbCkgdXNhdmFtIGVzc2EgYWx0dXJhLCBlbnTDo28gZWxhIHZpdmUgYXF1aSBlIG7Do28gZW1cbiAgICAvLyBvdmVycmlkZXMgbG9jYWlzLiBIb3Jpem9udGFsIG1hbnTDqW0gOC41cHggKHJlc3Bpcm8gZW50cmUgY29sdW5hcykuXG4gICAgdGQsXG4gICAgdGQubWF0LWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMjU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMnB4IDguNXB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmplbXMzLXRhYmxlLW51bWJlcmluZyDigJQgbW9kaWZpZXIgcHJhIGNvbHVuYSBkZSBudW1lcmHDp8OjbyBkZSBsaW5oYXMuXG4gICAgLy8gQXBsaWNhZG8gbm8gPHRoPiBlIDx0ZD4gZGEgY29sdW5hIGRvIMOtbmRpY2U6IGPDqWx1bGEgdHJhbnNwYXJlbnRlLCBzZW1cbiAgICAvLyBhcnJlZG9uZGFtZW50bywgdGlwb2dyYWZpYSBsZXZlICgxMi80MzApLiBBIDLCqiBjb2x1bmEgKG5leHQgc2libGluZylcbiAgICAvLyBhc3N1bWUgbyByYWRpdXMgZXNxdWVyZG8gZG8gXCJjYXJkXCIgZGEgbGluaGEg4oCUIGRhw60gbyDDrW5kaWNlIGZpY2FcbiAgICAvLyB2aXN1YWxtZW50ZSBGT1JBIGRhIGxpbmhhLWNhcmQsIGNvbW8gdW0gbWFyY2Fkb3IgZGlzY3JldG8gw6AgZXNxdWVyZGEuXG4gICAgLy8gQ29uc3VtaWRvciBkZWl4YSBvIDx0aD4gdmF6aW8gKHNlbSB0w610dWxvKTsgQ1NTIGrDoSBjb21wYWN0YSBvIGVzcGHDp28uXG4gICAgdGguamVtczMtdGFibGUtbnVtYmVyaW5nLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyxcbiAgICB0aC5qZW1zMy10YWJsZS1udW1iZXJpbmcubWF0LWhlYWRlci1jZWxsLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZy5tYXQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDMwO1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgfVxuXG4gICAgLy8gUXVhbmRvIGEgMcKqIGNvbHVuYSDDqSBudW1lcmHDp8OjbywgYSAywqogcGFzc2EgYSByZWNlYmVyIG8gcmFkaXVzIGVzcXVlcmRvLlxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkLm1hdC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgfVxufVxuXG4vLyBEYXJrIG1vZGU6IG51bWJlcmluZyBzZWd1ZSBhIGNvciBkZSB0ZXh0byBsZXZlbC0yIGVzY3VyYS5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlIHtcbiAgICB0aC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLFxuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZy5tYXQtaGVhZGVyLWNlbGwsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1jZWxsIHtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgfVxufVxuXG4vLyAuamVtczMtdGFibGUtaG92ZXIg4oCUIG1vZGlmaWVyIG9wdC1pbiBwcmEgdGFiZWxhcyBpbnRlcmF0aXZhcyAobGluaGFcbi8vIGNsaWPDoXZlbCkuIENvbnRvcm5vIGRlIGhvdmVyICgycHgpIGFvIHJlZG9yIGRhIGxpbmhhIHZpYSBhIHTDqWNuaWNhIENBTsOUTklDQVxuLy8gYDo6YmVmb3JlYCAoc2VwYXJhZG9yIHZlcnRpY2FsKSArIGA6OmFmdGVyYCAoY29udG9ybm8pIOKAlCBhIE1FU01BIGRhIExpc3RhIGRlXG4vLyBTdWJtaXNzw7VlcyAvIHBlb3BsZS10YWJsZS4gKGJveC1zaGFkb3cgZmFsaGE6IG8gYmcgb3BhY28gZGEgY8OpbHVsYSB2aXppbmhhXG4vLyBwaW50YSBQT1IgQ0lNQSBkYSBzb21icmEgbm8gZ2FwIOKGkiBjb250b3JubyBcImNvcnRhZG9cIi4gTyBgOjphZnRlcmAsIGFjaW1hIGRvXG4vLyBgOjpiZWZvcmVgIG5hIHBpbGhhLCBwYXNzYSBQT1IgQ0lNQSBkYXMgcG9udGFzIGRvIHNlcGFyYWRvciDihpIgbGluaGEgY29udMOtbnVhLilcbi8vXG4vLyBHZW5lcmFsaXphIHBvciBNQVJDQURPUkVTIOKAlCBhIHRhYmVsYSBzw7MgZGVjbGFyYSBzdWEgZXN0cnV0dXJhIGUgbyBjb250b3JubyBzZVxuLy8gYWRhcHRhIMOgcyBjb2x1bmFzIGRlIENPTlRFw5pETywgc2VtIGPDs2RpZ28gcG9yIHRhYmVsYTpcbi8vICAg4oCiIGAuamVtczMtdGFibGUtbnVtYmVyaW5nYCDihpIgY29sdW5hIGF1eGlsaWFyIGRlIG7Dum1lcm8gKDHCqiwgZm9yYSBkbyBcImNhcmRcIikuXG4vLyAgIOKAoiBgLmplbXMzLXRhYmxlLXNlbGVjdGFibGVgIOKGkiBjb2x1bmEgc2VsZXRvciAow7psdGltYSwgZm9yYSBkbyBcImNhcmRcIikuXG4vLyBDb20gaXNzbywgXCIxwqovw7psdGltYSBjb2x1bmEgZGUgY29udGXDumRvXCIgKHF1ZSByZWNlYmVtIGFzIGJvcmRhcyBlc3F1ZXJkYS9cbi8vIGRpcmVpdGEpIHPDo28gZGVyaXZhZGFzIGVzdHJ1dHVyYWxtZW50ZSwgY29icmluZG8gdG9kYXMgYXMgY29tYmluYcOnw7Vlcy5cbi8vIChNZW3Ds3JpYTogZmVlZGJhY2tfdGFibGVfaG92ZXJfc2VwYXJhdG9yX3RlY2huaXF1ZS4pXG4vL1xuLy8gRnVuY2lvbmEgY29tIE1hdGVyaWFsIChgdGQubWF0LWNlbGxgKSBFIGNvbSBgPHRhYmxlPmAgSFRNTCBQVVJPOiBvcyBzZWxldG9yZXNcbi8vIG1pcmFtIGB0ZGAgKHF1ZSBjb2JyZSBhbWJvcyksIGVudMOjbyB0YWJlbGFzIHB1cmFzIGdhbmhhbSBvIG1lc21vIGhvdmVyL3NlcGFyYWRvclxuLy8gc8OzIGFkaWNpb25hbmRvIGEgY2xhc3NlIOKAlCBzZW0gcmVwbGljYXIgYSByZWNlaXRhIHBvciBjb21wb25lbnRlLlxuLy9cbi8vICAgPHRhYmxlIGNsYXNzPVwiamVtczMtdGFibGUgamVtczMtdGFibGUtaG92ZXJcIj4gLi4uIDwvdGFibGU+XG50YWJsZS5qZW1zMy10YWJsZS1ob3ZlciB7XG4gICAgLy8gU2VtIGdhcCBob3Jpem9udGFsIOKAlCBvIHNlcGFyYWRvciBlbnRyZSBjb2x1bmFzIHBhc3NhIGEgc2VyIGRlc2VuaGFkbyBwb3JcbiAgICAvLyBgOjpiZWZvcmVgIChjb20gZ2FwLCBvIGNvbnRvcm5vIGRvIGhvdmVyIGZpY2F2YSBcImNvcnRhZG9cIikuIE1hbnTDqW0gc8OzIG9cbiAgICAvLyBnYXAgdmVydGljYWwgZGUgMXB4IGVudHJlIGxpbmhhcy4gTWVzbWEgZXNwZWNpZmljaWRhZGUgZG8gYC5qZW1zMy10YWJsZWBcbiAgICAvLyBiYXNlOyB2ZW5jZSBwb3IgdmlyIGRlcG9pcyBubyBhcnF1aXZvLlxuICAgIGJvcmRlci1zcGFjaW5nOiAwIDFweCAhaW1wb3J0YW50O1xuXG4gICAgdGJvZHkgdHIsXG4gICAgdHIubWF0LXJvdyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBSZXNlcnZhIGRvIGNvbnRvcm5vIChgOjphZnRlcmAsIGJvcmRhIHRyYW5zcGFyZW50ZSDihpIgc2VtIGxheW91dC1zaGlmdCkgZVxuICAgIC8vIMOibmNvcmEgKGBwb3NpdGlvbjogcmVsYXRpdmVgKSBlbSBUT0RBIGPDqWx1bGEgZGUgY29udGXDumRvIChleGNsdWkgYVxuICAgIC8vIG51bWVyYcOnw6NvIGF1eGlsaWFyLCBxdWUgZmljYSBmb3JhIGRvIFwiY2FyZFwiIGRhIGxpbmhhKS5cbiAgICB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXBhcmFkb3IgdmVydGljYWwgZW50cmUgY29sdW5hcyBkZSBjb250ZcO6ZG8g4oCUIGVtIHRvZGFzIEVYQ0VUTyBhIMO6bHRpbWFcbiAgICAvLyAoY3VqYSBib3JkYSBkaXJlaXRhIGrDoSDDqSBvIGNvbnRvcm5vIGRhIGxpbmhhKS4gQ29yID0gYmcgZG8gcGFpbmVsIChyZXZlbGFcbiAgICAvLyBvIFwiZ2FwXCIpLiBPIGNvbWJvIGNvbSBgLmplbXMzLXRhYmxlLXNlbGVjdGFibGVgIHJlbW92ZSBvIHNlcGFyYWRvciBkYVxuICAgIC8vIHBlbsO6bHRpbWEgKHF1ZSB2aXJhIGEgw7psdGltYSBjb2x1bmEgZGUgY29udGXDumRvKS5cbiAgICB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIDHCqiBjb2x1bmEgZGUgY29udGXDumRvIOKGkiByZXNlcnZhIGJvcmRhIGVzcXVlcmRhLiBTZW0gbnVtZXJhw6fDo286IGEgMcKqIHRkO1xuICAgIC8vIGNvbSBudW1lcmHDp8OjbzogYSB0ZCBsb2dvIGFww7NzIGVsYS5cbiAgICB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyDDmmx0aW1hIGNvbHVuYSBkZSBjb250ZcO6ZG8g4oaSIHJlc2VydmEgYm9yZGEgZGlyZWl0YSAoY2FzbyBTRU0gc2VsZXRvcjsgb1xuICAgIC8vIGNvbWJvIHNlbGVjdGFibGUgbW92ZSBpc3NvIHByYSBwZW7Dumx0aW1hKS5cbiAgICB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBFc3RhZG8gSE9WRVI6IGNvbG9yZSBvIGNvbnRvcm5vIChjaW56YSkg4pSA4pSAXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgRVNDVVJFQ0UgYSBjw6lsdWxhOiB2w6l1IHByZXRvIHRyYW5zbMO6Y2lkbyBjb21vIEZVTkRPIGRvIHRkLiBDb21vXG4gICAgLy8gYSBjw6lsdWxhIHBpbnRhIFNPQlJFIHF1YWxxdWVyIGNvciBkYSBsaW5oYSAoaW5jbHVzaXZlIGNvciBkZSBzdGF0dXMpLCBvXG4gICAgLy8gdsOpdSBtaXN0dXJhIGNvbSBvIHF1ZSBlc3TDoSBlbWJhaXhvIOKAlCBzZW0gcHJlY2lzYXIgc2FiZXIgYSBjb3Igb3JpZ2luYWwuXG4gICAgLy8gYCFpbXBvcnRhbnRgIHZlbmNlIHJlZ3JhcyBkZSBjb3IgY2hlaWEgKGV4LjogY2VsbC1iZyBzZXRhZG8gdmlhXG4gICAgLy8gc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIGVtIF9jb2xvci1zY2hlbWUuc2NzcykuIE1lc21hIHTDqWNuaWNhIHVzYWRhXG4gICAgLy8gZW0gYHN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjJgLlxuICAgIC8vXG4gICAgLy8gU29icmUgbyBgOm5vdCguamVtczMtdGFibGUtc2VsZWN0YWJsZSlgOiBlc3BlbGhhIEVYQVRBTUVOVEUgbyBwYWRyw6NvXG4gICAgLy8gZGFzIGJvcmRhcyBkZSBob3ZlciBhY2ltYSDigJQgcXVhbmRvIGjDoSBtb2RpZmllciBzZWxlY3RhYmxlLCBhIMO6bHRpbWFcbiAgICAvLyBjb2x1bmEgw6kgbyBjaGVja2JveCBkZSBzZWxlw6fDo28gXCJmb3JhIGRvIGNhcmRcIiBlIE7Dg08gcmVjZWJlIG5lbmh1bVxuICAgIC8vIGNocm9tZSBkZSBob3ZlciAoYm9yZGEgb3UgdsOpdSkuIEEgcmVncmEtaXJtw6MgcHJhIHNlbGVjdGFibGUgZXN0w6EgbG9nb1xuICAgIC8vIGFiYWl4byBlIGV4Y2x1aSBgOmxhc3Qtb2YtdHlwZWAgbm8gc2VsZXRvci5cbiAgICAmOm5vdCguamVtczMtdGFibGUtc2VsZWN0YWJsZSkge1xuICAgICAgICB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyksXG4gICAgICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtaG92ZXItdmVpbC1saWdodCwgJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgICAgICB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpLFxuICAgICAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0LCAkdGFibGUtaG92ZXItdmVpbC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLmplbXMzLXRhYmxlLXNlbGVjdGFibGUg4oCUIG1vZGlmaWVyIG9wdC1pbiBwcmEgdGFiZWxhcyBjb20gbGluaGFzXG4vLyBzZWxlY2lvbsOhdmVpcy4gQ29udmVuw6fDo286XG4vLyAgIOKAoiDDmmx0aW1hIGNvbHVuYSAobWF0Q29sdW1uRGVmPVwic2VsZWN0XCIpID0gY2hlY2tib3gsIGPDqWx1bGEgdHJhbnNwYXJlbnRlXG4vLyAgICAgZm9yYSBkbyBcImNhcmRcIiBkYSBsaW5oYSAobWVzbWEgbMOzZ2ljYSB2aXN1YWwgZGEgbnVtZXJhw6fDo28gw6AgZXNxdWVyZGEpLlxuLy8gICDigKIgSGVhZGVyIGRhIGNvbHVuYSA9IGNoZWNrYm94IG1hc3RlciBwcmEgbWFyY2FyL2Rlc21hcmNhciB0b2Rhcy5cbi8vICAg4oCiIExpbmhhcyBzZWxlY2lvbmFkYXMgZ2FuaGFtIGNsYXNzZSBgLmlzLXNlbGVjdGVkYCBuYSA8dHI+IOKGkiBib3JkYVxuLy8gICAgIGFjY2VudCBjb2xvciAoY29udG9ybm8gcGVyc2lzdGVudGUpLlxuLy9cbi8vICAgPHRhYmxlIGNsYXNzPVwiamVtczMtdGFibGUgamVtczMtdGFibGUtc2VsZWN0YWJsZVwiPlxuLy8gICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VsZWN0XCI+IC4uLiA8L25nLWNvbnRhaW5lcj5cbi8vICAgICA8dHIgKm1hdFJvd0RlZj1cIi4uLlwiIFtjbGFzcy5pcy1zZWxlY3RlZF09XCJyLnNlbGVjdGVkXCI+PC90cj5cbi8vICAgPC90YWJsZT5cbnRhYmxlLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIC8vIMOabHRpbWEgY29sdW5hIChzZWxlY3QpID0gdHJhbnNwYXJlbnRlLCBmb3JhIGRvIFwiY2FyZFwiLiBTZW0gcmFkaXVzLlxuICAgIHRoOmxhc3Qtb2YtdHlwZSxcbiAgICB0aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSxcbiAgICB0ZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIENoZWNrYm94ZXMgKG1hc3RlciBubyBoZWFkZXIgKyBkZSBsaW5oYSkgZW5jb2xoaWRvcyAoc2NhbGUgMC44KSBlIGNlbnRyYWRvcy5cbiAgICB0aDpsYXN0LW9mLXR5cGUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIsXG4gICAgdGgubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcixcbiAgICB0ZDpsYXN0LW9mLXR5cGUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIsXG4gICAgdGQ6bGFzdC1vZi10eXBlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUGVuw7psdGltYSBjb2x1bmEgYXNzdW1lIG8gcmFkaXVzIGRpcmVpdG8gZG8gXCJjYXJkXCIgKGEgw7psdGltYSB2aXJvdSBzZWxldG9yKS5cbiAgICB0ZDpudGgtbGFzdC1vZi10eXBlKDIpLFxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMikge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgIH1cblxuICAgIC8vIFNlbGVjaW9uYWRvIChwZXJzaXN0ZW50ZSkg4oCUIGNvbnRvcm5vIGFjY2VudCB2aWEgYDo6YWZ0ZXJgIChtZXNtYSB0w6ljbmljYSBkb1xuICAgIC8vIGhvdmVyOyByZXF1ZXIgYC5qZW1zMy10YWJsZS1ob3ZlcmAgcC8gYSByZXNlcnZhIGRvIHBzZXVkbykuIEFjZWl0YVxuICAgIC8vIGAuaXMtc2VsZWN0ZWRgIGUgYC5zZWxlY3RlZGAuIGA6bm90KDpsYXN0LW9mLXR5cGUpYCBleGNsdWkgbyBzZWxldG9yOyDDumx0aW1hXG4gICAgLy8gY29sdW5hIGRlIGNvbnRlw7pkbyA9IHBlbsO6bHRpbWEgdGQgKGA6bnRoLWxhc3Qtb2YtdHlwZSgyKWApLlxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHtcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxufVxuXG4vLyBDb21ibyBob3ZlciArIHNlbGVjdGFibGU6IG8gc2VsZXRvciAow7psdGltYSB0ZCkgw6kgdHJhbnNwYXJlbnRlLCBmb3JhIGRvIGNhcmQ7XG4vLyBhIMO6bHRpbWEgY29sdW5hIGRlIENPTlRFw5pETyB2aXJhIGEgcGVuw7psdGltYSAoYDpudGgtbGFzdC1vZi10eXBlKDIpYCkuXG50YWJsZS5qZW1zMy10YWJsZS1ob3Zlci5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHtcbiAgICB0ZDpsYXN0LW9mLXR5cGU6OmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6OmJlZm9yZSB7IGNvbnRlbnQ6IG5vbmU7IH1cbiAgICB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkICsgaG92ZXI6IGJvcmRhIGRpcmVpdGEgUFJFU0VSVkEgYWNjZW50IChzZW0gaXNzbywgYSByZWdyYSBkZVxuICAgIC8vIGhvdmVyIGFjaW1hIHNvYnJlc2NyZXZpYSBvIGFjY2VudCBkbyBzZWxlY3RlZCDigJQgYHRyLnNlbGVjdGVkOmhvdmVyYCB2ZW5jZVxuICAgIC8vIHBvciBzcGVjaWZpY2l0eSBkZSAxIGNsYXNzZSBhIG1haXMgcXVlIGB0cjpob3ZlcmApLlxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi8vIERhcmsg4oCUIGNvbnRvcm5vIGRvIGhvdmVyIGVtIGJyYW5jbyB0cmFuc2zDumNpZG8uXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3ZlciB7XG4gICAgLy8gU2VwYXJhZG9yIHZlcnRpY2FsIG5vIGRhcmsgPSBNRVNNQSBjb3IgZG8gZ2FwIGhvcml6b250YWwgKGNhbnZhcyBhdHLDoXMgZGFcbiAgICAvLyB0YWJlbGEsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspLiBObyBsaWdodCB1c2EgbyBiZyBjbGFybyBkbyBwYWluZWw7IG5vIGRhcmtcbiAgICAvLyBvIHZhbG9yIGNsYXJvIHZpcmF2YSBsaW5oYSBicmFuY2EsIGVudMOjbyB1c2Ftb3MgbyBjYW52YXMgZXNjdXJvIHAvIHZlcnRpY2FsXG4gICAgLy8gZSBob3Jpem9udGFsIGZpY2FyZW0gaWTDqm50aWNvcy5cbiAgICB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cblxuICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cblxufVxuXG4vLyBEYXJrIGhvdmVyIHZlaWwg4oCUIGVzY3JpdG8gc2VtIG5lc3RpbmcgYCZgIHByYSBkZWl4YXIgc2VsZWN0b3IgZXhwbMOtY2l0b1xuLy8gKGUgZXZpdGFyIHN1cnByZXNhcyBjb20gYSByZWdyYSBhY2ltYSkuIE1lc21hIGRpdmlzw6NvIGRvIGxpZ2h0OiBzZWxlY3RhYmxlXG4vLyBFWENMVUkgYDpsYXN0LW9mLXR5cGVgIHByYSBuw6NvIHBpbnRhciBvIGNoZWNrYm94IFwiZm9yYSBkbyBjYXJkXCIuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3Zlcjpub3QoLmplbXMzLXRhYmxlLXNlbGVjdGFibGUpIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSxcbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyOm5vdCguamVtczMtdGFibGUtc2VsZWN0YWJsZSkgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtaG92ZXItdmVpbC1kYXJrLCAkdGFibGUtaG92ZXItdmVpbC1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3Zlci5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSksXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3Zlci5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWRhcmssICR0YWJsZS1ob3Zlci12ZWlsLWRhcmspICFpbXBvcnRhbnQ7XG59XG5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIHRib2R5IHRyOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3RlZCArIGhvdmVyOiBib3JkYSBESVJFSVRBIHByZXNlcnZhIGFjY2VudC1kYXJrLlxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbn1cblxuLy8gRGFyayDigJQgc2VsZWN0ZWQgKyBob3ZlcjogdG9wL2JvdHRvbSArIGxlZnQgcHJlc2VydmFtIGFjY2VudC1kYXJrIChzZW1cbi8vIGlzc28gbyBob3ZlciBkYXJrIGFjaW1hIHZlbmNlIG8gc2VsZWN0ZWQgZGFyaywgcGVyZGVuZG8gbyBhY2NlbnQgZW1cbi8vIHRvZG9zIG9zIGxhZG9zIHZpc8OtdmVpcykuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG59XG5cbi8vIC5qZW1zMy10YWJsZS1hY3Rpb24g4oCUIMOtY29uZSBjbGljw6F2ZWwgc2ltcGxlcyBwcmEgY29sdW5hcyBkZSBhw6fDo28gZGVudHJvXG4vLyBkZSB1bWEgYC5qZW1zMy10YWJsZWAuIFNlbSBjaHJvbWUgZG8gTWF0ZXJpYWwgKHNlbSA0MMOXNDAsIHNlbSByaXBwbGUsXG4vLyBzZW0gZnVuZG8pLCBhcGVuYXMgbyDDrWNvbmUuIEZ1bmNpb25hIGVtIGA8YT5gIChyb3V0ZXJMaW5rKSBlIGA8YnV0dG9uPmBcbi8vIOKAlCBlbSBgPGJ1dHRvbj5gIHplcmFtb3MgbyBjaHJvbWUgbmF0aXZvICsgbyBgYnV0dG9uIHsgaGVpZ2h0OiAzNnB4IH1gXG4vLyBnbG9iYWwgZSBvIGBwYWRkaW5nYC9gYmFja2dyb3VuZGAgaGVyZGFkb3MuXG4uamVtczMtdGFibGUtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkZ3JheS01MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgIC8vIE92ZXJyaWRlcyBxdWFuZG8gbyBjb25zdW1pZG9yIHVzYSBgPGJ1dHRvbj5gIOKAlCBuZXV0cmFsaXphIGRlZmF1bHRzXG4gICAgLy8gbmF0aXZvcyBkbyBuYXZlZ2Fkb3IgZSBhIHJlZ3JhIGdsb2JhbCBgYnV0dG9uIHsgaGVpZ2h0OiAzNnB4IH1gLlxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBQYWRkaW5nIGNyaWEgYSBcImFsbW9mYWRhXCIgZG8gaG92ZXIgY2lyY3VsYXIgc2VtIG11ZGFyIGEgcG9zacOnw6NvIGRvXG4gICAgLy8gw61jb25lIChlIHNlbSBhZmV0YXIgbyBsYXlvdXQgZW50cmUgZXN0YWRvcykuXG4gICAgcGFkZGluZzogNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAvLyBBY2VpdGEgbyDDrWNvbmUgY29tbyBgPG1hdC1pY29uPmAgT1UgY29tbyBgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+YFxuICAgIC8vIChvIGdsaWZvIMOpIG8gbWVzbW86IGEgY2xhc3NlIMOpIGdsb2JhbCBlbSBgX2ZvbnRzLWxvY2FsLnNjc3NgKS4gTyBzcGFuIGV2aXRhXG4gICAgLy8gaW5zdGFuY2lhciB1bSBjb21wb25lbnRlIEFuZ3VsYXIgcG9yIGxpbmhhIGRhIHRhYmVsYS5cbiAgICBtYXQtaWNvbixcbiAgICAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIH1cbn1cbi5kYXJrLXRoZW1lIC5qZW1zMy10YWJsZS1hY3Rpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgfVxuICAgICY6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsgfVxufVxuXG4vLyBEYXJrIG1vZGUg4oCUIGZ1bmRvIGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmtgIGUgdGV4dG8gY2xhcm8sXG4vLyBhbGluaGFkbyBhb3MgY2FyZHMgYXV0b3IvcmV2aXNvciBub3Zvcy5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlIHtcbiAgICB0aCxcbiAgICB0aC5tYXQtaGVhZGVyLWNlbGwge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHRkLFxuICAgIHRkLm1hdC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENISVAgZGUgVMOTUElDTyAoZXhpYmnDp8OjbywgcmVhZC1vbmx5KSDigJQgZGVmaW5pw6fDo28gw5pOSUNBIGdsb2JhbC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGlsbCBlc3TDoXRpY28gcXVlIHJvdHVsYSB1bSB0w7NwaWNvLiBVc2FkbyBlbTpcbi8vICAgLSBMaXN0YSBkZSBTdWJtaXNzw7VlcyAoYHN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgPiAuc3VibWlzc2lvbi10b3BpY3NgKVxuLy8gICAtIEphbmVsYSBcIlBlc3F1aXNhciBwb3IgaW50ZXJlc3NlXCIgKGBmaW5kLXJldmlld2Vycy1ieS1pbnRlcmVzdGApXG4vL1xuLy8gTyBjaGlwIEVESVTDgVZFTCBkZSBnZXN0w6NvIGRlIHTDs3BpY29zIChgZXZlbnQtdG9waWNzYDogaG92ZXIsIGRyYWcsXG4vLyBpcy1pbmFjdGl2ZSwgcGFyZW50KSDDqSBPVVRSTyBkZXNpZ24g4oCUIGZpY2EgZXNjb3BhZG8gbm8gY29tcG9uZW50ZSwgTsODTyBtaWdyYXIuXG4udG9waWMtY2hpcCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBtaW4taGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7ICAgICAgICAgICAgICAgICAgICAvLyBwaWxsLCBjb21vIG8gbWF0LWNoaXAgZGVmYXVsdFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbnRlbnQtY29sb3I7XG59XG4iLCIvLyBDYXJkIGRvIHBvcG92ZXIgZG8gdGhyZXNob2xkIGJhbmQgZGEgY29sdW5hIFNwYW4gKExpc3RhIGRlIFN1Ym1pc3PDtWVzKS5cbi8vXG4vLyBHTE9CQUwgZGUgcHJvcMOzc2l0byAobsOjbyBubyBzY3NzIGRvIGNvbXBvbmVudGUpLiBPIHBvcG92ZXIgw6kgcG9ydGFkbyBwcm8gPGJvZHk+IGUgYVxuLy8gdGFiZWxhIChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12Mikgw6kgVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQ6IHVtYSByZWdyYVxuLy8gYC5kYXJrLXRoZW1lIC5zcGFuLXRocmVzaG9sZC1wb3BgIGVzY3JpdGEgbm8gc2NzcyBkbyBjb21wb25lbnRlIGNvbXBpbGEgY29tb1xuLy8gYC5kYXJrLXRoZW1lW19uZ2NvbnRlbnQteF0gLnNwYW4tdGhyZXNob2xkLXBvcFtfbmdjb250ZW50LXhdYCDigJQgZSBjb21vIGEgY2xhc3NlXG4vLyBgZGFyay10aGVtZWAgbW9yYSBubyA8Ym9keT4gKHF1ZSBOw4NPIHRlbSBvIGF0cmlidXRvIF9uZ2NvbnRlbnQpLCBvIHNlbGV0b3IgZGFyayBudW5jYVxuLy8gY2FzYSDihpIgbyBjYXJkIGZpY2F2YSBzZW1wcmUgY2xhcm8sIG1lc21vIGVtIGRhcmsgbW9kZS4gYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYFxuLy8gdGFtYsOpbSBuw6NvIHJlc29sdmUgcG9ycXVlIG8gY2FyZCDDqSBwb3J0YWRvIHByYSBGT1JBIGRvIGhvc3QgZGEgdGFiZWxhLiBTZW1cbi8vIGVuY2Fwc3VsYW1lbnRvIChhcXVpKSwgYC5kYXJrLXRoZW1lIC5zcGFuLXRocmVzaG9sZC1wb3BgIGNhc2EgbyA8Ym9keT4gbm9ybWFsbWVudGUuXG4vLyAobWVtw7NyaWEgZmVlZGJhY2tfYW5ndWxhcl92aWV3X2VuY2Fwc3VsYXRpb24pXG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4uc3Bhbi10aHJlc2hvbGQtcG9wIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7ICAgICAgICAgICAgICAvLyA9ICRjaHJvbWUtcmFkaXVzIChkZSBfdmFyaWFibGVzLCBuw6NvIGltcG9ydGFkbyBhcXVpKVxuICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zMik7XG4gIHBhZGRpbmc6IDEycHggMTRweCA0cHg7ICAgICAgICAgIC8vIGJvdHRvbSBtZW5vcjogbyBiYW5kIGrDoSByZXNlcnZhIDMwcHggcC8gc2V0YXMvdmFsb3Jlc1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMzNzM3MzQ7XG4gIH1cbn1cblxuLmRhcmstdGhlbWUgLnNwYW4tdGhyZXNob2xkLXBvcCB7XG4gIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBib3gtc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcblxuICAuc3Bhbi10aHJlc2hvbGQtcG9wX190aXRsZSB7XG4gICAgY29sb3I6ICRjb250ZW50LWNvbG9yLWRhcms7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBFc3RpbG9zIGRhIG1pbmktdGFiZWxhIGRlIG5vdGFzIChjb2x1bmEgXCJOb3RhcyBpbmRpdmlkdWFpc1wiKS4gR0xPQkFMIHBvcnF1ZSBhZ29yYSBvXG4vLyBDQUJFw4dBTEhPIHZpdmUgbm8gPHRoPiBkbyBwYWkgKHN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIpIGUgYSBDw4lMVUxBIG51bSBjb21wb25lbnRlLWZpbGhvXG4vLyAoYXBwLXNjb3JlLWNlbGwsIE9uUHVzaCkuIERhcmsgdmlhIGAuZGFyay10aGVtZWAgKGVyYSA6aG9zdC1jb250ZXh0IG5vIGNvbXBvbmVudGUgRW11bGF0ZWQpLlxuXG4vLyBQRVJGIGRlIHJlc2l6ZS9zY3JvbGw6IGBjb250ZW50LXZpc2liaWxpdHk6IGF1dG9gIGZheiBvIGJyb3dzZXIgUFVMQVIgbyBsYXlvdXQvcGFpbnQgZGFzXG4vLyBtaW5pLXRhYmVsYXMgcXVlIGVzdMOjbyBGT1JBIGRhIHZpZXdwb3J0LiBTZW0gaXN0bywgYSB0YWJlbGEgKGxheW91dCBhdXRvbcOhdGljbykgcmUtbWVkaWEgYXNcbi8vIH4xOTQgbWluaS10YWJlbGFzIGRlIG5vdGFzIGEgY2FkYSBldmVudG8gZGUgcmVzaXplIOKGkiByZWFycmFuam8gbGVudG8uIENvbSBpc3RvLCBzw7MgYXMgdmlzw612ZWlzXG4vLyBzw6NvIG1lZGlkYXMvcGludGFkYXMuIEEgbGFyZ3VyYSDDqSBFU1TDgVZFTCAodG9kYXMgYXMgbWluaS10YWJlbGFzIHTDqm0gYSBtZXNtYSBsYXJndXJhIGZpeGEpLCBlbnTDo29cbi8vIGEgY29sdW5hIG7Do28gXCJwdWxhXCI7IGEgYWx0dXJhIGRhcyBmb3JhIGRhIHRlbGEgdXNhIGEgZXN0aW1hdGl2YSBgYXV0b2AgKGxlbWJyYWRhIGFww7NzIGEgMcKqXG4vLyByZW5kZXJpemHDp8OjbyBkZSBjYWRhIHVtYSksIHBvZGVuZG8gZGFyIHVtIGxldmUgcmVmbG93IG5vIDHCuiBzY3JvbGwgYXTDqSBzZXJlbSBtZWRpZGFzLlxuYXBwLXNjb3JlLWNlbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvO1xuICBjb250YWluLWludHJpbnNpYy1zaXplOiBhdXRvIDQwMHB4IGF1dG8gNzJweDsgICAvLyBmYWxsYmFjayBzw7MgYXTDqSBjYWRhIGPDqWx1bGEgcmVuZGVyaXphciAxw5dcbiAgLy8gY29udGVudC12aXNpYmlsaXR5IGVtYnV0ZSBQQUlOVCBjb250YWlubWVudCAocmVjb3J0YSBhbyBib3gsIGNvbW8gb3ZlcmZsb3c6aGlkZGVuKS4gQSBzb21icmFcbiAgLy8gcG9yIGxpbmhhIHByb2pldGEtc2UgfjRweCBwcmEgZm9yYSBkbyBib3ggKGFiYWl4byBkYSDDumx0aW1hIGxpbmhhLCBhY2ltYSBkYSBwcmltZWlyYSkg4oaSIHNlcmlhXG4gIC8vIHJlY29ydGFkYS4gRXN0YSBmb2xnYSB2ZXJ0aWNhbCBkw6EgZXNwYcOnbyBwcmEgc29tYnJhIGNhYmVyIERFTlRSTyBkbyBib3ggZSBuw6NvIHNlciBjb3J0YWRhLlxuICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLnNjb3JlLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHQvLyBzdHJldGNoIG5vcyBkb2lzIGVpeG9zOiBjYWRhIGPDqWx1bGEgUFJFRU5DSEUgYSBsYXJndXJhIEUgYSBBTFRVUkEgZGEgc3VhIMOhcmVhIG5vIGdyaWRcblx0Ly8gKG8gZnVuZG8gY2luemEgY29icmUgYSBjw6lsdWxhIGludGVpcmEsIGluY2x1c2l2ZSBhcyBWQVpJQVMg4oCUIHJldmlzw6NvIGluY29tcGxldGEsIHN0YXR1c1xuXHQvLyBkbyByb2RhcMOpKTsgbyBjb250ZcO6ZG8gw6kgY2VudHJhbGl6YWRvIHBvciBkZW50cm8gKHRleHQtYWxpZ24gKyBsaW5lLWhlaWdodCAvIGZsZXgpLlxuXHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0anVzdGlmeS1pdGVtczogc3RyZXRjaDtcblx0Ly8gTGluaGFzIHNlcGFyYWRhcyBwb3IgMXB4IHRyYW5zcGFyZW50ZSAocm93LWdhcCDihpIgYSBjb3IgZGEgbGluaGEgYXBhcmVjZSBlbnRyZSBlbGFzKTtcblx0Ly8gQ09MVU5BUyBhZGphY2VudGVzIChjb2x1bW4tZ2FwIDApLCBkaXZpZGlkYXMgcG9yIHVtIDo6YmVmb3JlIGRlIDFweCDigJQgTUVTTUEgdMOpY25pY2EgZGFcblx0Ly8gdGFiZWxhIHByaW5jaXBhbCAoYm9yZGVyLXNwYWNpbmcgMCAxcHgpLiBBc3NpbSBvIGNvbnRvcm5vIGRlIGhvdmVyICg6OmFmdGVyIGluc2V0OjApIGZpY2Fcblx0Ly8gY29udMOtbnVvIHBvcnF1ZSBhcyBjw6lsdWxhcyBzZSBUT0NBTSAoc2VtIGdhcCBob3Jpem9udGFsIHAvIGNvcnRhciBhIGJvcmRhKS5cblx0cm93LWdhcDogMXB4O1xuXHRjb2x1bW4tZ2FwOiAwO1xuXHRmb250LXNpemU6IDAuNzVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdHdpZHRoOiBtYXgtY29udGVudDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDAgYXV0bztcblxuXHQvLyBDYWRhIExJTkhBIGRhIG1pbmktdGFiZWxhIMOpIHVtIFwicGlsbFwiIGFycmVkb25kYWRvOiBhIDHCqiBjw6lsdWxhIGRhIGxpbmhhIGFycmVkb25kYSDDoFxuXHQvLyBlc3F1ZXJkYSAoLnNnLXJsKSBlIGEgw7psdGltYSDDoCBkaXJlaXRhICguc2ctcnIpIOKAlCBtYXJjYWRhcyBubyBIVE1MIHBvcnF1ZSBvIG7CuiBkZVxuXHQvLyBjcml0w6lyaW9zIMOpIHZhcmnDoXZlbCAobsOjbyBkw6EgcHJhIG1pcmFyIHBvciBudGgtY2hpbGQpLlxuXHQuc2ctcmwgeyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfVxuXHQuc2ctcnIgeyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OyB9XG5cblx0Ly8gV3JhcHBlciBkZSBMSU5IQTogY2FpeGEgcmVhbCB2aWEgYHN1YmdyaWRgIChhcyBjw6lsdWxhcyBzZWd1ZW0gYWxpbmhhZGFzIMOgcyBjb2x1bmFzIGRvIGdyaWRcblx0Ly8gcGFpKSwgcHJhIGEgbGluaGEgdGVyIGNhaXhhIHByw7NwcmlhIGUgYWNlaXRhciB1bSBib3gtc2hhZG93IFBPUiBMSU5IQS4gUGVybWl0ZSBvIDpob3ZlciBuYVxuXHQvLyBsaW5oYSBpbnRlaXJhLiBTw7MgY29ycG8vcm9kYXDDqS5cblx0LnNnLXJvdyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogc3ViZ3JpZDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHQvLyBBbHR1cmEgdW5pZm9ybWUgPSDDrWNvbmUgZGUgc3RhdHVzICgxNnB4KSArIDFweCBhY2ltYSArIDFweCBhYmFpeG8uIFNlbSBpc3RvLCBhIGxpbmhhXG5cdFx0Ly8gXCJjb252aWRhZG9cIiAoc8OzIMOtY29uZSwgc2VtIG7Dum1lcm9zKSBmaWNhIG1lbm9yIHF1ZSBhcyBsaW5oYXMgY29tIHRleHRvLiBPIHBpbGwgKDE2cHgpXG5cdFx0Ly8gY2VudHJhbGl6YWRvIG5hIGPDqWx1bGEgZXN0aWNhZGEgZ2FyYW50ZSBvIDFweCBkZSBmb2xnYSBlbSBjaW1hIGUgZW1iYWl4by5cblx0XHRtaW4taGVpZ2h0OiAxOHB4O1xuXHR9XG5cblx0Ly8gQ29tIFwiQ29sb3JpciBsaW5oYXMgY29tIHN0YXR1c1wiIExJR0FETywgY2FkYSBDw4lMVUxBIMOpIGNpbnphIChjb250cmFzdGUgY29udHJhIGEgbGluaGFcblx0Ly8gY29sb3JpZGEpLiBDb20gbyB0b2dnbGUgREVTTElHQURPLCBhIGxpbmhhIChgdHIubm8tc3RhdHVzLWNvbG9yYCkgw6kgYnJhbmNhIOKGkiBhIG1pbmktdGFiZWxhXG5cdC8vIGFjb21wYW5oYSBlIGZpY2EgYnJhbmNhIChvdmVycmlkZSBsb2dvIGFiYWl4bykuIEFzIGPDqWx1bGFzIHZpdmVtIHNvYiAuc2ctcm93IChjb3Jwby9yb2RhcMOpKTtcblx0Ly8gbyBjYWJlw6dhbGhvICguc2NvcmUtZ3JpZC1oZWFkKSBmaWNhIGRlIGZvcmEuIGBwb3NpdGlvbjpyZWxhdGl2ZWAgYW5jb3JhIG8gOjphZnRlciBkbyBjb250b3Juby5cblx0Jjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdyA+ICoge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LmRhcmstdGhlbWUgJiB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazsgfVxuXG5cdFx0Ly8gQ29udG9ybm8gZGUgaG92ZXIg4oCUIE1FU01BIHTDqWNuaWNhIGRhIHRhYmVsYSBwcmluY2lwYWw6IDo6YWZ0ZXIgY29tIGJvcmRhIHRvcC9ib3R0b20gZW1cblx0XHQvLyB0b2RhIGPDqWx1bGEgKGxlZnQgbmEgMcKqIC5zZy1ybCwgcmlnaHQgbmEgw7psdGltYSAuc2ctcnIpLCB0cmFuc3BhcmVudGUgcG9yIHBhZHLDo28uXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRpbnNldDogMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Ly8gU2VwYXJhZG9yIGRlIENPTFVOQSAoOjpiZWZvcmUpLCBjb21vIG5hIHRhYmVsYSBwcmluY2lwYWw6IGxpbmhhIDFweCDDoCBkaXJlaXRhIGRlIGNhZGFcblx0XHQvLyBjw6lsdWxhIChtZW5vcyBhIMO6bHRpbWEgLnNnLXJyKS4gRmljYSBBQkFJWE8gZG8gOjphZnRlciDihpIgbyBjb250b3JubyBkZSBob3ZlciBwYXNzYSBwb3IgY2ltYS5cblx0XHQmOm5vdCguc2ctcnIpOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHQuZGFyay10aGVtZSAmIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG5cdFx0fVxuXHRcdCYuc2ctcmw6OmFmdGVyIHsgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXHRcdCYuc2ctcnI6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblx0fVxuXG5cdC8vIFwiQ29sb3JpciBsaW5oYXMgY29tIHN0YXR1c1wiIERFU0xJR0FETyAoYW5jZXN0cmFsIGB0ci5uby1zdGF0dXMtY29sb3JgKTogbm8gdGVtYSBjbGFybyBhIGxpbmhhXG5cdC8vIMOpIGJyYW5jYSwgZW50w6NvIGEgbWluaS10YWJlbGEgYWNvbXBhbmhhIOKAlCBjw6lsdWxhcyBicmFuY2FzIGVtIHZleiBkbyBjaW56YSBkZSBjb250cmFzdGUuIEZpY2Fcblx0Ly8gQU5URVMgZG8gYmxvY28gZGUgaG92ZXIgcHJhIG8gaG92ZXIgKG1lc21hIGVzcGVjaWZpY2lkYWRlLCBvcmRlbSBkZSBmb250ZSkgY29udGludWFyIHZlbmNlbmRvLlxuXHQvLyBObyBkYXJrLCBhcyBsaW5oYXMgXCJzZW0gc3RhdHVzXCIgc8OjbyBwbGFuYXMgZXNjdXJhcyDihpIgbWFudGVtb3MgbyBmdW5kbyBlc2N1cm8gZGFzIGPDqWx1bGFzLlxuXHQubm8tc3RhdHVzLWNvbG9yICY6bm90KC5zY29yZS1ncmlkLWhlYWQpIC5zZy1yb3cgPiAqIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdC5kYXJrLXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7IH1cblx0fVxuXG5cdC8vIFNvbWJyYSBQT1IgTElOSEEgKG5hIGNhaXhhIC5zZy1yb3cpLCBub3MgUVVBVFJPIGxhZG9zIOKAlCBTRU1QUkUsIGluZGVwZW5kZW50ZSBkZSBcIkNvbG9yaXIgbGluaGFzXG5cdC8vIGNvbSBzdGF0dXNcIi4gQXDDs3MgbyBmaXggZG8gcGFkZGluZywgYSBjYWl4YSBkYSBsaW5oYSA9PSBjw6lsdWxhcywgZW50w6NvIGEgc29tYnJhIGFicmHDp2EgYSBsaW5oYVxuXHQvLyB0YW50byBjb20gQ29sb3JpciBPRkYgKGPDqWx1bGFzIGJyYW5jYXMpIHF1YW50byBPTiAoY8OpbHVsYXMgY2luemEvY29sb3JpZGFzKSwgc2VtIGRlc2NvbGFyLlxuXHQvLyBEYXJrOiBsaW5oYXMgcGxhbmFzIOKGkiBzZW0gc29tYnJhIChzb21icmEgZXNjdXJhIHNvbWUgbm8gZnVuZG8gZXNjdXJvKS5cblx0Jjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuXHRcdC5kYXJrLXRoZW1lICYgeyBib3gtc2hhZG93OiBub25lOyB9XG5cdH1cblxuXHQvLyBIT1ZFUiBkYSBMSU5IQSAodmlhIC5zZy1yb3cgZGlzcGxheTpjb250ZW50cyk6IGNsYXJlaWEgYXMgY8OpbHVsYXMgKyByZXZlbGEgbyBjb250b3Jub1xuXHQvLyBjaW56YSAocmdiYSAuMjUpIOKAlCBtZXNtbyBkZXN0YXF1ZSBkYXMgbGluaGFzIGRhIHRhYmVsYSBwcmluY2lwYWwuXG5cdCY6bm90KC5zY29yZS1ncmlkLWhlYWQpIC5zZy1yb3c6aG92ZXIgPiAqIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MDtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHR9XG5cdFx0Ji5zZy1ybDo6YWZ0ZXIgeyBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXHRcdCYuc2ctcnI6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cdFx0LmRhcmstdGhlbWUgJiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG5cdFx0XHR9XG5cdFx0XHQmLnNnLXJsOjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cdFx0XHQmLnNnLXJyOjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXHRcdH1cblx0fVxuXG5cdC8vIGA+ICo6bm90KC5zZy1yb3cpYCA9IGZpbGhvcyBkaXJldG9zIGRvIGdyaWQgUVVFIE7Dg08gU8ODTyBsaW5oYSAoYXMgcGlsbHMgZG8gQ0FCRcOHQUxITykuIENvbSBvXG5cdC8vIHN1YmdyaWQsIGFzIGAuc2ctcm93YCBzw6NvIGZpbGhhcyBkaXJldGFzIGRvIGAuc2NvcmUtZ3JpZGA7IHNlbSBvIGA6bm90KC5zZy1yb3cpYCwgZXNzZSBwYWRkaW5nXG5cdC8vIGNhw61hIE5BIExJTkhBLCBkZWl4YW5kbyBhIGNhaXhhIDhweCBtYWlzIGxhcmdhIHF1ZSBhcyBjw6lsdWxhcyAoNHB4L2xhZG8pIOKGkiBicmFuY28vc29tYnJhIGFsw6ltXG5cdC8vIGRhcyBjw6lsdWxhcyBlIGJvcmRhIGRlIGhvdmVyIFwicGFyYSBkZW50cm9cIi4gTyBwYWRkaW5nIHJlYWwgZGFzIGPDqWx1bGFzIHZlbSBwb3IgYC5zZy1yb3cgPiAqYC5cblx0PiAqOm5vdCguc2ctcm93KSwgLnNnLXJvdyA+ICoge1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMCA0cHg7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAvLyBjb250ZcO6ZG8gY2VudHJhbGl6YWRvIG5hIGPDqWx1bGEgZXN0aWNhZGFcblx0fVxuXG5cdC8vIFJldmlzb3I6IGFsaW5oYWRvIMOgIGVzcXVlcmRhICjDqSBhIGNvbHVuYSBcImxhcmdhXCIvZmxleMOtdmVsKS5cblx0LnNnLXJldmlld2VyIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0Ly8gQ8OpbHVsYSBkbyBzdGF0dXM6IGZpY2EgY2luemEgKHZpYSBgPiAqYCkgZSBjZW50cmFsaXphIG8gcGlsbCBwZXF1ZW5vIHBvciBkZW50cm8uXG5cdC5zZy1zdGF0dXMtY2VsbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0YSB7IGNvbG9yOiBpbmhlcml0OyB9XG5cdC5zZy1oaWRkZW4tZXllIHsgZm9udC1zaXplOiAxMnB4OyBkaXNwbGF5OiBpbmxpbmU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuXHQvLyBTdGF0dXMgZGUgY2FkYSByZXZpc8OjbzogUElMTCBzw7MgY29tIMOtY29uZSAodGV4dG8gdmFpIHBybyB0b29sdGlwKS4gQ29yZXMgPSBtZXNtYXMgZG9cblx0Ly8gY2hpcCBkZSByZXZpc8OjbyAobWFwYSAkcmV2aWV3LXN0YXR1czogYmcgY2xhcm8gKyBib3JkYS/DrWNvbmUgZXNjdXJvcyBwLyBjb250cmFzdGUpLFxuXHQvLyB2aWEgQGVhY2ggbG9jYWwgKG8gbWl4aW4gcmV2aWV3LWNoaXAtY29sb3JzIHZpdmUgbnVtIHBhcnRpYWwgbsOjbyBpbXBvcnRhZG8gYXF1aSkuXG5cdC5zZy1zdGF0dXMge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Ly8gUXVhZHJhZG86IGxhcmd1cmEgPSBhbHR1cmEgZml4YXMgKHNlbSBwYWRkaW5nIGhvcml6b250YWwsIHF1ZSBkZWl4YXZhIHJldGFuZ3VsYXIpLlxuXHRcdHdpZHRoOiAxNnB4O1xuXHRcdGhlaWdodDogMTZweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdG1hdC1pY29uIHtcblx0XHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdFx0d2lkdGg6IDlweDtcblx0XHRcdGhlaWdodDogOXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDlweDtcblx0XHR9XG5cblx0XHRAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkcmV2aWV3LXN0YXR1cyB7XG5cdFx0XHQmLiN7JHN0YXR1c30ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7XG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTtcblx0XHRcdFx0bWF0LWljb24geyBjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7IH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBMaW5oYSBkZSBtw6lkaWFzOiBkZXN0YWNhZGEgc8OzIHBlbG8gcGVzbyBkYSBmb250ZS4gSsOhIMOpIHNlcGFyYWRhIGRhcyByZXZpc8O1ZXMgcGVsbyBnYXBcblx0Ly8gZGUgMXB4IHRyYW5zcGFyZW50ZSDigJQgc2VtIGZpbGV0ZS9ib3JkYSAoZXJhIHJlc3F1w61jaW8gZG8gZXN0aWxvIGFudGlnbywgdmlyYXZhIHVtYVxuXHQvLyBsaW5oYSBlc2N1cmEgcG9yIGPDqWx1bGEpLlxuXHQuc2ctZm9vdCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdC8vIFLDs3R1bG8gXCJBdmcuXCIgKDHCqiBjw6lsdWxhIGRvIHJvZGFww6kpOiBhbGluaGFkbyDDoCBESVJFSVRBIOKAlCBlbmNvc3RhIG5vcyB2YWxvcmVzIGRhc1xuXHQvLyBjb2x1bmFzIGRlIG5vdGEsIG1vc3RyYW5kbyBvdSBuw6NvIGEgY29sdW5hIFJldmlzb3IgKGVsYSDDqSBhYnNvcnZpZGEgcG9yIHNwYW49MiBubyBIVE1MKS5cblx0LnNnLWZvb3Quc2ctcmwge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG59XG5cbi8vIENhYmXDp2FsaG8gZG8gZ3JpZCAobWlncmFkbyBwcmEgbGluaGEgZGUgdMOtdHVsb3MpOiBzZW0gZnVuZG8gYnJhbmNvIGF0csOhcyAoZmljYSBzb2JyZSBhXG4vLyBiYXJyYSBkZSB0w610dWxvcyksIGVudMOjbyB1c2EgYSBjb3IgZGUgdMOtdHVsbyB0aGVtZS1hd2FyZSBlIGRlaXhhIG9zIHLDs3R1bG9zIHF1ZWJyYXJlbVxuLy8gbGluaGEgKGVtIHZleiBkZSBjb3J0YXIpLCBqw6EgcXVlIGEgY29sdW5hIMOpIGVzdHJlaXRhLlxuLnNjb3JlLWdyaWQuc2NvcmUtZ3JpZC1oZWFkIHtcblx0Ly8gQm90dG9tLWFsaW5oYSBvcyB0w610dWxvcyBkYXMgY29sdW5hcyBkZSByZXZpc8OjbyBuYSBiYXNlIGRvIGdyaWQgKHF1ZSBqw6EgZmljYSBuYSBiYXNlXG5cdC8vIGRvIGB0aGAgdmlhIHZlcnRpY2FsLWFsaWduOiBib3R0b20pIOKGkiB0b2RvcyBvcyB0w610dWxvcywgbWVzbW8gb3MgcXVlIHF1ZWJyYW0gZW0gdsOhcmlhc1xuXHQvLyBsaW5oYXMsIGVuY29zdGFtIG5hIGJhc2UgZSBmaWNhbSBuYSBNRVNNQSBsaW5oYSBkb3MgZGVtYWlzIHTDrXR1bG9zIGRlIGNvbHVuYSBkYSB0YWJlbGEuXG5cdGFsaWduLWl0ZW1zOiBlbmQ7XG5cblx0PiAqIHtcblx0XHRjb2xvcjogJHRhYmxlLWhlYWRlci1jb2xvcjtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0dGV4dC1vdmVyZmxvdzogY2xpcDtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cdC5kYXJrLXRoZW1lICYgPiAqIHsgY29sb3I6ICR0YWJsZS1oZWFkZXItY29sb3ItZGFyazsgfVxuXG5cdC8vIENhYmXDp2FsaG8gZGUgY3JpdMOpcmlvOiBzw7MgYSBJTklDSUFMIG51bSBwaWxsIGNpbnphIChkZXNjcmnDp8OjbyBjb21wbGV0YSBubyB0b29sdGlwKSxcblx0Ly8gZW0gdmV6IGRvIHLDs3R1bG8gaW50ZWlyby4gQSBjw6lsdWxhIGRvIGdyaWQgc8OzIGNlbnRyYS9ib3R0b20tYWxpbmhhIG8gcGlsbC5cblx0LnNnLWNyaXQtaGVhZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblx0LnNnLWNyaXQtcGlsbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4td2lkdGg6IDEuMjVyZW07XG5cdFx0aGVpZ2h0OiAxLjI1cmVtO1xuXHRcdHBhZGRpbmc6IDAgNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDA7XG5cdFx0Y29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHR9XG5cdC5kYXJrLXRoZW1lICYgLnNnLWNyaXQtcGlsbCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcblx0XHRjb2xvcjogJGNvbnRlbnQtY29sb3ItZGFyaztcblx0fVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEacOhbG9nb3MgKG1hdC1kaWFsb2cpXG4vL1xuLy8gYG15LWN1c3RvbS1kaWFsb2ctY2xhc3NgIMOpIHVtIGBwYW5lbENsYXNzYCB1c2FkbyBwb3IgdsOhcmlvcyBjb21wb25lbnRlc1xuLy8gKHBhcGVyLWluZm8sIGRlbGV0ZWQtc3VibWlzc2lvbnMsIHBhcGVyLXJldmlldy1hY3Rpb25zLCBldmVudC1wdWJsaWNhdGlvbixcbi8vIGRpw6Fsb2dvcyBkZSBzZXNzw6NvIGRhIFZpc8OjbyBkZSBDYWxlbmTDoXJpb+KApikuIEEgcmVncmEgdml2aWEgbnVtIGA6Om5nLWRlZXBgXG4vLyBzZW0gYDpob3N0YCBkZW50cm8gZG8gU0NTUyBkYSBWaXPDo28gZGUgQ2FsZW5kw6FyaW8g4oCUIG91IHNlamEsIHPDsyBleGlzdGlhXG4vLyBlbnF1YW50byBhcXVlbGUgY29tcG9uZW50ZSBlc3RpdmVzc2UgbmEgdGVsYS4gQ29tbyBvIHBhaW5lbCBkbyBkacOhbG9nbyDDqVxuLy8gcmVuZGVyaXphZG8gbm8gb3ZlcmxheSAoZm9yYSBkZSBxdWFscXVlciBjb21wb25lbnRlKSwgbyBsdWdhciBkZWxhIMOpIGFxdWkuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm15LWN1c3RvbS1kaWFsb2ctY2xhc3Mge1xuICBtYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGnDoWxvZ28gZGUgc2Vzc8OjbyAoVmlzw6NvIGRlIENhbGVuZMOhcmlvKTogZnVuZG8gQlJBTkNPLiBPIGNpbnphIGNsYXJvIGRvc1xuLy8gbWVudXMgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCkgw6kgYSBjb3IgZG8gUEFJTkVMIGRhcyBhYmFzIOKAlCBxdWUgw6kgb1xuLy8gZGVmYXVsdCBkbyBgYXBwLWNoYWlyLXRhYnNgIOKAlCwgZW50w6NvIG8gbW9kYWwgcHJlY2lzYSBjb250cmFzdGFyIGNvbSBlbGUuXG4vL1xuLy8gYHBhbmVsQ2xhc3NgIFBSw5NQUklPOiBvIGBteS1jdXN0b20tZGlhbG9nLWNsYXNzYCDDqSBjb21wYXJ0aWxoYWRvIGNvbSBvdXRyb3Ncbi8vIGRpw6Fsb2dvcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2Vzc2lvbi1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG59XG5cbi5kYXJrLXRoZW1lIC5zZXNzaW9uLWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FyZCBlbSBBUlJBU1RFIG5hIGFiYSBcIlN1Ym1pc3PDtWVzIFYyXCIgZG8gZGnDoWxvZ28gZGUgc2Vzc8Ojby5cbi8vXG4vLyBSZWdyYSBHTE9CQUwgcG9yIG5lY2Vzc2lkYWRlOiBvIENESyBpbnNlcmUgbyBwcmV2aWV3IG51bSBwb250byBmb3JhIGRvXG4vLyBjb21wb25lbnRlIChgZ2V0UHJldmlld0luc2VydGlvblBvaW50YCDihpIgYm9keS9vdmVybGF5IGNvbnRhaW5lciksIGVudMOjb1xuLy8gYDpob3N0IDo6bmctZGVlcGAgZG8gY29tcG9uZW50ZSBuw6NvIG8gYWxjYW7Dp2EuXG4vL1xuLy8gU2VtIGB0cmFuc2Zvcm1gIGFxdWk6IG8gQ0RLIHVzYSBlc3NhIHByb3ByaWVkYWRlIHBhcmEgcG9zaWNpb25hciBvIHByZXZpZXdcbi8vIHNvYiBvIGN1cnNvcjsgcXVhbHF1ZXIgdmFsb3Igbm9zc28gYnJpZ2FyaWEgY29tIG8gYXJyYXN0ZS5cbi8vXG4vLyBPIGB6LWluZGV4YCBOw4NPIMOpIGRlZmluaWRvIGFxdWk6IG8gQ0RLIG8gZXNjcmV2ZSBJTkxJTkUgbm8gcHJldmlldyAoZGVmYXVsdFxuLy8gMTAwMCksIGUgZXN0aWxvIGlubGluZSB2ZW5jZSByZWdyYSBkZSBjbGFzc2UuIE8gYWp1c3RlIGVzdMOhIG5vIHByb3ZpZGVyXG4vLyBgQ0RLX0RSQUdfQ09ORklHYCBkbyBjb21wb25lbnRlIGRvIGRpw6Fsb2dvIOKAlCBzZW0gZWxlIG8gY2FyZCBmaWNhdmEgYXRyw6FzIGRvXG4vLyBgLmNkay1vdmVybGF5LWNvbnRhaW5lcmAgKGZvcsOnYWRvIGEgMjAxMCBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCkgZSBzdW1pYVxuLy8gZHVyYW50ZSBvIGFycmFzdGUuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQSBnZW9tZXRyaWEgZSBhIFRJUE9HUkFGSUEgSU5URVJOQVMgcHJlY2lzYW0gc2VyIHJlc3RhdGVkIGFxdWk6IG8gY2xvbmUgZmljYVxuLy8gZm9yYSBkbyBlbmNhcHN1bGFtZW50byBkbyBjb21wb25lbnRlLCBlbnTDo28gYXMgcmVncmFzIGA6aG9zdCA6Om5nLWRlZXBgIGRvXG4vLyBkacOhbG9nbyBuw6NvIG8gYWxjYW7Dp2FtIChtZXNtYSBzaXR1YcOnw6NvIGrDoSBkb2N1bWVudGFkYSBwYXJhIG8gcHJldmlldyBkbyBtZW51XG4vLyBsYXRlcmFsIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgKS4gU2VtIGlzdG8sIHTDrXR1bG8gZSBhdXRvcmVzIHNhZW0gY29sYWRvcyBudW1hXG4vLyBsaW5oYSBzw7MsIHNlbSBhIGNvbHVuYSBkbyBgLnN1YnMtdjItYm9keWAuXG4uc3Vicy12Mi1pdGVtLmNkay1kcmFnLXByZXZpZXcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAzcHggMDtcblxuICAvLyBPIGNsb25lIMOpIGNyaWFkbyBhIHBhcnRpciBkbyBjYXJkIHNvYiBvIGN1cnNvciAoZW0gaG92ZXIpLCBlbnTDo28gbyBcInhcIlxuICAvLyB2aXJpYSB2aXPDrXZlbCDigJQgZHVyYW50ZSBvIGFycmFzdGUgYSBhw6fDo28gw6kgcmVvcmRlbmFyLCBuw6NvIHJlbW92ZXIuXG4gIC5zdWJzLXYyLXJlbW92ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAuc3Vicy12Mi1jYXJkIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICAvLyBFbGV2YcOnw6NvIG1haW9yIHF1ZSBhIGRvIGNhcmQgZW0gcmVwb3VzbyDigJQgbyBjYXJkIFwiZGVzY29sYVwiIGRhIGxpc3RhLlxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gIH1cblxuICAvLyBGYW3DrWxpYSBoZXJkYWRhIGRvIDxib2R5PiAoR2Vpc3QpIOKAlCBuw6NvIGZpeGFtb3MgYXF1aSBwb3JxdWUgYCRmb250LWZhbWlseWBcbiAgLy8gbW9yYSBlbSBgX3RoZW1lLnNjc3NgLCBxdWUgZW1pdGUgdW0gdGVtYSBNYXRlcmlhbCBpbnRlaXJvIHNlIGltcG9ydGFkby5cbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgLnN1YnMtdjItb3JkZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxuXG4gIC5zdWJzLXYyLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAuc3Vicy12Mi10aXRsZSxcbiAgLnN1YnMtdjItYXV0aG9ycyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gIC5zdWJzLXYyLXRpdGxlIHsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4gIC5zdWJzLXYyLWF1dGhvcnMge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbn1cblxuLmRhcmstdGhlbWUgLnN1YnMtdjItaXRlbS5jZGstZHJhZy1wcmV2aWV3IHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG5cbiAgLnN1YnMtdjItY2FyZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjU1KTtcbiAgfVxuXG4gIC5zdWJzLXYyLW9yZGVyLFxuICAuc3Vicy12Mi1hdXRob3JzIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbm5lY3RlZCBidXR0b24gZ3JvdXAgKHNlZ21lbnRlZCkg4oCUIEdMT0JBTFxuLy9cbi8vIEZvbnRlIMOaTklDQSBkbyBlc3RpbG8gZGEgcMOtbHVsYS4gQW50ZXMgZXhpc3RpYW0gcXVhdHJvIGPDs3BpYXMgcHJhdGljYW1lbnRlXG4vLyBpZMOqbnRpY2FzOiBgYWRtaW4tZXZlbnRzLXNlZ2AgKGFkbWluL2V2ZW50cyksIGBub3RpZi1zY29wZWBcbi8vIChub3RpZmljYXRpb25zLWNlbnRlciksIGAuc2VnYCAoYXBwLXNlZ21lbnRlZC1jb250cm9sKSBlIG8gZ3J1cG8gZGUgbmF2ZWdhw6fDo29cbi8vIGRhIFZpc8OjbyBkZSBDYWxlbmTDoXJpby4gVmVyIFtbZmVlZGJhY2tfc2VnbWVudGVkX25vdF9zd2l0Y2hdXS5cbi8vXG4vLyBVc286XG4vLyAgIDxkaXYgY2xhc3M9XCJzZWdcIiByb2xlPVwiZ3JvdXBcIj5cbi8vICAgICA8YnV0dG9uIGNsYXNzPVwic2VnLWJ0blwiIFtjbGFzcy5pcy1hY3RpdmVdPVwi4oCmXCI+4oCmPC9idXR0b24+XG4vLyAgIDwvZGl2PlxuLy9cbi8vIGBpcy1hY3RpdmVgIMOpIHPDsyBwYXJhIFNFTEXDh8ODTyBlbnRyZSBvcMOnw7VlcyBleGNsdWRlbnRlcy4gR3J1cG9zIGRlIEHDh8ODT1xuLy8gKGV4LjogQW50ZXJpb3IvSG9qZS9QcsOzeGltbykgdXNhbSBhcyBtZXNtYXMgY2xhc3NlcyBzZW0gYGlzLWFjdGl2ZWAuXG4vL1xuLy8gU2VtIGB0cmFuc2l0aW9uYDogaG92ZXIgbm8gSkVNUzMgw6kgaW5zdGFudMOibmVvICh2ZXIgYGZlZWRiYWNrX25vX2hvdmVyX3RyYW5zaXRpb25gKS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2VnIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWctYnRuIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIHBhZGRpbmc6IDAgMTRweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0NSk7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbi8vIFZhcmlhbnRlIMONQ09ORTogc2VnbWVudG8gY29tIHVtIGdsaWZvIChNYXRlcmlhbCBTeW1ib2wgb3UgU1ZHKSBubyBsdWdhciBkbyB0ZXh0by5cbi8vIE1BSVMgQ09NUEFDVEEgcXVlIGEgdmFyaWFudGUtdGV4dG8g4oCUIG8gw61jb25lICgxOHB4KSBuw6NvIHByZWNpc2EgZGEgbWVzbWEgZm9sZ2Fcbi8vIHF1ZSB1bWEgcGFsYXZyYTogYWx0dXJhIDI0ICh2cyAyOCkgZSBwYWRkaW5nIGxhdGVyYWwgNyAodnMgMTApIGVueHVnYW0gbyBlc3Bhw6dvXG4vLyBBTyBSRURPUiBkbyDDrWNvbmUgc2VtIHRvY2FyIG5vIHRhbWFuaG8gZGVsZS4gTyDDrWNvbmUgaGVyZGEgYSBjb3IgZG8gYm90w6NvXG4vLyAoaW5jbHVpIG8gcmVhbGNlIGRlIGAuaXMtYWN0aXZlYCkuIMOabmljbyB0b2dnbGUtw61jb25lIGRvIGFwcCDDqSBvIGRlIGxheW91dCBkYXNcbi8vIHJldmlzw7VlcywgZW50w6NvIGEgY29tcGFjdGHDp8OjbyBuw6NvIGFmZXRhIG9zIHRvZ2dsZXMgZGUgdGV4dG8uXG4uc2VnLWJ0bi0taWNvbiB7XG4gIGhlaWdodDogMjRweDtcbiAgcGFkZGluZzogMCA3cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLmRhcmstdGhlbWUge1xuICAuc2VnIHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIH1cblxuICAuc2VnLWJ0biB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG5cbiAgICAmOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZhcmlhbnRlIERFU0xJWkFOVEUgKG9wdC1pbiB2aWEgYC5zZWcuaXMtc2xpZGluZ2AgKyBgPHNwYW4gY2xhc3M9XCJzZWctdGh1bWJcIj5gKS5cbi8vXG4vLyBFbSB2ZXogZGUgbyBmdW5kbyBzYWx0YXIgZW50cmUgc2VnbWVudG9zLCB1bSDDmk5JQ08gdGh1bWIgY2luemEgZGVzbGl6YSDigJQgb1xuLy8gc2VnbWVudG8gYXRpdm8gbsOjbyBwaW50YSBvIHByw7NwcmlvIGZ1bmRvLCBxdWVtIHBpbnRhIMOpIG8gdGh1bWIgKHRyYW5zacOnw6NvIHPDs1xuLy8gbm8gYHRyYW5zZm9ybWAsIGVudMOjbyDDqSBvIMO6bmljbyBtb3ZpbWVudG87IGhvdmVyIGNvbnRpbnVhIGluc3RhbnTDom5lbykuXG4vLyBBIGdlb21ldHJpYSB2ZW0gZG8gdGVtcGxhdGU6IGxhcmd1cmEgPSAxIHNlZ21lbnRvLCBgdHJhbnNsYXRlWCgxMDAlIMOXIMOtbmRpY2UpYC5cbi8vIEFzc3VtZSBzZWdtZW50b3MgZGUgbGFyZ3VyYSBpZ3VhbCAodXNvIGF0dWFsOiB0b2dnbGUgZGUgbGF5b3V0IGRhcyByZXZpc8O1ZXMsXG4vLyBzw7Mgw61jb25lcykuIFZlciBbW2ZlZWRiYWNrX3NlZ21lbnRlZF9ub3Rfc3dpdGNoXV0g4oCUIG8gcGFkcsOjbyBzZWd1ZSBpbnN0YW50w6JuZW8uXG4vL1xuLy8gQ29sb2NhZG8gREVQT0lTIGRvIGJsb2NvIGAuZGFyay10aGVtZWAgZGUgcHJvcMOzc2l0bzogYC5zZWcuaXMtc2xpZGluZ1xuLy8gLnNlZy1idG4uaXMtYWN0aXZlYCBlbXBhdGEgZW0gZXNwZWNpZmljaWRhZGUgY29tIGAuZGFyay10aGVtZSAuc2VnLWJ0bi5pcy1hY3RpdmVgLFxuLy8gZW50w6NvIGEgb3JkZW0gZGUgb3JpZ2VtIMOpIHF1ZSBkZWNpZGUgbyBmdW5kbyB0cmFuc3BhcmVudGUgbm9zIGRvaXMgdGVtYXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNlZy5pcy1zbGlkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIMONY29uZXMgYWNpbWEgZG8gdGh1bWI7IG8gYXRpdm8gZGVpeGEgbyB0aHVtYiBzZXIgbyBmdW5kby5cbiAgLnNlZy1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5zZWctYnRuLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLy8gU2VtIHJlYWxjZSBkZSBmdW5kbyBubyBob3ZlcjogbyDDum5pY28gZmVlZGJhY2sgw6kgbyB0aHVtYiBkZXNsaXphbmRvLlxuICAvLyAoMCw0LDApIGUgZGVwb2lzIGRvIGJsb2NvIGAuZGFyay10aGVtZWAg4oaSIHZlbmNlIGEgcmVncmEgZGUgaG92ZXIgZ2xvYmFsXG4gIC8vIG5vcyBkb2lzIHRlbWFzLlxuICAuc2VnLWJ0bjpob3Zlcjpub3QoLmlzLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5zZWctdGh1bWIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICBib3R0b206IDJweDtcbiAgbGVmdDogMnB4O1xuICB6LWluZGV4OiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zICRlYXNlLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kYXJrLXRoZW1lIC5zZWctdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zZWctdGh1bWIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0hJUCBkZSBzdGF0dXMgZGEgU1VCTUlTU8ODTyDigJQgZGVmaW5pw6fDo28gw7puaWNhLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVc2FkbyBlbTpcbi8vICAgLSBGaWx0cm8gZGUgc3RhdHVzIG5vIHBhaW5lbCBkZSBNaW5oYXMgc3VibWlzc8O1ZXNcbi8vICAgICAoYHN1Ym1pc3Npb25zLmNvbXBvbmVudC5zY3NzID4gbGFiZWwgc3BhbmApXG4vLyAgIC0gUMOtbHVsYSBkZSBzdGF0dXMgZGEgc3VibWlzc8OjbyBubyBub3ZvIGNhcmQgZGUgTWluaGFzIHN1Ym1pc3PDtWVzXG4vLyAgICAgKGBzdWJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyA+IC5zbmMtc3RhdHVzYClcbi8vXG4vLyBPIGNoaXAgZGUgUkVWSVPDg08gKHJhZGl1cyAzcHgsIGxpZ2h0ZW4vZGFya2VuKSB0ZW0gaWRlbnRpZGFkZSB2aXN1YWxcbi8vIGRpc3RpbnRhIGUgZmljYSBlbSBgcmV2aWV3cy5jb21wb25lbnQuc2Nzc2Ag4oCUIE7Dg08gbWlncmFyIHByYSBjw6EuXG5cbi8vIC0tLS0gVG9rZW5zIGdlb23DqXRyaWNvcyAvIHRpcG9ncsOhZmljb3MgLS0tLVxuJHN1Ym1pc3Npb24tY2hpcC13aWR0aDogICAgICAgICA5NnB4OyAgIC8vIGVyYSAxMDRweCDigJQgZm9sZ2EgcmVkdXppZGEgKMOtY29uZSBNYXRlcmlhbCBtYWlzIGp1c3RvKVxuJHN1Ym1pc3Npb24tY2hpcC1oZWlnaHQ6ICAgICAgICAyMnB4OyAgIC8vIGVyYSAyMHB4IOKAlCArcmVzcGlybyBwLyBvIHRyaWdnZXIgY2xpY8OhdmVsIGUgbyDDrWNvbmUgcHJlZW5jaGlkb1xuJHN1Ym1pc3Npb24tY2hpcC1yYWRpdXM6ICAgICAgICA5OTlweDtcbiRzdWJtaXNzaW9uLWNoaXAtcGFkZGluZzogICAgICAgMCA4cHg7ICAvLyBlcmEgMCAxMHB4XG4kc3VibWlzc2lvbi1jaGlwLWdhcDogICAgICAgICAgIDVweDtcbiRzdWJtaXNzaW9uLWNoaXAtZm9udC1zaXplOiAgICAgMTFweDtcbiRzdWJtaXNzaW9uLWNoaXAtZm9udC13ZWlnaHQ6ICAgNTAwO1xuJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU6ICAgICAxM3B4O1xuJHN1Ym1pc3Npb24tY2hpcC1zaGFkb3c6ICAgICAgICAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjU1KTsgLy8gb2Zmc2V0LXggMXB44oaSMDogc29tYnJhIDFweCDDoCBlc3F1ZXJkYVxuXG4vLyBSZWxldm8gXCJlbWJvc3NlZFwiIHZpYSBJTlNFVCBTSEFET1dTIChuw6NvIGJvcmRlcnMgMXB4IGVtIDQgbGFkb3MpLiBPXG4vLyBhcHByb2FjaCBhbnRlcmlvciDigJQgYm9yZGVyLXRvcC8tbGVmdCBjbGFyYXMgKyBib3JkZXItcmlnaHQvLWJvdHRvbVxuLy8gZXNjdXJhcyDigJQgcHJvZHV6aWEgdW1hIGVtZW5kYSBkaWFnb25hbCBkdXJhIG5vcyBjYW50b3MgKGpvaW4gbWl0ZXIgZG9cbi8vIENTUykuIEluc2V0IHNoYWRvd3MgY29tIHBlcXVlbm8gYGJsdXJgIGRpc3RyaWJ1ZW0gYSBsdXovc29tYnJhIHBvclxuLy8gYWxndW5zIHBpeGVscywgZSBhcyBkdWFzIGNhbWFkYXMgc2UgYXRlbnVhbSBtdXR1YW1lbnRlIG5vcyBjYW50b3M6XG4vLyBvIGVuY29udHJvIGVudHJlIFwibHV6IGRvIHRvcG8tZXNxdWVyZGFcIiBlIFwic29tYnJhIGRvIGluZmVyaW9yLWRpcmVpdGFcIlxuLy8gdmlyYSB1bWEgdHJhbnNpw6fDo28gc3VhdmUsIHJlc3BlaXRhbmRvIG8gYm9yZGVyLXJhZGl1cy5cbi8vXG4vLyBDYW1hZGFzOlxuLy8gICDigKIgaW5zZXQgICt4ICt5IOKAlCBsdXogdmluZG8gZG8gdG9wby1lc3F1ZXJkYVxuLy8gICDigKIgaW5zZXQgIC14IC15IOKAlCBzb21icmEgdmluZG8gZG8gaW5mZXJpb3ItZGlyZWl0YVxuLy8gTyBgYmx1ciDiiYggMC43NXB4YCDDqSBvIG3DrW5pbW8gcXVlIHByb2R1eiBvIGZhZGUgbm9zIGNhbnRvcyBzZW0gXCJ2YXphclwiXG4vLyBwcm8gbWlvbG8gZG8gY2hpcCAocXVlIMOpIGNvciBjaGVpYSkuXG4kc3VibWlzc2lvbi1jaGlwLXJlbGllZjpcbiAgICBpbnNldCAgMXB4ICAxcHggMC43NXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSksXG4gICAgaW5zZXQgLTFweCAtMXB4IDAuNzVweCByZ2JhKDAsIDAsIDAsIDAuMjApO1xuXG4vLyAtLS0tIE1peGluOiBnZW9tZXRyaWEgZG8gcGlsbCAtLS0tXG4vLyBgJGltcG9ydGFudGA6IHRydWUg4oaSIGFkaWNpb25hIGAhaW1wb3J0YW50YCBlbSBjYWRhIHByb3AgKG5lY2Vzc8OhcmlvIG5vXG4vLyBmaWx0cm8gcHJhIHNvYnJlc2NyZXZlciBkZWZhdWx0cyBkbyBNYXRlcmlhbC9CdWxtYTsgZmFsc28gcG9yIGRlZmF1bHRcbi8vIHBybyB1c28gZm9yYSBkbyBmaWx0cm8pLlxuQG1peGluIHN1Ym1pc3Npb24tY2hpcC1nZW9tZXRyeSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogJHN1Ym1pc3Npb24tY2hpcC1nYXA7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWhlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAkc3VibWlzc2lvbi1jaGlwLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgLy8gU2VtIGJvcmRlciAxcHggZW0gNCBsYWRvcyDigJQgbyByZWxldm8gdmVtIGRvcyBpbnNldCBzaGFkb3dzIGFiYWl4b1xuICAgICAgICAvLyAodHJhbnNpw6fDo28gc3VhdmUgbm9zIGNhbnRvczsgdmVyIGNvbWVudMOhcmlvIG5vIHRva2VuIGRvIHJlbGllZikuXG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3VibWlzc2lvbi1jaGlwLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAkc3VibWlzc2lvbi1jaGlwLXJlbGllZiwgJHN1Ym1pc3Npb24tY2hpcC1zaGFkb3cgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAkc3VibWlzc2lvbi1jaGlwLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1mb250LXdlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkc3VibWlzc2lvbi1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkc3VibWlzc2lvbi1jaGlwLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHN1Ym1pc3Npb24tY2hpcC1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWJtaXNzaW9uLWNoaXAtcmVsaWVmLCAkc3VibWlzc2lvbi1jaGlwLXNoYWRvdztcbiAgICAgICAgZm9udC1zaXplOiAkc3VibWlzc2lvbi1jaGlwLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0gTWl4aW46IMOtY29uZSBpbnRlcm5vIChNYXRlcmlhbCBmb250IGljb24pIC0tLS1cbi8vIE9zIMOtY29uZXMgZGUgc3RhdHVzIHPDo28gTWF0ZXJpYWwgU3ltYm9scyBQUkVFTkNISURPUyAoRklMTCAxKSDigJQgY29tYmluYW0gY29tIG9cbi8vIHZpc3VhbCBzw7NsaWRvIGRvIGNoaXAuIEEgZm9udGUgw6kgdmFyacOhdmVsIGVtIEZJTEwgMC4uMSAodmVyIF9mb250cy1sb2NhbC5zY3NzKS5cbkBtaXhpbiBzdWJtaXNzaW9uLWNoaXAtaWNvbigkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgZm9udC1zaXplOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDAsICdGSUxMJyAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplO1xuICAgICAgICB3aWR0aDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0hJUCBkZSBzdGF0dXMgZGEgUkVWSVPDg08g4oCUIGdlb21ldHJpYSBlIGNvcmVzIHZpYSBtaXhpbnMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzYWRvIGVtOlxuLy8gICAtIEZpbHRybyBkZSBzdGF0dXMgbm8gcGFpbmVsIGRlIE1pbmhhcyByZXZpc8O1ZXMgKGByZXZpZXdzLmNvbXBvbmVudC5zY3NzXG4vLyAgICAgPiBsYWJlbCBzcGFuYCBkZW50cm8gZGEgc2XDp8OjbyBkZSByZXZpc8OjbykuXG4vLyAgIC0gUGlsbCBgLmN2LWViLXN0YXR1c2AgKGUgdmFyaWFudGUgYC5jdi1lYi1zdGF0dXMtaWNvbi1vbmx5YCkgbm8gbm92b1xuLy8gICAgIGNhcmQgZGUgTWluaGFzIHJldmlzw7Vlcy5cbi8vXG4vLyBEaWZlcmVuw6dhcyB2cyBzdWJtaXNzaW9uLWNoaXA6XG4vLyAgIC0gUmV0w6JuZ3VsbyBhcnJlZG9uZGFkbyAocmFkaXVzIDNweCksIG7Do28gcGlsbCBwbGVubyAoOTk5cHgpLlxuLy8gICAtIENvcmVzIGRlcml2YWRhcyAobGlnaHRlbi9kYXJrZW4pIGVtIHZleiBkZSBjb3IgY2hlaWEuXG4vLyAgIC0gQm9yZGVyIGV4cGzDrWNpdG8gKDFweCkg4oCUIHN1Ym1pc3PDo28gdXNhIGJvcmRlcjogMC5cblxuJHJldmlldy1jaGlwLXdpZHRoOiAgICAgICAgIDE0NHB4O1xuJHJldmlldy1jaGlwLWhlaWdodDogICAgICAgIDIwcHg7XG4kcmV2aWV3LWNoaXAtcmFkaXVzOiAgICAgICAgM3B4O1xuJHJldmlldy1jaGlwLXBhZGRpbmc6ICAgICAgIDAgMTBweDtcbiRyZXZpZXctY2hpcC1nYXA6ICAgICAgICAgICA1cHg7XG4kcmV2aWV3LWNoaXAtZm9udC1zaXplOiAgICAgMTFweDtcbiRyZXZpZXctY2hpcC1mb250LXdlaWdodDogICA1MDA7XG4kcmV2aWV3LWNoaXAtaWNvbi1zaXplOiAgICAgMTNweDtcblxuLy8gLS0tLSBNaXhpbjogZ2VvbWV0cmlhIGRvIGNoaXAgcmV0YW5ndWxhciBkZSByZXZpc8OjbyAtLS0tXG5AbWl4aW4gcmV2aWV3LWNoaXAtZ2VvbWV0cnkoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6ICRyZXZpZXctY2hpcC1nYXA7XG4gICAgICAgIHdpZHRoOiAkcmV2aWV3LWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogJHJldmlldy1jaGlwLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJHJldmlldy1jaGlwLWhlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3LWNoaXAtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmV2aWV3LWNoaXAtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlldy1jaGlwLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlldy1jaGlwLWZvbnQtd2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRyZXZpZXctY2hpcC1nYXA7XG4gICAgICAgIHdpZHRoOiAkcmV2aWV3LWNoaXAtd2lkdGg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmV2aWV3LWNoaXAtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHJldmlldy1jaGlwLWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHJldmlldy1jaGlwLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyZXZpZXctY2hpcC1yYWRpdXM7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlldy1jaGlwLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZXZpZXctY2hpcC1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLSBNaXhpbjogw61jb25lIGludGVybm8gKE1hdGVyaWFsIGZvbnQgaWNvbikgLS0tLVxuQG1peGluIHJldmlldy1jaGlwLWljb24oJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRyZXZpZXctY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRyZXZpZXctY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRyZXZpZXctY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLSBNaXhpbjogY29yZXMgcGVyLXN0YXR1cyAocmV2aXPDo28pIC0tLS1cbi8vIGJnID0gbGlnaHRlbihudGgoMSksIDIwJSksIGJvcmRlci90ZXh0byA9IGRhcmtlbihudGgoMSksIDQwJSkg4oCUIDQwJVxuLy8gZ2FyYW50ZSBjb250cmFzdGUgV0NBRyA0LjU6MSBtZXNtbyBlbSBjaGlwcyBjbGFyb3MgKGFtYXJlbG8vY2luemEpLlxuQG1peGluIHJldmlldy1jaGlwLWNvbG9ycygkc3RhdHVzLWxpc3QsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAoU1VCTUlTU0lPTikgTWl4aW46IGNvcmVzIHBlci1zdGF0dXMg4oCUIGNvciBjaGVpYSAoYmc9bnRoMSkuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGJnID0gbnRoKDEpIChjb3IgY2hlaWEpLCB0ZXh0byA9IG50aCgyKSwgw61jb25lID0gbnRoKDMpLlxuLy8gRXNwZXJhIHNlciBjaGFtYWRvIERFTlRSTyBkZSB1bSBzZWxldG9yIChnZXJhIGAmLnBlbmRpbmdgLCBldGMuKS5cbkBtaXhpbiBzdWJtaXNzaW9uLWNoaXAtY29sb3JzKCRzdGF0dXMtbGlzdCwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7bnRoKCRjb250ZW50LCAxKX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDIpfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gYC5pY29uYCBjb2JyZSBvIMOtY29uZS1nbGlmbyBkbyBub3ZvIHNlbGV0b3IgKHNwYW4uaWNvbik7IGAubWF0LWljb25gIG8gZG8gYXR1YWwuXG4gICAgICAgICAgICAmLiN7JHN0YXR1c30gLm1hdC1pY29uLFxuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IC5pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDMpfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbnRoKCRjb250ZW50LCAxKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbnRoKCRjb250ZW50LCAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAubWF0LWljb24sXG4gICAgICAgICAgICAmLiN7JHN0YXR1c30gLmljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBudGgoJGNvbnRlbnQsIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0xBU1NFUyBVVElMSVTDgVJJQVMgR0xPQkFJUyDigJQgY2hpcCBkZSBzdGF0dXMgcHJvbnRvIHByYSB1c29cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXBsaXF1ZSBkaXJldG8gbm8gbWFya3VwIChzZW0gcHJlY2lzYXIgYEBpbmNsdWRlYCBubyBTQ1NTIGxvY2FsIGRvXG4vLyBjb21wb25lbnRlKS4gU3Vic3RpdHVpIG8gcGFkcsOjbyBhbnRpZ28gYC5zbmMtc3RhdHVzYCAvIGAuY3YtZWItc3RhdHVzYFxuLy8gcXVlIHRpbmhhIHF1ZSBzZXIgcmVkZWNsYXJhZG8gZW0gY2FkYSBjYXJkLlxuLy9cbi8vIFVzbzpcbi8vICAgPHNwYW4gY2xhc3M9XCJqZW1zMy1zdWJtaXNzaW9uLXN0YXR1cyBwZW5kaW5nXCI+XG4vLyAgICAgPG1hdC1pY29uPi4uLjwvbWF0LWljb24+IFBlbmRlbnRlXG4vLyAgIDwvc3Bhbj5cbi8vXG4vLyBWYXJpYW50ZSBjaXJjdWxhciAoMjLDlzIyKSBwcmEgbW9zdHJhciBzw7MgbyDDrWNvbmUgZG8gc3RhdHVzOlxuLy8gICA8c3BhbiBjbGFzcz1cImplbXMzLXN1Ym1pc3Npb24tc3RhdHVzIGplbXMzLXN1Ym1pc3Npb24tc3RhdHVzLS1pY29uLW9ubHkgcGVuZGluZ1wiPlxuLy8gICAgIDxtYXQtaWNvbj4uLi48L21hdC1pY29uPlxuLy8gICA8L3NwYW4+XG4vL1xuLy8gYGJvcmRlci1yYWRpdXM6OTk5cHhgIGhlcmRhZG8gZG8gbWl4aW4gZ2FyYW50ZSBjw61yY3VsbyBwZXJmZWl0byBxdWFuZG9cbi8vIHdpZHRoPWhlaWdodD0yMnB4LlxuXG4uamVtczMtc3VibWlzc2lvbi1zdGF0dXMge1xuICAgIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1nZW9tZXRyeSgpO1xuICAgIG1hdC1pY29uIHsgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWljb24oKTsgfVxuICAgIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1jb2xvcnMoJHN1Ym1pc3Npb24tc3RhdHVzKTtcblxuICAgICYtLWljb24tb25seSB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDIycHg7XG4gICAgICAgIG1heC13aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBnYXA6IDA7XG5cbiAgICAgICAgbWF0LWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQW7DoWxvZ2EgcGFyYSBzdGF0dXMgZGEgUkVWSVPDg08g4oCUIHJldMOibmd1bG8gYXJyZWRvbmRhZG8gM3B4IGNvbSBjb3Jlc1xuLy8gZGVyaXZhZGFzIChsaWdodGVuL2RhcmtlbiBkYSBwYWxldGEgJHJldmlldy1zdGF0dXMpLlxuLmplbXMzLXJldmlldy1zdGF0dXMge1xuICAgIEBpbmNsdWRlIHJldmlldy1jaGlwLWdlb21ldHJ5KCk7XG4gICAgbWF0LWljb24geyBAaW5jbHVkZSByZXZpZXctY2hpcC1pY29uKCk7IH1cbiAgICBAaW5jbHVkZSByZXZpZXctY2hpcC1jb2xvcnMoJHJldmlldy1zdGF0dXMpO1xuXG4gICAgJi0taWNvbi1vbmx5IHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIG1pbi13aWR0aDogMjJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICBtYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnei1pbmRleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0YXR1cy1jaGlwJzsgIC8vIG1peGlucyBzdWJtaXNzaW9uLWNoaXAtZ2VvbWV0cnkvY29sb3JzL2ljb24gKGZpbHRybyBkZSBzdGF0dXMgZW0gY2hpcHMpXG5cbi8vIENvciBkZSBsaW5rIGRvIHNpc3RlbWEgKGxpZ2h0LCAkYWNjZW50LWJhY2tncm91bmQpIGV4cG9zdGEgY29tbyBDU1MgY3VzdG9tIHByb3BlcnR5LlxuLy8gU2VydmUgcHJvIEhUTUwgZXhwb3J0YWRvIGRhIExpc3RhIGRlIHN1Ym1pc3PDtWVzIEhFUkRBUiBhIGNvciBkZSBsaW5rIGF0dWFsIGVtIHJ1bnRpbWVcbi8vIChsaWRhIHZpYSBnZXRDb21wdXRlZFN0eWxlKSDigJQgc2Ugdm9jw6ogbXVkYXIgJGFjY2VudC1iYWNrZ3JvdW5kIG5vIHNpc3RlbWEsIG8gZG93bmxvYWRcbi8vIHBhc3NhIGEgdXNhciBhIG5vdmEgY29yIGF1dG9tYXRpY2FtZW50ZSwgc2VtIGhhcmRjb2RlIG5vIFR5cGVTY3JpcHQuXG46cm9vdCB7XG4gIC0tamVtcy1saW5rLWNvbG9yOiAjeyRhY2NlbnQtYmFja2dyb3VuZH07XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBkZXNpZ24tc3lzdGVtIHRva2VucyAoYXVkaXRlZCAyMDI2LTA1LTE4KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBURVhUIChmb250LXNpemUpOiAgICAgMTQgZGVmYXVsdCB8IDEzIGRlbnNlIHwgMTEgbWljcm9cbi8vIElDT04gKGZvbnQtc2l6ZSk6ICAgICAyMCBwcmltYXJ5IHwgMTggY2FyZXQvc2VwYXJhdG9yIHwgMTYgc2Vjb25kYXJ5IHwgMTQgbWljcm9cbi8vIFdFSUdIVCAoZm9udC13ZWlnaHQpOiA0MzAgYm9keSAgIHwgNTAwIGVtcGhhc2lzXG4vLyBMRVRURVItU1BBQ0lORzogICAgICAgMCDigJQgc3RyaWN0OyBubyBvdGhlciB2YWx1ZSBhbGxvd2VkIGluIGNoYWlyIFVJXG4vLyBMSU5FLUhFSUdIVDogICAgICAgICAgMS4zIHRleHQgICB8ID0gZm9udC1zaXplIGljb25zXG4vLyBJQ09OLUFYRVM6ICAgICAgICAgICAgb3BzeiAyMCBhbHdheXMgfCB3Z2h0IDMwMCByZXN0IOKGkiA0MDAgYWN0aXZlXG4vLyAgICAgICAgICAgICAgICAgICAgICAgRklMTCAwIGRlZmF1bHQsIEZJTEwgMSBPTkxZIGFzIFwic2VsZWN0ZWQgd2l0aGluXG4vLyAgICAgICAgICAgICAgICAgICAgICAgYSBzZXRcIiBjdWUgKGZhdm9yaXRlIHN0YXIsIGN1cnJlbnQgdGhlbWUpLlxuLy8gT1BBQ0lUWSBMQURERVIgKDUgY2Fub25pY2FsIGxldmVscyk6XG4vLyAgIDAgICAgaGlkZGVuIOKAlCBhZmZvcmRhbmNlIHJldmVhbGVkIHZpYSBpbnRlcmFjdGlvblxuLy8gICAwLjUgIG1hcmtlciBjaHJvbWUgLyBob3Zlci1yZXZlYWwgZmlyc3Qgc3RhZ2Vcbi8vICAgMC42NSBkZWZhdWx0LW11dGVkIChpY29ucyBhdCByZXN0KVxuLy8gICAwLjkgIGVtcGhhc2lzIC8gZGlyZWN0IGhvdmVyIG9uIGdseXBoXG4vLyAgIDEgICAgZnVsbCBvbiAoc2VsZWN0ZWQgLyBhY3RpdmUgLyBjdXJyZW50KVxuLy8gRUxFVkFUSU9OICgyIHRpZXJzLCBkZWZpbmVkIGluIGBfdmFyaWFibGVzLnNjc3NgKTpcbi8vICAgUEFORUwgICAg4oCUIGFuY2hvcmVkIG1lbnVzIChgJHNoYWRvdy1wYW5lbC1saWdodGAgLyBgLWRhcmtgKVxuLy8gICAgICAgICAgICAgIHZpYSBgZmlsdGVyOiBkcm9wLXNoYWRvd2AuIERhcmsgbW9kZSBhZGRzIDFweCBvdXRsaW5lXG4vLyAgICAgICAgICAgICAgYGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrYC5cbi8vICAgRkxPQVRJTkcg4oCUIGRyYWcgcHJldmlld3MgKGAkc2hhZG93LWZsb2F0aW5nLWxpZ2h0YCAvIGAtZGFya2ApXG4vLyAgICAgICAgICAgICAgdmlhIGBib3gtc2hhZG93YC4gSGVhdmllciBhbHBoYSArIGxhcmdlciBibHVyLlxuLy8gQ0hST01FIEJPUkRFUlMgKDQgdG9rZW5zLCBkZWZpbmVkIGluIGBfY29sb3JzLnNjc3NgKTpcbi8vICAgJGNocm9tZS1ib3JkZXItbGlnaHQgICAgICAgIC8gJGNocm9tZS1ib3JkZXItZGFyayAgICAgICAg4oCUIGRlZmF1bHRcbi8vICAgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlIC8gJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUg4oCUIGhvdmVyL2RyYWdcbi8vICAgVXNlZCBieSBzaWRlYmFyIGVkZ2UtbGluZSwgaGVhZGVyL2JvdHRvbSBkaXZpZGVycywgYnJlYWRjcnVtYlxuLy8gICBib3R0b20gYm9yZGVyLCBtZW51IHBhbmVsIG91dGxpbmVzIChkYXJrKSwgYW5kIGNoaXAtaGVhZGVyIGJvcmRlcnMuXG4vLyBTVVJGQUNFIEJBQ0tHUk9VTkRTOlxuLy8gICAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kIOKAlCBjaGFpciBVSSBjaHJvbWUgKHNpZGViYXIsIGFsbCBtZW51cyxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIpIOKAlCBvbmUgdGludGVkIG9mZi13aGl0ZS9kYXJrXG4vLyAgICRhZG1pbi1iYWNrZ3JvdW5kICAgICAgICAgIOKAlCBtYWluIGNvbnRlbnQgYXJlYSDigJQgcHVyZSB3aGl0ZS9ibGFja1xuLy8gUkFESVVTOlxuLy8gICAkY2hyb21lLXJhZGl1cyAoPSA2cHgpIOKAlCBldmVyeSBpbnRlcmFjdGl2ZSBwaWxsIChzaWRlYmFyL21lbnUgaXRlbXMsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhZGNydW1iIHNlZ21lbnRzLCBjaHJvbWUgYnV0dG9ucykgQU5EXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVyeSBwYW5lbCBzdXJmYWNlIChtYXQtbWVudS1wYW5lbCxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXIgaGVhZGVyKS4gU2luZ2xlIGNhbm9uaWNhbCBjb3JuZXIuXG4vLyBFQVNJTkc6XG4vLyAgICRlYXNlLW91dCAoPSBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSkg4oCUIHRoZSBjaGFpciBVSSdzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaW5nbGUgdHJhbnNpdGlvbiBjdXJ2ZSwgdXNlZCBieSBldmVyeVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhci9icmVhZGNydW1iL2RyYWctZHJvcCBhbmltYXRpb24uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyogZ2xvYmFsIHN0eWxlcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGl0bGUnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnN1YnRpdGxlJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3Aoc3Ryb25nLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNsb3NlLmJ1dHRvbicsICcnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbi8vIEpFTVMzIGNoZWNrYm94IHRoZW1lIOKAlCBjaGFpciBVSSBiaW5hcnktY29udHJvbCBmYW1pbHkgKEROQSBjb20gc2xpZGUtdG9nZ2xlXG4vLyBlIHJhZGlvKS4gT2ZmIG91dGxpbmVkIGNvbSB3YXJtIGJlaWdlIGVtIGxpZ2h0IC8gdHJhbnNwYXJlbnRlIGVtIGRhcms7IG9uXG4vLyBmaWxsZWQgYCM0YTQ2M2ZgIGVtIGxpZ2h0IC8gdHJhbnNwYXJlbnRlIGVtIGRhcms7IGNoZWNrbWFyayBzdHJva2Ugb2ZmLXdoaXRlXG4vLyBjcm9zcy10aGVtZS4gYC5tYXQtd2FybmAgbGVmdCB0byBNYXRlcmlhbCdzIHJlZC5cblxuLy8gT0ZGIHN0YXRlIOKAlCBmcmFtZSBib3JkZXIgKyBiZyB0cmFuc3BhcmVudGUgZW0gYW1ib3Mgb3MgdGVtYXMgKGxpZ2h0L2Rhcmtcbi8vIHNpbcOpdHJpY29zKS4gQW50ZXJpb3JtZW50ZSBsaWdodCB0aW5oYSB3YXJtIGJlaWdlIHRpbnQgbm8gcmVzdDsgbXVkb3UgcGFyYVxuLy8gdHJhbnNwYXJlbnQgYSBwZWRpZG8g4oCUIG9mZiBsw6ogcGVsbyBib3JkZXIgKyBmYWx0YSBkZSBjaGVja21hcmsuXG4vLyBCb3JkZXIgZG8gY2hlY2tib3g6IGAkZ3JheS00NTBgIChgIzkwODk4NWApIG5vIGxpZ2h0IChtaWRwb2ludCB3YXJtLXN0b25lKVxuLy8gZSBgJGdyYXktNDAwYCAoYCNBOEEyOUVgKSBubyBkYXJrIChjb250cmFzdGUgfjU6MSBjb250cmEgY2FudmFzIGAjMjAyMDIwYCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtZnJhbWUnLCAnJywgYm9yZGVyLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTQwMCk7XG5cbi8vIENoZWNrZWQgc3RhdGUgYm9yZGVyIChkYXJrKTogYCRncmF5LTMwMGAgKGAjRDZEM0QxYCkg4oCUIG1lc21hIGNvciBkbyBmaWxsLFxuLy8gcXVhZHJhZG8gdmlyYSBtb25vY3JvbcOhdGljby4gTGlnaHQgbsOjbyBwcmVjaXNhIG92ZXJyaWRlIChqw6EgZmljYSBjb2JlcnRvXG4vLyBwZWxvIGJhY2tncm91bmQgZmlsbCBgJGdyYXktNTAwYCBxdWFuZG8gY2hlY2tlZCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtY2hlY2tlZCcsICcubWF0LWNoZWNrYm94LWZyYW1lJywgYm9yZGVyLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtZnJhbWUnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcblxuLy8gT04gc3RhdGUg4oCUIGJhY2tncm91bmQgZmlsbDogbGlnaHQgYCRncmF5LTUwMGAgKGAjNzg3MTZDYCBtaWQtZGFyayB3YXJtIHN0b25lKVxuLy8gdnMgZGFyayBgJGdyYXktMzAwYCAoYCNENkQzRDFgIGxpZ2h0IHdhcm0gc3RvbmUpLiBFbSBkYXJrLCBib3JkZXIgKCRncmF5LTQwMClcbi8vIGUgZmlsbCAoJGdyYXktMzAwKSBwcsOzeGltb3MgbWFzIGRpc3RpbnRvcyDigJQgbyBmaWxsIGxpZ2VpcmFtZW50ZSBtYWlzIGNsYXJvXG4vLyBxdWUgYSBib3JkZXIuIEluZGV0ZXJtaW5hdGUgc2VndWUgbyBtZXNtbyBwYWRyw6NvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtYWNjZW50JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wcmltYXJ5JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcblxuLy8gTWFzdGVyIGNoZWNrYm94IChoZWFkZXIgZGUgcXVhbHF1ZXIgbWF0LXRhYmxlIG5vIGNoYWlyIFVJKTogaW50ZXJtZWRpw6FyaW9cbi8vIHVzYSBhY2NlbnQgbm8gbGlnaHQgcHJhIGRlc3RhY2FyIFwic2VsZcOnw6NvIHBhcmNpYWxcIiBjb21vIENUQSB2aXN1YWwsIGVcbi8vIGAkZ3JheS0zMDBgIG5vIGRhcmsgcHJhIHVuaWZpY2FyIGNvbSBvIGVzdGFkbyBsaWdhZG8gKGNhaXhhIGZpY2EgaWd1YWwsXG4vLyBzw61tYm9sbyDDqSBxdWUgZGlmZXJlbmNpYSkuIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIE1hdGVyaWFsXG4vLyBlIHJlZ3JhcyBnZW7DqXJpY2FzIGFjaW1hLiBVc2FkbyBwb3IgcGVvcGxlLXRhYmxlIGUgc3VibWlzc2lvbnMtbGlzdC12Mi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJ3RoLm1hdC1oZWFkZXItY2VsbCAubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlJyxcbiAgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsXG4gIGJhY2tncm91bmQtY29sb3IsXG4gICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LFxuICAkZ3JheS0zMDAgIWltcG9ydGFudFxuKTtcblxuLy8gTWVzbWEgcmVncmEgcGFyYSB0YWJlbGFzIGAuamVtczMtdGFibGUtc2VsZWN0YWJsZWAgZW0gSFRNTCBQVVJPIChzZW1cbi8vIG1hdC10YWJsZSwgbG9nbyBzZW0gYHRoLm1hdC1oZWFkZXItY2VsbGApIOKAlCBleC46IFVwbG9hZCBkZSBhdXRvcmVzLiBTZW1cbi8vIGlzdG8gbyBtYXN0ZXIgZW0gXCJzZWxlw6fDo28gcGFyY2lhbFwiIGNhaSBubyBjaW56YSBnZW7DqXJpY28gZGFzIHJlZ3JhcyBhY2ltYSBlXG4vLyBkZXN0b2EgZG8gcGVvcGxlLXRhYmxlIC8gc3VibWlzc2lvbnMtbGlzdC12Mi4gQWRpdGl2bzogbsOjbyBhbHRlcmEgbmFkYSBkb1xuLy8gcXVlIGrDoSBmdW5jaW9uYXZhLiBWaXZlIGFxdWksIGUgbsOjbyBubyBTQ1NTIGRvIGNvbXBvbmVudGUsIHBvcnF1ZVxuLy8gYC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZGAgcGVydGVuY2UgYW8gdGVtcGxhdGUgZG8gTWF0Q2hlY2tib3gg4oCUIHJlZ3JhXG4vLyBjcm9zcy1jb21wb25lbnQgVEVNIGRlIHNlciBnbG9iYWwgKG1lbcOzcmlhIGBmZWVkYmFja19hbmd1bGFyX3ZpZXdfZW5jYXBzdWxhdGlvbmApLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAndGFibGUuamVtczMtdGFibGUtc2VsZWN0YWJsZSB0aCAubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlJyxcbiAgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsXG4gIGJhY2tncm91bmQtY29sb3IsXG4gICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LFxuICAkZ3JheS0zMDAgIWltcG9ydGFudFxuKTtcblxuLy8gQ2hlY2ttYXJrIHN0cm9rZSDigJQgdGhlbWUtYXdhcmU6IGxpZ2h0IHVzYSBvZmYtd2hpdGUgKGAjZjlmOGY3YCkgc29icmUgZmlsbFxuLy8gZGFyayBgIzc4NzE2Q2A7IGRhcmsgdXNhIG5lYXItYmxhY2sgKGAjMjAyMDIwYCkgc29icmUgZmlsbCBjbGFybyBgI0U3RTVFNGAuXG4vLyBDYWRhIHVtIG1heGltaXphIG8gY29udHJhc3RlIGRvIGdseXBoIGNvbnRyYSBzZXUgZmlsbCByZXNwZWN0aXZvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCcsIHN0cm9rZSwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LW1peGVkbWFyaycsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuXG4vLyBIb3ZlciDigJQgdHLDqnMgcmVncmFzIGNvbWJpbmFkYXMgKG1lc21hcyBkbyBzbGlkZS10b2dnbGUgZSByYWRpbyk6XG4vLyAgICgxKSBmcmFtZSBib3JkZXIgYnVtcGEgcGFyYSBgLWFjdGl2ZWAgZW0gYW1ib3MgdGVtYXNcbi8vICAgKDIpIGxpZ2h0IG9mZjogZnJhbWUgYmcgaW52ZXJ0ZSBwYXJhIHRyYW5zcGFyZW50IChsaWZ0KVxuLy8gICAoMykgbGlnaHQgb246IGJhY2tncm91bmQgYmcgZXNjdXJlY2UgcGFyYSBgIzNhMzkzN2AgKHByZXNzKVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKScsICcubWF0LWNoZWNrYm94LWZyYW1lJywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKScsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKScsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuXG4vLyBDaGVja2JveCBjaGVja2VkIOKAlCBvdmVycmlkZSBHTE9CQUw6IHVzYSBhY2NlbnQgY29sb3IgKGF6dWwgZGEgbWFyY2EpXG4vLyBBUEVOQVMgbm8gbGlnaHQgbW9kZS4gRW0gZGFyaywgbWFudMOpbSBvIGAkZ3JheS0zMDBgIGRlZmF1bHQgZG8gY2hhaXIgVUlcbi8vIChhY2NlbnQgZXNjdXJvIHNvYnJlIGNhbnZhcyBlc2N1cm8gcGVyZGVyaWEgY29udHJhc3RlKS4gQXBsaWNhIGEgVE9ET1Mgb3Ncbi8vIGNoZWNrYm94ZXMgZG8gYXBwIChzdWJzdGl0dWkgYXMgcmVncmFzIGdyYXktNTAwIGFjaW1hIHBvciBjYXVzYSBkYSBvcmRlbVxuLy8gbm8gY2FzY2FkZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtZnJhbWUnLCBib3JkZXItY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudDpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMCk7XG5cbi8vIEZyYW1lIFVOQ0hFQ0tFRCAoYXRpdm8sIGFpbmRhIG7Do28gbWFyY2Fkbyk6IGJnIEJSQU5DTyBubyBsaWdodCwgUFJFVE9cbi8vIG5vIGRhcmsuIFNvYnJlc2NyZXZlIG8gYHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudGAgZ2xvYmFsIGRhIGxpbmhhIDc5LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94Om5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKScsICcubWF0LWNoZWNrYm94LWZyYW1lJywgYmFja2dyb3VuZC1jb2xvciwgI2ZmZiwgIzAwMCk7XG5cbi8vIEZvY3VzIGluZGljYXRvciAoa2V5Ym9hcmQtb25seSkg4oCUIGJyYW5kIGNvbG9yLCBpZMOqbnRpY28gYW8gc2xpZGUtdG9nZ2xlIGUgcmFkaW8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3guY2RrLWtleWJvYXJkLWZvY3VzZWQnLCAnLm1hdC1jaGVja2JveC1mcmFtZScsIG91dGxpbmUsIDJweCBzb2xpZCAjMDY0YWQ5LCAycHggc29saWQgIzAwODBmZik7XG5cbi8vIG1hdC1wc2V1ZG8tY2hlY2tib3gg4oCUIGNoZWNrYm94IGRhcyBPUMOHw5VFUyBkZSBtYXQtc2VsZWN0IG11bHRpIChleC46IGZpbHRyb3MgZGFcbi8vIExpc3RhIGRlIHN1Ym1pc3PDtWVzKSBlIGRvIG1hdC1zZWxlY3Rpb24tbGlzdC4gTyB0ZW1hIGNoYWlyIGFjaW1hIGNvYnJpYSBvXG4vLyBtYXQtY2hlY2tib3ggKENoZWNrbGlzdCwgc2VsZcOnw6NvIGRlIGxpbmhhcykgbWFzIE7Dg08gbyBwc2V1ZG8tY2hlY2tib3gsIHF1ZVxuLy8gZmljYXZhIG5vIGVzdGlsbyBNYXRlcmlhbCBkZWZhdWx0LiBBcXVpIGVsZSByZWNlYmUgbyBNRVNNTyBlc3RpbG86IG9mZiBvdXRsaW5lZFxuLy8gd2FybS1zdG9uZSwgb24gZmlsbGVkLCBjaGVja21hcmsgY2xhcm8sIDRweCByYWRpdXMuIEFwbGljYSBhcHAtd2lkZSAodG9kb3Mgb3Ncbi8vIG11bHRpLXNlbGVjdHMvc2VsZWN0aW9uLWxpc3RzKSDigJQgY29uc2lzdMOqbmNpYSBjb20gbyByZXN0byBkbyBjaGFpciBVSS5cbi8vIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbzogbyBNYXRlcmlhbCBzZXRhIGEgY29yIHRlbcOhdGljYSAoYC5tYXQtcHJpbWFyeS8ubWF0LWFjY2VudFxuLy8gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZGApIGNvbSBhIE1FU01BIGVzcGVjaWZpY2lkYWRlIGRvIGAubGlnaHQtdGhlbWUgLi4uYCxcbi8vIGUgdmVuY2UgcG9yIG9yZGVtIGRlIGNhcmdhLiBNZXNtbyBwYWRyw6NvIGRvIHRlbWEgZG8gbWF0LWNoZWNrYm94IGFjaW1hLlxuLm1hdC1wc2V1ZG8tY2hlY2tib3gge1xuICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiAxLjVweCAhaW1wb3J0YW50O1xufVxuLy8gQm9yZGEgKG9mZikgdmlhIGBjb2xvcmAgPSAkZ3JheS00NTAvJGdyYXktNDAwIChpZ3VhbCBhbyAubWF0LWNoZWNrYm94LWZyYW1lKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3gnLCAnJywgY29sb3IsICRncmF5LTQ1MCAhaW1wb3J0YW50LCAkZ3JheS00MDAgIWltcG9ydGFudCk7XG4vLyBDaGVja21hcmsgKDo6YWZ0ZXIpIOKAlCBvZmYtd2hpdGUgbm8gbGlnaHQgLyBuZWFyLWJsYWNrIG5vIGRhcmsgKD0gc3Ryb2tlIGRvIG1hdC1jaGVja2JveCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcHNldWRvLWNoZWNrYm94OjphZnRlcicsICcnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG4vLyBGaWxsIChjaGVja2VkL2luZGV0ZXJtaW5hdGUpID0gJGdyYXktNTAwLyRncmF5LTMwMCAoPSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkJywgJycsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCAhaW1wb3J0YW50LCAkZ3JheS0zMDAgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwICFpbXBvcnRhbnQsICRncmF5LTMwMCAhaW1wb3J0YW50KTtcblxuLy8gSkVNUzMgc2xpZGUtdG9nZ2xlIHRoZW1lIOKAlCBjaGFpciBVSSBtb25vY2hyb21hdGljLCBvdXRsaW5lZC1vZmYgKFwiUGxhbiBCXCIpLlxuLy8gT2ZmIHN0YXRlID0gb3V0bGluZWQgcGlsbCAodHJhbnNwYXJlbnQgYmcgKyAxLjVweCBpbnNldCBib3JkZXIgdmlhIGJveC1zaGFkb3cpXG4vLyB3aXRoIGEgZGFyayB0aHVtYiDigJQgY2xlYXJseSBcImludGVyYWN0aXZlIGJ1dCBpbmFjdGl2ZVwiLCBOT1QgXCJkaXNhYmxlZFwiLlxuLy8gT24gc3RhdGUgPSBzb2xpZCBhY3RpdmUgZmlsbCB3aXRoIGxpZ2h0IHRodW1iIOKAlCBzYW1lIHJlY2lwZSBhcyBjaGVja2JveFxuLy8gY2hlY2tlZC4gYC5tYXQtd2FybmAgbGVmdCB0byBNYXRlcmlhbCdzIHJlZCBzbyBkZXN0cnVjdGl2ZSB0b2dnbGVzIGtlZXBcbi8vIHRoZWlyIGRhbmdlciBjdWUuXG5cbi8vIE9GRiBzdGF0ZSDigJQgdHJhY2sgaXMgdHJhbnNwYXJlbnQsIGJvcmRlciBkcmF3biBieSBpbnNldCBib3gtc2hhZG93IChkb2Vzbid0XG4vLyBhZmZlY3QgbGF5b3V0KS4gVGh1bWIgaXMgdGhlIG11dGVkIHRleHQgdG9rZW4gKGRhcmsgZ3JheSBvbiBsaWdodCB0aGVtZSkuXG4vLyBPRkYgc3RhdGUgcmVzdCBiYXIgYmcg4oCUIGxpZ2h0IHRlbSAqKndhcm0gYmVpZ2UgdGludCoqIChgI2U4ZTZlM2ApIGNvbW8gY3VlXG4vLyBwZXJtYW5lbnRlIGRlIFwiaXN0byDDqSBpbnRlcmF0aXZvXCI7IGRhcmsgbWFudMOpbSB0cmFuc3BhcmVudGUgKG8gY3VlIGRlXG4vLyBcImludGVyYXRpdm9cIiBubyBkYXJrIGrDoSB2ZW0gZG8gYm9yZGVyICsgYnJpZ2h0bmVzcyBjaGFuZ2Ugbm8gaG92ZXIpLiBPblxuLy8gc3RhdGUgdmVuY2UgcG9yIGVzcGVjaWZpY2lkYWRlICg0IGNsYXNzZXMgPiAxKSBlIG1hbnTDqW0gc2V1IHByw7NwcmlvIGZpbGwuXG4vLyBBbGluaGFkbyBhbyByZWNpcGUgZG8gY2hlY2tib3g6IGJhciBiZyB0cmFuc3BhcmVudCBlbSBhbWJvcyBvcyB0ZW1hc1xuLy8gKHJlbW92aWRvIG8gd2FybSBiZWlnZSByZXN0IGRvIGxpZ2h0KTsgaW5zZXQgc2hhZG93IGJvcmRlciAkZ3JheS00NTAgbGlnaHRcbi8vIC8gJGdyYXktNDAwIGRhcms7IHRodW1iIG9mZiBtYXRjaGVzIGJvcmRlciB0b25lLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgJycsIGJveC1zaGFkb3csIGluc2V0IDAgMCAwIDEuNXB4ICRncmF5LTQ1MCwgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUtdGh1bWInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS00MDApO1xuXG4vLyBPTiBzdGF0ZSDigJQgYXNzaW3DqXRyaWNvIHBvciB0ZW1hOlxuLy8gICBMaWdodDogdHJhY2sgZmlsbCBgIzRhNDYzZmAgKHdhcm0gZGFyayBncmF5KSArIHRodW1iIGAjZjlmOGY3YCBvZmYtd2hpdGUgK1xuLy8gICAgICAgICAgY2hlY2sgYCM0YTQ2M2ZgIG5vIHRodW1iLlxuLy8gICBEYXJrOiAgdHJhY2sgZmlsbCAqKnRyYW5zcGFyZW50ZSoqIChzZW0gZmlsbCkgKyB0aHVtYiBgI2Y5ZjhmN2Agb2ZmLXdoaXRlXG4vLyAgICAgICAgICArIGNoZWNrIGAjNGE0NjNmYCBubyB0aHVtYi4gRXN0YWRvIHZlbSBkbyB0aHVtYiBwb3NpdGlvbiArIHRodW1iXG4vLyAgICAgICAgICBjb2xvciArIGNoZWNrOyBvIGZpbGwgc2VyaWEgbXVkZHkgY29udHJhIG8gY2FudmFzIGAjMjAyMDIwYCBkYXJrLlxuLy8gQm9yZGVyIHBlcnNpc3RlIGVtIGFtYm9zIG9zIGVzdGFkb3MgKG9mZi1zdGF0ZSBydWxlIMOpIHN0YXRlLWFnbm9zdGljKS5cbi8vIE9OIHN0YXRlIOKAlCBiYXIgZmlsbCBhbGluaGFkbyBhbyBjaGVja2JveCAobGlnaHQgJGdyYXktNTAwIC8gZGFyayAkZ3JheS0zMDApLlxuLy8gT24gdGh1bWIgYWdvcmEgdGhlbWUtYXdhcmU6IGxpZ2h0IG9mZi13aGl0ZSBzb2JyZSBmaWxsIGRhcmssIGRhcmsgbmVhci1ibGFja1xuLy8gc29icmUgZmlsbCBjbGFybyDigJQgY2FkYSB0ZW1hIG1heGltaXphIG8gY29udHJhc3RlIGRvIHRodW1iIGNvbnRyYSBvIGZpbGwuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1zbGlkZS10b2dnbGUtdGh1bWInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXNsaWRlLXRvZ2dsZS10aHVtYicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8vIEhvdmVyIHN0YXRlIOKAlCB0csOqcyByZWdyYXMgY29tYmluYWRhczpcbi8vICAoMSkgQm9yZGVyIChpbnNldCBzaGFkb3cpIGJ1bXBhIHBhcmEgbyB0b2tlbiBgLWFjdGl2ZWAgZW0gYW1ib3Mgb3MgdGVtYXMuXG4vLyAgKDIpIExpZ2h0IE9GRiBzdGF0ZTogYmFyIGJnICoqaW52ZXJ0ZSBwYXJhIHRyYW5zcGFyZW50ZSoqIChjbGFyZWlhLCByZW1vdmVuZG9cbi8vICAgICAgbyB3YXJtIGJlaWdlIGRvIHJlc3QpIOKAlCBjcmlhIHNlbnNhw6fDo28gZGUgXCJsaWZ0aW5nXCIgbm8gaG92ZXIuIERhcmsgb2ZmXG4vLyAgICAgIHN0YXlzIHRyYW5zcGFyZW50LCBhcGVuYXMgbyBib3JkZXItYnVtcCBmYXogY3VlLlxuLy8gICgzKSBMaWdodCBPTiBzdGF0ZTogYmFyIGJnICoqZXNjdXJlY2UqKiBkZSBgIzRhNDYzZmAgcGFyYSBgIzNhMzkzN2Ag4oCUXG4vLyAgICAgIGZlZWxpbmcgZGUgXCJwcmVzc1wiIGRlIGJvdMOjbywgc3VwbGVtZW50YSBvIGJvcmRlci1idW1wIHF1ZSBzb3ppbmhvIGZpY2Fcbi8vICAgICAgaW52aXPDrXZlbCBjb250cmEgbyBmaWxsIGRhcmsuIERhcmsgb24gc3RheXMgdHJhbnNwYXJlbnQgKHNlbSBtdWRhbsOnYSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKScsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBib3gtc2hhZG93LCBpbnNldCAwIDAgMCAxLjVweCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsIGluc2V0IDAgMCAwIDEuNXB4ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LWFjY2VudDpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCknLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5cbi8vIEpFTVMzIHJhZGlvIHRoZW1lIOKAlCBjaGFpciBVSSBiaW5hcnktY29udHJvbCBmYW1pbHkgKHNhbWUgRE5BIGRvIGNoZWNrYm94IGVcbi8vIHNsaWRlLXRvZ2dsZSkuIFJlY2lwZSBlc3BlbGhhIG8gc2xpZGUtdG9nZ2xlOiBvZmYgb3V0bGluZWQgY29tIHdhcm0gYmVpZ2Vcbi8vIGVtIGxpZ2h0IC8gdHJhbnNwYXJlbnRlIGVtIGRhcms7IG9uIGZpbGxlZCBgIzRhNDYzZmAgZW0gbGlnaHQgLyB0cmFuc3BhcmVudGVcbi8vIGVtIGRhcmsgY29tIGlubmVyIGRvdCBvZmYtd2hpdGUgc3Vic3RpdHVpbmRvIG8gXCJ0aHVtYlwiLiBgLm1hdC13YXJuYCBsZWZ0IHRvXG4vLyBNYXRlcmlhbCdzIHJlZC5cblxuLy8gT0ZGIHN0YXRlIOKAlCBvdXRlciBib3JkZXIgKyBiZyB0cmFuc3BhcmVudGUgZW0gYW1ib3Mgb3MgdGVtYXMgKGxpZ2h0L2Rhcmtcbi8vIHNpbcOpdHJpY29zKS4gQW50ZXJpb3JtZW50ZSBsaWdodCB0aW5oYSB3YXJtIGJlaWdlIHRpbnQgbm8gcmVzdDsgbXVkb3UgcGFyYVxuLy8gdHJhbnNwYXJlbnQgYSBwZWRpZG8g4oCUIG9mZiBsw6ogcGVsbyBib3JkZXIgKyBhdXPDqm5jaWEgZG8gY2VudGVyIGRvdC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24nLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24nLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuXG4vLyBPTiBzdGF0ZSDigJQgYWxpbmhhZG8gYW8gcmVjaXBlIGRvIGNoZWNrYm94OiBmaWxsIGAkZ3JheS01MDBgIChsaWdodCkgLyBgJGdyYXktMzAwYCAoZGFyaykuXG4vLyBCb3JkZXIgZG8gY2hlY2tlZCBkYXJrIHZpcmEgYCRncmF5LTMwMGAgKG1lc21hIGNvciBkbyBmaWxsKTsgbGlnaHQgc2VndWUgYCRncmF5LTQ1MGAuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTMwMCk7XG5cbi8vIElubmVyIGRvdCAodmlzaWJsZSBvbmx5IHdoZW4gY2hlY2tlZCkg4oCUIHRoZW1lLWF3YXJlIHBhcmEgY29udHJhc3RhciBjb20gb1xuLy8gbm92byBmaWxsIGVtIGNhZGEgdGVtYS4gTGlnaHQ6IG9mZi13aGl0ZSBzb2JyZSBmaWxsIGRhcmsgZ3JheS4gRGFyazogbmVhci1cbi8vIGJsYWNrIHNvYnJlIGZpbGwgbGlnaHQgZ3JheSAoaWTDqm50aWNvIGFvIGNoZWNrbWFyayBzdHJva2UgZG8gY2hlY2tib3gpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtcmFkaW8taW5uZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1yYWRpby1pbm5lci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBSYWRpbyBjaGVja2VkIOKAlCBvdmVycmlkZSBHTE9CQUw6IHVzYSBhY2NlbnQgY29sb3IgQVBFTkFTIG5vIGxpZ2h0IG1vZGVcbi8vIChtZXNtYSBlc3RyYXTDqWdpYSBkbyBjaGVja2JveCBnbG9iYWwpLiBFbSBkYXJrLCBtYW50w6ltIG8gZ3JheS0zMDAvZ3JheS0wXG4vLyBkZWZhdWx0IGRvIGNoYWlyIFVJLiBJbm5lci1jaXJjbGUgKG8gZG90KSBzZWd1ZSBvIHNpZGViYXItYWRtaW4tYmFja2dyb3VuZFxuLy8gcHJhIGNvbnRyYXN0YXIgY29udHJhIHF1YWxxdWVyIGNvciBkbyBvdXRlci5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCkgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTApO1xuXG4vLyBPdXRlciBjaXJjbGUgVU5DSEVDS0VEIChhdGl2bywgYWluZGEgbsOjbyBtYXJjYWRvKTogYmcgQlJBTkNPIG5vIGxpZ2h0LFxuLy8gUFJFVE8gbm8gZGFyay4gU29icmVzY3JldmUgbyBgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50YCBkYSBsaW5oYSAyMTMuXG4vLyBNZXNtYSBkZWNpc8OjbyBkbyBgLm1hdC1jaGVja2JveC1mcmFtZWAgKGNmLiBibG9jbyBkbyBjaGVja2JveCBhY2ltYSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKTpub3QoLm1hdC1yYWRpby1jaGVja2VkKScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICNmZmYsICMwMDApO1xuXG4vLyBTbGlkZS10b2dnbGUgY2hlY2tlZCDigJQgcmVncmFzIGNhbsO0bmljYXMgZXN0w6NvIG1haXMgYWJhaXhvIG5vIGFycXVpdm9cbi8vIChibG9jbyBcIlNsaWRlLXRvZ2dsZSBwYWRyw6NvIChNMylcIiwgY29tICFpbXBvcnRhbnQgcHJhIHZlbmNlciBNYXRlcmlhbCkuXG5cbi8vIEhvdmVyIOKAlCBhbGluaGFkbyBhbyBjaGVja2JveDpcbi8vICAgKDEpIGJvcmRlciBidW1wYSBwYXJhIGAtYWN0aXZlYCBlbSBhbWJvcyB0ZW1hc1xuLy8gICAoMikgY2hlY2tlZCBsaWdodDogZmlsbCBkYXJrZW4gcGFyYSBgJGdyYXktNzAwYCAocHJlc3MpXG4vLyAgICgzKSBjaGVja2VkIGRhcms6IGZpbGwgaGlnaGxpZ2h0IHBhcmEgYCRncmF5LTBgIChtYWlzIGNsYXJvKVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5cbi8vIEZvY3VzIGluZGljYXRvciAoa2V5Ym9hcmQtb25seSkg4oCUIGJyYW5kIGNvbG9yLCBtZXNtYSBkbyBzbGlkZS10b2dnbGUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgb3V0bGluZSwgMnB4IHNvbGlkICMwNjRhZDksIDJweCBzb2xpZCAjMDA4MGZmKTtcblxuLy8gRm9jdXMgaW5kaWNhdG9yIGNvbG9yIChrZXlib2FyZC1vbmx5KS4gQnJhbmQtc2F0dXJhdGVkIGNvbG9yIChuYXZ5IGxpZ2h0IC9cbi8vIGJsdWUgZGFyaykgc28gdGhlIGZvY3VzIHJpbmcgcmVhZHMgYXMgYSBkaXN0aW5jdCBjdWUsIG5vdCBcInRoZSBib3JkZXIgZ290XG4vLyB0aGlja2VyXCIuIFRoaXMgaXMgdGhlIG9ubHkgc3BvdCB3aGVyZSBicmFuZCBjb2xvciBpcyBhbGxvd2VkIGluIGNoYWlyIFVJIOKAlFxuLy8gZm9jdXMgcmluZ3MgY29udmVuY2lvbmFsbWVudGUgc8OjbyBzYXR1cmFkb3MgcG9yIG1vdGl2byBkZSBhMTF5LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCcsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBvdXRsaW5lLCAycHggc29saWQgIzA2NGFkOSwgMnB4IHNvbGlkICMwMDgwZmYpO1xuXG4vLyBDaGVjayBnbHlwaCAo4pyTKSBjb2xvciBpbnNpZGUgdGhlIG9uIHRodW1iLiBDcm9zcy10aGVtZSBgIzRhNDYzZmAgbWF0Y2hpbmdcbi8vIHRoZSBiYXIgZmlsbCDigJQgaW52ZXJ0cyB0aGUgb2ZmLXdoaXRlIG9uLXRodW1iIGZvciBjcmlzcCBjb250cmFzdC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWI6OmFmdGVyJywgJycsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbi8vIFBhZ2UgdGl0bGUgKC5tYWluLWhlYWRlciAubWFpbi10aXRsZSBoMSkgYW5kIHNlY3Rpb24gdGl0bGVzICguc2VjdGlvbi10aXRsZSxcbi8vIEBleHRlbmRzIGgzKSBzaGFyZSB0aGUgc2FtZSBtdXRlZCB0ZXh0IGNvbG9yIGFzIHRoZSBzaWRlYmFyIGxldmVsLTEgaXRlbXMgYXRcbi8vIHJlc3Qg4oCUIHBhZ2UgbGFiZWwgYW5kIHNlY3Rpb24gaGVhZGVycyBhcmUgXCJub3QgaW50ZXJhY3RpdmVcIiBzbyB0aGV5IHJlYWQgYXNcbi8vIGNvbnRlbnQgaWRlbnRpZmllcnMsIG5vdCBlbXBoYXNpcy4gUGVyIGNoYWlyIFVJIHJ1bGUsIHRleHQgdXNlcyBjb2xvciB0b2tlbnNcbi8vIChub3Qgb3BhY2l0eSkgZm9yIGRpZmZlcmVudGlhdGlvbi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYWluLWhlYWRlciAubWFpbi10aXRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2VjdGlvbi10aXRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5cbi8vIFBhZ2UtdGl0bGUgaWNvbiAoLm1haW4tdGl0bGUtaWNvbiwgbGVmdCBvZiB0aGUgaDEpLiBGb2xsb3dzIHRoZSBzaWRlYmFyXG4vLyBsZXZlbC0xIGljb24gcmVjaXBlOiB1c2VzIHRoZSBcImFjdGl2ZVwiIGNvbG9yIHRva2VuICphbHdheXMqLCB3aXRoIG9wYWNpdHlcbi8vICgwLjY1IHJlc3QsIGFwcGxpZWQgaW4gY29tcG9uZW50IFNDU1MpIGRvaW5nIHRoZSBtdXRpbmcuIERpc3RpbmN0IGZyb20gdGhlXG4vLyB0ZXh0IGNvbG9yLCBleGFjdGx5IGxpa2UgdGhlIGxldmVsLTEgaWNvbnMgYXJlIGRpc3RpbmN0IGZyb20gbGV2ZWwtMSBsYWJlbHMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWFpbi1oZWFkZXIgLm1haW4tdGl0bGUgLm1haW4tdGl0bGUtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuLyogc2ltcGxlLXRhYmxlICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLnNpbXBsZS10YWJsZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLnNpbXBsZS10YWJsZScsIHRoLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuc2ltcGxlLXRhYmxlJywgdGgsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIHRhYmxlICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndGQ6bm90KDpmaXJzdC1jaGlsZCwgOmxhc3QtY2hpbGQsIC5tYXQtZm9vdGVyLWNlbGwpJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndGQ6bm90KDpmaXJzdC1jaGlsZCwgOmxhc3QtY2hpbGQsIC5tYXQtZm9vdGVyLWNlbGwpJywgYm9yZGVyLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0ZDpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCwgLm1hdC1mb290ZXItY2VsbCknLCBib3JkZXItcmlnaHQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZCcsIGJvcmRlci10b3AtY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZCcsIGJvcmRlci1ib3R0b20tY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZDpmaXJzdC1jaGlsZCcsIGJvcmRlciwgbm9uZSwgbm9uZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZDpsYXN0LWNoaWxkJywgYm9yZGVyLCBub25lLCBub25lKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOm50aC1jaGlsZCgyKScsIGJvcmRlci1sZWZ0LWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQ6bnRoLWxhc3QtY2hpbGQoMiknLCBib3JkZXItcmlnaHQtY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZC5tYXQtZm9vdGVyLWNlbGwnLCBib3JkZXIsIG5vbmUsIG5vbmUpO1xuXG4vKiA8YT4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhLCAnJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhOmhvdmVyJywgJycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogPGJ1dHRvbj4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uOmRpc2FibGVkJywgJycsIGNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmspO1xuLy8gLmFwcC1pY29uLWJ1dHRvbiDigJQgc3VyZmFjZSBob3Zlci9tZW51LW9wZW4gw7puaWNhIHByb3MgNCBib3TDtWVzIGljb24tb25seVxuLy8gZG8gSkVNUzMgKC5wcm9maWxlLWJ1dHRvbiwgLnVzZXItbWVudS1idXR0b24sIC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcixcbi8vIC5maWx0ZXItYnV0dG9uKS4gVG9rZW5zIGNoYWlyLXN0eWxlIHJlcGxpY2Fkb3MgZW0gYW1ib3Mgb3MgdGVtYXMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5hcHAtaWNvbi1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpub3QoOmRpc2FibGVkKTpob3ZlcicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuYXBwLWljb24tYnV0dG9uLm1lbnUtb3BlbicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBtYXQtYWNjb3JkaW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtYWNjb3JkaW9uJywgJy5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogbWF0LWZvcm0tZmllbGQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1mb3JtLWZpZWxkLWluZml4JywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUnLCAnJywgY29sb3IsICRibGFjay0xMDAwLCAkd2hpdGUtMTAwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2snLCAnJywgY29sb3IsICRibGFjay0xMDAwLCAkd2hpdGUtMTAwMCk7XG5cbi8qIG1hdC1kaXZpZGVyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtZGl2aWRlcicsICcnLCBib3JkZXItYm90dG9tLCAxcHggc29saWQgd2hpdGUsIDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1kaXZpZGVyJywgJycsIGJvcmRlci10b3AsICcnLCAxcHggc29saWQgYmxhY2spO1xuXG4vKiBhcHAtYWRtaW4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4sICcuYWRtaW4nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1hZG1pbi1uYXZiYXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tbmF2YmFyLCAnLmFkbWluLW5hdmJhciBuYXYnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLW5hdmJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLW5hdmJhciwgJy5sb2dvIGltZycsIGZpbHRlciwgJycsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkpO1xuXG4vKiBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmxhYmVsJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8vIOKaoO+4jyBBIHJlZ3JhIEFDSU1BIMOpIHVtIHNlbGV0b3IgREVTQ0VOREVOVEUgZSBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXJgIMOpIG9cbi8vIHNoZWxsIHF1ZSBlbnZvbHZlIFRPRE8gbyBjb250ZcO6ZG8gZGEgYWRtaW4gKG8gYDxyb3V0ZXItb3V0bGV0PmAgZGFzIHDDoWdpbmFzXG4vLyB2aXZlIGRlbnRybyBkbyB0ZW1wbGF0ZSBkZWxlKS4gT3Ugc2VqYTogZWxhIHBpbnRhIFFVQUxRVUVSIGAubWF0LWljb25gIGRhXG4vLyDDoXJlYSBhZG1pbmlzdHJhdGl2YSwgbsOjbyBzw7Mgb3MgZG8gbWVudSDigJQgZSwgY29tbyByZWdyYSBleHBsw61jaXRhIHNlbXByZVxuLy8gdmVuY2UgaGVyYW7Dp2EsIHVtIMOtY29uZSBkZW50cm8gZGUgYm90w6NvIGNvbG9yaWRvIG7Do28gY29uc2VndWUgaGVyZGFyIGEgY29yXG4vLyBkbyBib3TDo28gKMOtY29uZSBlc2N1cm8gc29icmUgZnVuZG8gYWNjZW50LCBjb20gbyByw7N0dWxvIGJyYW5jbyBhbyBsYWRvKS5cbi8vXG4vLyBDb3JyZcOnw6NvIENJUsOaUkdJQ0E6IGRlbnRybyBkZSB1bSBgY2hhaXItYnV0dG9uYCwgbyDDrWNvbmUgdm9sdGEgYSBoZXJkYXIuXG4vLyBFc2NvbGhpZGEgcG9yIG1lZGnDp8OjbyDigJQgcmVwaW50YSBaRVJPIMOtY29uZXMgZXhpc3RlbnRlcyAodmVyaWZpY2FkbyBwb3IgQ0RQXG4vLyBlbSA1IHDDoWdpbmFzIGRhIGFkbWluKSwgZW5xdWFudG8gbyByZWVzY29wbyBkbyBzZWxldG9yIGFjaW1hIG11ZGFyaWEgfjQ4IGRlXG4vLyAxMDggw61jb25lcyBkZSBjb250ZcO6ZG8gZSBleGlnZSByZXZpc8OjbyB2aXN1YWwgZGVkaWNhZGEuXG4vL1xuLy8gTyBwcmVmaXhvIGRlIHRlbWEgw6kgbyBxdWUgZGVjaWRlOiBzZW0gZWxlIGEgZXNwZWNpZmljaWRhZGUgZW1wYXRhIGVtXG4vLyAoMCwyLDEpIGNvbSBhIHJlZ3JhIGFjaW1hIGUgbyByZXN1bHRhZG8gZGVwZW5kZXJpYSBkYSBvcmRlbSBkZSBpbmplw6fDo28uXG4vLyBDb20gZWxlIHNvYmUgcHJhICgwLDMsMSkgZSB2ZW5jZSBkZSBmb3JtYSBkZXRlcm1pbsOtc3RpY2EuXG4vL1xuLy8gVG9ybmEgZGVzbmVjZXNzw6FyaW9zIG9zIHBhdGNoZXMgbG9jYWlzIHF1ZSBjYWRhIHDDoWdpbmEgdmluaGEgcmVwZXRpbmRvLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5jaGFpci1idXR0b24gLm1hdC1pY29uLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmNoYWlyLWJ1dHRvbiAubWF0LWljb24ge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tYXQtc2lkZW5hdi1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBCYWNrZ3JvdW5kIGRvIGJvZHkvaHRtbCDigJQgZW0gZGFyaywgc2VtIGVzc2EgcmVncmEgbyBvdmVyc2Nyb2xsXG4vLyAoYm91bmNlL3J1YmJlci1iYW5kIGRvIG1hY09TL2lPUyBxdWFuZG8gc2Nyb2xsYSBhbMOpbSBkbyBmaW5hbCBkYVxuLy8gcMOhZ2luYSkgcmV2ZWxhIG8gYnJhbmNvIGRlZmF1bHQgZG8gdXNlci1hZ2VudC4gYC5kYXJrLXRoZW1lYCBlc3TDoVxuLy8gbm8gcHLDs3ByaW8gYm9keSwgZW50w6NvIHVzYW1vcyBjb21wb3VuZCBzZWxlY3RvciBlbSB2ZXogZG8gbWl4aW5cbi8vIChxdWUgcHJlZml4YXJpYSBgLmRhcmstdGhlbWUgYm9keWAgZSBuw6NvIGNhc2FyaWEgY29tIG8gYm9keSBxdWUgVEVNXG4vLyBhIGNsYXNzZSkuIGA6aGFzYCBubyBodG1sIMOpIG5lY2Vzc8OhcmlvIHBvcnF1ZSBgLmRhcmstdGhlbWVgIGVzdMOhIGVtXG4vLyBib2R5LCBuw6NvIGVtIGh0bWwuXG5ib2R5LmxpZ2h0LXRoZW1lLFxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbn1cbmJvZHkuZGFyay10aGVtZSxcbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuLy8gSG92ZXIgLyBhY3RpdmUgYmFja2dyb3VuZCArIHRleHQgY29sb3IgZm9yIG1lbnUgaXRlbXMgaW4gdGhlIENsYXNzaWNcbi8vIGN1c3RvbSBzdWJtZW51IChgLmNsYXNzaWMtc3VibWVudWApLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubWF0LWxpc3QtaXRlbTpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrKTtcbi8vIFNlbGVjdGVkIGJhY2tncm91bmQgbWF0Y2hlcyBNb2Rlcm4ncyBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZWBcbi8vIChzYW1lIHRva2VuIGFzIHRoZSBob3ZlciBiZyDigJQgc2VsZWN0ZWQgcmVhZHMgYXMgYSBzbGlnaHRseSBtdXRlZCBwaWxsO1xuLy8gZW1waGFzaXMgY29tZXMgZnJvbSB0aGUgYWN0aXZlIHRleHQgY29sb3IsIG5vdCBhIHRpbnRlZCBmaWxsKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLmxpc3QtaXRlbS1hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gVGhlbWUtYXdhcmUgdGV4dCBjb2xvcjogdW5zZWxlY3RlZCBpdGVtcyB1c2UgdGhlIGxpZ2h0ZXIgdG9rZW4sIHNlbGVjdGVkIGl0ZW1zXG4vLyB1c2UgdGhlIGRhcmtlciB0b2tlbi4gV2l0aG91dCB0aGVzZSB0aGUgY29tcG9uZW50IFNDU1MgaGFyZGNvZGVzIGxpZ2h0IHZhbHVlc1xuLy8gaW4gYm90aCB0aGVtZXMgKGRhcmsgbW9kZSB0aGVuIHJlbmRlcnMgd2l0aCBsaWdodC1tb2RlIGNvbG9ycykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLmxpc3QtaXRlbS1hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBEcmFnLWhhbmRsZSBnbHlwaCAoRmF2b3JpdG9zIHJlb3JkZXIgYWZmb3JkYW5jZSkg4oCUIHRoZW1lLWF3YXJlIHNvXG4vLyBpdCdzIHRoZSBzdHJvbmdlc3QgYXZhaWxhYmxlIGNocm9tZSB0b25lIGluIEJPVEggbW9kZXMgKGJsYWNrLWlzaFxuLy8gaW4gbGlnaHQsIG5lYXItd2hpdGUgaW4gZGFyaykuIFRocmVlIHN1cmZhY2VzIHNoYXJlIHRoZSBzYW1lIGxvb2s6XG4vLyBjbGFzc2ljIHN1Ym1lbnUsIGV4cGVyaW1lbnRhbCBzaWRlYmFyIChpbmxpbmUpLCBhbmQgZXhwZXJpbWVudGFsXG4vLyBmbHlvdXQuIFRoZSBmbHlvdXQgaXMgcmVuZGVyZWQgaW4gdGhlIENESyBvdmVybGF5IGNvbnRhaW5lciBhdCBib2R5XG4vLyByb290IOKAlCBzZWxlY3RvciB0YXJnZXRzIGl0IHdpdGhvdXQgdGhlIGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmBcbi8vIGNvbXBvbmVudCBzY29wZSwgc28gdGhlIGdsb2JhbCBydWxlICh3aXRob3V0IGNvbXBvbmVudCB3cmFwcGVyKSBpc1xuLy8gZGVjbGFyZWQgc2VwYXJhdGVseSBiZWxvdy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zdWJtZW51LWRyYWctaGFuZGxlLCAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZHJhZy1oYW5kbGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBGbHlvdXQgZHJhZyBoYW5kbGUgbGl2ZXMgb3V0c2lkZSB0aGUgY29tcG9uZW50IHNjb3BlIChib2R5LXJvb3Rcbi8vIG92ZXJsYXkpLiBQbGFpbiBnbG9iYWwgc2VsZWN0b3JzLlxuLmxpZ2h0LXRoZW1lIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTsgfVxuLmRhcmstdGhlbWUgIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrOyB9XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubmF2YmFyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubmF2YmFyJywgYm94LXNoYWRvdywgMHB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAuMiksIDBweCAycHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBXb3Jrc3BhY2UgYmFyIChUUEMgY2hhaXIgXCJ3aW5kb3cgdGl0bGVcIikg4oCUIHNpdHMgYWJvdmUgdGhlIHRvb2xiYXIsIGZ1bGxcbi8vIHNjcmVlbiB3aWR0aCBzbyBsb25nIGV2ZW50IG5hbWVzIGZpdC4gU2xhY2stc3R5bGUgaWRlbnRpZmllciBiYW5kLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhciAud29ya3NwYWNlLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXIgLndvcmtzcGFjZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtYmFyIC53b3Jrc3BhY2UtY2hldnJvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBKRU1TIGxvZ286IHRoZSBTVkcgdmFyaWFudCBsb2FkZWQgYnkgPHBpY3R1cmU+IGlzIHdoaXRlIChkZXNpZ25lZCBmb3IgZGFya1xuLy8gYmFja2dyb3VuZHMpLiBJbnZlcnQgaXQgaW4gbGlnaHQgbW9kZSBzbyBpdCByZWFkcyBvbiB0aGUgb2ZmLXdoaXRlIHN1cmZhY2UuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtbG9nbyBpbWcnLCBmaWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbi8vIEV4cGVyaW1lbnRhbCBzaW5nbGUgc2lkZWJhciAobGVmdCBvZiBhY3Rpdml0eS1iYXIpIOKAlCBzYW1lIHN1cmZhY2UgdG9rZW5zXG4vLyBhcyB0aGUgYWN0aXZpdHktYmFyIC8gc3VibWVudSBzbyB0aGUgdGhyZWUgY2hyb21lIGJsb2NrcyByZWFkIGFzIG9uZVxuLy8gZmFtaWx5IGR1cmluZyBBL0IgY29tcGFyaXNvbi4gSXRlbSBjb2xvciArIGhvdmVyL2V4cGFuZGVkIHRva2VucyBtaXJyb3Jcbi8vIHRoZSBzdWJtZW51IGl0ZW1zIChkZWZpbmVkIGdyYXkg4oaSIGFjdGl2ZSBncmF5IG9uIGludGVyYWN0aW9uKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXInLCBib3JkZXItcmlnaHQtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhcicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIEVkZ2UtbGluZSBhdCB0aGUgc2lkZWJhcidzIHJpZ2h0IGVkZ2Ug4oCUIHNhbWUgYCRjaHJvbWUtYm9yZGVyLWxpZ2h0Ly1kYXJrYFxuLy8gcGFpciB1c2VkIGVsc2V3aGVyZSBmb3IgdGhlIHJlc3Rpbmcgc3RhdGUsIHBsdXMgdGhlIGAtYWN0aXZlYCB2YXJpYW50XG4vLyB3aGVuIHRoZSB1c2VyIGhvdmVycy9kcmFncyB0aGUgcmVzaXplIGhhbmRsZSAoc2xpZ2h0bHkgbW9yZSBjb250cmFzdFxuLy8gd2l0aG91dCBjb21taXR0aW5nIHRvIGFuIGFjY2VudCBjb2xvcikuXG4vLyBNb2Rlcm4ncyBleHBlcmltZW50YWwtc2lkZWJhciByaWdodCBlZGdlIOKAlCBkaXZpZGVyIHZpYSBgYm9yZGVyLXJpZ2h0YFxuLy8gb24gdGhlIHNpZGViYXIgaXRzZWxmIChyZXN0IHN0YXRlKSwgd2l0aCBhIDFweCBgYm94LXNoYWRvd2Agb3V0c2lkZVxuLy8gdGhlIHJpZ2h0IGVkZ2Ugb24gaG92ZXIvZHJhZyBvZiB0aGUgcmVzaXplIGhhbmRsZSAoYWN0aXZlIGVtcGhhc2lzKS5cbi8vIFNhbWUgcGF0dGVybiBhcHBsaWVkIHRvIHRoZSBDbGFzc2ljIHN1Ym1lbnUncyByaWdodCBlZGdlIChzZWUgYmxvY2tcbi8vIGZ1cnRoZXIgZG93bikuIE5vIHNlcGFyYXRlIGAuZXhwZXJpbWVudGFsLXNpZGViYXItZWRnZS1saW5lYCBlbGVtZW50XG4vLyBleGlzdHMgYW55bW9yZS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIEhvdmVyIC8gZHJhZyDigJQgYm9yZGVyIGNvbG9yIGJ1bXBzICsgMXB4IGJveC1zaGFkb3cgb3V0c2lkZSBmb3IgdGhlXG4vLyAycHggdGludGVkIHN0cmlwZSBlZmZlY3QgKDFweCBib3JkZXIgaW5zaWRlICsgMXB4IHNoYWRvdyBvdXRzaWRlKS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1leHBlcmltZW50YWwtcmVzaXplLWhhbmRsZSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIucmVzaXppbmctZXhwZXJpbWVudGFsIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1leHBlcmltZW50YWwtcmVzaXplLWhhbmRsZSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1leHBlcmltZW50YWwgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAxcHggMCAwICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi8vIENsYXNzaWMgc3VibWVudSdzIGVkZ2Ugc3R5bGluZyBpcyByZW5kZXJlZCB2aWEgYG1hdC1zaWRlbmF2YCdzIG93blxuLy8gYGJvcmRlci1yaWdodGAgKHJlc3Qgc3RhdGUpIHBsdXMgYSBgYm94LXNoYWRvd2AgKGhvdmVyL2RyYWcpIOKAlCBzZWVcbi8vIHRoZSBibG9jayB0aXRsZWQgXCJDTEFTU0lDIExBWU9VVCDigJQgc3VibWVudSdzIHJpZ2h0IGJvcmRlclwiIGZ1cnRoZXJcbi8vIGRvd24uIE5vIHNlcGFyYXRlIGAuc3VibWVudS1lZGdlLWxpbmVgIGVsZW1lbnQgZXhpc3RzIGFueW1vcmUuXG4vLyBCb3R0b20gcmFpbCBiZyDigJQgZXhwbGljaXQgdGhlbWUgdG9rZW5zIChyYXRoZXIgdGhhbiBgYmFja2dyb3VuZC1jb2xvcjpcbi8vIGluaGVyaXRgKSBzbyB0aGUgc3RpY2t5IHN0cmlwIHJlbGlhYmx5IG9wYXF1ZSwgaGlkaW5nIHNjcm9sbGluZyBpdGVtc1xuLy8gYmVoaW5kIGl0IGluc3RlYWQgb2YgbGV0dGluZyB0aGVtIGJsZWVkIHRocm91Z2guXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIFN0aWNreSBoZWFkZXIgaW5zaWRlIHRoZSBzY3JvbGxhYmxlIGl0ZW1zIGFyZWEg4oCUIG9wYXF1ZSBiZyBzbyBpdGVtc1xuLy8gc2Nyb2xsaW5nIHVwIGRpc2FwcGVhciBiZWhpbmQgaXQgaW5zdGVhZCBvZiBibGVlZGluZyB0aHJvdWdoLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWhlYWRlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG4vLyBEaXZpZGVyIGxpbmVzIG9uIHRoZSBoZWFkZXIgLyBib3R0b20gcmFpbCDigJQgc3VyZmFjZWQgb25seSB3aGVuIHRoZXJlJ3Ncbi8vIGNvbnRlbnQgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgYWJvdmUgKGAuaGFzLWRpdmlkZXJgIG9uIGhlYWRlcikgb3IgYmVsb3dcbi8vIChgLmhhcy1kaXZpZGVyYCBvbiBib3R0b20gcmFpbCkuIERlZmF1bHQgYm9yZGVyLWNvbG9yIGlzIHRyYW5zcGFyZW50IChzZXRcbi8vIGluIHRoZSBjb21wb25lbnQgU0NTUyBhcyBhIHNob3J0aGFuZCBgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50YClcbi8vIHNvIHRoZSBsYXlvdXQgZG9lc24ndCBzaGlmdCB3aGVuIHRoZSBjbGFzcyB0b2dnbGVzLiBgIWltcG9ydGFudGAgaXNcbi8vIG5lZWRlZCBiZWNhdXNlIHRoZSBzaG9ydGhhbmQgaW4gdGhlIGNvbXBvbmVudCBTQ1NTLCB3aXRoIHZpZXctZW5jYXBzdWxhdGlvblxuLy8gYXR0cnMsIGhhcyBoaWdoZXIgc3BlY2lmaWNpdHkgKDAsNCwwKSB0aGFuIHRoZSB0aGVtZSBydWxlICgwLDMsMSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItaGVhZGVyLmhhcy1kaXZpZGVyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQgIWltcG9ydGFudCwgJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20uaGFzLWRpdmlkZXInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQpO1xuLy8gRHJvcCBzaGFkb3dzIG9uIHRoZSBoZWFkZXIgKHdoZW4gc2Nyb2xsLWNsaXBwZWQgYWJvdmUpIGFuZCBib3R0b20gcmFpbFxuLy8gKHdoZW4gc2Nyb2xsLWNsaXBwZWQgYmVsb3cpIHdlcmUgcmVtb3ZlZCBwZXIgZGVzaWduIGRlY2lzaW9uIOKAlCB0aGVcbi8vIDFweCBkaXZpZGVyIGxpbmUgYWxvbmUgaXMgZW5vdWdoIHRvIGNvbnZleSB0aGUgXCJsaWZ0ZWRcIiBib3VuZGFyeSwgYW5kXG4vLyB0aGUgc2hhZG93IGFkZGVkIHZpc3VhbCB3ZWlnaHQgdGhhdCBjb21wZXRlZCB3aXRoIHRoZSByZXN0IG9mIHRoZVxuLy8gcXVpZXQgY2hhaXIgY2hyb21lLiBSZS1hZGQgdmlhIGAuaGFzLWRpdmlkZXJgIC8gYC5oYXMtc2hhZG93YCBydWxlc1xuLy8gaGVyZSBpZiB0aGUgbGlmdCBjdWUgaXMgd2FudGVkIGFnYWluLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbSAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBIb21lLWljb24gZG8gYnJhbmQtbGluayAobG9nbyBKRU1TICsgaG9tZSBubyBleHBhbmRlZCBzaWRlYmFyKSDigJQgbWVzbWFcbi8vIGNvciBhY3RpdmUgZG9zIMOtY29uZXMgZG9zIGl0ZW1zIHByYSBiYXRlciB2aXN1YWxtZW50ZSAxOjEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWhvbWUtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvbWUgc3RhbmQtYWxvbmUgbm8gY29sbGFwc2VkIOKAlCBob3ZlciBiZyBpZ3VhbCBhb3MgaXRlbXMgZGEgcmFpbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaG9tZS1jb2xsYXBzZWQ6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEhvdmVyIGxpZnRzIHRoZSBsYWJlbCB0ZXh0IHRvIHRoZSBTQU1FIGFjdGl2ZSB0b2tlbiB0aGUgaWNvbiBhbHJlYWR5XG4vLyB1c2VzIOKAlCBrZWVwcyBpY29uIGFuZCBsYWJlbCB2aXN1YWxseSBjb2hlcmVudCBvbiBob3ZlciAoYm90aCBhdCB0aGVcbi8vIFwic2VsZWN0ZWQvaG92ZXJcIiBpbnRlbnNpdHkgaW5zdGVhZCBvZiBpY29uIGRhcmsgKyB0ZXh0IHF1aWV0KS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbTpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIENPTExBUFNFRCBsZXZlbC0xIGdyb3VwIGN1am8gZmlsaG8gZXN0w6EgbmEgcm90YSBhdHVhbCByZWNlYmUgbyBtZXNtb1xuLy8gdmlzdWFsIGRvIGhvdmVyIOKAlCBzZW0gaXNzbywgZmVjaGFyIG8gZ3J1cG8gYXBhZ2FyaWEgYSDDum5pY2EgcGlzdGFcbi8vIGRlIFwidm9jw6ogZXN0w6EgZGVudHJvIGRlc3NlIGdydXBvXCIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0uaGFzLWFjdGl2ZS1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0uaGFzLWFjdGl2ZS1jaGlsZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIExldmVsLTEgaXRlbXMgaW4gdGhlIGV4cGFuZGVkIHNpZGViYXIgZG9uJ3QgY2FycnkgYSBwZXJzaXN0ZW50XG4vLyBcInNlbGVjdGVkXCIgaGlnaGxpZ2h0IOKAlCB0aGUgZXhwYW5kL2NvbGxhcHNlIHN0YXRlIGlzIGNvbnZleWVkIHNvbGVseVxuLy8gYnkgdGhlIGNhcmV0IHJvdGF0aW9uIGFuZCB0aGUgdmlzaWJsZSBjaGlsZHJlbiBwYW5lbCBiZWxvdy4gKFdhc1xuLy8gcGFpbnRpbmcgYC5leHBhbmRlZGAgd2l0aCB0aGUgaG92ZXIgYmcgKyBhY3RpdmUgY29sb3I7IHJlbW92ZWQgYXRcbi8vIHRoZSB1c2VyJ3MgcmVxdWVzdC4pXG4vLyBMZXZlbC0yIGNoaWxkIHJvd3Mg4oCUIGRlZmF1bHQgKyBob3ZlciArIHJvdXRlckxpbmtBY3RpdmUgKFwiYWN0aXZlXCIgY2xhc3MpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6aG92ZXInLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBTZWxlY3RlZCAoLmFjdGl2ZSkgYW5kIGhvdmVyIHNoYXJlIHRoZSBzYW1lIGJhY2tncm91bmQg4oCUIGNoYWlyIFVJIGRlc2lnblxuLy8gcnVsZTogaG92ZXIg4omhIHNlbGVjdGVkIGZvciBhY3RpdmUtc3RhdGUgZW1waGFzaXMsIGJvdGggY2xlYXJseSBkaXN0aW5jdFxuLy8gZnJvbSByZXN0LiBUaGUgYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmRgIHRva2VuIGlzXG4vLyBrZXB0IGRlZmluZWQgKHVzZWQgZWxzZXdoZXJlLCBlLmcuIHRoZSBsZWdhY3kgbmF2YmFyKSBidXQgbm8gbG9uZ2VyXG4vLyBhcHBsaWVkIGhlcmUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhlYWRlciAobG9nbyArIGNsb3NlIGJ1dHRvbikg4oCUIHNlcGFyYXRvciBiZWxvdyArIGJ1dHRvbiBob3ZlciBiZyArIGRhcmstXG4vLyBtb2RlIGxvZ28gaW52ZXJ0IChzYW1lIHBhdHRlcm4gYXMgdGhlIHByZXZpb3VzbHkgcmVtb3ZlZCBsZWZ0LWNvbHVtbi1oZWFkZXIpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gQ2xhc3NpYyB0b29sYmFyIGxvZ28g4oCUIHNhbWUgZmlsdGVyIHRyZWF0bWVudCBhcyB0aGUgTW9kZXJuJ3Ncbi8vIGV4cGVyaW1lbnRhbC1zaWRlYmFyIGxvZ28gYWJvdmU6IHRoZSBzaGlwcGVkIFNWRyAoYGplbXMtYWx0LnN2Z2ApIGlzXG4vLyB0aGUgV0hJVEUgdmVyc2lvbiAoZGFyay1tb2RlIG5hdGl2ZSksIHNvIGxpZ2h0IG1vZGUgaW52ZXJ0cyBpdCB0b1xuLy8gYmxhY2sgdmlhIGZpbHRlci4gRGFyayBtb2RlIGtlZXBzIHRoZSBvcmlnaW5hbCB3aGl0ZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXItbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhci1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gU3RhdGljIGljb24gY29sb3Igb25seSDigJQgaG92ZXIgYmcgcmVtb3ZlZCBwZXIgZGVzaWduIGRlY2lzaW9uIChrZWVwc1xuLy8gdGhlIHRvZ2dsZSBhcyBhIHF1aWV0ZXIgY2hyb21lIGVsZW1lbnQgd2l0aCBubyBob3ZlciBhZmZvcmRhbmNlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1jbG9zZS1idXR0b24gLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gQm90dG9tLXJhaWwgaWRlbnRpdHkgYmxvY2sg4oCUIHNhbWUgXCJhY3RpdmVcIiB0ZXh0IGNvbG9yIHVzZWQgYnkgZXhwYW5kZWRcbi8vIG1lbnUgaXRlbXMgc28gaXQgcmVhZHMgYXMgcHJpbWFyeSBpbmZvOyB0aGUgSUQgYW5kIGVtYWlsIGluaGVyaXQgYW5kXG4vLyBtdXRlIHRoZW1zZWx2ZXMgdmlhIHRoZSBvcGFjaXR5IHJhbXAgc2V0IGluIHRoZSBjb21wb25lbnQgU0NTUy4gV2l0aG91dFxuLy8gdGhpcyBydWxlIHRoZSBibG9jayB3b3VsZCBmYWxsIGJhY2sgdG8gdGhlIGdsb2JhbCBkZWZhdWx0IHRleHQgY29sb3IsXG4vLyB3aGljaCByZW5kZXJzIHRvbyBkYXJrIGluIGRhcmstbW9kZSAodGhlIHN5bXB0b20gd2UncmUgZml4aW5nIGhlcmUpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC11c2VyLWluZm8nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbi8vIERyYWctYW5kLWRyb3AgdmlzdWFsIGZlZWRiYWNrIGZvciByZW9yZGVyaW5nIEZhdm9yaXRvcyBpdGVtcy4gVGhlXG4vLyBgLmNkay1kcmFnLXByZXZpZXdgIGlzIHRoZSBmbG9hdGluZyBjbG9uZSBDREsgcmVuZGVycyBhdCB0aGUgYm9keSByb290XG4vLyB3aGlsZSB0aGUgdXNlciBkcmFncy4gQ0RLIGNvcGllcyB0aGUgc291cmNlJ3MgY2xhc3NlcyBidXQgdGhlIGNsb25lIGlzXG4vLyBvdXRzaWRlIHRoZSBjb21wb25lbnQncyB2aWV3IGVuY2Fwc3VsYXRpb24sIHNvIGNvbXBvbmVudC1zY29wZWQgcnVsZXNcbi8vIGRvbid0IHJlYWNoIGl0IOKAlCB3ZSByZXN0YXRlIHRoZSByb3cgZ2VvbWV0cnksIHR5cG9ncmFwaHksIEFORCBpbm5lclxuLy8gaWNvbi9sYWJlbCBzdHlsZXMgaGVyZSBzbyB0aGUgZmxvYXRpbmcgY2xvbmUgaXMgcGl4ZWwtZmFpdGhmdWwgdG8gdGhlXG4vLyBvcmlnaW5hbCBsZXZlbC0yIHJvdy4gVmlzdWFsbHkgdHJlYXRlZCBhcyBhIFwiaG92ZXJlZFwiIHZlcnNpb24gb2YgdGhlXG4vLyByb3cgKGhvdmVyLWJnICsgYWN0aXZlIHRleHQgY29sb3IpIHBsdXMgYSBzdWJ0bGUgZWxldmF0aW9uLCBzbyB0aGVcbi8vIGxpZnRlZCBzdGF0ZSByZWFkcyBhcyBhIHNpYmxpbmcgb2YgdGhlIG1lbnUncyBvd24gaG92ZXIgYWZmb3JkYW5jZS5cbi5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAyOHB4O1xuICAvLyBQYWRkaW5nLWxlZnQgbWlycm9ycyB0aGUgc291cmNlIHJvdydzIHZhbHVlIChidW1wZWQgZnJvbSAyMuKGkjI2IGluXG4gIC8vIHRoZSBjb21wb25lbnQgU0NTUyB0byBsZWF2ZSByb29tIGZvciB0aGUgZHJhZyBoYW5kbGUgaW4gdGhlIGluZGVudFxuICAvLyBndXR0ZXIpLiBUaGUgaGFuZGxlIGl0c2VsZiBpcyBoaWRkZW4gaW5zaWRlIHRoZSBwcmV2aWV3IChzZWUgYmVsb3cpLFxuICAvLyBidXQgdGhlIHBhZGRpbmcgc3RpbGwgaGFzIHRvIG1hdGNoIHNvIHRoZSBpY29uICsgbGFiZWwgc2l0IGF0IHRoZVxuICAvLyBzYW1lIHggaW4gdGhlIGNsb25lIGFzIGluIHRoZSBzb3VyY2Ug4oCUIG90aGVyd2lzZSB0aGUgcm93IHZpc2libHlcbiAgLy8ganVtcHMgd2hlbiB0aGUgdXNlciBwaWNrcyBpdCB1cC5cbiAgcGFkZGluZzogMCAxNHB4IDAgMjZweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBMZWFkaW5nIGljb24g4oCUIHJlc3RhdGVkIGJlY2F1c2UgdGhlIGNvbXBvbmVudC1zY29wZWQgcnVsZSBmb3JcbiAgLy8gYC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1pY29uYCBkb2Vzbid0IGFwcGx5IG91dHNpZGUgdGhlXG4gIC8vIGNvbXBvbmVudCdzIGhvc3QgYXR0cmlidXRlLiBNaXJyb3JzIHRoZSBvcmlnaW5hbCAxNnB4ICg4MCUgb2ZcbiAgLy8gbGV2ZWwtMSkgc2l6aW5nIGFuZCB0aGUgc2FtZSBNYXRlcmlhbCBTeW1ib2xzIHZhcmlhYmxlIGF4ZXMuXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIC8vIE1pcnJvcnMgdGhlIHNvdXJjZSByb3cncyA4cHggKHdhcyAxMCkgc28gdGhlIGZsb2F0aW5nIHByZXZpZXdcbiAgICAvLyBkb2Vzbid0IHNoaWZ0IHRoZSBsYWJlbCBob3Jpem9udGFsbHkgd2hlbiB0aGUgdXNlciBncmFicyB0aGUgcm93LlxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICB9XG5cbiAgLy8gTGFiZWwg4oCUIGZsZXgtZ3JvdyB3aXRoIGVsbGlwc2lzIHNvIGEgbG9uZyBsYWJlbCB0cnVuY2F0ZXMgY2xlYW5seVxuICAvLyBpbnNpZGUgdGhlIGZpeGVkLXdpZHRoIHByZXZpZXcgY2xvbmUgKENESyBwaW5zIHRoZSBwcmV2aWV3J3Mgd2lkdGhcbiAgLy8gdG8gdGhlIHNvdXJjZSdzIGNsaWVudFdpZHRoKS5cbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLy8gVHJhaWxpbmcgZmF2b3JpdGUgc3RhciBpcyBzdXBwcmVzc2VkIGluc2lkZSB0aGUgcHJldmlldyDigJQgdGhlIGRyYWdcbiAgLy8gZ2VzdHVyZSBpdHNlbGYgY29udmV5cyBcImFjdGl2ZSBpdGVtXCIsIGFuZCB0aGUgc3RhcidzIGhvdmVyLWRyaXZlblxuICAvLyB2aXNpYmlsaXR5IHdvdWxkbid0IGZpcmUgb24gdGhlIHN0YW5kYWxvbmUgY2xvbmUgYW55d2F5LiBTYW1lIGZvclxuICAvLyB0aGUgbGVhZGluZyBkcmFnIGhhbmRsZSDigJQgaXRzIHJvbGUgKHNpZ25hbGluZyBkcmFnIGFmZm9yZGFuY2UpIGlzXG4gIC8vIG1vb3Qgb25jZSB0aGUgdXNlciBpcyBhbHJlYWR5IGRyYWdnaW5nLlxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZmF2b3JpdGUtYnRuLFxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZHJhZy1oYW5kbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5saWdodC10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi8vIFBsYWNlaG9sZGVyIGxlZnQgYmVoaW5kIGluIHRoZSBvcmlnaW5hbCBzbG90IOKAlCBkaW1tZWQgdG8gYSBcImdob3N0XCJcbi8vIHN0YXRlIHNvIHRoZSB1c2VyIHNlZXMgd2hlcmUgdGhlIHJvdyB3YXMgc2l0dGluZyBhbmQgZ2F1Z2VzIHdoZXJlXG4vLyB0aGUgZHJvcCB3aWxsIGxhbmQgaWYgdGhleSByZWxlYXNlIG92ZXIgdGhlIHNhbWUgc2xvdC4gU2FtZSBnZW9tZXRyeVxuLy8gYXMgdGhlIHJvdyAoQ0RLIGNsb25lcyBpdCkgc28gdGhlIHN1cnJvdW5kaW5nIGl0ZW1zIGRvbid0IHNoaWZ0LlxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFNtb290aCBzaGlmdCBmb3IgdGhlIE9USEVSIGl0ZW1zIGFzIHRoZXkgYW5pbWF0ZSB0byBmaWxsIHRoZSBtb3ZlZFxuLy8gcm93J3Mgb2xkIHNsb3QgLyBtYWtlIHJvb20gZm9yIHRoZSBuZXcgcG9zaXRpb24uIENESyBhcHBsaWVzXG4vLyBgLmNkay1kcmFnLWFuaW1hdGluZ2AgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgYXV0by10cmFuc2xhdGU7IHRoZVxuLy8gYGNkay1kcm9wLWxpc3QtZHJhZ2dpbmdgIGNsYXNzIG9uIHRoZSBjb250YWluZXIgbGV0cyB1cyBzY29wZSB0aGVcbi8vIHRyYW5zaXRpb24gdG8gb25seSB3aGVuIGEgZHJhZyBpcyBpbiBwcm9ncmVzcyAob3RoZXJ3aXNlIHVucmVsYXRlZFxuLy8gcmUtcmVuZGVycyBpbmhlcml0IHRoZSBlYXNpbmcpLlxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkOm5vdCguY2RrLWRyYWctcGxhY2Vob2xkZXIpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zICRlYXNlLW91dDtcbn1cblxuLy8gLS0tLS0tLS0tLSBGbHlvdXQgZHJhZy1hbmQtZHJvcCB2aXN1YWwgZmVlZGJhY2sgLS0tLS0tLS0tLVxuLy8gVGhlIEZhdm9yaXRvcyBmbHlvdXQgKGNvbGxhcHNlZC1tb2RlIG1hdC1tZW51KSBzdXBwb3J0cyB0aGUgc2FtZSBkcmFnLVxuLy8gcmVvcmRlciBnZXN0dXJlIGFzIHRoZSBpbmxpbmUgbGV2ZWwtMiBsaXN0LiBQcmV2aWV3IC8gcGxhY2Vob2xkZXIgL1xuLy8gYW5pbWF0aW5nLXJvdyB0cmVhdG1lbnRzIG1pcnJvciB0aGUgaW5saW5lIHJ1bGVzIGFib3ZlOyB0aGUgc291cmNlIHJvd1xuLy8gZ2VvbWV0cnkgcmVzdGF0ZWQgaGVyZSBpcyBmb3IgdGhlIGAuY2RrLWRyYWctcHJldmlld2AgY2xvbmUgKHJlbmRlcmVkXG4vLyBhdCBib2R5IHJvb3QsIG91dHNpZGUgdGhlIGZseW91dCdzIG1hdC1tZW51IHN0eWxlcykuXG4uY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDZweCAxNHB4IDZweCAyNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZXhwZXJpbWVudGFsLWZseW91dC1jaGlsZC1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICB9XG4gID4gc3BhbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuICAvLyBEcmFnIGhhbmRsZSArIGZhdm9yaXRlIHN0YXIgaGlkZGVuIGluIHRoZSBwcmV2aWV3IOKAlCBuZWl0aGVyIHJvbGVcbiAgLy8gYXBwbGllcyBkdXJpbmcgdGhlIGxpZnRlZCBkcmFnIHN0YXRlLlxuICAuZXhwZXJpbWVudGFsLWZseW91dC1kcmFnLWhhbmRsZSxcbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZmF2b3JpdGUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubGlnaHQtdGhlbWUgLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1mbG9hdGluZy1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi5jZGstZHJhZy1wbGFjZWhvbGRlci5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyAtLS0tLS0tLS0tIENsYXNzaWMgc3VibWVudSBkcmFnLWFuZC1kcm9wIHZpc3VhbCBmZWVkYmFjayAtLS0tLS0tLS0tXG4vLyBUaGUgQ2xhc3NpYyBsYXlvdXQncyBzdWJtZW51IChgPG1hdC1zaWRlbmF2PmAgKyBgPG1hdC1saXN0PmApIHN1cHBvcnRzXG4vLyB0aGUgc2FtZSBkcmFnLXJlb3JkZXIgZ2VzdHVyZSBhcyB0aGUgTW9kZXJuJ3MgbGV2ZWwtMiBjaGlsZHJlbi4gVGhlXG4vLyBgLmNkay1kcmFnLXByZXZpZXdgIGNsb25lIGlzIHJlbmRlcmVkIGF0IHRoZSBib2R5IHJvb3QgKG91dHNpZGUgdGhlXG4vLyBjb21wb25lbnQncyB2aWV3IGVuY2Fwc3VsYXRpb24pLCBzbyB3ZSByZXN0YXRlIHRoZSByb3cgZ2VvbWV0cnkgK1xuLy8gdGhlbWUgdHJlYXRtZW50IGhlcmUgc28gdGhlIGZsb2F0aW5nIHByZXZpZXcgbG9va3MgbGlrZSBhIGhvdmVyZWRcbi8vIHZlcnNpb24gb2YgdGhlIHNvdXJjZSByb3cuXG4uY2RrLWRyYWctcHJldmlldy5tYXQtbGlzdC1pdGVtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiAwIDE0cHggMCAxNHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gTWF0ZXJpYWwncyBpbm5lciB3cmFwcGVyIOKAlCByZXN0YXRlZCBvdXRzaWRlIHRoZSBjb21wb25lbnQncyB2aWV3XG4gIC8vIGVuY2Fwc3VsYXRpb24uIFRoZSBzb3VyY2Ugcm93J3MgYDo6bmctZGVlcCAubWF0LWxpc3QtaXRlbS1jb250ZW50YFxuICAvLyBydWxlIChkaXNwbGF5OiBmbGV4KSBkb2Vzbid0IHJlYWNoIHRoZSBwcmV2aWV3IGNsb25lIChyZW5kZXJlZCBhdFxuICAvLyA8Ym9keT4gcm9vdCkuIFdpdGhvdXQgdGhpcywgdGhlIGxhYmVsIC8gaGFuZGxlIC8gc3RhciBpbnNpZGUgdGhlXG4gIC8vIHdyYXBwZXIgc3RhY2sgdmVydGljYWxseSAoZGVmYXVsdCBibG9jayBmbG93KSBhbmQgdGhlIHByZXZpZXdcbiAgLy8gbG9va3Mgbm90aGluZyBsaWtlIHRoZSBzb3VyY2Ugcm93LlxuICAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIEhhbmRsZSAvIHN0YXIga2VwdCBhcyBmbGV4IHNsb3RzICh2aXNpYmlsaXR5OiBoaWRkZW4pIHNvIHRoZVxuICAvLyBsYWJlbCdzIGF2YWlsYWJsZSB3aWR0aCBtYXRjaGVzIHRoZSBzb3VyY2Ugcm93IGV4YWN0bHkg4oCUIHNhbWVcbiAgLy8gdHJ1bmNhdGlvbiBwb2ludCwgc2FtZSB3cmFwIGJlaGF2aW9yLlxuICAuc3VibWVudS1kcmFnLWhhbmRsZSB7XG4gICAgZmxleDogMCAwIDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC5zdWJtZW51LWl0ZW0tbGFiZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuc3VibWVudS1mYXZvcml0ZS1idG4ge1xuICAgIGZsZXg6IDAgMCAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLmxpZ2h0LXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3Lm1hdC1saXN0LWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNkay1kcmFnLXByZXZpZXcubWF0LWxpc3QtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi8vIFBsYWNlaG9sZGVyIGxlZnQgaW4gdGhlIHNvdXJjZSBzbG90IOKAlCBkaW1tZWQgZ2hvc3Qgc28gdGhlIHVzZXIgc2Vlc1xuLy8gd2hlcmUgdGhlIHJvdyB3YXMgYmVmb3JlIHRoZXkgZ3JhYmJlZCBpdC5cbi5jZGstZHJhZy1wbGFjZWhvbGRlci5tYXQtbGlzdC1pdGVtIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFNtb290aCBzaGlmdCBmb3Igc2libGluZyByb3dzIGFzIHRoZXkgc2xpZGUgdG8gZmlsbCB0aGUgbW92ZWQgcm93J3Ncbi8vIG9sZCBzbG90LiBTY29wZWQgdG8gYC5jZGstZHJvcC1saXN0LWRyYWdnaW5nYCBzbyB1bnJlbGF0ZWQgcmUtcmVuZGVyc1xuLy8gZG9uJ3QgcGljayB1cCB0aGUgZWFzaW5nLlxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLm1hdC1saXN0LWl0ZW06bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyBFdmVudC1oaWVyYXJjaHkgYnJlYWRjcnVtYiDigJQgc2l0cyBhdCB0aGUgdG9wIG9mIHRoZSBjb250ZW50IGFyZWEuIFNhbWVcbi8vIGJhY2tncm91bmQgYXMgdGhlIHNpZGViYXIgc28gdGhlIGNocm9tZSByZWFkcyBhcyBhIHNpbmdsZSBob3Jpem9udGFsXG4vLyBiYW5kIGNvbnRpbnVpbmcgYWNyb3NzIHRoZSB0b3AuIFRleHQgKyBob3ZlciB1c2UgdGhlIHNhbWUgbWVudWl0ZW1cbi8vIHRva2VucyBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgcmVzdCBvZiB0aGUgY2hhaXIgVUkuXG4vLyBCcmVhZGNydW1iIGNocm9tZSDigJQgc2FtZSBzdXJmYWNlIGFzIHRoZSBzaWRlYmFyIChiYWNrZ3JvdW5kKSBhbmQgdGhlXG4vLyBzYW1lIGRpdmlkZXIgdG9uZSAoYm9yZGVyLWJvdHRvbSkuIFNlZ21lbnQgdGV4dCBmb2xsb3dzIHRoZSBsZXZlbC0xXG4vLyBzaWRlYmFyIGl0ZW1zJyByYW1wOiBtdXRlZCBgbWVudWl0ZW0tY29sb3JgIGJ5IGRlZmF1bHQsIGJyaWdodGVyXG4vLyBgbWVudWl0ZW0tY29sb3ItYWN0aXZlYCBvbiBob3ZlciAvIGN1cnJlbnQgLyBpY29uLiBIb3ZlciBiYWNrZ3JvdW5kXG4vLyBtaXJyb3JzIHRoZSBzaWRlYmFyIGl0ZW0gaG92ZXIgdG9vLCBzbyB0aGUgaGlnaGxpZ2h0IHJlYWRzIGFzIGEgc2libGluZy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIENMQVNTSUMgTEFZT1VUIOKAlCBzdWJtZW51J3MgcmlnaHQgYm9yZGVyIGRvdWJsZXMgYXMgdGhlIHZpc3VhbCBzZXBhcmF0b3Jcbi8vIEFORCB0aGUgcmVzaXplLWxpbmUgYWZmb3JkYW5jZS4gQXQgcmVzdCwgdGhlIGJvcmRlciB1c2VzIHRoZSBjaHJvbWUtXG4vLyBkaXZpZGVyIHRvbmU7IHdoZW4gdGhlIHVzZXIgaG92ZXJzIHRoZSByZXNpemUgaGFuZGxlIChvciBpcyBtaWQtZHJhZyksXG4vLyB0aGUgYm9yZGVyIGJ1bXBzIHRvIHRoZSBgLWFjdGl2ZWAgdG9rZW4uIFRoZSBib3JkZXIgaXMgcGFydCBvZiB0aGVcbi8vIHN1Ym1lbnUncyBvd24gYm94ICh3aXRoIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCkgc28gaXQgc2xpZGVzIGluIHdpdGhcbi8vIHRoZSBtYXQtc2lkZW5hdiBhbmltYXRpb24gbmF0dXJhbGx5IOKAlCBubyBgLnN1Ym1lbnUtZWRnZS1saW5lYCBvdmVybGF5XG4vLyBuZWVkZWQgZm9yIHRoZSBzZXBhcmF0b3IuIFRoZW1lLWF3YXJlICsgYCFpbXBvcnRhbnRgICh0byBiZWF0IHRoZSBiYXNlXG4vLyBgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnRgIGF0IGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3Ncbi8vIGxpbmUgfjEzMzApLlxuLy8gQmFja2dyb3VuZCArIHRoZW1lIHRva2Vucy4gKFRoZSBNYXRlcmlhbCBtYXQtc2lkZW5hdiBydWxlcyBhdCBsaW5lc1xuLy8gMTMyLTE0NSBzdGlsbCBhcHBseSwgYnV0IG1hdC1zaWRlbmF2IGlzIG5vdyBlbXB0eS9kZWNvcmF0aXZlIGluXG4vLyBDbGFzc2ljIOKAlCBrZXB0IG9ubHkgYXMgYSBzdHJ1Y3R1cmFsIHBsYWNlaG9sZGVyIGZvciB0aGUgTWF0ZXJpYWxcbi8vIG1hdC1zaWRlbmF2LWNvbnRhaW5lci4gVGhlIHZpc2libGUgc3VibWVudSBpcyBgLmNsYXNzaWMtc3VibWVudWAuKVxuLy9cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuLy8gSG92ZXIgLyBkcmFnIOKAlCBib3JkZXIgY29sb3IgYnVtcHMgKyBhIEhBUkQgMXB4IGJveC1zaGFkb3cgb3V0c2lkZVxuLy8gKG92ZXJyaWRlcyB0aGUgZGlmZnVzZSByZXN0LXN0YXRlIHNoYWRvdyBzbyB0aGUgYWN0aXZlIGVkZ2UgcmVhZHMgYXNcbi8vIGEgY3Jpc3AgMnB4IHRpbnRlZC1zdHJpcGUgaW5zdGVhZCBvZiBhIGZ1enp5IGhhbG8pLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLXJlc2l6ZS1oYW5kbGUgLmNsYXNzaWMtc3VibWVudSxcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1zdWJtZW51IC5jbGFzc2ljLXN1Ym1lbnUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1yZXNpemUtaGFuZGxlIC5jbGFzc2ljLXN1Ym1lbnUsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1zdWJtZW51IC5jbGFzc2ljLXN1Ym1lbnUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICBib3gtc2hhZG93OiAxcHggMCAwICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBDTEFTU0lDIExBWU9VVCDigJQgYnJlYWRjcnVtYiBpcyBhIHBlcm1hbmVudCBzdHJpcCBhdCB0aGUgdmVyeSB0b3Agb2Zcbi8vIHRoZSB3aW5kb3cuIFRoZSBjb21wb25lbnQgaG9zdCBoYXMgemVybyBmbG93IGhlaWdodCAodGhlIGlubmVyXG4vLyBgLmV2ZW50LWJyZWFkY3J1bWJgIGlzIGBwb3NpdGlvbjogZml4ZWRgIGFuZCBwYWludHMgaXRzZWxmKTsgdGhlXG4vLyB0b29sYmFyL2NhbnZhcy9zdWJtZW51IG9mZnNldHMgaW4gdGhlIGNvbXBvbmVudCBTQ1NTIHJlc2VydmUgdGhlXG4vLyAzNnB4IGZvciBpdC5cbi5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgYXBwLWV2ZW50LWJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xufVxuLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gIC8vIENvbnNvbWUgb2Zmc2V0IGFncmVnYWRvIGRlIGNocm9tZSAocHJveHktYmFyIGV0Yy4pIOKAlCBiYXNlbGluZSAwXG4gIC8vIHBybyBsYXlvdXQgQ2zDoXNzaWNvIChicmVhZGNydW1iIGZpY2Egbm8gdG9wbywgYW50ZXMgZG8gYWN0aXZpdHktYmFyKS5cbiAgLy8gQW50ZXMgZXJhIGB0b3A6IDBgIGhhcmQtY29kZWQ7IHNlbSBlc3NhIHZhciwgcHJveHktYmFyIGZpY2F2YSBhdHLDoXMuXG4gIHRvcDogdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpO1xuICAvLyBgJHotYnJlYWRjcnVtYmAgc2xvdHMgYWJvdmUgdGhlIHJlc2l6ZSBoYW5kbGVzIGFuZCB0b29sYmFyIGJ1dFxuICAvLyBiZWxvdyBDREsgb3ZlcmxheXMgKHRvb2x0aXBzLCBtZW51cykuIEhpZXJhcmNoeTogc2VlIGBfei1pbmRleC5zY3NzYC5cbiAgei1pbmRleDogJHotYnJlYWRjcnVtYjtcbn1cbi8vIERhcmsgbW9kZSwgQ2xhc3NpYyBvbmx5OiB0aGUgZmxvYXRpbmcgYnJlYWRjcnVtYiBzaXRzIG9uIHRoZSBzYW1lXG4vLyBgIzIwMjAyMGAgY2hyb21lIGFzIHRoZSB0b29sYmFyLCBzbyB0aGUgc2VnbWVudHMnIDAuNjUtb3BhY2l0eSBkaW1cbi8vICh3aGljaCByZWFkcyBmaW5lIGluIE1vZGVybiwgd2hlcmUgdGhlIGJyZWFkY3J1bWIgZmxvYXRzIG92ZXIgdGhlXG4vLyBibGFjayBjYW52YXMpIGVuZHMgdXAgZmFkZWQgaW50byB0aGUgc3Vycm91bmRpbmcgYmcuIENvbXBlbnNhdGUgYnlcbi8vIHByb21vdGluZyB0aGUgbm9uLWN1cnJlbnQgc2VnbWVudCB0ZXh0IHRvIHRoZSBicmlnaHRlciBhY3RpdmUgdG9rZW5cbi8vIOKAlCByZXN0b3JlcyB0aGUgcGVyY2VpdmVkIGxlZ2liaWxpdHkgdG8gbWF0Y2ggTW9kZXJuLlxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50IHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xufVxuLy8gRGVmYXVsdCBzZWdtZW50IHRleHQ6IG11dGVkIHRva2VuIChjaGFpciBVSSBcInJlc3RcIiBjb2xvcikuIEhvbWUgaWNvblxuLy8gYW5kIGludGVybWVkaWF0ZXMgaW5oZXJpdCB0aGlzIOKAlCBnaXZlcyB0aGVtIHRoZSBcImxpZ2h0XCIgdHJlYXRtZW50IHBlclxuLy8gdGhlIGRlc2lnbiBydWxlIFwiaG9tZSArIGludGVybWVkaWF0ZXMgbGlnaHRlciwgY3VycmVudCBoaWdobGlnaHRlZFwiLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBDdXJyZW50IHNlZ21lbnQgdXNlcyB0aGUgYnJpZ2h0ZXIgYG1lbnVpdGVtLWNvbG9yLWFjdGl2ZWAg4oCUIHNhbWUgdG9rZW5cbi8vIHRoZSBzaWRlYmFyIHVzZXMgZm9yIHNlbGVjdGVkIGl0ZW1zLiBDb21iaW5lZCB3aXRoIHRoZSB3Z2h0IDUwMCBidW1wXG4vLyBvbiBgLmV2ZW50LWJyZWFkY3J1bWItbGFiZWwtc3Ryb25nYCAodGhlIGFjcm9ueW0gKyB5ZWFyIHByZWZpeCksIHRoaXNcbi8vIGdpdmVzIHRoZSBjdXJyZW50IGV2ZW50IGEgY2xlYXIgXCJ5b3UgYXJlIGhlcmVcIiBlbXBoYXNpcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQuY3VycmVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvdmVyIGFmZm9yZGFuY2VzIG9uIGV2ZXJ5IGludGVyYWN0aXZlIHNlZ21lbnQgdmFyaWFudCDigJQgYW5jaG9yc1xuLy8gKGxpbmtlZCBzZWdtZW50cykgQU5EIGJ1dHRvbnMgKHRoZSBzdWItZXZlbnRzIHRyaWdnZXIpLiBTcGFuIGZhbGxiYWNrc1xuLy8gKGVsbGlwc2lzLCB1bmxpbmtlZCBjdXJyZW50KSBzdGF5IG91dCBvZiB0aGVzZSBydWxlcyBzbyB0aGV5IGRvbid0XG4vLyBwcmV0ZW5kIHRvIGJlIGludGVyYWN0aXZlLiBDb3ZlcnMgcmVndWxhciBpbnRlcm1lZGlhdGVzLCB0aGUgY3VycmVudFxuLy8gZXZlbnQncyBhbmNob3IgKHdoaWNoIGxpbmtzIHRvIHRoZSBldmVudCdzIFwiSW5mb3JtYcOnw7Vlc1wiIHBhZ2UpLCBhbmRcbi8vIHRoZSB0cmFpbGluZyBcIuKAplwiIGJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBzdWItZXZlbnRzIG1lbnUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICdhLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlciwgYnV0dG9uLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJ2EuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyLCBidXR0b24uZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEJvdMOjbyBkZSBlbnRyYXIvc2FpciBkbyBtb2RvIGFtcGxvIChjYW50byBkaXJlaXRvIGRhIGJhcnJhKSDigJQgbWVzbW8gYmdcbi8vIGRlIGhvdmVyIGRvcyBzZWdtZW50b3MgcHJhIGxlciBjb21vIGZhbcOtbGlhIHZpc3VhbCBjb2VyZW50ZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXdpZGUtdG9nZ2xlOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEljb25zIGluc2lkZSBzZWdtZW50cyBzaXQgYXQgdGhlIGFjdGl2ZSB0b2tlbiAoc2FtZSBydWxlIHRoZSBzaWRlYmFyXG4vLyBhcHBsaWVzIHRvIGl0cyBpdGVtIGljb25zIOKAlCBrZWVwcyB0aGUgaHVlIHN0YWJsZSBhY3Jvc3Mgc3RhdGVzKS5cbi8vIE9wYWNpdHkgaXMgc2V0IG9uIHRoZSBpY29uIGNsYXNzIGluIHRoZSBjb21wb25lbnQgU0NTUyB0byB0aGUgY2hhaXJcbi8vIFVJJ3MgYDAuNjVgIGljb25zLWF0LXJlc3QgbGV2ZWwsIG1hdGNoaW5nIHRoZSBsZXZlbC0xIHNpZGViYXIgaWNvblxuLy8gdHJlYXRtZW50IHNvIHRoZSBob21lIGdseXBoIHJlYWRzIGF0IHRoZSBzYW1lIGRpbW5lc3MgYXMgYSBub24tXG4vLyBleHBhbmRlZCBzaWRlYmFyIGljb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItc2VwYXJhdG9yJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIEhvdmVyIGJhY2tncm91bmQgb24gdGhlIHVzZXItbWVudSB0cmlnZ2VyIOKAlCBzYW1lIHJlY2lwZSBhcyB0aGUgbGV2ZWwtMVxuLy8gbWVudSBpdGVtcywgc28gdGhlIGhpZ2hsaWdodCB0aGF0IGNvdmVycyAoYXZhdGFyICsgaWRlbnRpdHkgdGV4dCkgcmVhZHNcbi8vIGFzIGEgc2libGluZyBvZiB0aGUgcmVzdCBvZiB0aGUgc2lkZWJhcidzIGludGVyYWN0aXZlIHN1cmZhY2VzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC11c2VyLW1lbnUtYnV0dG9uOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIFJlb3BlbiB0YWIgKHZpc2libGUgb25seSB3aGlsZSBjb2xsYXBzZWQpIOKAlCBzYW1lIHRoZW1lIHRva2VucyBhcyB0aGVcbi8vIGFjdGl2aXR5LWJhciB0b29sYmFyIGJ1dHRvbnMgc28gaXQgcmVhZHMgYXMgYSBzaWJsaW5nIG9mIHRoYXQgY2hyb21lLlxuXG4vLyBBY3Rpdml0eSBiYXIgKFZTIENvZGUtc3R5bGUgdmVydGljYWwgaWNvbiBzdHJpcCkg4oCUIHNhbWUgc3VyZmFjZSBhcyB0aGVcbi8vIHNpZGViYXIgc28gaXQgcmVhZHMgYXMgYSBjb250aW51YXRpb24gb2YgdGhlIGxlZnQgY2hyb21lOyBzdWJ0bGUgcmlnaHRcbi8vIGJvcmRlciBzZXBhcmF0ZXMgaXQgZnJvbSB0aGUgc3VibWVudS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhcicsIGJvcmRlci1yaWdodC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuLy8gRHJvcCBzaGFkb3cg4oCUIHPDsyBvdmVycmlkZSBubyBkYXJrIChsaWdodCBmaWNhIGNvbSBvIGAwIDJweCA1cHggMFxuLy8gcmdiYSgwLDAsMCwwLjIpYCBvcmlnaW5hbCBkbyBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzKS5cbi8vIGAhaW1wb3J0YW50YCBwcmEgZ2FuaGFyIGRvIGNvbXBvbmVudCBTQ1NTIChxdWUgdGVtIF9uZ2NvbnRlbnQgbmFcbi8vIGVzcGVjaWZpY2lkYWRlKS5cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDlweCByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbn1cbi8vIENsYXNzaWMgbGF5b3V0IHJvdGF0ZXMgdGhlIGFjdGl2aXR5LWJhciA5MMKwICh2ZXJ0aWNhbCDihpIgaG9yaXpvbnRhbCB0b29sYmFyXG4vLyBiZWxvdyB0aGUgYnJlYWRjcnVtYikuIFRoZSByaWdodCBib3JkZXIgYmVjb21lcyBhIGJvdHRvbSBib3JkZXI7IHRoaXNcbi8vIHJ1bGUgbWlycm9ycyB0aGUgY29sb3VyIHRva2VuIHNvIHRoZSBkaXZpZGVyIHN0YXlzIGluIGNocm9tZS1kaXZpZGVyIHRvbmVcbi8vIHJlZ2FyZGxlc3Mgb2Ygb3JpZW50YXRpb24uIFNldHRpbmcgYm90aCBpcyBoYXJtbGVzcyDigJQgb25seSBvbmUgYm9yZGVyXG4vLyByZW5kZXJzIGF0IGEgdGltZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgYmxhY2spO1xuLy8gU2luZ2xlIGJhc2UgY29sb3IgKHRoZSBcImFjdGl2ZVwiIC8gZGFya2VzdCkgZm9yIGFsbCBpY29uIHN0YXRlcy4gVGhlIGNvbXBvbmVudFxuLy8gU0NTUyBtb2R1bGF0ZXMgb3BhY2l0eSB0byBkaWZmZXJlbnRpYXRlIGRlZmF1bHQgLyBob3ZlciAvIHNlbGVjdGVkIOKAlCBrZWVwc1xuLy8gdGhlIGh1ZSBzdGFibGUgYWNyb3NzIHN0YXRlcyBhbmQgY3JlYXRlcyBhIGNsZWFuIHZpc3VhbCBoaWVyYXJjaHkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvdmVyICsgc2VsZWN0ZWQgYmcgb24gYWN0aXZpdHktYmFyIGJ1dHRvbnMuIE5lZWQgIWltcG9ydGFudCBoZXJlIGJlY2F1c2Vcbi8vIHRoZSBsb2NhbCBydWxlIGluIHNpZGViYXItaXRlbS1hZG1pbi5jb21wb25lbnQuc2Nzc1xuLy8gKGAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9YCkgZ2V0c1xuLy8gaW5mbGF0ZWQgc3BlY2lmaWNpdHkgZnJvbSB2aWV3LWVuY2Fwc3VsYXRpb24gYXR0cmlidXRlcyBhbmQgb3RoZXJ3aXNlIHdpbnMuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIC5zZWxlY3RlZCBpcyBvbiB0aGUgYnV0dG9uIGl0c2VsZiAodmlhIFtuZ0NsYXNzXSBpbiBzaWRlYmFyLWl0ZW0tYWRtaW4nc1xuLy8gdGVtcGxhdGUpLCBub3Qgb24gdGhlIGFuY2VzdG9yIOKAlCBzbyB3ZSB0YXJnZXQgYm90aCBwb3NzaWJsZSBsb2NhdGlvbnMuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCxcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDTEFTU0lDIExBWU9VVCDigJQgdG9vbGJhciBpdGVtIGhvdmVyL3NlbGVjdGVkOiBoaWdobGlnaHQgcGlsbCBvbiB0aGUgSUNPTlxuLy8gb25seSAobm90IHRoZSB3aG9sZSBpY29uK2xhYmVsIHN0YWNrKS4gVGhlIGFib3ZlIHJ1bGVzIHBhaW50IHRoZSBXSE9MRVxuLy8gYnV0dG9uIG9uIGhvdmVyL3NlbGVjdGVkIOKAlCBmaW5lIGZvciBNb2Rlcm4gKGljb24tb25seSA0MMOXNDAgYnV0dG9ucyksXG4vLyBidXQgaW4gQ2xhc3NpYyB0aGUgYnV0dG9uIGFsc28gaG9sZHMgdGhlIHRleHQgbGFiZWwgYmVsb3cgdGhlIGljb24gYW5kXG4vLyBwYWludGluZyBib3RoIHdvdWxkIG92ZXItZW1waGFzaXNlIHRoZSByb3cuIEJlbG93OiBzdXBwcmVzcyB0aGUgYnV0dG9uXG4vLyBwaWxsIGluIENsYXNzaWMsIHBhaW50IHRoZSBpY29uIHBpbGwgaW5zdGVhZC4gVGhlbWUtYXdhcmUuIExpdmVzIGhlcmVcbi8vIChnbG9iYWwgc3R5bGVzaGVldCkgc28gdGhlIGAuZGFyay10aGVtZWAgYW5jZXN0b3Igb24gPGJvZHk+IGNhbiBtYXRjaFxuLy8gd2l0aG91dCBiZWluZyB0cmFwcGVkIGJ5IEFuZ3VsYXIncyB2aWV3IGVuY2Fwc3VsYXRpb24uXG4vL1xuLy8gU3BlY2lmaWNpdHkgdnMuIE1vZGVybiBydWxlczogYC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZClgXG4vLyBhZGRzIDAsMiwwIG92ZXIgdGhlIE1vZGVybiBzZWxlY3RvciDihpIgd2lucyBkZXNwaXRlIGJvdGggdXNpbmdcbi8vIGAhaW1wb3J0YW50YC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkLFxuLmRhcmstdGhlbWUgIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lICBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLy8gYCFpbXBvcnRhbnRgIGhlcmUgYmVhdHMgdGhlIE1vZGVybidzIGAubWF0LWljb24geyBiYWNrZ3JvdW5kLWNvbG9yOlxuLy8gdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfWAgaW4gYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyAobGluZVxuLy8gfjExNzgpIOKAlCB3aXRob3V0IGAhaW1wb3J0YW50YCwgdGhhdCBydWxlIHdpbnMgZXZlbiB0aG91Z2ggb3VyIHNlbGVjdG9yXG4vLyBoYXMgaGlnaGVyIHNwZWNpZmljaXR5LCBiZWNhdXNlIGAhaW1wb3J0YW50YCBpcyBjb21wYXJlZCBvbmx5IGFtb25nXG4vLyBydWxlcyB0aGF0IGFsbCBjYXJyeSBpdC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubWF0LWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5tYXQtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDTEFTU0lDIFRPT0xCQVIg4oCUIGxhYmVsIGNvbG9yOiByZXN0IHVzZXMgdGhlIG11dGVkIG1lbnVpdGVtLWNvbG9yIHRva2VuLFxuLy8gaG92ZXIvc2VsZWN0ZWQgc3dpdGNoZXMgdG8gdGhlIGJyaWdodGVyIG1lbnVpdGVtLWNvbG9yLWFjdGl2ZS4gTWlycm9yc1xuLy8gdGhlIE1vZGVybiBsZXZlbC0xIHNpZGViYXIgaXRlbXMnIGxhYmVsIHRyZWF0bWVudCAobGluZXMgfjIwMy0yMDdcbi8vIGFib3ZlKTogc2FtZSB0d28gdG9rZW5zLCBzYW1lIHJlc3TihpJhY3RpdmUgdHJhbnNpdGlvbiwganVzdCBhcHBsaWVkIHRvXG4vLyBgLmxhYmVsYCBpbnN0ZWFkIG9mIHRoZSBpdGVtIGNvbnRhaW5lci4gVGhlbWUtYXdhcmUsIGdsb2JhbCAoc28gdGhlXG4vLyBydWxlIHBpZXJjZXMgQW5ndWxhcidzIHZpZXcgZW5jYXBzdWxhdGlvbiDigJQgYC5sYWJlbGAgaXMgcmVuZGVyZWQgYnlcbi8vIHRoZSBjaGlsZCA8YXBwLXNpZGViYXItaXRlbS1hZG1pbj4gY29tcG9uZW50KS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24gLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubGFiZWwsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24gLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLmxhYmVsLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbn1cblxuLy8gTm90aWZpY2F0aW9uIChiZWxsKSArIG5ldyB1c2VyLW1lbnUgYnV0dG9ucyBpbiAuYWN0aXZpdHktYmFyLWJvdHRvbSDigJQgc2FtZVxuLy8gdGhlbWUtYXdhcmUgdG9rZW5zIGFzIHRoZSB0b29sYmFyIGl0ZW1zIHNvIGhvdmVyIGJlaGF2ZXMgY29ycmVjdGx5IGluIGRhcmtcbi8vIG1vZGUuIEhhbmQtd3JpdHRlbiB3aXRoICFpbXBvcnRhbnQgZm9yIHRoZSBzYW1lIHZpZXctZW5jYXBzdWxhdGlvbiByZWFzb25cbi8vIGFzIHRoZSB0b29sYmFyIHJ1bGVzIGFib3ZlLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIEJlbGwgYnV0dG9uJ3MgXCJtZW51IG9wZW5cIiBzdGF0ZSBtaXJyb3JzIHRoZSB0b29sYmFyIFNFTEVDVEVEIHZpc3VhbC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBTYW1lIHJ1bGVzIGZvciB0aGUgZXhwZXJpbWVudGFsIHNpZGViYXIncyBib3R0b20gcmFpbCAodXNlci1tZW51ICtcbi8vIG5vdGlmaWNhdGlvbiBiZWxsICsgaGVscGRlc2spLCBzbyBib3RoIGxheW91dHMgc2hhcmUgb25lIGludGVyYWN0aW9uIGlkZW50aXR5LlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmV4cGVyaW1lbnRhbC11c2VyLW1lbnUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuZXhwZXJpbWVudGFsLXVzZXItbWVudS1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDb21tYW5kIHBhbGV0dGUgdHJpZ2dlciAoYm90w6NvIFwiQnVzY2FyLi4uIOKMmEtcIikgbmEgbmF2YmFyIGRvIGF1dG9yL3Jldmlzb3IuXG4vLyBIb3ZlciB1c2EgbyBtZXNtbyBiZyB3YXJtIGJlaWdlIGRvIGhvdmVyIGRvcyBpdGVucyBkYSB0b29sYmFyLlxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBTaG9ydGN1dCBoaW50IGNoaXBzICjijJhGIGRlbnRybyBkbyBmaWx0ZXIsIOKMmEsgZGVudHJvIGRvIHBhbGV0dGUgdHJpZ2dlcikg4oCUXG4vLyBtZXNtbyBib3JkZXItY29sb3IgZG8gY29udGFpbmVyIGRvIGNoaXAtZmlsdGVyIChjaHJvbWUtYm9yZGVyLWFjdGl2ZSkuXG4vLyBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBhIGVzcGVjaWZpY2lkYWRlIGRhIFZpZXdFbmNhcHN1bGF0aW9uXG4vLyBkbyBBbmd1bGFyIHNvYnJlIG8gc2hvcnRoYW5kIGBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGAgbG9jYWwuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQsXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAuc2hvcnRjdXQtaGludCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQsXG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5zaG9ydGN1dC1oaW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hpcC1zZWFyY2ggKGZpbHRybyBpbmxpbmUgZGEgdG9vbGJhciBkbyBhdXRvci9yZXZpc29yKTpcbi8vIC0gVHJpZ2dlciBjb2xhcHNhZG86IG1lc21hIHN1cGVyZsOtY2llL2JvcmRhIGRvIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uYFxuLy8gICAoZnVuZG8gYCRhZG1pbi1iYWNrZ3JvdW5kYCwgYm9yZGEgYCRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZWApLlxuLy8gLSBIb3ZlcjogYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYSBtZXNtYSBjb3Jcbi8vICAgKGlkw6pudGljbyBhbyBmaWx0ZXIgYnV0dG9uIOKAlCBwYWlyaW5nIHZpc3VhbCkuXG4vLyAtIENvbnRhaW5lciBleHBhbmRpZG86IGJnIHdhcm0gYmVpZ2Ugc3V0aWwgc2VtcHJlLCBib3JkZXIgYWNjZW50IGFvIGZvY2FyLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBDaGlwLXNlYXJjaCBleHBhbmRpZG8g4oCUIGNhcmQgYnJhbmNvIChMaW5lYXIvTm90aW9uLXN0eWxlKS4gQ29udHJhc3RlXG4vLyBjcm9tw6F0aWNvIGNsYXJvOiBiZyBicmFuY28gbm8gbGlnaHQgLyBjYW52YXMgZGFyayBubyBkYXJrLCBkaXN0aW50byBkb1xuLy8gd2FybSBiZWlnZSBjaXJjdW5kYW50ZS4gQm9yZGVyIDFweCB2aXPDrXZlbCAodXNhIGNocm9tZS1ib3JkZXItYWN0aXZlIOKAlFxuLy8gYGNocm9tZS1ib3JkZXJgIHNpbXBsZXMgZmljb3UgcMOhbGlkbyBkZW1haXMgc29icmUgbyBicmFuY28gZG8gY2FyZCkuXG4vLyBgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveGAgZXZpdGEgcXVlIG8gYmcgcGludGUgc29icmUgYSDDoXJlYSBkb1xuLy8gYm9yZGVyIChkZWZhdWx0IGJyb3dzZXIgZGVpeGEgYmcgY29icmlyIGJvcmRlciBhcmVhKS5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLy8gSG92ZXIgKHNlbSBmb2NvKTogYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYVxuLy8gbWVzbWEgY29yIOKAlCAwIGltcGFjdG8gZW0gbGF5b3V0IChib3JkZXIgcmVhbCBjb250aW51YSAxcHgpLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkOmhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIENvciBkbyBDT05URcOaRE8gZG8gY2hpcCAow61jb25lIGRlIGZpbHRybywgYXRhbGhvIFwiL1wiLCB0ZXh0by9wbGFjZWhvbGRlcikg4oCUXG4vLyB0aGVtZS1hd2FyZSwgaWTDqm50aWNhIMOgIGRvcyDDrWNvbmVzIGludGVybm9zIGRvIGBhcHAtdXNlci1zZWFyY2hgIChhZG1pblxuLy8gbWVudWl0ZW0gY29sb3IpLiBTZW0gaXN0byBvIGNvbnRlw7pkbyBoZXJkYSB1bSBjaW56YSBmaXhvIHF1ZSBubyBkYXJrIGZpY2Fcbi8vIGVzY3VybyBkZW1haXMgKHF1YXNlIGludmlzw612ZWwpLiBDYXNjYXRlaWEgcC8gbyBgLm1hdC1pY29uYCwgbyBpbnB1dCBlIG9cbi8vIGAuc2hvcnRjdXQtaGludGAgKHRvZG9zIGhlcmRhbSBgY29sb3JgKTsgYXMgb3BhY2l0aWVzIGxvY2FpcyBzZWd1ZW0gdmFsZW5kby5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyLFxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcixcbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLy8gUGFpbmVsIFwiRmlsdHJvc1wiIGRhIHDDoWdpbmEgZGUgcmV2aWV3cyDigJQgc2VndWUgZXhhdGFtZW50ZSBhcyBkZWZzIGRvXG4vLyBgdHBjLXVzZXItbWVudWAgKGF2YXRhci1wcm9maWxlIG1lbnUpOiBzdXJmYWNlIGNoYWlyIHdhcm0sIGRyb3Atc2hhZG93XG4vLyBgJHNoYWRvdy1wYW5lbC1saWdodC8tZGFya2AsIGhvdmVyIGJnIG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQuXG4vLyBBcGxpY2FkbyBhbyBgLnNlcGFyYXRvcmAgcXVlIMOpIG8gXCJjYXJkIHBhaVwiIChjb250w6ltIHN1Ym1pc3Npb25zLWxpc3QtXG4vLyBmaWx0ZXIgKyBib3TDo28gTGltcGFyIGZpbHRyb3MpLlxuLy8gYC5zdWJtaXNzaW9uLXJhbmtpbmctZmlsdGVyLW92ZXJsYXlgIMOpIGEgcGFuZWxDbGFzcyBkbyBDREsgb3ZlcmxheSBkbyBtZW51IGRlXG4vLyBmaWx0cm9zIGRhIExpc3RhIGRlIHN1Ym1pc3PDtWVzIOKAlCByZW5kZXJpemFkbyBuYSByYWl6IGRvIGRvY3VtZW50byAoZm9yYSBkZVxuLy8gYC5tYWluLnN1Ym1pc3Npb24tcmFua2luZ2ApLCBwb3IgaXNzbyDDqSBhbHZlamFkbyBwZWxhIHBhbmVsQ2xhc3MuXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yLFxuLmxpZ2h0LXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IsXG4ubGlnaHQtdGhlbWUgLnN1Ym1pc3Npb24tcmFua2luZy1maWx0ZXItb3ZlcmxheSAuc2VwYXJhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvcixcbi5kYXJrLXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IsXG4uZGFyay10aGVtZSAuc3VibWlzc2lvbi1yYW5raW5nLWZpbHRlci1vdmVybGF5IC5zZXBhcmF0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIFBhaW5lbCBkZSBTRUxFw4fDg08gREUgVMOTUElDT1MgKG1vZG8gZWRpw6fDo28gZGEgc3VibWlzc2lvbiBwYWdlKS4gw4kgdW0gYGFwcC1wb3BvdmVyYFxuLy8gKGJhY2tkcm9wIHRyYW5zcGFyZW50ZSwgYW5jb3JhZG8gYW8gY2FtcG8pIGNvbSBgcGFuZWxDbGFzczogJ3RvcGljcy1zZWxlY3Rpb24tcGFuZWwnYC5cbi8vIE8gcGFpbmVsIGRvIHBvcG92ZXIgw6kgc8OzIHBvc2ljaW9uYW1lbnRvIOKAlCB0b2RvIG8gVklTVUFMIHZlbSBkbyBjb250ZcO6ZG8gcHJvamV0YWRvXG4vLyAoYC50b3BpY3MtcGFuZWxgKSwgZSBjb21vIG8gcG9wb3ZlciDDqSBwb3J0YWRvIHBybyA8Ym9keT4sIGFzIHJlZ3JhcyB0w6ptIGRlIHNlclxuLy8gR0xPQkFJUyAobWVzbWEgc3VwZXJmw61jaWUgY2hhaXIgKyBzb21icmEgc3VhdmUgZG8gbWVudSBkZSBjb2x1bmFzIGRhIExpc3RhKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtcGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogNDQwcHg7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDI0cHgpO1xuICBtYXgtaGVpZ2h0OiBtaW4oNzB2aCwgNDYwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAgICAgICAgICAgICAvLyBxdWVtIHJvbGEgw6kgYSDDoXJ2b3JlICgudG9waWNzLXRyZWUpXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5saWdodC10aGVtZSAudG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBDYWJlw6dhbGhvOiBzw7MgbyB0w610dWxvIChmZWNoYXIgw6kgcG9yIGNsaXF1ZS1mb3JhL0VTQywgcXVlIGrDoSBjb21pdGFtKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC5wYW5lbC1oZWFkZXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgICAgICAgICAvLyAxNXB4XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cblxuLy8gQ29udGFkb3IgKG1pbi9tYXggw6kgc8OzIGluZm9ybWF0aXZvIOKAlCBvIGZlY2hhciBzZW1wcmUgY29taXRhKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtY291bnQge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAgICAgLy8gMTJweFxuICBjb2xvcjogJGdyYXktNTAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICYuaW52YWxpZCB7IGNvbG9yOiAkZXJyb3ItaW52YWxpZC1jb2xvcjsgfVxufVxuXG4vLyDDgXJ2b3JlIHJvbMOhdmVsLlxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy10cmVlIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljLWNhdGVnb3J5IHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICAuY2F0ZWdvcnktbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgICAgIC8vIDEzcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBtYXJnaW46IDZweCAwIDJweDtcbiAgfVxuICAudG9waWMtaXRlbSB7IG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWMtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAzcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgICAgICAgLy8gMTNweFxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbiAgaW5wdXQgeyBmbGV4OiAwIDAgYXV0bzsgY3Vyc29yOiBwb2ludGVyOyB9XG4gIHNwYW4geyBsaW5lLWhlaWdodDogMS4zOyB9XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLWVtcHR5IHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAkZ3JheS01MDA7XG59XG5cbi8vIERhcms6IHRleHRvcy9ob3ZlciBkbyBjaGFpci5cbi5kYXJrLXRoZW1lIC50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIHtcbiAgLnBhbmVsLXRpdGxlLFxuICAudG9waWMtY2F0ZWdvcnkgLmNhdGVnb3J5LW5hbWUsXG4gIC50b3BpYy1pdGVtIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLnRvcGljcy1jb3VudCB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC50b3BpYy1pdGVtOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIEhvdmVyIGRvIHJvdyAobGFiZWwpIOKAlCBiZyBtZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kIGRvIGNoYWlyLiBDb3IgZG9cbi8vIHRleHRvL8OtY29uZSBERU5UUk8gZG8gY2hpcCAoc3Bhbikgw6kgZGVmaW5pZGEgcGVsbyBjb2xvckNsYXNzIHBlci1zdGF0dXNcbi8vIChuw6NvIG11ZGEgbm8gaG92ZXIg4oCUIG8gY2hpcCBtYW50w6ltIHN1YSBpZGVudGlkYWRlIGNyb23DoXRpY2EpLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4ubGlnaHQtdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IC5jaGlwLWNoZWNrYm94IGxhYmVsOmhvdmVyLFxuLmRhcmstdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ3VzdG9tIGNoZWNrYm94IChpbnB1dCBuYXRpdm8gZXN0aWxpemFkbykg4oCUIGVzcGVsaGEgZGVmcyBkbyBDaGVja2xpc3Rcbi8vIGRvIGNoYWlyOiBib3JkZXIgd2FybSBncmF5IG9mZiwgZmlsbCB3YXJtIGRhcmsgb24gY29tIGNoZWNrIGNsYXJvLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00NTAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDAgIWltcG9ydGFudDtcbn1cbi8vIENoZWNrZWQ6IGZpbGwgZGFyayArIGNoZWNrIG9mZi13aGl0ZSAobGlnaHQgdGhlbWUpIC8gZmlsbCBsaWdodCArIGNoZWNrXG4vLyBuZWFyLWJsYWNrIChkYXJrIHRoZW1lKS4gU1ZHIGVtYmVkZGVkIGNvbW8gZGF0YS11cmkuXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRncmF5LTUwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSAhaW1wb3J0YW50O1xufVxuXG4vLyBTbGlkZS10b2dnbGUgUEFEUsODTyBETyBTSVNURU1BIChNMykg4oCUIGNvciBkbyBsYWJlbCBzZWd1ZSB0b2tlbnMgZG8gY2hhaXIgbGV2ZWwtMlxuLy8gbWVudWl0ZW0gKCMzNzM3MzQgbGlnaHQsICNjNGMyYmQgZGFyaykuIFRpcG9ncmFmaWEgMTNweC80MzAvMS4zLzAgasOhIGVtIF9oZWFkZXIuc2Nzcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuXG4vLyBTbGlkZS10b2dnbGUgcGFkcsOjbyAoTTMpOiBPTiBzdGF0ZSB0aW5nZSBuYSBjb3IgZGUgZGVzdGFxdWUgSkVNUzMgZW1cbi8vIGFtYm9zIG9zIHRlbWFzIChzeXN0ZW1CbHVlIOKGkiBgJGFjY2VudC1iYWNrZ3JvdW5kYCAvIGAkYWNjZW50LWJhY2tncm91bmQtZGFya2ApLlxuLy8gTWF0Y2ggdmlzdWFsIGRvIE5TU3dpdGNoL1VJU3dpdGNoIG5vIG1hY09TL2lPUyBxdWFuZG8gYWNjZW50IGVzdMOhIHNldGFkby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKSAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGRlbnRybyBkbyB0aHVtYiBPTiDigJQgY29yIGF6dWwgSkVNUzMgZW0gbGlnaHQgKGNvbnRyYXN0YVxuLy8gY29tIHRodW1iIG9mZi13aGl0ZSkuIEVtIGRhcmssIG8gdGh1bWIgw6kgZXNjdXJvIChzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayksXG4vLyBlbnTDo28gbyBnbHlwaCBwcmVjaXNhIHNlciBDTEFSTyBwcmEgc2VyIHZpc8OtdmVsIOKAlCB1c2EgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZFxuLy8gKG9mZi13aGl0ZSBlc3TDoXRpY28pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWI6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCk7XG5cbi8vIEhvdmVyIE7Dg08gZGVzdGFjYSBvIHNsaWRlLXRvZ2dsZSBwYWRyw6NvIChNMykg4oCUIHNvYnJlc2NyZXZlIGEgcmVncmEgZG8gY2hhaXJcbi8vIHF1ZSBtdWRhdmEgYSBjb3IgZGEgb3V0bGluZSAoT0ZGKSBlIGRvIGJnIHNhdHVyYWRvIChPTikgb24gaG92ZXIuIE1hbnTDqW0gb1xuLy8gbWVzbW8gdmlzdWFsIGVzdMOhdGljbyBlbSByZXN0IGUgaG92ZXIsIG1haXMgbGltcG8vTTMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZTpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCkgLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYm94LXNoYWRvdywgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDUwICFpbXBvcnRhbnQsIGluc2V0IDAgMCAwIDEuNXB4ICRncmF5LTQwMCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKSAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBib3gtc2hhZG93LCBub25lICFpbXBvcnRhbnQsIG5vbmUgIWltcG9ydGFudCk7XG5cbi8vIE1lc21hcyByZWdyYXMgcGFyYSBhIHRvb2xiYXIgZG8gc2hlbGwgYXV0b3IvcmV2aXNvciAoYXBwLW5hdmJhcik6IGhvdmVyICtcbi8vIG1lbnUtb3BlbiBkb3MgYm90w7VlcyBkZSBub3RpZmljYcOnw6NvIGUgdXNlci1tZW51IHJlcGxpY2FtIG9zIHRva2VucyBkbyBjaGFpci5cbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIFRQQyBjaGFpciB1c2VyIG1lbnUg4oCUIHNhbWUgY29sb3IgKyBob3ZlciB0b2tlbnMgYXMgdGhlIHN1Ym1lbnUgaXRlbXMgc29cbi8vIHRoZSB0d28gc3VyZmFjZXMgZmVlbCBsaWtlIGEgc2luZ2xlIHZpc3VhbCBmYW1pbHkuIFRoZSBtZW51IHJlbmRlcnMgaW5cbi8vIHRoZSBDREsgb3ZlcmxheSAoc2libGluZyBvZiB0aGUgYXBwIHJvb3QgdW5kZXIgPGJvZHk+KSwgc28gLmxpZ2h0LXRoZW1lIC9cbi8vIC5kYXJrLXRoZW1lIG9uIDxib2R5PiBzdGlsbCByZWFjaCBpdC5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgLy8gU2FtZSBkZXRlcm1pbmlzdGljIHJlY2lwZSBhcyB0aGUgZXhwZXJpbWVudGFsLXNpZGViYXIgZmx5b3V0OiBhIHNvZnRcbiAgLy8gZHJvcC1zaGFkb3cgZm9yIGVsZXZhdGlvbiBpbiBsaWdodCBtb2RlLCBubyByZWN0YW5nbGUgb3V0bGluZS5cbiAgLy8gYCRzaGFkb3ctcGFuZWwtbGlnaHRgIGlzIHRoZSBjaGFpciBVSSdzIGNhbm9uaWNhbCBwYW5lbC10aWVyIGVsZXZhdGlvblxuICAvLyAoc2VlIGBfdmFyaWFibGVzLnNjc3NgKS5cbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG4vLyBOb3RhOiBgLm5vdGlmaWNhdGlvbnMtbWVudWAgZm9pIFJFTU9WSURPIGRlc3RhIGUgZGFzIHJlZ3JhcyBnbG9iYWlzXG4vLyBkZXN0ZSBhcnF1aXZvIOKAlCBvIHBhaW5lbCBkbyB1c2VyLW5vdGlmaWNhdGlvbnMgcGFzc291IGEgdGVyIHNldSBwcsOzcHJpb1xuLy8gdmlzdWFsIGVzY29wYWRvIChyZWRlc2VuaG8gSkVNUzMsIGNmLiB1c2VyLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MpLlxuLy8gTWFudGVyIGFzIHJlZ3JhcyBnbG9iYWlzIGZhemlhIGVsYXMgY29tcGV0aXJlbSBjb20gbyBjb21wb25lbnRlIGVcbi8vIHJlbmRlcml6YXJlbSBvIHBhaW5lbCBkaWZlcmVudGUgZW0gY2FkYSBjb25zdW1pZG9yIChhdXRvci9yZXZpc29yIHZzXG4vLyBUUEMgQ2hhaXIpIHBvcnF1ZSBhIGVzcGVjaWZpY2lkYWRlIG11ZGF2YSBwb3IgYW5jZXN0cmFsLlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGAudHBjLXVzZXItbWVudWAgU1RBTkRBTE9ORSDigJQgdmFyaWFudGUgdXNhZGEgcGVsbyBgYXBwLXBvcG92ZXJgXG4vLyAoc2VtIG8gd3JhcHBlciBgLm1hdC1tZW51LXBhbmVsYCBxdWUgbyBNYXRlcmlhbCBjcmlhdmEpLiBBcGxpY2Fkb1xuLy8gbm8gYDxkaXYgY2xhc3M9XCJ0cGMtdXNlci1tZW51XCI+YCBxdWUgdml2ZSBjb21vIGZpbGhvIGRvXG4vLyBgLmplbXMtcG9wb3Zlci1wYW5lbGAgKGVzdGUgc8OzIHBvc2ljaW9uYSwgc2VtIHZpc3VhbCkuIEdlb21ldHJpYSArXG4vLyB0ZW1hIHJlcGxpY2Fkb3MgZGFzIHJlZ3JhcyBkbyBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgIHByYVxuLy8gcHJlc2VydmFyIGlkw6pudGljYSBhcGFyw6puY2lhIGR1cmFudGUgYSBtaWdyYcOnw6NvIG1hdC1tZW51IOKGkiBwb3BvdmVyLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4udHBjLXVzZXItbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG59XG4ubGlnaHQtdGhlbWUgLnRwYy11c2VyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG5cblxuLy8gUGFpbmVsIGRlIGRhdGFzIGRvIHBvcG92ZXIgZGUgSU5GTyBkYSByZXZpc8OjbyAocGFwZXItcmV2aWV3LWxpc3QpLiBWaXZlIGNvbW9cbi8vIGZpbGhvIGRvIGAuamVtcy1wb3BvdmVyLXBhbmVsYCAoYXBwLXBvcG92ZXIsIHBvcnRhZG8gYW8gPGJvZHk+KSDigJQgcG9yIGlzc29cbi8vIGVzdGlsbyBHTE9CQUwgY29tIC5saWdodC10aGVtZS8uZGFyay10aGVtZSAoYDpob3N0LWNvbnRleHRgIG7Do28gYWxjYW7Dp2EgbsOzc1xuLy8gcG9ydGFkb3MpLiBNZXNtYSBmYW3DrWxpYSBkZSBzdXBlcmbDrWNpZSBkbyBgLnRwYy11c2VyLW1lbnVgLlxuLnJldmlldy1pbmZvLXBhbmVsIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgICAvLyAxM3B4XG5cbiAgLnJldmlldy1pbmZvLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMjRweDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgfVxuICAucmV2aWV3LWluZm8tbGFiZWwgeyBmb250LXdlaWdodDogNDAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9ICAgLy8gc2VtIHN1YmxpbmhhZG8gKGxpbmsgZG8gbm9tZSlcbn1cbi5saWdodC10aGVtZSAucmV2aWV3LWluZm8tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgLnJldmlldy1pbmZvLWxhYmVsIHsgY29sb3I6ICRncmF5LTUwMDsgfVxuICAucmV2aWV3LWluZm8tdmFsdWUgYSB7IGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5yZXZpZXctaW5mby1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgLnJldmlldy1pbmZvLWxhYmVsIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IG9wYWNpdHk6IDAuNjsgfVxuICAucmV2aWV3LWluZm8tdmFsdWUgYSB7IGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyazsgfVxufVxuXG4vLyBEacOhbG9nbyBcIlBlc3F1aXNhciByZXZpc29yZXMgcG9yIGludGVyZXNzZVwiIChmaW5kLXJldmlld2Vycy1ieS1pbnRlcmVzdCk6IG9cbi8vIGNvbXBvbmVudGUgY29udHJvbGEgbyBsYXlvdXQgKGNhYmXDp2FsaG8vcm9kYXDDqSBmaXhvcyArIGNvcnBvIHJvbMOhdmVsKS4gQVxuLy8gXCJjYWRlaWEgZmxleFwiIHByZWNpc2EgYXRyYXZlc3NhciBjb250YWluZXIg4oaSIEhPU1Qg4oaSIGAuZmluZC1yZXZpZXdlcnNgIOKGkiBjb3Jwbyxcbi8vIHNlbsOjbyBvIGNvcnBvIG7Do28gcm9sYSBlIG8gcm9kYXDDqSB0cmFuc2JvcmRhIHByYSBmb3JhIChmaWNhIGNvcnRhZG8pLiBPXG4vLyBgbWF4LWhlaWdodDogOTB2aGAgdmVtIGRvIGNvbmZpZyBkbyBkaWFsb2cgKG1hdC1kaWFsb2ctY29udGFpbmVyIG8gaGVyZGEpLlxuLmZpbmQtcmV2aWV3ZXJzLWRpYWxvZyAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmZpbmQtcmV2aWV3ZXJzLWRpYWxvZyBhcHAtZmluZC1yZXZpZXdlcnMtYnktaW50ZXJlc3QsXG4uZmluZC1yZXZpZXdlcnMtZGlhbG9nIGFwcC1yZXZpZXdlci1maW5kZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLy8gYC5ub3RpZmljYXRpb25zLW1lbnVgIFNUQU5EQUxPTkUgKHZhcmlhbnRlIGFwcC1wb3BvdmVyIGRvIHVzZXItbm90aWZpY2F0aW9ucykuXG4vLyBNZXNtYSBmYW3DrWxpYSB2aXN1YWwgZG8gYC50cGMtdXNlci1tZW51YCAoY29tcGFydGlsaGEgbyBgLm1hdC1tZW51LXBhbmVsLipgXG4vLyBsZWdhY3kgYmxvY2sgYWNpbWEpOyByZXBsaWNhZG8gYXF1aSBwcmEgYXBwLXBvcG92ZXIuXG4vL1xuLy8gUkVTRVQgdGlwb2dyw6FmaWNvIGludGVybm86IGEgdmVyc8OjbyBtYXQtbWVudSBoZXJkYXZhIG8gYGZvbnQ6IDE0cHggUm9ib3RvYFxuLy8gcXVlIE1hdGVyaWFsIGFwbGljYSBhIGAubWF0LW1lbnUtY29udGVudGAuIFN0YW5kYWxvbmUgcGVyZGUgaXNzbyDihpIgaDFcbi8vIGUgdGV4dG9zIHZvbHRhbSBhb3MgZGVmYXVsdHMgZG8gYnJvd3Nlci9CdWxtYSAoaDEgfjMycHgpLiBGb3LDp2Ftb3MgYXF1aVxuLy8gcHJhIGNhYmXDp2FsaG8gZGUgbWVudSAofjE0LzUwMCksIHBhcsOhZ3JhZm9zIG5vcm1haXMgKDEzLzQwMCkuXG4vLyBEcm9wZG93biBDU1MtcHVybyBkbyB1c2VyLW5vdGlmaWNhdGlvbnM6IHBvc2l0aW9uOiBhYnNvbHV0ZSByZWxhdGl2byBhb1xuLy8gaG9zdCBgLnVzZXItbm90aWZpY2F0aW9uc2AgKHF1ZSDDqSBwb3NpdGlvbjogcmVsYXRpdmUpLiBTZW0gY8OhbGN1bG8gSlMsXG4vLyBzZW0gcG9wb3Zlci4gVG9wOjEwMCUgcmlnaHQ6MCA9IGFicmUgbG9nbyBhYmFpeG8gZG8gYmVsbCwgYWxpbmhhZG8gw6Bcbi8vIGRpcmVpdGEuIEZ1bmNpb25hIGlkw6pudGljbyBlbSBxdWFscXVlciBsYXlvdXQgKGNsw6Fzc2ljby9tb2Rlcm5vL3dpZGUpLlxuLy8gVG9vbHRpcHMgZG8gQ0RLIG92ZXJsYXkgKGBtYXQtdG9vbHRpcGApIHByZWNpc2FtIGFwYXJlY2VyIEFDSU1BIGRvc1xuLy8gYXBwLXBvcG92ZXJzIChxdWUgZmljYW0gbm8gPGJvZHk+IGNvbSB6LWluZGV4IDExMDApLiBCdW1wIGdsb2JhbCBkb1xuLy8gY29udGFpbmVyIGRvIENESyDigJQgdmFsZSBwcmEgdG9vbHRpcHMsIGRpYWxvZ3MsIHNoZWV0cywgZXRjLlxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7IHotaW5kZXg6ICR6LWNkay1vdmVybGF5ICFpbXBvcnRhbnQ7IH1cblxuLy8gUGFpbmVsIGRlIG5vdGlmaWNhw6fDtWVzOiBwb3NpdGlvbjogZml4ZWQgY29tIGNvb3JkcyBjYWxjdWxhZGFzIGlubGluZVxuLy8gbm8gdG9nZ2xlTWVudSAodHMpIGEgcGFydGlyIGRvIHJlY3QgZG8gYmVsbC4gU8OzIGEgYW5pbWHDp8OjbyBkZSBlbnRyYWRhXG4vLyBlIG8gei1pbmRleCBwZXJtYW5lY2VtIGdsb2JhaXMgKG8gcmVzdG8gw6kgZG8gY29tcG9uZW50ZSBlc2NvcGFkbyDigJRcbi8vIHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuXG4ubm90aWZpY2F0aW9ucy1tZW51IHtcbiAgei1pbmRleDogMTEwMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgJi5hYm92ZSB7IHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7IH1cbiAgYW5pbWF0aW9uOiBqZW1zLXBvcG92ZXItaW4gMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi8vIGAubWVudS1jaGFydC12MmAgU1RBTkRBTE9ORSAodmFyaWFudGUgYXBwLXBvcG92ZXIgZG8gY2hhcnQtY29tcG9uZW50LXYyKVxuLy8gZSBgLm1lbnUtY29udGFpbmVyYCAodmFyaWFudGUgZGUgdGltZXpvbmUpLiBFc3RhcyBjbGFzc2VzIEFOVEVTIG7Do29cbi8vIHRpbmhhbSByZWdyYSBwcsOzcHJpYSBkZSBwYW5lbCDigJQgaGVyZGF2YW0gbyBjaHJvbWUgZGVmYXVsdCBkb1xuLy8gYC5tYXQtbWVudS1wYW5lbGAgZG8gTWF0ZXJpYWwgKHdoaXRlIGJnICsgYm94LXNoYWRvdyArIHJhZGl1cykuIEFnb3JhLFxuLy8gY29tbyBvIGA8ZGl2IGNsYXNzPVwiLi4uXCI+YCB2aXZlIGRlbnRybyBkbyBgLmplbXMtcG9wb3Zlci1wYW5lbGAgKHF1ZVxuLy8gc8OzIHBvc2ljaW9uYSksIHByZWNpc2FtIGRvIGNocm9tZSBwcsOzcHJpby4gVmlzdWFsIG5ldXRybyB0aWVyLXBhaW5lbDpcbi8vIGZ1bmRvIGRhIHN1cGVyZsOtY2llIGNhcmQgKyByYWRpdXMgKyBkcm9wLXNoYWRvdyAobWVzbWEgZmFtw61saWEgZG9zXG4vLyBvdXRyb3MgcG9wb3ZlcnMgY2hhaXItc3R5bGUpLlxuLm1lbnUtY2hhcnQtdjIsXG4ubWVudS1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuXG4vLyBJdGVtcyBkbyBtZW51LWNoYXJ0LXYyIChib3TDtWVzICsgdG9nZ2xlKTogZ2VvbWV0cmlhICsgdGlwb2dyYWZpYSBjaGFpclxuLy8gZXF1aXZhbGVudGUgYW8gYC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtYCBtYXMgZXNjb3BhZGEgbG9jYWxtZW50ZVxuLy8gcHJhIG7Do28gYnJpZ2FyIGNvbSBvIGAubWVudS1jaGFydC12MiAubWF0LW1lbnUtaXRlbSB7IG1hcmdpbjogMnB4IDVweCB9YFxuLy8gZG8gY29tcG9uZW50IHNjc3MuXG4ubWVudS1jaGFydC12MiAuY29udGFpbmVyLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIHBhZGRpbmc6IDAgMTJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgY29sb3I6IHJnYmEoMCwwLDAsLjU1KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wNSk7XG4gICAgICAubWF0LWljb24geyBjb2xvcjogcmdiYSgwLDAsMCwuODUpOyB9XG4gICAgfVxuICB9XG59XG4vLyAudG9nZ2xlLXJvdyBkbyBtZW51LWNoYXJ0LXYyOiBsaW5oYSBkbyBcIk1vc3RyYXIgdmFsb3Jlc1wiIOKAlCBjZW50cmFsaXphZGFcbi8vIGhvcml6b250YWxtZW50ZSwgU0VNIGJnL2hvdmVyIGJnIChvIHByw7NwcmlvIHRvZ2dsZSBzaW5hbGl6YSBvIGVzdGFkbykuXG4vLyBEZWZpbmlkYSBGT1JBIGRvIGAuY29udGFpbmVyLW9wdGlvbmAganVzdGFtZW50ZSBwcmEgZXNjYXBhciBkYXMgcmVncmFzXG4vLyBoZXJkYWRhcyBkZSBgLm1hdC1tZW51LWl0ZW1gIHF1ZSBwaW50YXZhbSBvIGZ1bmRvLlxuLm1lbnUtY2hhcnQtdjIgPiAudG9nZ2xlLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgbWF4LWhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwIDRweDtcbiAgcGFkZGluZzogMDtcbiAgbWF0LXNsaWRlLXRvZ2dsZSB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7IG1hcmdpbi1sZWZ0OiA4cHg7IH1cbiAgfVxuICBtYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQsXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtbGFiZWwgeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MzA7IH1cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICB9XG59XG4vLyBEaXZpc29yIHBhZHLDo28gcGFyYSBjb250ZcO6ZG9zIGNoYWlyLXN0eWxlIHN0YW5kYWxvbmUgKHNlbSBwYWRkaW5nXG4vLyBsYXRlcmFsIG5vIHdyYXBwZXIpLiBFbmNvc3RhIG5hcyBsYXRlcmFpcyB2aWEgd2lkdGggMTAwJSArIG1hcmdpblxuLy8gaG9yaXpvbnRhbCAwLiBDb3Igc3V0aWwuIEFkaWNpb25lIGEgY2xhc3NlIGRvIG1lbnUgbm92byBhcXVpLlxuLy8gYC50cGMtdXNlci1tZW51YCBOw4NPIGVudHJhICh0ZW0gcGFkZGluZyBsYXRlcmFsIDRweCk6IGNmLiBgX21lbnUuc2Nzc2Bcbi8vIHF1ZSBhcGxpY2EgYG1hcmdpbjogNnB4IC00cHhgIGVzcGVjw61maWNvIHByYSBjb21wZW5zYXIuXG4ubWVudS1jaGFydC12MiBtYXQtZGl2aWRlcixcbi5tZW51LWNvbnRhaW5lciBtYXQtZGl2aWRlciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDRweCAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbCBtYXQtZGl2aWRlcixcbi5kYXJrLXRoZW1lIC50cGMtdXNlci1tZW51IG1hdC1kaXZpZGVyLFxuLmRhcmstdGhlbWUgLm1lbnUtY2hhcnQtdjIgbWF0LWRpdmlkZXIsXG4uZGFyay10aGVtZSAubWVudS1jb250YWluZXIgbWF0LWRpdmlkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwO1xufVxuLmxpZ2h0LXRoZW1lIC5tZW51LWNoYXJ0LXYyLFxuLmxpZ2h0LXRoZW1lIC5tZW51LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJdGVtcyBkb3MgbWVudXMgY2hhaXItc3R5bGUg4oCUIGdlb21ldHJpYSArIGVzdGFkb3MuXG4vLyBFc2NyaXRvIFNFTSBgOjpuZy1kZWVwYCAocXVlIGZpY2F2YSBlbSBgX21lbnUuc2Nzc2AgZSBwb2RlIHNlclxuLy8gaW52w6FsaWRvIGVtIENTUyBnbG9iYWwpLiBBcXVpIGFzIHJlZ3JhcyBzw6NvIHBsYW5hcyBnbG9iYWlzLlxuLy9cbi8vIEFwbGljYW0tc2UgYSBEVUFTIGZvcm1hcywgcHJhIG1lbnVzIG5vdm9zIE7Dg08gcHJlY2lzYXJlbSBkbyB3cmFwcGVyIG1hbnVhbDpcbi8vICAg4oCiIGAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbWAgICAgICAgIOKAlCB3cmFwcGVyIGV4cGzDrWNpdG8gKGxlZ2Fkbyk7XG4vLyAgIOKAoiBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1gIOKAlCBiYXN0YSBhIGNsYXNzZVxuLy8gICAgIGB0cGMtdXNlci1tZW51YCBubyA8bWF0LW1lbnU+OyBvIGl0ZW0gY3J1IChgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPmApIGrDoVxuLy8gICAgIGhlcmRhIG8gZXN0aWxvLiBFU1RFIMOpIG8gY2FtaW5obyByZWNvbWVuZGFkbyBwcmEgbWVudXMgbm92b3MuXG4vLyBgLmNvbnRhaW5lci1vcHRpb25gL2B0cGMtdXNlci1tZW51YCBzw7MgYXBhcmVjZW0gZW0gbWVudXMgY2hhaXItc3R5bGUsIHNlbSBjb2xhdGVyYWwuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5jb250YWluZXItb3B0aW9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4vLyBHZW9tZXRyaWEgZG9zIGl0ZW5zIChgLnRwYy11c2VyLW1lbnVgL2AuY29udGFpbmVyLW9wdGlvbmAgLm1hdC1tZW51LWl0ZW0pXG4vLyB2aXZlIGVtIGBfbWVudS5zY3NzYCDigJQgZm9udGUgw7puaWNhLiBBcyByZWdyYXMgZGUgSE9WRVIvRk9DVVMvSElHSExJR0hUXG4vLyAoY29yZXMpIHBlcm1hbmVjZW0gYWJhaXhvIG5lc3RlIGFycXVpdm8sIGRlbnRybyBkbyBibG9jbyBgLmxpZ2h0LXRoZW1lYCAvXG4vLyBgLmRhcmstdGhlbWVgLCBvbmRlIMOpIG8gbHVnYXIgZGVsYXMuXG5cbi8vIEVzdGFkb3MgZGUgaG92ZXIvZm9jdXMvaGlnaGxpZ2h0IGRvIGAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbWAg4oCUXG4vLyBwcm9tb3ZpZG9zIHBhcmEgZXNjb3BvIEdMT0JBTCAobsOjbyBlc2NvbmRpZG9zIGF0csOhcyBkZSBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgXG4vLyBxdWUgbsOjbyBwcm9wYWdhIGVtIHRvZG9zIG9zIGNhc29zKS4gRXNwZWNpZmljaWRhZGUgYCgwLDUsMClgIHZlbmNlIGEgcmVncmFcbi8vIGdsb2JhbCBgYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXJgIGAoMCw0LDEpYCBxdWUgcGludGEgYWNjZW50LlxuLmxpZ2h0LXRoZW1lIHtcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0sXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIGBjZGstcHJvZ3JhbS1mb2N1c2VkYCBOw4NPIGVudHJhOiDDqSBzZXRhZGEgcXVhbmRvIGFsZ28gY2hhbWEgLmZvY3VzKClcbiAgLy8gcHJvZ3JhbWF0aWNhbWVudGUgKGV4LjogYXBwLXBvcG92ZXIgYXV0by1mb2N1c2EgbyAxwrogaXRlbSBhbyBhYnJpcikuXG4gIC8vIFBpbnRhciBpc3NvIGZhcmlhIG8gMcK6IGl0ZW0gcGFyZWNlciBcInNlbGVjaW9uYWRvXCIgc2VtIG8gdXN1w6FyaW8gdGVyXG4gIC8vIGludGVyYWdpZG8uIE1hbnRlbW9zIHPDsyBgOmhvdmVyYCwgYGNkay1rZXlib2FyZC1mb2N1c2VkYCAoZm9jbyBwb3JcbiAgLy8gdGFiL2Fycm93KSBlIGAuaGlnaGxpZ2h0LWJ1dHRvbmAgKGVzdGFkbyBsw7NnaWNvIGRlIGF0aXZvKS5cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC8vIFZhcmlhbnRlIGFwcC1wb3BvdmVyIHN0YW5kYWxvbmU6IGNvYnJlIGNvbnN1bWVycyBxdWUgcHJvamV0YW0gaXRlbnNcbiAgLy8gU0VNIG8gd3JhcHBlciBgPGEgY2xhc3M9XCJjb250YWluZXItb3B0aW9uXCI+YCAoZXguOiBzdWJtaXNzaW9uLXJhbmtpbmcpLFxuICAvLyBkaXJldG8gY29tbyBgPGJ1dHRvbiBtYXQtbWVudS1pdGVtPmAgZGVudHJvIGRvIGAudHBjLXVzZXItbWVudWAuXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUge1xuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC8vIGBjZGstcHJvZ3JhbS1mb2N1c2VkYCByZW1vdmlkbyDigJQgdmVyIGNvbnRyYXBhcnRlIGxpZ2h0IHByYSByYXRpb25hbGUuXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pLFxuICAvLyBWYXJpYW50ZSBhcHAtcG9wb3ZlciBzdGFuZGFsb25lICh2ZXIgY29udHJhcGFydGUgbGlnaHQgYWNpbWEpLlxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIEl0ZW0gZGUgbWVudSBERVNBQklMSVRBRE8gKGNvbnZlbsOnw6NvIEpFTVMzKTogbsOjby1jbGljw6F2ZWwgKyBlc21hZWNpZG8uXG4vLyBFc21hZWNlbW9zIHZpYSBgb3BhY2l0eWAgcG9ycXVlIG8gdG9rZW5pemVyIHBpbnRhIGNvciBkbyB0ZXh0byBFIGRvIMOtY29uZSBjb21cbi8vIGAhaW1wb3J0YW50YCwgYW51bGFuZG8gbyBkaW0gcGFkcsOjbyBkbyBNYXRlcmlhbDsgb3BhY2l0eSBjb2JyZSBhbWJvcyBkZSB1bWEgdmV6LFxuLy8gbGlnaHQgZSBkYXJrLiBBcyByZWdyYXMgZGUgaG92ZXIgYWNpbWEgasOhIGV4Y2x1ZW0gYFtkaXNhYmxlZF1gIChzZW0gZnVuZG8vY29yKS5cbi5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSxcbi50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIFZhcmlhbnRlIERFU0FCSUxJVEFEQSBDT00gVE9PTFRJUCAoY29udmVuw6fDo28gSkVNUzMpLiBPIGBtYXRUb29sdGlwYCBzw7MgZGlzcGFyYVxuLy8gbm8gZWxlbWVudG8gcXVlIFJFQ0VCRSBvIGhvdmVyOyBudW0gYFtkaXNhYmxlZF1gIG5hdGl2byAob3UgYHBvaW50ZXItZXZlbnRzOlxuLy8gbm9uZWApIG8gYm90w6NvIGZpY2EgaW5lcnRlIGUgbyBob3ZlciBuw6NvIGNoZWdhIGEgZWxlIG5lbSBhbyB3cmFwcGVyIOKAlCBvIHRvb2x0aXBcbi8vIG51bmNhIGFwYXJlY2UuIEVudMOjbyBhcXVpIG8gYm90w6NvIGNvbnRpbnVhIEhPVkVSw4FWRUwgKHRvb2x0aXAgdml2ZSBORUxFKSBlIGFcbi8vIG7Do28tY2xpY2FiaWxpZGFkZSB2ZW0gZG8gdGVtcGxhdGUgKGNsaXF1ZSBuZXV0cmFsaXphZG8gKyByb3RhIG51bGEpLiBTw7MgbyB2aXN1YWxcbi8vIMOpIGVzbWFlY2lkbzsgbyBob3ZlciBuw6NvIHBpbnRhIGZ1bmRvIChvIGRpbSDDqSBvIMO6bmljbyBmZWVkYmFjaykuXG4uY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGUsXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGUsXG4udHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGUge1xuICBvcGFjaXR5OiAwLjQ1ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xufVxuLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlOmhvdmVyLFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlOmhvdmVyLFxuLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLy8gQmFsw6NvIGRvIHRvb2x0aXAgSkVNUzMgKENTUyBwdXJvKSBkbyBpdGVtIGRlc2FiaWxpdGFkby4gQW5jb3JhZG8gbm8gd3JhcHBlclxuLy8gYC5jb250YWluZXItb3B0aW9uLmhhcy10aXBgIChibG9jayBwLyBjb250ZXIgbGltcG8gbyBib3TDo28gKyBzZXJ2aXIgZGUgY29udGFpbmluZ1xuLy8gYmxvY2sgZG8gYmFsw6NvIGFic29sdXRvKS4gTyBiYWzDo28gZmljYSBGT1JBIGRvIGJvdMOjbyBkZSBwcm9ww7NzaXRvOiBvIGJvdMOjbyB0ZW1cbi8vIG9wYWNpdHkgMC40NSBlIG9wYWNpdHkgY3JpYSBncnVwbyDigJQgc2UgbyBiYWzDo28gZm9zc2UgZmlsaG8gZmljYXJpYSB0cmFuc2zDumNpZG8uXG4vLyBNZXNtbyB2aXN1YWwgZG8gYC5zZy1jcml0LXRvb2x0aXBgIChiYWzDo28gY2luemEsIHRleHRvIGJyYW5jbyk7IG8gYDpob3ZlcmAgZG8gQ1NTXG4vLyBubyB3cmFwcGVyIChhcGxpY2Etc2UgYW8gaG92ZXJhciBvIGJvdMOjbyBkZW50cm8gZGVsZSkgbyByZXZlbGEuXG4uY29udGFpbmVyLW9wdGlvbi5oYXMtdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8vIEJhc2UgZG8gYmFsw6NvOiBTRU1QUkUgYWJzb2x1dG8gZSBlc2NvbmRpZG8g4oCUIMOgIHByb3ZhIGRlIHZhemFyIGNvbW8gaXRlbSBkZSBtZW51XG4vLyB2aXPDrXZlbCBjYXNvIHJlbmRlcml6ZSBmb3JhIGRvIGNvbnRleHRvIGAuaGFzLXRpcGAgKGl0ZW0gaGFiaWxpdGFkbykuIFPDsyBvXG4vLyBgOmhvdmVyYCBkbyB3cmFwcGVyIGAuaGFzLXRpcGAgbyByZXZlbGEuXG4uamVtcy1tZW51LXRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA0cHgpO1xuICBsZWZ0OiA4cHg7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtd2lkdGg6IDI2MHB4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDk3LCA5NywgMC45Nik7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmNvbnRhaW5lci1vcHRpb24uaGFzLXRpcDpob3ZlciAuamVtcy1tZW51LXRpcCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSB7XG5cbiAgLy8gQ29yIC8gw61jb25lIC8gaG92ZXIgZG9zIGl0ZW5zIGRlIG1lbnUgdsOqbSBkbyBibG9jbyBhZGl0aXZvIGdsb2JhbCBhY2ltYVxuICAvLyAoLmxpZ2h0LXRoZW1lIHsgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51XG4gIC8vIC5tYXQtbWVudS1pdGVtIH0pLCBxdWUgY29icmUgaXRlbSBjcnUgRSB3cmFwcGVyLiBBcXVpIGZpY2FtIHPDsyBvcyBzZWxldG9yZXNcbiAgLy8gZXNwZWPDrWZpY29zIGRvIGF2YXRhci1wcm9maWxlICh0aGVtZS9sYXlvdXQvbGFuZ3VhZ2Ugc3dpdGNoZXJzKS5cblxuICAvLyBUaGVtZSBzd2l0Y2hlciAobGlnaHQvZGFyay9zeXN0ZW0pIGFuZCBsYXlvdXQgc3dpdGNoZXIgKG1vZGVybi9jbGFzc2ljKVxuICAvLyDigJQgaG92ZXIgdXNlcyB0aGUgc2FtZSB0b2tlbnMgYXMgdGhlIHN1Ym1lbnUgaXRlbXMgc28gYWxsIGludGVyYWN0aXZlXG4gIC8vIHJvd3MgaW4gdGhpcyBtZW51IHNoYXJlIG9uZSBob3ZlciBpZGVudGl0eS5cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSxcbiAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcblxuICAgIC5tYXQtaWNvbixcbiAgICAubGF5b3V0LWljb24ge1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIC8vIFNhbWUgZGV0ZXJtaW5pc3RpYyByZWNpcGUgYXMgdGhlIGV4cGVyaW1lbnRhbC1zaWRlYmFyIGZseW91dDogc29saWRcbiAgLy8gMXB4IG91dGxpbmUgdmlhIGBib3gtc2hhZG93IDAgMCAwIDFweGAgKGZvbGxvd3MgYm9yZGVyLXJhZGl1cyksIHBsdXNcbiAgLy8gdGhlIHBhbmVsLXRpZXIgZHJvcC1zaGFkb3cgZm9yIGVsZXZhdGlvbi5cbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG4vLyBDb250cmFwYXJ0ZSBkYXJrIGRvIGAudHBjLXVzZXItbWVudWAgc3RhbmRhbG9uZSAodmFyaWFudGUgYXBwLXBvcG92ZXIpLlxuLy8gVmVyIGJsb2NvIGxpZ2h0IGNvcnJlc3BvbmRlbnRlIGFjaW1hIOKAlCBtZXNtYSBkZWNpc8OjbyBhcnF1aXRldHVyYWwuXG4uZGFyay10aGVtZSAudHBjLXVzZXItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBUcmlnZ2VyIChnbG9ibyArIHLDs3R1bG8gZG8gZnVzbykgZGVudHJvIGRvIHBhaW5lbCBkbyBkYXRlcGlja2VyLiBDb21vIG9cbi8vIGBhcHAtdGltZS16b25lLWlucHV0YCB2aXZlIHBvcnRhbGxhZG8gbm8gb3ZlcmxheSBDREssIGA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKWBcbi8vIHNjb3BlZCBkbyBjb21wb25lbnRlIHBvZGUgbsOjbyBhbGNhbsOnYXIuIEZhbGxiYWNrIGdsb2JhbCBjb2JyZSBsaWdodCArIGRhcmsuXG4uZGFyay10aGVtZSAuY29udGFpbmVyLWJ1dHRvbiAudGltZS16b25lLWJ1dHRvbiB7XG4gIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrICFpbXBvcnRhbnQ7XG4gICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAmLm1lbnUtb3BlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFZpc3VhbGl6YWRvciBkZSBGVVNPUyAoYGFwcC1kaWFsb2ctdGltZXpvbmVgKSDigJQgcmVhZC1vbmx5LCBtb3N0cmEgYSBkYXRhL2hvcmFcbi8vIGVtIGNhZGEgZnVzbyBjb25oZWNpZG8gKGJyb3dzZXIsIGV2ZW50bywgVVRDLCBJRExXKS4gU2VtIGhvdmVyIG5lbSBzZWxlw6fDo28sXG4vLyBzw7MgdW0gXCJjYXJ0w6NvXCIgbGlzdGFuZG8gYXMgbGluaGFzIGNvbSBub21lIMOgIGVzcXVlcmRhIGUgaG9yw6FyaW8gw6AgZGlyZWl0YS5cbi5qZW1zLXR6dmlldy1tZW51IHtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogOHB4IDRweCAhaW1wb3J0YW50O1xuXG4gIC5qZW1zLXR6dmlldy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0O1xuICB9XG4gIC5qZW1zLXR6dmlldy1uYW1lIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5qZW1zLXR6dmlldy10YWcge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgfVxuICAuamVtcy10enZpZXctdGltZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodC1tdXRlZDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICB9XG59XG5cbi8vIERhcmtcbi5kYXJrLXRoZW1lIC5qZW1zLXR6dmlldy1tZW51IHtcbiAgLmplbXMtdHp2aWV3LXJvdyB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC5qZW1zLXR6dmlldy10YWcsIC5qZW1zLXR6dmlldy10aW1lIHsgY29sb3I6ICRpY29uLW11dGVkLWRhcms7IH1cbn1cblxuLy8gTWVudSBkbyBzZWxldG9yIGRlIEZVU08gSE9Sw4FSSU8gKGBhcHAtdGltZS16b25lLWlucHV0YCkg4oCUIG1lc21vIHBhZHLDo28gZG9cbi8vIG1lbnUgZG8gYGFwcC1qZW1zLXNlbGVjdGA6IHBpbGwgMjZweCBmdWxsLWJsZWVkLCBob3ZlciBlbSB3YXJtLXN0b25lLFxuLy8gY2hlY2sgU0Ytc3R5bGUgw6AgZXNxdWVyZGEgbm8gZnVzbyBzZWxlY2lvbmFkby4gVml2ZSBubyBgLnRwYy11c2VyLW1lbnVgXG4vLyBwb3J0YWxsYWRvOyByZWdyYXMgZ2xvYmFpcyAoc2VtIHZpZXcgZW5jYXBzdWxhdGlvbikuXG4uamVtcy10ei1tZW51IHtcbiAgbWluLXdpZHRoOiAyNjBweDtcbiAgcGFkZGluZzogNXB4IDRweCAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAuamVtcy10ei1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBhZGRpbmc6IDAgOHB4IDAgMjhweDsgICAvLyAyOHB4IGVzcXVlcmRhIHJlc2VydmFkbyBwLyBvIGNoZWNrIFNGXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICAvLyBTZWxlY2lvbmFkbzogY2hlY2sgU0Ytc3R5bGUgw6AgZXNxdWVyZGEgKG1lc21hIHJlY2VpdGEgZG8gYC5qZW1zLXNlbGVjdC1vcHRpb25gKS5cbiAgICAmLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIC5qZW1zLXR6LW5hbWUge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmplbXMtdHotdGFnIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0LW11dGVkO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIH1cbiAgLmplbXMtdHotb2Zmc2V0IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0LW11dGVkO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSBkbyBtZW51IGRlIGZ1c28g4oCUIGNvcmVzIHBhcmVkYXMgY29tIG8gcmVzdGFudGUgZG8gc2lzdGVtYS5cbi5kYXJrLXRoZW1lIC5qZW1zLXR6LW1lbnUge1xuICAuamVtcy10ei1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7IH1cbiAgICAmLnNlbGVjdGVkOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIH1cbiAgLmplbXMtdHotdGFnLCAuamVtcy10ei1vZmZzZXQgeyBjb2xvcjogJGljb24tbXV0ZWQtZGFyazsgfVxufVxuXG4vLyBaLWluZGV4IGRvIHBvcG92ZXIgKGFwcC1wb3BvdmVyKS4gTyBDU1Mgc2NvcGVkIGRvIGNvbXBvbmVudGUgYXBsaWNhIDEwOTkvMTEwMCxcbi8vIG1hcyBvIGAubWF0LWRhdGVwaWNrZXItY29udGVudGAgKENESyBvdmVybGF5IGRvIGRhdGVwaWNrZXIpIGZpY2EgZW0gc3RhY2tpbmdcbi8vIGNvbnRleHQgcHLDs3ByaW8gZSDDoHMgdmV6ZXMgdmVuY2Ug4oCUIG8gcG9wb3ZlciBkbyBnbG9ibyBhcGFyZWNpYSBBVFLDgVMgZG8gcGFpbmVsLlxuLy8gUmVncmEgZ2xvYmFsIChzZW0gZW5jYXBzdWxhdGlvbikgZ2FyYW50ZSBwcmlvcmlkYWRlLlxuLmplbXMtcG9wb3Zlci1iYWNrZHJvcCB7IHotaW5kZXg6IDIwMDAgIWltcG9ydGFudDsgfVxuLmplbXMtcG9wb3Zlci1wYW5lbCB7IHotaW5kZXg6IDIwMDEgIWltcG9ydGFudDsgfVxuLy8gVG9vbHRpcHMgZG8gQ0RLIHByZWNpc2FtIGZpY2FyIGFjaW1hIGRvIHBvcG92ZXIgKHotaW5kZXggMjAwMSksIHNlbsOjb1xuLy8gc29tZW0gYXRyw6FzIGRvIG1lbnUgZG8gYXZhdGFyLlxuLmNkay1vdmVybGF5LWNvbnRhaW5lciAubWF0LXRvb2x0aXAtcGFuZWwsXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIC5jZGstb3ZlcmxheS1wYW5lOmhhcygubWF0LXRvb2x0aXApLFxuLm1hdC10b29sdGlwIHsgei1pbmRleDogMjAxMCAhaW1wb3J0YW50OyB9XG4vLyBPIC5jZGstb3ZlcmxheS1jb250YWluZXIgaW50ZWlybyAocXVlIGhvc3BlZGEgb3MgdG9vbHRpcHMpIGZpY2EgYWJhaXhvXG4vLyBkbyBwb3BvdmVyICh6LWluZGV4IDIwMDEpIHBvciBzZXIgaXJtw6NvIGFudGVyaW9yIG5vIGJvZHkuIFNvYmUgZWxlIHRvZG8uXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHsgei1pbmRleDogMjAxMCAhaW1wb3J0YW50OyB9XG5cbi8vIEZhbGxiYWNrIGdsb2JhbCBwLyBvIGJvdMOjbyBkZSBjb3BpYXIgZG8gYGFwcC10ZXh0LWlucHV0YCBubyBkYXJrIHRoZW1lLlxuLy8gTyBgPGJ1dHRvbiBtYXRTdWZmaXggY2xhc3M9XCJ0aS1jb3B5LWJ0blwiPmAgw6kgcHJvamV0YWRvIHBlbG8gTWF0ZXJpYWwgZGVudHJvXG4vLyBkbyB0ZW1wbGF0ZSBkbyBgbWF0LWZvcm0tZmllbGRgIOKAlCBvIGA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKWAgZG8gU0NTUyBkb1xuLy8gdGV4dC1pbnB1dCBuw6NvIGFsY2Fuw6dhIGVsZW1lbnRvcyBwcm9qZXRhZG9zIGRlIGZvcm1hIGNvbmZpw6F2ZWwuIEVzdGUgYmxvY29cbi8vIGdhcmFudGUgcXVlIG8gaG92ZXIgZmlxdWUgY29tIGAkaWNvbi1jb250YWluZXItYmctZGFya2AgKGlkw6pudGljbyBhbyBzdWItYm90w6NvXG4vLyBkbyBzZWxlY3QpLCBtYW50ZW5kbyBhIGxpbmd1YWdlbSB1bmlmaWNhZGEuXG4uZGFyay10aGVtZSAudGktY29weS1idG4ge1xuICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcms7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcms7XG4gIH1cbiAgJi5pcy1jb3BpZWQgeyBjb2xvcjogIzY5ZjBhZTsgfVxufVxuXG4vLyBGYWxsYmFjayBnbG9iYWwgcC8gYXMgb3DDp8O1ZXMgZG8gYGFwcC1qZW1zLXNlbGVjdGAgbm8gZGFyayB0aGVtZS4gTyBTQ1NTIGRvXG4vLyBjb21wb25lbnRlIChFbXVsYXRlZCkgdXNhIGA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKWAsIG1hcyBvIHBhaW5lbCBkb1xuLy8gcG9wb3ZlciDDqSBQT1JUQUxMRUQgcHJhIGZvcmEgZG8gaG9zdCAoQ0RLIG92ZXJsYXkpIOKAlCBkZXBlbmRlbmRvIGRhIHZlcnPDo29cbi8vIGRvIEFuZ3VsYXIvQ0RLLCBvIGVuY2Fwc3VsYXRpb24gYXR0cmlidXRlIHBvZGUgbsOjbyBjaGVnYXIgYW9zIGVsZW1lbnRvc1xuLy8gcG9ydGFsbGFkb3MsIGRlaXhhbmRvIGEgcmVncmEgc2VtIGVmZWl0by4gRXN0ZSBibG9jbyBnbG9iYWwgY29icmUgaXNzby5cbi5kYXJrLXRoZW1lIC5qZW1zLXNlbGVjdC1tZW51IHtcbiAgLmplbXMtc2VsZWN0LW9wdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7IH1cbiAgICAmLnNlbGVjdGVkOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIH1cbiAgLmplbXMtc2VsZWN0LWZpbHRlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazsgfVxuICAuamVtcy1zZWxlY3QtZmlsdGVyLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgfVxufVxuLy8gQ29udHJhcGFydGVzIGRhcmsgZG9zIGRlbWFpcyBwYWluw6lpcyBhcHAtcG9wb3ZlciAodmVyIGxpZ2h0IGJsb2NrcyBhY2ltYSkuXG4vLyBgLm5vdGlmaWNhdGlvbnMtbWVudWAgTsODTyBlbnRyYSDigJQgY2YuIG5vdGEgbG9nbyBhbnRlcyBkbyBibG9jbyBsaWdodC5cbi5kYXJrLXRoZW1lIC5tZW51LWNoYXJ0LXYyLFxuLmRhcmstdGhlbWUgLm1lbnUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUGFpbmVsIGRlIG1hdC1zZWxlY3Qgbm8gcGFkcsOjbyBkZSBNRU5VIEpFTVMzIChtZXNtYSBmYW3DrWxpYSBkbyB0cGMtdXNlci1tZW51KS5cbi8vIEFwbGljYWRvIHZpYSBgcGFuZWxDbGFzcz1cImplbXMzLXNlbGVjdC1wYW5lbFwiYCAoZXguOiBvcyBzZWxlY3RzIGRvIG1lbnUgZGVcbi8vIEZJTFRSTyBkYSBMaXN0YSBkZSBTdWJtaXNzw7VlcykuIE8gcGFpbmVsIHZpdmUgbnVtIG92ZXJsYXkgbmEgcmFpeiBkbyBkb2N1bWVudG9cbi8vIOKGkiByZWdyYSBHTE9CQUwuIEVzcGVsaGEgbyBjaHJvbWUgZG8gbWVudSBjaGFpcjogcGFpbmVsIGFycmVkb25kYWRvICsgc29tYnJhIGRlXG4vLyBwYWluZWw7IG9ww6fDtWVzIGNvbW8gXCJww61sdWxhc1wiIGNvbSBob3ZlcjsgdGlwb2dyYWZpYSAxM3B4LiBUaGVtZS1hd2FyZS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gYC5tYXQtYWN0aXZlYCAobWFyY2Fkb3IgZG8gTGlzdEtleU1hbmFnZXIgZG8gQ0RLKSBwZXJzaXN0ZSBubyDDumx0aW1vIGl0ZW1cbi8vIHVzYWRvIG1lc21vIGRlcG9pcyBxdWUgbyBtb3VzZSBkZWl4YSBvIHBhaW5lbCDigJQgbyBDREsgc8OzIGxpbXBhIGFvIHRyb2NhclxuLy8gZGUgaXRlbSBhdGl2byBvdSBmZWNoYXIuIE8gdGVtYSBkZWZhdWx0IGRvIE1hdGVyaWFsIHBpbnRhIGJnIGVtXG4vLyBgLm1hdC1hY3RpdmVgLCBvIHF1ZSBjYXVzYTogKDEpIGl0ZW0gcHLDqS1kZXN0YWNhZG8gYW8gYWJyaXIgKG8gc2VsZWNpb25hZG9cbi8vIHZpcmEgYXRpdm8gYXV0b21hdGljYW1lbnRlKTsgKDIpIGl0ZW0gb25kZSBvIG1vdXNlIGVzdGV2ZSBmaWNhIGNvbSBiZ1xuLy8gcGVyc2lzdGVudGUgYXDDs3MgZGVpeGFyIG8gcGFpbmVsLiBaZXJhbW9zIGFxdWkgcHJhIHF1ZSBvIGRlc3RhcXVlIHPDs1xuLy8gYXBhcmXDp2Egbm8gYDpob3ZlcmAgKG1vdXNlKSBlIG5vIGAuY2RrLWtleWJvYXJkLWZvY3VzZWRgICh0ZWNsYWRvKS5cbi5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtYWN0aXZlLFxuLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCAubWF0LW9wdGlvbi5tYXQtYWN0aXZlLFxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCA0cHggIWltcG9ydGFudDtcbiAgLy8gZm9udC1zaXplIG5vIHBhaW5lbCByYWl6IGNhc2NhdGVpYSBwLyBUT0RPUyBvcyBkZXNjZW5kZW50ZXMgKG1hdC1vcHRpb24sXG4gIC8vIGNoZWNrYm94IGxhYmVsKSDigJQgZXZpdGEgbyBgMTZweGAgZGVmYXVsdCBkbyBNYXRlcmlhbCBgLm1hdC1zZWxlY3QtcGFuZWxgLlxuICAvLyBDYWRhIGRlc2NlbmRlbnRlIHBvZGUgYWluZGEgc29icmVzY3JldmVyIHNlIHByZWNpc2FyLlxuICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAwOyAgIC8vIGl0ZW5zIGZ1bGwtYmxlZWQgbm8gcGFpbmVsIChtYWNPUy9XaW5kb3dzIG1vZGVybm8pXG4gICAgcGFkZGluZzogMCA4cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gIH1cbiAgLy8gQ2hlY2tib3ggbm8gTUVTTU8gdGFtYW5obyBkb3MgY2hlY2tib3hlcyBkZSBTRUxFw4fDg08gREUgTElOSEFTIGRhIHRhYmVsYVxuICAvLyAobMOhIMOpIGBtYXQtY2hlY2tib3hgIGNvbSBgdHJhbnNmb3JtOiBzY2FsZSgwLjgpYCB+MTNweCkuIE1lc21hIHTDqWNuaWNhIGFxdWk6XG4gIC8vIG8gdHJhbnNmb3JtIG7Do28gYWx0ZXJhIG8gZm9vdHByaW50IGRlIGxheW91dCAoc2VndWUgMTZweCksIGVudMOjbyBvIGVzcGHDp2FtZW50b1xuICAvLyBjb20gbyB0ZXh0byBkYSBvcMOnw6NvIHNlIG1hbnTDqW0g4oCUIHPDsyBlbmNvbGhlIG8gdmlzdWFsIHByb3BvcmNpb25hbG1lbnRlLlxuICAubWF0LXBzZXVkby1jaGVja2JveCB7IHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICAvLyBSw7N0dWxvIGRlIGdydXBvIChleC46IHTDs3BpY29zLXBhaSkg4oCUIHJlY3VhZG8vbWVub3IsIGFvIGVzdGlsbyBsZWdlbmRhLlxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cbi8vIENocm9tZSBkZSBtZW51IEpFTVMzIOKAlCBDT01QQVJUSUxIQURPIHBlbG9zIHBhaW7DqWlzIGNvbSBlc3NlIHBhZHLDo286IGplbXMzLXNlbGVjdC1wYW5lbFxuLy8gKHNlbGVjdHMgZGUgVEVYVE8gZG8gZmlsdHJvKSBlIG15LXNlbGVjdC1zdGF0dXMtcGFuZWwgKENISVBTIGRlIHN0YXR1cykuIEZPTlRFIMOaTklDQSBkb1xuLy8gZnVuZG8gKyBzb21icmEgZGUgcGFpbmVsLiBPIEhPVkVSIE7Dg08gw6kgY29tcGFydGlsaGFkbzogZGl2ZXJnZSBwb3IgcGFpbmVsIChmaWx0cm8gPSB0b2tlblxuLy8gSkVNUzMgcGFkcsOjbzsgc3RhdHVzID0gY3VzdG9taXphw6fDo28gcHLDs3ByaWEpLCBkZWZpbmlkbyBub3MgYmxvY29zIGVzcGVjw61maWNvcyBhYmFpeG8uXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsLFxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsLFxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8gRXNwZWPDrWZpY28gZG8gRklMVFJPIChqZW1zMy1zZWxlY3QtcGFuZWwsIHNlbGVjdHMgZGUgVEVYVE8vbXVsdGkpOiBjb3IgZGFzIG9ww6fDtWVzLFxuLy8gcsOzdHVsbyBkZSBncnVwbyBlIGNoZWNrYm94IG1hcmNhZG8gZW0gYWNjZW50LlxuLy9cbi8vIFNJTkdMRS1TRUxFQ1Qgc2VsZWNpb25hZG86IHNlbSBmdW5kbyBjaW56YSAoTWF0ZXJpYWwgZGVmYXVsdCkg4oaSIG1hcmNhIGNvbVxuLy8gw41DT05FIERFIENIRUNLIMOgIEVTUVVFUkRBIChuYSBmcmVudGUgZG8gcsOzdHVsbykuIFJlc2VydmEgMjhweCBkZSBwYWRkaW5nLWxlZnRcbi8vIGVtIFRPREFTIGFzIG9ww6fDtWVzIHByYSBldml0YXIgcXVlIG8gcsOzdHVsbyBzZSBkZXNsb3F1ZSBxdWFuZG8gbyBjaGVjayBhcGFyZWNlLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjhweCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIE9ww6fDo28gU0VMRUNJT05BREEgKHNpbmdsZS1zZWxlY3QsIGV4LjogVHJpbGhhKTogbWFudMOpbSBjb3IgZG8gdGV4dG8gbm9ybWFsLFxuICAvLyBzZW0gZnVuZG8gY2luemEg4oCUIHPDsyBvIGNoZWNrIMOgIGVzcXVlcmRhIGluZGljYSBhIHNlbGXDp8Ojby5cbiAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgLy8gQ2hlY2sgU0YgU3ltYm9scyDigJQgZm9udGUgw7puaWNhOiBtaXhpbiBgamVtcy1zZWxlY3RlZC1jaGVja2AgKG1lc21hIHJlY2VpdGFcbiAgICAvLyBkbyBgYXBwLWplbXMtc2VsZWN0YCBlIGRvIG1lbnUgc2VsZXRvciBkZSBwZXJmaWwpLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBqZW1zLXNlbGVjdGVkLWNoZWNrKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLy8gQ2hlY2tib3ggbWFyY2FkbyA9IEFDQ0VOVCAoaWd1YWwgYW8gYC5tYXQtY2hlY2tib3hgIGRvIHJlc3RvIGRvIGFwcCksIG5vIGx1Z2FyIGRvIGNpbnphXG4gIC8vIGRlZmF1bHQgZG8gcHNldWRvLWNoZWNrYm94OyBjaGVja21hcmsgb2ZmLXdoaXRlIHZlbSBkYSByZWdyYSBnbG9iYWwuIChEYXJrIHVzYSAkZ3JheS0zMDAuKVxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuICB9XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbn1cblxuLy8gT3DDp8O1ZXMgZGUgbWF0LXNlbGVjdCBNw5pMVElQTE8gKGAubWF0LW9wdGlvbi1tdWx0aXBsZWApOiBvIE1hdGVyaWFsIGrDoSBkZXNlbmhhIG9cbi8vIHBzZXVkby1jaGVja2JveCDDoCBlc3F1ZXJkYSwgZW50w6NvIE7Dg08gcmVzZXJ2YW1vcyBvcyAyOHB4IGRvIGNoZWNrIFNGIHNpbmdsZS1zZWxlY3Rcbi8vIChxdWUgc8OzIGFwYXJlY2UgZW0gYDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpYCkg4oCUIHNlbsOjbyBvIGl0ZW0gZmljYSBjb20gcmVjdW9cbi8vIERVUExPIChjaGVja2JveCBqb2dhZG8gfjM0cHggcHJhIGRlbnRybykuIFJlY3VvIGVueHV0byBhbGluaGEgbyBjaGVja2JveCBhIH4xMHB4IGRhXG4vLyBib3JkYSBkbyBwYWluZWwuIFZhbGUgcC8gdG9kbyBtYXQtc2VsZWN0IG11bHRpcGxlIGRvIGFwcCAobyAyOHB4IGVyYSBpbmRldmlkbyBwcmEgZWxlcykuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb24tbXVsdGlwbGUsXG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi1tdWx0aXBsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuLy8gTXVsdGktc2VsZWN0OiBhIG1hcmNhIGRlIFwic2VsZWNpb25hZG9cIiDDqSBBUEVOQVMgbyBjaGVja2JveCAocHNldWRvLWNoZWNrIMOgXG4vLyBlc3F1ZXJkYSkuIE8gZnVuZG8gTsODTyBkZXZlIG11ZGFyIHBvciBzZWxlw6fDo28g4oCUIHPDsyBubyBob3Zlci4gTWF0ZXJpYWwgZGVmYXVsdFxuLy8gcGludGEgYC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZGAgY29tIHRpbnQgY2luemE7IHplcmFtb3MgYXF1aSBwcmEgcXVlIGEgbGluaGFcbi8vIHNlbGVjaW9uYWRhIHRlbmhhIG8gbWVzbW8gYmcgcXVlIHVtYSBuw6NvLXNlbGVjaW9uYWRhIGVtIGVzdGFkbyBuZXV0cm8uXG4ubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi1tdWx0aXBsZS5tYXQtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyBtYXQtYXV0b2NvbXBsZXRlIG7Do28gZXhww7VlIGBbcGFuZWxDbGFzc11gIGVtIE1hdGVyaWFsIDExLCBlbnTDo28gbyBwYWluZWxcbi8vIGRhIENpZGFkZSAoYGFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlYCkgcmVjZWJlIG8gY2hyb21lIEpFTVMzXG4vLyBHTE9CQUxNRU5URSB2aWEgYC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsYC4gTWVzbWEgcmVjZWl0YSBkb1xuLy8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIOKAlCByZXV0aWxpemEgb3MgdG9rZW5zL2hvdmVyL2RhcmsuXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCA0cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDsgICAvLyBjYXNjYXRlaWEgcC8gb3DDp8O1ZXMgZSBmaWx0ZXJcblxuICAubWF0LW9wdGlvbiB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbjogMDsgICAvLyBpdGVucyBmdWxsLWJsZWVkIG5vIHBhaW5lbCAobWFjT1MvV2luZG93cyBtb2Rlcm5vKVxuICAgIHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0O1xuICB9XG59XG4vLyBCdXNjYSBkZSB1c3XDoXJpb3MgKGFwcC11c2VyLXNlYXJjaCk6IGNhZGEgb3DDp8OjbyDDqSBcIk5vbWUgKGlkKSAtIGVtYWlsIC0gc2lnbGFcIixcbi8vIHRleHRvIGxvbmdvIHF1ZSBvIE1hdGVyaWFsIHRydW5jYSBjb20gZWxsaXBzaXMgZGVudHJvIGRhIGxhcmd1cmEgZG8gaW5wdXQuIEFxdWlcbi8vIGRlaXhhbW9zIGEgb3DDp8OjbyBDUkVTQ0VSIGF0w6kgbyBjb250ZcO6ZG8gZSBoYWJpbGl0YW1vcyBTQ1JPTEwgSE9SSVpPTlRBTCBubyBwYWluZWwsXG4vLyBwcmEgbGVyIGEgbGluaGEgaW50ZWlyYSBzZW0gY29ydGFyLiBFc2NvcG8gcGVsYSBjbGFzc2UgcHLDs3ByaWEgZG8gYXV0b2NvbXBsZXRlXG4vLyAoYHVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZWAsIHByb3BhZ2FkYSBhbyBwYWluZWwgdmlhIG8gYGNsYXNzYCBkbyBtYXQtYXV0b2NvbXBsZXRlKSxcbi8vIGVudMOjbyB2YWxlIHByYSBUT0RBUyBhcyBpbnN0w6JuY2lhcyBkZSBhcHAtdXNlci1zZWFyY2ggc2VtIGFmZXRhciBvdXRyb3MgcGFpbsOpaXMuXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUge1xuICBvdmVyZmxvdy14OiBhdXRvOyAgICAgICAgICAgICAgLy8gYmFycmEgaG9yaXpvbnRhbCBxdWFuZG8gYSBvcMOnw6NvIHBhc3NhIGRhIGxhcmd1cmEgZG8gaW5wdXRcbiAgLy8gUGFpbmVsIGRpbsOibWljbzogY3Jlc2NlIGF0w6kgY2FiZXIgbyBpdGVtIG1haXMgbGFyZ28sIGNvbSBwaXNvIG5hIGxhcmd1cmFcbiAgLy8gdMOtcGljYSBkbyBpbnB1dCAoMzAwcHggPSBtYXgtd2lkdGggZG8gYC51c2VyLXNlYXJjaGApIGUgdGV0byBwcmEgbsOjbyB2YXphclxuICAvLyBhIHZpZXdwb3J0LiBDb21wb25lbnRlIHBhc3NhIGBwYW5lbFdpZHRoOiAnYXV0bydgIHByYSBNYXRlcmlhbCBuw6NvIGZpeGFyIG9cbiAgLy8gcGFuZTsgbyBjcmVzY2ltZW50byBhY29udGVjZSB2aWEgYG1heC1jb250ZW50YCBhcXVpLlxuICBtaW4td2lkdGg6IDMwMHB4O1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogbWluKDgwMHB4LCA5MHZ3KTtcblxuICAvLyBQb3BvdmVyIGRlIGFkaWNpb25hciBhdXRvciAodGVtIG8gaGVhZGVyIFwiQ3JpYXIgbm92byB1c3XDoXJpb1wiKS4gYDpoYXNgIGxpbWl0YSBhb1xuICAvLyBjYXNvIGNvbSBoZWFkZXI7IHBhaW7DqWlzIHNlbSBlbGUgZmljYW0gaW50YWN0b3MuXG4gICY6aGFzKC5jcmVhdGUtdXNlci1vcHRpb24pIHtcbiAgICAvLyAoMSkgWmVyYSBUT0RPIG8gcGFkZGluZyBkbyBwYWluZWwgKG1hbnTDqW0gc8OzIG8gcmVzcGlybyBpbmZlcmlvcikuIE1vdGl2b3M6XG4gICAgLy8gICAtIHBhZGRpbmctdG9wIGdlcmF2YSBGUkVTVEEgbm8gdG9wbyAobyBzdGlja3kgZml4YSBlbSB0b3A6MCA9IHRvcG8gZGEgY2FpeGFcbiAgICAvLyAgICAgZGUgY29udGXDumRvLCBhYmFpeG8gZG8gcGFkZGluZykgcG9yIG9uZGUgYSBsaXN0YSB2YXphdmEgQUNJTUEgZG8gaGVhZGVyO1xuICAgIC8vICAgLSBwYWRkaW5nIExBVEVSQUwgKDRweCkgZXJhIG8gVkFaQU1FTlRPIMOgIGRpcmVpdGE6IG8gaGVhZGVyIGVzdGljYSBzw7MgYXTDqSBhXG4gICAgLy8gICAgIGNhaXhhIGRlIGNvbnRlw7pkbyAoaW5zZXQgNHB4KSwgbWFzIG8gdGV4dG8gZGFzIGxpbmhhcyB0cmFuc2JvcmRhIHBhcmEgZGVudHJvXG4gICAgLy8gICAgIGRlc3NlIHBhZGRpbmcgZSBhcGFyZWNlIMOgIGRpcmVpdGEgZG8gaGVhZGVyLiBDb20gcGFkZGluZyBsYXRlcmFsIDAsIG8gaGVhZGVyXG4gICAgLy8gICAgIHByZWVuY2hlIGEgbGFyZ3VyYSBpbnRlaXJhIGRvIHBhaW5lbCBlIGNvYnJlIGFzIGxpbmhhcyBwb3IgY29tcGxldG8uXG4gICAgLy8gTyByZXNwaXJvIGludGVybm8gZG8gdGV4dG8gdmVtIGRvIHByw7NwcmlvIHBhZGRpbmcgZGEgb3DDp8OjbyAoYDAgOHB4YCksIHByZXNlcnZhZG8uXG4gICAgcGFkZGluZzogMCAwIDVweCAhaW1wb3J0YW50O1xuXG4gICAgLy8gKDIpIEEgTEFSR1VSQSBkbyBwYWluZWwgw6kgZGVjaWRpZGEgcGVsbyBgW3BhbmVsV2lkdGhdYCBkbyBtYXQtYXV0b2NvbXBsZXRlXG4gICAgLy8gKGRlZmF1bHQgNDgwIG5vIGBhcHAtdXNlci1zZWFyY2hgOyBvdmVybGF5cyBlc3RyZWl0b3MgcGFzc2FtIHZhbG9yIHByw7NwcmlvLFxuICAgIC8vIGV4LjogcG9wb3ZlciBcImFkaWNpb25hciBhdXRvclwiIGVtIHBhcGVyLWluZm8gcGFzc2EgYFtwYW5lbFdpZHRoXT1cIjI5NlwiYCkuXG4gICAgLy8gUmVncmEgYW50aWdhIGB3aWR0aDogMjk2cHggIWltcG9ydGFudGAgZm9pIHJlbW92aWRhIHByYSBuw6NvIGNvbmZsaXRhciBjb20gb1xuICAgIC8vIElucHV0IOKAlCBhIElucHV0IGlubGluZSBubyBwYWluZWwgYWdvcmEgdmVuY2Ugc2VtIGAhaW1wb3J0YW50YCBnbG9iYWwuXG4gIH1cbiAgLy8gUXVhbmRvIE7Dg08gaMOhIHJlc3VsdGFkb3MgKHPDsyBvIGhlYWRlciBcIkNyaWFyIG5vdm8gdXN1w6FyaW9cIiksIGVsZSDDqSBvIMO6bHRpbW8gaXRlbTpcbiAgLy8gc29tZSBjb20gbyByZXNwaXJvIGluZmVyaW9yLCBxdWUgZGVpeGF2YSB1bSBlc3Bhw6dvIGVtIGJyYW5jbyBlbWJhaXhvIGRhIGxpbmhhLlxuICAmOmhhcyguY3JlYXRlLXVzZXItb3B0aW9uOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gVG9kYXMgYXMgb3DDp8O1ZXMgKGhlYWRlciArIGxpbmhhcykgZXN0aWNhbSBhdMOpIGEgTEFSR1VSQSBETyBQQUlORUwgdmlhXG4gIC8vIGBtaW4td2lkdGg6IDEwMCVgLCBTRU0gYG1heC1jb250ZW50YC4gQXNzaW06XG4gIC8vICAtIG8gaGVhZGVyIFwiQ3JpYXIgbm92byB1c3XDoXJpb1wiIHRlbSBhIG1lc21hIGxhcmd1cmEgZGFzIGxpbmhhcyDihpIgY29icmUtYXMgcG9yXG4gIC8vICAgIGludGVpcm8gcXVhbmRvIGVsYXMgcm9sYW0gcG9yIGJhaXhvIGRlbGUgKHNlbSBgbWluLXdpZHRoYCBlbGUgZW5jb2xoaWEgcC8gb1xuICAvLyAgICB0YW1hbmhvIGRvIHRleHRvIGUgc29icmF2YSBsaW5oYSDDoCBkaXJlaXRhKTtcbiAgLy8gIC0gYXMgbGluaGFzIG7Do28gZmljYW0gTUFJUyBsYXJnYXMgcXVlIG8gaGVhZGVyIChxdWUgc2VyaWEgbyBwcm9ibGVtYSBvcG9zdG8pLlxuICAvLyBPIHRleHRvIGxvbmdvIGFpbmRhIFRSQU5TQk9SREEgKHNlbSBlbGxpcHNpcykgZSByb2xhIHZpYSBgb3ZlcmZsb3cteDogYXV0b2AuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7ICAgICAgICAgICAvLyBsaWJlcmEgbyBjbGlwIHF1ZSBnZXJhdmEgbyBlbGxpcHNpcyBuYSBvcMOnw6NvXG4gIH1cbiAgLy8gTyBzcGFuIGludGVybm8gdGFtYsOpbSB0cnVuY2EgcG9yIHBhZHLDo287IGxpYmVyYSBwcmEgbyB0ZXh0byBUUkFOU0JPUkRBUiAoZSBlbnTDo29cbiAgLy8gcm9sYXIgaG9yaXpvbnRhbG1lbnRlKSBlbSB2ZXogZGUgdmlyYXIgcmV0aWPDqm5jaWFzLlxuICAubWF0LW9wdGlvbi10ZXh0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAgICAgICAgLy8gdW1hIGxpbmhhIHPDsyAoZW50w6NvIHRyYW5zYm9yZGEg4oaSIHJvbGEsIG7Do28gcXVlYnJhKVxuICB9XG5cbiAgLy8gSXRlbSBmaXhvIFwiQ3JpYXIgbm92byB1c3XDoXJpb1wiIChvcHQtaW4gdmlhIFtlbmFibGVDcmVhdGVVc2VyXSk6IHByaW1laXJvIGRhIGxpc3RhLFxuICAvLyBlbSBERVNUQVFVRSDigJQgY29yIGFjY2VudCwgw61jb25lIHBlcnNvbl9hZGQuIEZJWE8gbm8gdG9wbyAocG9zaXRpb246IHN0aWNreSk6IGFcbiAgLy8gbGlzdGEgZGUgcmVzdWx0YWRvcyByb2xhIHBvciBiYWl4byBkZWxlLCBlbnTDo28gcHJlY2lzYSBkZSBmdW5kbyBPUEFDTyAocGludGFkbyBub3NcbiAgLy8gYmxvY29zIGxpZ2h0L2RhcmsgYWJhaXhvKSBlIHotaW5kZXggYWNpbWEgZGFzIG9ww6fDtWVzLlxuICAvL1xuICAvLyBDZW50cmFsaXphw6fDo28gcG9yIEZMRVggKG7Do28gcG9yIGxpbmUtaGVpZ2h0KTogbyBjb250ZcO6ZG8gaW50ZXJubyDDqSBpbmxpbmUtZmxleCBlLFxuICAvLyBhbGluaGFkbyBwZWxhIGJhc2VsaW5lIGRhIGxpbmhhIGRlIDI2cHgsIHN1YmlhLiBDZW50cmFsaXphciBhIGAubWF0LW9wdGlvbi10ZXh0YFxuICAvLyBuYSBhbHR1cmEgcmVhbCBkbyBpdGVtIHJlc29sdmUsIGluZGVwZW5kZW50ZSBkYSBhbHR1cmEuXG4gIC5jcmVhdGUtdXNlci1vcHRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7ICAgICAgICAgICAgICAgICAvLyBzdGlja3kgdGFtYsOpbSBuYSBob3Jpem9udGFsOiBjb2JyZSBhIGphbmVsYSB2aXPDrXZlbFxuICAgIHotaW5kZXg6IDI7ICAgICAgICAgICAgICAvLyBkdXJhbnRlIHJvbGFnZW0gbGF0ZXJhbCwgbsOjbyBzw7MgdmVydGljYWxcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7IC8vICs2cHggc29icmUgb3MgMjZweCBwYWRyw6NvIGRhIG9ww6fDo28g4oaSIGhlYWRlciBtYWlzIGVsZWdhbnRlXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7ICAgICAgIC8vIHBhcmVpYSBhIGFsdHVyYSAobWVzbW8gY29tIGZsZXgsIGV2aXRhIGhlcmFuw6dhIGRvcyAyNnB4KVxuICAgIGJvcmRlci1yYWRpdXM6IDA7ICAgICAgICAvLyBoZWFkZXIgZnVsbC1ibGVlZCwgc2VtIGNhbnRvcyBhcnJlZG9uZGFkb3NcbiAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAubWF0LW9wdGlvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgICAvLyBkZWl4YSBvIGZsZXggY2VudHJhbGl6YXI7IHNlbSBsaW5lLWhlaWdodCBkZSAyNnB4IHB1eGFuZG9cbiAgICB9XG4gICAgLmNyZWF0ZS11c2VyLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogNnB4O1xuICAgIH1cbiAgICAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG4gICAgLy8gRGl2aXNvciBkZSBQT05UQSBBIFBPTlRBIOKAlCBzw7MgcXVhbmRvIEjDgSByZXN1bHRhZG9zIGFiYWl4byAoYDpub3QoOmxhc3QtY2hpbGQpYCk7XG4gICAgLy8gc296aW5obyBubyBwYWluZWwsIG8gaGVhZGVyIG7Do28gcHJlY2lzYSBkZSBsaW5oYSBlbWJhaXhvLiBDb21vIG8gcGFkZGluZyBsYXRlcmFsXG4gICAgLy8gZG8gcGFpbmVsIGFnb3JhIMOpIDAsIGBsZWZ0L3JpZ2h0OiAwYCBqw6EgYWxjYW7Dp2FtIGFzIGJvcmRhcy5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuLmxpZ2h0LXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSAuY3JlYXRlLXVzZXItb3B0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDsgICAvLyBvcGFjbzogYSBsaXN0YSByb2xhIHBvciBiYWl4byBkbyBoZWFkZXIgZml4b1xufVxuLmRhcmstdGhlbWUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwudXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlIC5jcmVhdGUtdXNlci1vcHRpb24ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgJjo6YWZ0ZXIgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrOyB9XG59XG5cbi5saWdodC10aGVtZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG4gIC5tYXQtb3B0aW9uIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yOyB9XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG59XG4uZGFyay10aGVtZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbiAgLm1hdC1vcHRpb24geyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG59XG5cbi8vIEVzcGVjw61maWNvIGRvIFNUQVRVUyAobXktc2VsZWN0LXN0YXR1cy1wYW5lbCwgc2luZ2xlLXNlbGVjdCkg4oCUIHPDsyBkZXN0ZSBtZW51LCBOw4NPIGRhXG4vLyBjbGFzc2UgSkVNUzMgKG8gZmlsdHJvIG1hbnTDqW0gbyB0b2tlbiBwYWRyw6NvKS4gSE9WRVIsIGZvY28tdGVjbGFkbyBFIFNFTEVDSU9OQURPIHVzYW0gYVxuLy8gTUVTTUEgY29yIGN1c3RvbWl6YWRhOiBtYWlzIEVTQ1VSTyBubyBsaWdodCwgbWFpcyBDTEFSTyBubyBkYXJrLiBEZXJpdmEgZG8gdG9rZW4gSkVNUzMgZGVcbi8vIGhvdmVyIGNvbSBkYXJrZW4vbGlnaHRlbiAoc2VndWUgbyB0b2tlbiBzZSBlbGUgbXVkYXI7IGFqdXN0ZSBhICUgcC8gbWFpcy9tZW5vcyBjb250cmFzdGUpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwge1xuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsIDclKSAhaW1wb3J0YW50OyB9XG59XG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIHtcbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrLCA3JSkgIWltcG9ydGFudDsgfVxufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENISVAgZGUgc3RhdHVzIG5vIEZJTFRSTyBkZSBzdGF0dXMgKGFwcC1zZWxlY3QtaW5wdXQgW3N0YXR1c0NoaXBdPXRydWUpIOKAlCBww61sdWxhXG4vLyBkZSBzdGF0dXMgZGUgc3VibWlzc8OjbyBuYXMgT1DDh8OVRVMgZG8gZHJvcGRvd24gKG92ZXJsYXkpIEUgbm8gZ2F0aWxobyBmZWNoYWRvLlxuLy8gTWVzbWEgaWRlbnRpZGFkZSBkb3MgY2hpcHMgcGVyLXN0YXR1cyAoZ2VvbWV0cmlhICsgY29yZXMgKyDDrWNvbmUgZGUgX3N0YXR1cy1jaGlwKS5cbi8vIFJlZ3JhIEdMT0JBTDogYSBvcMOnw6NvIHZpdmUgbm8gb3ZlcmxheSAocmFpeiBkbyBkb2N1bWVudG8pIGUgbyBnYXRpbGhvIG5hIHZpZXcgZG9cbi8vIGNvbXBvbmVudGUg4oCUIHVtYSBkZWZpbmnDp8OjbyDDum5pY2EgYXRlbmRlIG9zIGRvaXMuIENvcmVzIGlkw6pudGljYXMgZW0gbGlnaHQvZGFya1xuLy8gKG8gc3RhdHVzIHRlbSBpZGVudGlkYWRlIGNyb23DoXRpY2EgcHLDs3ByaWEsIGNvbW8gbmEgY29sdW5hIGRlIHN0YXR1cyBkYSB0YWJlbGEpLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uc3RhdHVzLWNoaXAtZmlsdGVyIHtcbiAgLy8gVmlzdWFsIChib3JkYSBlbWJvc3NlZCwgc29tYnJhLCBhbHR1cmEsIExBUkdVUkEgRklYQSA5NnB4IHVuaWZvcm1lLCByYWlvLCBjb3JlcylcbiAgLy8gdmVtIGRvcyBtaXhpbnMuIE8gTEFZT1VUIMOpIHNvYnJlc2NyaXRvIGFiYWl4bzogZW0gdmV6IGRvIGZsZXgranVzdGlmeS1jb250ZW50XG4gIC8vIChxdWUsIHBvciBjb25mbGl0byBkZSBydW50aW1lLCBOw4NPIGVzdGF2YSBjZW50cmFsaXphbmRvKSwgbyBjaGlwIHZpcmEgaW5saW5lLWJsb2NrXG4gIC8vIGUgY2VudHJhbGl6YSBvIGdydXBvIGludGVybm8gcG9yIFRFWFQtQUxJR04g4oCUIG1lY2FuaXNtbyBpbmRlcGVuZGVudGUgZG8gZmxleC5cbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5KHRydWUpO1xuICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtY29sb3JzKCRzdWJtaXNzaW9uLXN0YXR1cywgdHJ1ZSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAvLyBHcnVwbyBbw61jb25lICsgcsOzdHVsb106IGlubGluZS1mbGV4IGlubGluZS1sZXZlbCDihpIgY2VudHJhZG8gaG9yaXpvbnRhbG1lbnRlIHBlbG9cbiAgLy8gdGV4dC1hbGlnbiBkbyBwYWkuIGFsaWduLWl0ZW1zOiBjZW50ZXIgKyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIGN1aWRhbSBkbyBlaXhvIFkuXG4gIC5zY2YtYm9keSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIMONY29uZTogemVyYSBhIE1BUkdJTi4gVW1hIHJlZ3JhIEdMT0JBTCBkZSBgLm1hdC1pY29uYCBhcGxpY2EgbWFyZ2luLXJpZ2h0OiAxNnB4XG4gIC8vIChlc3Bhw6dhbWVudG8gZGUgw61jb25lIGRlIGxpc3RhL21lbnUpIOKAlCBjb25maXJtYWRvIG5vIENvbXB1dGVkIChtYXJnaW4gMCAxNnB4IDAgMCkuXG4gIC8vIEVSQSBhIGNhdXNhIGRvIFwiYnVyYWNvXCIgZW50cmUgw61jb25lIGUgcsOzdHVsby4gQ29tIG1hcmdpbiAwLCBvIGdhcCBmaWNhIHPDsyBvIGRvXG4gIC8vIC5zY2YtYm9keSAoNHB4KSBlIG8gZ3J1cG8gW8OtY29uZSArIHLDs3R1bG9dIGZpY2EgY29sYWRvIGUgY2VudHJhZG8uXG4gIC5pY29uIHtcbiAgICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtaWNvbih0cnVlKTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubGFiZWwgeyBsaW5lLWhlaWdodDogMTsgfVxufVxuXG4vLyBHQVRJTEhPIChjYWl4YSBmZWNoYWRhKSBkbyBmaWx0cm8gZGUgc3RhdHVzOiBxdWFuZG8gdW0gc3RhdHVzIGVzdMOhIHNlbGVjaW9uYWRvLCBvXG4vLyBjaGlwIGFwYXJlY2UgZGVudHJvIGRhIGNhaXhhIGUgc3VhIHNvbWJyYSBlbWJvc3NlZCBlcmEgQ0xJUEFEQSDigJQgcGVsbyBgb3ZlcmZsb3c6XG4vLyBoaWRkZW5gIGRvIGAubWF0LWZvcm0tZmllbGQtZmxleGAgKHByZXNldCBmaWx0ZXItc3R5bGVkKSBlIGRvIGAubWF0LXNlbGVjdC12YWx1ZWAvXG4vLyBgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dGAgKHBhZHLDo28gZG8gTWF0ZXJpYWwsIHAvIGVsbGlwc2lzIGRlIHRleHRvKS4gTGliZXJhbW9zIG9cbi8vIG92ZXJmbG93IFPDkyBuZXN0YSBjYWl4YSwgZGV0ZWN0YWRhIHBvciBgOmhhcyguc3RhdHVzLWNoaXAtdHJpZ2dlcilgIChzw7MgZWxhIHRlbSBjaGlwXG4vLyBubyBnYXRpbGhvKSDigJQgYXMgZGVtYWlzIGNhaXhhcyBmaWx0ZXItc3R5bGVkIHNlZ3VlbSBjb20gb3ZlcmZsb3cgaGlkZGVuIGludGFjdG8uXG5hcHAtc2VsZWN0LWlucHV0LmZpbHRlci1zdHlsZWQ6aGFzKC5zdGF0dXMtY2hpcC10cmlnZ2VyKSB7XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuLy8gUGFpbmVsIGRvIGZpbHRybyBkZSBzdGF0dXM6IE7Dg08gZXN0aWNhciBhdMOpIGEgbGFyZ3VyYSBkbyBnYXRpbGhvIChxdWUgw6kgbGFyZ2EgcG9yXG4vLyBjYXVzYSBkbyBwbGFjZWhvbGRlciBcIlN0YXR1cyBkZSBzdWJtaXNzw7Vlc1wiKSDigJQgaHVnYSBvIGNvbnRlw7pkbyAoY2hlY2tib3ggKyBjaGlwKSxcbi8vIHNlbsOjbyBzb2JyYSBlc3Bhw6dvIHZhemlvIMOgIGRpcmVpdGEgZG9zIGNoaXBzIGUgYSBvcMOnw6NvIHBhcmVjZSBcImxhcmdhIGRlbWFpc1wiLlxuLm1hdC1zZWxlY3QtcGFuZWwuc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsIHtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIC8vIEh1Z2EgbyBjb250ZcO6ZG8gKGNoZWNrYm94ICsgY2hpcCA5NnB4KSwgbsOjbyBhIGxhcmd1cmEgZG8gZ2F0aWxobyAocXVlIMOpIGxhcmdhIHBvclxuICAvLyBjYXVzYSBkbyBwbGFjZWhvbGRlciBcIlN0YXR1cyBkZSBzdWJtaXNzw7Vlc1wiKS5cbiAgd2lkdGg6IG1heC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gIC8vIFJlc3Bpcm8gdG9wby9iYXNlIHNpbcOpdHJpY28gKH45cHggYXTDqSBvIGNoaXApLiBTb2JlIGRlIDVweOKGkjdweCBvIHBhZGRpbmcgdmVydGljYWxcbiAgLy8gZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIChvIHJlc3RhbnRlIGRvIGdhcCB2ZW0gZGEgY2VudHJhZ2VtIGRhIG9ww6fDo28pLiBWZW5jZSBwb3JcbiAgLy8gdmlyIGRlcG9pcyBuYSBmb250ZSwgY29tIG1lc21hIGVzcGVjaWZpY2lkYWRlLlxuICBwYWRkaW5nOiA3cHggNHB4ICFpbXBvcnRhbnQ7XG5cbiAgLy8gTyBjaGlwIChpbmxpbmUtYmxvY2spIGZpY2EgfjJweCBhYmFpeG8gZG8gY2hlY2tib3ggcGVsYSBiYXNlbGluZSwgbWVzbW8gY29tIG9cbiAgLy8gYGFsaWduLWl0ZW1zOiBjZW50ZXJgIGRhIG9ww6fDo28gKG1lZGlkbyBubyBET00pLiBTb2JlIDJweCBwcmEgY2VudHJhbGl6YXIgY29tIG9cbiAgLy8gY2hlY2tib3guIEVzY29wYWRvIGFvIHBhaW5lbCDigJQgbm8gZ2F0aWxobyBmZWNoYWRvIChzZW0gY2hlY2tib3gpIG8gY2hpcCBuw6NvIG11ZGEuXG4gIC5zdGF0dXMtY2hpcC1maWx0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cblxuICAvLyBSZXNwaXJvIHZlcnRpY2FsIGVudHJlIG9zIHN0YXR1cyAoc8OzIG5lc3RlIG1lbnUpOiBhcyBww61sdWxhcyBkZSBzdGF0dXMgcGVkZW1cbiAgLy8gbWFpcyBmb2xnYSBxdWUgb3MgaXRlbnMgZGUgdGV4dG8gZG9zIGRlbWFpcyBmaWx0cm9zLiBTb2JyZXNjcmV2ZSBvIGBtYXJnaW46IDBgXG4gIC8vIGRvIGAuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uYCAodmVuY2UgcG9yIHZpciBkZXBvaXMgbmEgZm9udGUpLlxuICAubWF0LW9wdGlvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIC8vIE8gTWF0ZXJpYWwgYXBsaWNhIGBvdmVyZmxvdzogaGlkZGVuYCBubyBgLm1hdC1vcHRpb25gIChwcmEgZWxsaXBzaXMgZG8gdGV4dG8pLFxuICAgIC8vIG8gcXVlIENMSVBBIGEgc29tYnJhIGRvcyBjaGlwcyBkZSBzdGF0dXMuIEFxdWkgbyByw7N0dWxvIHZpdmUgREVOVFJPIGRvIGNoaXBcbiAgICAvLyAobsOjbyBuYSBvcMOnw6NvKSwgZW50w6NvIGxpYmVyYXIgbyBvdmVyZmxvdyBuw6NvIGFmZXRhIHRydW5jYW1lbnRvIGUgZGVpeGEgYVxuICAgIC8vIHNvbWJyYSBlbWJvc3NlZCBkbyBjaGlwIGFwYXJlY2VyIGludGVpcmEuXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLm1hdC1vcHRpb246bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLy8gTyBNYXRlcmlhbCBhcGxpY2EgYG92ZXJmbG93OiBoaWRkZW5gIFRBTULDiU0gbm8gYC5tYXQtb3B0aW9uLXRleHRgIChzcGFuIGludGVybm9cbiAgLy8gcXVlIMOpIG8gcGFpIERJUkVUTyBkbyBjaGlwKSDigJQgw6kgRUxFIHF1ZW0gY29ydGF2YSBhIHNvbWJyYSBlbWJvc3NlZCBkbyBjaGlwXG4gIC8vIChtZWRpZG8gbm8gRE9NKS4gTGliZXJhbW9zIGFxdWk7IG8gcsOzdHVsbyB2aXZlIGRlbnRybyBkbyBjaGlwLCBzZW0gdHJ1bmNhbWVudG8uXG4gIC5tYXQtb3B0aW9uLXRleHQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4gIC8vIFNlbSBhbmltYcOnw6NvIGRlIGNsaXF1ZSAocmlwcGxlKSBuYXMgb3DDp8O1ZXMg4oCUIGNsaXF1ZSBkaXJldG8sIHNlbSBcIm9uZGFcIi5cbiAgLm1hdC1vcHRpb24tcmlwcGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIEhvdmVyL2ZvY28gZGFzIG9ww6fDtWVzID0gTUVTTUEgY29yIGRvIG1lbnUgZGUgc3RhdHVzIChteS1zZWxlY3Qtc3RhdHVzLXBhbmVsKSBkb1xuLy8gTGlzdGFyIHN1Ym1pc3PDtWVzOiBkYXJrZW4gNyUgbm8gbGlnaHQsIGxpZ2h0ZW4gNyUgbm8gZGFyay4gVmVuY2UgbyBob3ZlciBKRU1TM1xuLy8gcGFkcsOjbyAobyBwYWluZWwgdGFtYsOpbSB0ZW0gYSBjbGFzc2UgamVtczMtc2VsZWN0LXBhbmVsKSBwb3IgdmlyIERFUE9JUyBuYSBmb250ZS5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwge1xuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCA3JSkgIWltcG9ydGFudDsgfVxuICAvLyBgLm1hdC1hY3RpdmVgID0gcHJpbWVpcmEgb3DDp8OjbyBxdWFuZG8gbyBwYWluZWwgYWJyZSBzZW0gc2VsZcOnw6NvIChmb2NvXG4gIC8vIHByb2dyYW3DoXRpY28gZG8gTWF0ZXJpYWwpLiBEZWZhdWx0IGRvIE1hdGVyaWFsIHBpbnRhIGFjY2VudCDigJQgemVyYW1vc1xuICAvLyBwcmEgcXVlIGFicmlyIG8gbWVudSBuw6NvIHBhcmXDp2EgXCJhbGdvIGrDoSBtYXJjYWRvXCIuXG4gIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KDpob3Zlcik6bm90KC5jZGsta2V5Ym9hcmQtZm9jdXNlZCkgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG59XG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwge1xuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrLCA3JSkgIWltcG9ydGFudDsgfVxuICAubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCg6aG92ZXIpOm5vdCguY2RrLWtleWJvYXJkLWZvY3VzZWQpIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxufVxuXG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSB7XG5cbiAgLy8gQ29yIC8gw61jb25lIC8gaG92ZXIgZG9zIGl0ZW5zIHbDqm0gZG8gYmxvY28gYWRpdGl2byBnbG9iYWwgKC5kYXJrLXRoZW1lXG4gIC8vIHsgLi4uIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIH0pLiBBcXVpIHPDsyBvc1xuICAvLyBzZWxldG9yZXMgZXNwZWPDrWZpY29zIGRvIGF2YXRhci1wcm9maWxlICh0aGVtZS9sYXlvdXQvbGFuZ3VhZ2UpLlxuXG4gIC8vIFRoZW1lL2xheW91dCBzd2l0Y2hlciBob3ZlciDigJQgZGFyay1tb2RlIGNvdW50ZXJwYXJ0IG9mIHRoZSBydWxlIGFib3ZlLlxuICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSxcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcblxuICAgIC5tYXQtaWNvbixcbiAgICAubGF5b3V0LWljb24ge1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLyogYXBwLWV2ZW50LXdpemFyZCAqL1xuLy8gYC50YXNrLXRleHRgIGFnb3JhIHZpdmUgZGVudHJvIGRlIGBtYXQtY2FyZC5hZG1pbi1ldmVudGAgKGNhbnZhcyBkbyBjaGFpciBVSSlcbi8vIOKAlCB1c2EgbyBtZXNtbyB0b2tlbiBkZSB0ZXh0byBib2R5IHF1ZSBvIHJlc3RvIGRvIGNhbnZhcyAoPSBzaWRlYmFyIGxldmVsLTJcbi8vIHJlc3QpLCBuw6NvIHByZXRvL2JyYW5jbyBwdXJvcyBsZWdhY3kuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXdpemFyZCwgJy50YXNrLXRleHQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gU2VjdGlvbiBkaXZpZGVyIGNvbG9yIOKAlCBnbG9iYWwsIGFwbGljYWRvIGVtIHRvZGFzIGFzIHRyYW5zacOnw7VlcyBlbnRyZVxuLy8gc2XDp8O1ZXMgYWRqYWNlbnRlcyBkbyBjaGFpciBVSSAoY2hlY2tsaXN0LCByZXZpZXdzLWNvbmZpZ3VyYXRpb24sIGV0YykuXG4vLyBFc3RydXR1cmEgZG8gZGl2aWRlciAoYm9yZGVyLXRvcC13aWR0aCwgbWFyZ2luLXRvcCwgcGFkZGluZy10b3ApIHZlbSBkb1xuLy8gZ2xvYmFsIGVtIGBfc3RydWN0dXJlLnNjc3NgLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNlY3Rpb24gKyAuc2VjdGlvbicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zZWN0aW9uICsgLnJvdy1tZCcsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5yb3ctbWQgKyAuc2VjdGlvbicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcblxuLy8gVmVydGljYWwgZ3VpZGUgbGluZSBkbyBgLmRlcGVuZGVudC1vcHRpb25gIOKAlCBjaGVja2JveCBjaGlsZCBkZSBvdXRyb1xuLy8gY2hlY2tib3guIE1lc21hIGNvciBkYXMgZGl2aWRlcnMgcGFyYSBjb2Vyw6puY2lhIHZpc3VhbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnJldmlldy1zZXR0aW5ncycsICcuZGVwZW5kZW50LW9wdGlvbjo6YmVmb3JlJywgYmFja2dyb3VuZC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBGbG9hdGluZyBzdWJtaXQgYmFyIChhcHAtZmxvYXRpbmctc3VibWl0LWJhcik6IEFUIEhPTUUgKHNlbSAuYXdheS1mcm9tLWhvbWUpXG4vLyDDqSB0cmFuc3BhcmVudGUsIGluIGZsb3cgbm8gc2xvdC4gQVdBWSBGUk9NIEhPTUUgdmlyYSBmaXhlZCBubyBib3R0b20gZG9cbi8vIHZpZXdwb3J0IGNvbSBiZyBjYW52YXMgKGFkbWluLWJhY2tncm91bmQpIOKAlCBsw6ogY29tbyBcImV4dGVuc8OjbyBmbHV0dWFudGVcIlxuLy8gZG8gY2FudmFzLCBjb20gc2hhZG93IHJlZm9yw6dhbmRvIGVsZXZhw6fDo28uIFJlZ3JhcyBnbG9iYWlzIChzZW0gcHJlZml4byBkZVxuLy8gcMOhZ2luYSkgcG9ycXVlIG8gY29tcG9uZW50ZSDDqSBjb21wYXJ0aWxoYWRvIHBvciByZXZpZXdzLWNvbmZpZ3VyYXRpb24sXG4vLyBjaGVja2xpc3QsIGUgZnV0dXJhcyBww6FnaW5hcy1mb3JtLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtZmxvYXRpbmctc3VibWl0LWJhcicsICcuc3VibWl0LWFjdGlvbnMuYXdheS1mcm9tLWhvbWUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1mbG9hdGluZy1zdWJtaXQtYmFyJywgJy5zdWJtaXQtYWN0aW9ucy5hd2F5LWZyb20taG9tZScsIGJvcmRlci1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuLy8gU2hhZG93IHRoZW1lLWF3YXJlOiAwLjEyIGJsYWNrIGVtIGxpZ2h0IChzdXRpbCBzb2JyZSBjYW52YXMgYnJhbmNvKSAvXG4vLyAwLjYgYmxhY2sgZW0gZGFyayAocHJlY2lzYSBkZSBtdWl0byBtYWlzIG9wYWNpZGFkZSBwcmEgY3JpYXIgbGlmdFxuLy8gcGVyY2VwdMOtdmVsIGNvbnRyYSBjYW52YXMgZXNjdXJvKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXInLCAnLnN1Ym1pdC1hY3Rpb25zLmF3YXktZnJvbS1ob21lJywgYm94LXNoYWRvdywgMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC42KSk7XG5cbi8vIENvbmZpcm1hdGlvbiBkaWFsb2cgKHJlZGVzaWduIGNoYWlyIFVJKSDigJQgY8OtcmN1bG8gd2FybS1zdG9uZSBkaXNjcmV0b1xuLy8gbm8gw61jb25lLCB0aXBvZ3JhZmlhIGVtIGR1YXMgdG9uYWxpZGFkZXMuIFZhcmlhbnRlIFwid2FybmluZ1wiIHVzYSBhbWJlclxuLy8gc3VhdmUgKGNvciBkZSBhdmlzbyBoaXN0w7NyaWNhKSwgXCJzdWNjZXNzXCIgdXNhIHZlcmRlIGRhIGFuaW1hw6fDo28uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi13cmFwJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAsICRncmF5LTcwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi1xdWVzdGlvbicsIGNvbG9yLCAkZ3JheS03MDAsICRncmF5LTIwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi13YXJuaW5nJywgY29sb3IsICNCNDUzMDksICNGQ0QzNEQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLWljb24tc3VjY2VzcycsIGNvbG9yLCAjMTU4MDNELCAjNEFERTgwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy10aXRsZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctY29udGVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5cbi8qIG1hdC1jYXJkICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AobWF0LWNhcmQsICdtYXQtY2FyZC10aXRsZScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuLy8gQ2FyZHMgbGVnYWRvcyAoYmFzZS1jYXJkL2V2ZW50L3RyYWNrKSBjb252ZXJnaWRvcyBhbyBwYWRyw6NvIGNhbsO0bmljb1xuLy8gYG1hdC1jYXJkLmFkbWluLWV2ZW50YDogc3VwZXJmw61jaWUgd2FybS1zdG9uZSAoJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IgPVxuLy8gJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCkgKyBib3JkYSAxcHggY2hyb21lLCBzZW0gc29tYnJhIChhbnRlczogY2luemEgZnJpb1xuLy8gI2VkZWRlZCBzZW0gYm9yZGEpLiBBcyBzdXByZXNzw7VlcyBgYm9yZGVyOiAwYCBub3MgY29tcG9uZW50LXNjc3MgdmVuY2VtIHBvclxuLy8gZXNwZWNpZmljaWRhZGUsIGVudMOjbyBmb3JhbSByZW1vdmlkYXMgZW0gZXZlbnQtdmlldy90cmFja3MuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmJhc2UtY2FyZCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmJhc2UtY2FyZCcsICcnLCBib3JkZXIsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodCwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5iYXNlLWNhcmQnLCAnJywgY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyaywgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50JywgXCJcIiwgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudCcsIFwiXCIsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50IC5ldmVudC1wYXJlbnQgc3BhbicsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudCAuZXZlbnQtcGFyZW50IGEnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbi8vIENhcmQgZG8gZXZlbnRvIG7Do28gw6kgaW50ZXJhdGl2byDigJQgYm9yZGEgbm8gaG92ZXIgaWd1YWwgw6AgZGUgcmVzdCAoc2VtIFwicHVsb1wiKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQ6aG92ZXInLCBcIlwiLCBib3JkZXIsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodCwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKScsIFwiXCIsIGJveC1zaGFkb3csIG5vbmUsIG5vbmUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNhcmQtaGVhZGVyJywgJycsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jYXJkLWhlYWRlcicsICcnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5hZG1pbi1ldmVudCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmFkbWluLWV2ZW50JywgJycsIGJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrKTtcbi8vIFRleHQgY29sb3Igb2YgYWRtaW4tZXZlbnQgY2FyZDogc2FtZSBtdXRlZCB0b2tlbiB1c2VkIGJ5IHNpZGViYXIgbGV2ZWwtMS8yXG4vLyBpdGVtcyBhdCByZXN0LiBPdmVycmlkZXMgTWF0ZXJpYWwncyBkZWZhdWx0IGBtYXQtY2FyZCB7IGNvbG9yOiByZ2JhKDAsMCwwLC44NykgfWBcbi8vIChjb21waWxlZCB1bmRlciBgLmxpZ2h0LXRoZW1lIC5tYXQtY2FyZGAsIHNwZWNpZmljaXR5IDAsMiwwKS4gT3VyIHNlbGVjdG9yXG4vLyBgLmxpZ2h0LXRoZW1lIG1hdC1jYXJkLmFkbWluLWV2ZW50YCBpcyAwLDIsMSDigJQgd2lucyBieSBvbmUgZWxlbWVudCB0b2tlbi5cbi8vIEluaGVyaXRhbmNlIGZsb3dzIHRvIGFsbCB1bnN0eWxlZCB0ZXh0IGRlc2NlbmRhbnRzICh0b2dnbGUgbGFiZWxzLCByYWRpb1xuLy8gbGFiZWxzLCBoZWxwZXIgdGV4dCwgZXRjLikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmFkbWluLWV2ZW50JywgJycsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5cbi8qIGFwcC10cmFja3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdHJhY2tzLCAnLnRyYWNrcy1jYXJkIG1hdC1jYXJkLnRyYWNrJywgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10cmFja3MsICcudHJhY2tzLWNhcmQgbWF0LWNhcmQudHJhY2snLCBib3JkZXIsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodCwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10cmFja3MsICcudHJhY2tzLWNhcmQgbWF0LWNhcmQudHJhY2sgLm1hdC1jYXJkLXRpdGxlJywgY29sb3IsICRibGFjay0xMDAwLCAkd2hpdGUtMTAwMCk7XG5cbi8qIGFwcC1zaWRlYmFyLWl0ZW0gKi9cbi8vIFBlcnNvbmEgQSAoYXV0b3ItNCk6IFwiSWRlbnRpZGFkZS1sb3VkXCIuIMONY29uZXMgY29tIGNvciBkZSBtYXJjYSBTRU1QUkVcbi8vIChyZXN0LCBob3Zlciwgc2VsZWN0ZWQpICsgc2VtcHJlIGZpbGxlZC4gQ2FkYSBwYXBlbCB0ZW0gaWRlbnRpZGFkZSB2aXN1YWxcbi8vIHBlcm1hbmVudGUuIFNlbGVjdGVkIHJlZm9yw6dhZG8gcGVsbyBiZyB3YXJtIGJlaWdlICsgdW5kZXJsaW5lIGFjY2VudC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tZXZlbnRzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1zdWJtaXNzaW9ucyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXJldmlld3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tdHBjcyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmFueS1vdGhlci1idXR0b24gLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vLyBTZWxlY3RlZDogdW5kZXJsaW5lIGFjY2VudCAzcHggbmEgY29yIGRlIG1hcmNhIHZpYSBwc2V1ZG8tZWxlbWVudG9cbi8vIGA6OmFmdGVyYCAoZXN0cnV0dXJhIGVtIHNpZGViYXItaXRlbS5zY3NzKS4gQ2FudG9zIHJldG9zIOKAlCBpZ25vcmEgb1xuLy8gYm9yZGVyLXJhZGl1cyBkYSBww61sdWxhLiBDb21iaW5hZG8gY29tIG8gYmcgd2FybSBiZWlnZSwgZMOhIG8gZHJhbWFcbi8vIGNhcmFjdGVyw61zdGljbyBkYSBQZXJzb25hIEEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWV2ZW50cy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1zdWJtaXNzaW9ucy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktcmV2aWV3cy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXRwY3Muc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1jaGFpcmluZ3Muc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3Muc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXB1YmxpY2F0aW9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuLy8gTGFiZWxzIGRhIHRvb2xiYXIgZG8gYXV0b3IvcmV2aXNvciBzZWd1ZW0gb3MgTUVTTU9TIHRva2VucyBkbyBjaGFpciBsZXZlbC0xXG4vLyAobsOjbyB1c2FtIG8gbGVnYWRvIGAkc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvcmAgPSAjM2M0MDQzKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxhYmVsLWZ1bGwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcuamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlciAubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQgLmxhYmVsLWZ1bGwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBOYXZiYXIgZG8gc2hlbGwgYXV0b3IvcmV2aXNvcjogY2hyb21lLWJvcmRlciAxcHggYWxpbmhhZG8gYW8gY2hhaXIuXG4vLyBgYm9yZGVyLWJvdHRvbWAgZW0gZGVza3RvcC90YWJsZXQsIGBib3JkZXItdG9wYCBxdWFuZG8gYSBuYXZiYXIgdmlyYVxuLy8gYm90dG9tLWJhciBlbSBtb2JpbGUgKGRlY2lzw6NvIHByZXNlcnZhZGEgZW0gW1tmZWVkYmFjay10b29sYmFyLWJvdHRvbWJhci1tb2JpbGVdXSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1uYXZiYXInLCAnLm5hdmJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLW5hdmJhcicsICcubmF2YmFyJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBTdXJmYWNlIGNocm9tZSB3YXJtIOKAlCBtZXNtbyBjYW52YXMgb2ZmLXdoaXRlIGFxdWVjaWRvIHVzYWRvIGVtIHRvZG8gbyBjaGFpci5cbi8vIGAhaW1wb3J0YW50YCDDqSBuZWNlc3PDoXJpbyBwb3JxdWUgbWF0LXRvb2xiYXIgdGVtIHByaW9yaWRhZGUgYWx0YSBubyB0ZW1hIE1hdGVyaWFsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtbmF2YmFyJywgJy5uYXZiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcblxuLy8gYC5zaWRlYmFyLWl0ZW1gIGUgYC5qZW1zLXRvb2xiYXItYnV0dG9uYCBhZ29yYSB2aXZlbSBubyBNRVNNTyBlbGVtZW50byAoPGE+KVxuLy8gYXDDs3MgbyBhY2hhdGFtZW50byBkYSBhdXRvci00IOKAlCB1c2FyIHNlbGV0b3JlcyBjb21wb3N0b3MsIG7Do28gZGVzY2VuZGVudGVzLlxuLy9cbi8vIERlY2lzw6NvIGRlIGRlc2lnbiAoYXV0b3ItNyk6IHNlbGVjdGVkIGFnb3JhIFwibGV2YW50YVwiIGRhIHRvb2xiYXIg4oCUIGJnXG4vLyBmaWNhIGJyYW5jbyAob3UgbyBlcXVpdmFsZW50ZSBjbGFyaW5obyBubyBkYXJrLCAxIHNoYWRlIGFjaW1hIGRvXG4vLyBgJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmtgIHByYSBkYXIgbGlmdCksIGJvcmRhIHBhc3NhIHByYSB2YXJpYW50ZVxuLy8gYWN0aXZlIChtYWlzIGRlZmluaWRhIHF1ZSBhIGRvIHJlc3QpLCBlIGdhbmhhIHVtYSBzb21icmEgcGVxdWVuYSBtYXNcbi8vIGNyaXNwYWRhIChvZmZzZXQgMCwgYmx1ciBjdXJ0bywgYWxwaGEgbW9kZXJhZGEg4oCUIHNlbnRlIFwiY2FyZCBmbHV0dWFuZG9cbi8vIHNvYnJlIGEgY2hyb21lXCIpLiBPIHVuZGVybGluZSBjb20gYSBjb3IgZGEgY2F0ZWdvcmlhICg6OmFmdGVyKSBjb250aW51YVxuLy8gc29icmVwb25kbyBhIGJvcmRhIGluZmVyaW9yLCBkYW5kbyBvIHNpbmFsIGNhdGVnw7NyaWNvIHF1ZSBpZGVudGlmaWNhXG4vLyBxdWFsIGl0ZW0gZXN0w6EgYXRpdm8uXG4vLyBCZy9ib3JkZXIvc2hhZG93IGRvIGl0ZW0gc2VsZWNpb25hZG8g4oCUIHZpc3VhbCBcInBpbGxcIiBubyBkZXN0aW5vLlxuLy8gQXBsaWNhZG9zIENPTSBgdHJhbnNpdGlvbmAgbm8gaXRlbSBiYXNlIChyZWdyYSBhYmFpeG8pIHByYSBxdWUgYVxuLy8gdHJvY2EgY3J1emUgZmFkZSBjb20gYSBhbmltYcOnw6NvIGRhIHDDrWx1bGEgc2xpZGluZ1xuLy8gKGAubmF2YmFyLWl0ZW1zLWluZGljYXRvcmApLCBlbSB2ZXogZGUgc2FsdGFyIGluc3RhbnTDom5lbyBlIG1hc2NhcmFyXG4vLyBhIHZpYWdlbSBkYSBww61sdWxhLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkJywgYmFja2dyb3VuZC1jb2xvciwgI2ZmZmZmZiAhaW1wb3J0YW50LCAjMmUyZTJlICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkJywgYm9yZGVyLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudCwgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudCk7XG4vLyBTZW0gc29tYnJhIGVtIHJlc3Qg4oCUIGJnIGJyYW5jbyArIGJvcmRlciBhY2VudHVhZGEgasOhIG1hcmNhbSBvXG4vLyBzZWxlY2lvbmFkby4gU29tYnJhIHZvbHRhIEFQRU5BUyBubyBob3ZlciAocmVncmEgYWJhaXhvKSwgdGFudG8gcHJhXG4vLyBzZWxlY3RlZCBxdWFudG8gcHJhIG7Do28tc2VsZWN0ZWQuXG4vLyBUcmFuc2l0aW9uIG5vIGl0ZW0gYmFzZSDigJQgU8OTIGJnICsgYm9yZGVyIGNyb3NzLWZhZGUgZW0gMjYwbXMgcHJhXG4vLyBhY29tcGFuaGFyIG8gc2xpZGUgZGEgcMOtbHVsYSByZWFsIG5hIHRyb2NhIGRlIHJvdGEgKHNlbSBpc3NvLCBvXG4vLyBcImxvb2sgZGUgcMOtbHVsYVwiIHNhbHRhIGluc3RhbnTDom5lbyBubyBkZXN0aW5vIGUgbWFzY2FyYSBvIHNsaWRlKS5cbi8vIGBib3gtc2hhZG93YCBGSUNBIERFIEZPUkEgZGEgdHJhbnNpdGlvbiDigJQgw6kgbyBxdWUgZMOhIGEgc29tYnJhIG5vXG4vLyBob3ZlciwgZSBhIHJlZ3JhIGRlIHNpc3RlbWEgYGZlZWRiYWNrX25vX2hvdmVyX3RyYW5zaXRpb25gIHBlZGVcbi8vIGhvdmVyIGluc3RhbnTDom5lby4gQ29tbyBiZyArIGJvcmRlciBzw6NvIG1haXMgcHJvbWluZW50ZXMgcXVlIGFcbi8vIHNvbWJyYSAwLjMgb3BhY2l0eSwgbyBjcm9zcy1mYWRlIGRhIHDDrWx1bGEgY29udGludWEgdmlzw612ZWwuXG4uc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24ge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI2MG1zIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpLFxuICAgICAgICAgICAgICBib3JkZXItY29sb3IgMjYwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG59XG5cbi8vIEhvdmVyIGVtIFFVQUxRVUVSIGl0ZW0gKHNlbGVjdGVkIG91IG7Do28pIGTDoSBib3gtc2hhZG93LiBObyBzZWxlY3RlZCxcbi8vIGEgc29tYnJhIHNvbWUgYXNzaW0gcXVlIG8gY3Vyc29yIHNhaSDigJQgbyByZXN0IGRvIHNlbGVjdGVkIGZpY2EgcGxhbm9cbi8vIChzw7MgYmcgKyBib3JkZXIgbWFyY2FtKSwgZSBhIGVsZXZhw6fDo28gdmlyYSBzaW5hbCBkZSBcImhvdmVyIGF0aXZvXCIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246aG92ZXInLCBib3gtc2hhZG93LCAwIDFweCAycHggcmdiYSgwLDAsMCwwLjMpLCAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjcpICFpbXBvcnRhbnQpO1xuLmRhcmstdGhlbWUgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOm5vdCguc2VsZWN0ZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENvciBkbyB0ZXh0byBkb3MgaXRlbnMgZGEgdG9vbGJhciDigJQgbWVzbW9zIHRva2VucyBkb3MgaXRlbnMgbGV2ZWwtMSBkb1xuLy8gY2hhaXIgKC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtKTogbXV0ZWQgbm8gcmVzdCwgYWN0aXZlIG5vIGhvdmVyL3NlbGVjdGVkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnNpZGViYXItaXRlbScsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246aG92ZXInLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG4vKiBhcHAtc2lkZWJhci1pdGVtLWFkbWluICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIEFjdGl2aXR5IGJhciBvdmVycmlkZXMg4oCUIGluIHRoaXMgbGF5b3V0IHRoZSBiZyBoaWdobGlnaHQgbGl2ZXMgb24gdGhlIGJ1dHRvblxuICAgKDQww5c0MCBzcXVhcmUpLCBub3Qgb24gdGhlIG1hdC1pY29uLiBaZXJvIG91dCB0aGUgbGVnYWN5IC5tYXQtaWNvbiBiZyBmcm9tXG4gICB0aGUgcnVsZXMgYWJvdmUgYW5kIGFwcGx5IG1hdGNoaW5nIGhvdmVyL3NlbGVjdGVkIGJnIHRvIHRoZSBidXR0b24gaXRzZWxmLiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuc2lkZWJhci1pdGVtLWFkbWluIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbicsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4uc2VsZWN0ZWQgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcubmFtZSBhJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcuc3ViLWV2ZW50IC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5uYW1lJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdmlldywgJy5ldmVudC5jYXJkIC5pbmZvcm1hdGlvbiAuc3ViLWV2ZW50IC5uYW1lIGEnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdXNlci12aWV3ICovXG4kdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4kdGFibGUtcm93LWJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC11c2VyLXZpZXcsICcuZXZlbnQtdXNlci12aWV3IG1hdC1jYXJkIC5tYXQtY2FyZC1oZWFkZXInLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdXNlci12aWV3LCAnLmV2ZW50LXVzZXItdmlldyBtYXQtY2FyZCAubWF0LWNhcmQtaGVhZGVyJywgYmFja2dyb3VuZC1jb2xvciwgJHdoaXRlLTEwMDAsICRibGFjay0xMDAwKTtcbi8vIFJFTU9WSURPOiBzaXN0ZW1hIGxlZ2FkbyBkZSBib3JkYXMgMnB4IChib3JkZXItcmlnaHQgYnJhbmNvL3ByZXRvICsgZnJhbWUgZGVcbi8vIGhvdmVyKSBkYSB0YWJlbGEgZG8gZXZlbnQtdXNlci12aWV3LCBhbnRlcmlvciDDoCBtaWdyYcOnw6NvIHBybyBgLmplbXMzLXRhYmxlYC5cbi8vIEVyYW0gZXNzYXMgYm9yZGFzIGAhaW1wb3J0YW50YCAoaW52aXPDrXZlaXMgbm8gY8OzZGlnbyBkbyBjb21wb25lbnRlKSBxdWVcbi8vIGFwYXJlY2lhbSBjb21vIFwibGluaGFzIHZlcnRpY2FpcyBncm9zc2FzXCIgZSBtb2xkdXJhIG5vIGhvdmVyLCBzYWJvdGFuZG8gYVxuLy8gZXN0aWxpemHDp8OjbyBub3ZhLiBBIHRhYmVsYSBhZ29yYSDDqSBlc3RpbGl6YWRhIDEwMCUgcGVsbyBjb21wb25lbnRlICsgLmplbXMzLXRhYmxlLlxuXG4vKiBhcHAtdXNlci1zZWFyY2ggKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdXNlci1zZWFyY2gsICcudXNlci1zZWFyY2ggLnVzZXItYm94JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10b3BpY3MsICcudG9waWNzIC5tYXQtY2hpcCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRvcGljcywgJy50b3BpY3MgLm1hdC1jaGlwJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC10b3BpY3MsICcuZXZlbnQtdG9waWNzIC5zdWJ0aXRsZScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC11c2VyLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgLnRvcGljcy10YWJsZSAucm93LWhpZ2hsaWdodCcsIGJhY2tncm91bmQtY29sb3IsICRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLCAkcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdXNlci1ldmVudC10b3BpY3MsICcuZXZlbnQtdG9waWNzIGJ1dHRvbi5tYXQtZmFiIG1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXNlbmQtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2VuZC1lbWFpbCwgJy5ldmVudC1zZW5kLWVtYWlsIG1hdC1jYXJkLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZW5kLWVtYWlsLCAnLmV2ZW50LXNlbmQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1zZXR0aW5ncy1lbWFpbCDigJQgYmxvY28gZGUgdGFiZWxhIFJFTU9WSURPIChhdWRpdG9yaWEpOiBhIHRhYmVsYVxuICAgbWlncm91IHBybyBgLmplbXMzLXRhYmxlIGplbXMzLXRhYmxlLWhvdmVyYCwgcXVlIHNldGEgYmFja2dyb3VuZC9jb2xvciBjb21cbiAgIGAhaW1wb3J0YW50YDsgZXN0YXMgMyByZWdyYXMgKHNlbSAhaW1wb3J0YW50KSB2aXZpYW0gbW9ydGFzL292ZXJyaWRkZW4uIE8gY2hyb21lXG4gICBkYSB0YWJlbGEgdmVtIDEwMCUgZG8gYC5qZW1zMy10YWJsZWAgZ2xvYmFsLiAqL1xuXG4vKiBhcHAtbmF2YmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIGZpbHRlciwgJycsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1uYXZiYXIsICcubmF2YmFyJywgYm94LXNoYWRvdywgJycsIDBweCAycHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcblxuLyogYXBwLWF2YXRhci1wcm9maWxlICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtbWVudS1wYW5lbCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBFeHBlcmltZW50YWwgZmx5b3V0IHBhbmVsIOKAlCBmdWxsIHZpc3VhbCByZWNpcGUgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXJcbi8vIG1lbnUgKGB0cGMtdXNlci1tZW51YCk6IHNpZGViYXIgc3VyZmFjZSBiZywgaGFpcmxpbmUgKyBkaWZmdXNlIHNoYWRvdyxcbi8vIHN1Ym1lbnUgaG92ZXIvYWN0aXZlIHRva2VucyBvbiBpdGVtcywgdGhlbWUtYXdhcmUgdGV4dC4gQXJyb3cgdGFpbCBjb2xvclxuLy8gbWF0Y2hlcyB0aGUgcGFuZWwgYmcgc28gdGhlIHRyaWFuZ2xlIHJlYWRzIGFzIGEgY29udGludW91cyBleHRlbnNpb24gb2Zcbi8vIHRoZSBtZW51IHN1cmZhY2UsIHBvaW50aW5nIGF0IHRoZSBsZXZlbC0xIGljb24gdGhhdCB0cmlnZ2VyZWQgaXQuXG4ubGlnaHQtdGhlbWUgLmV4cGVyaW1lbnRhbC1mbHlvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIC8vIGBmaWx0ZXI6IGRyb3Atc2hhZG93YCBmb2xsb3dzIHRoZSBwYW5lbCArIGFycm93IHNpbGhvdWV0dGUgKHVubGlrZVxuICAvLyBgYm94LXNoYWRvd2AsIHdoaWNoIG9ubHkgb3V0bGluZXMgdGhlIHBhbmVsJ3MgcmVjdGFuZ2xlKS5cbiAgLy8gYCRzaGFkb3ctcGFuZWwtbGlnaHRgIGlzIHRoZSBjaGFpciBVSSdzIGNhbm9uaWNhbCBwYW5lbC10aWVyIGVsZXZhdGlvblxuICAvLyAoc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMpLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcblxuICAvLyBPdXRlciBhcnJvdyB0cmlhbmdsZSA9IG91dGxpbmUgY29sb3I7IGlubmVyID0gcGFuZWwgYmcuIFRoZSAxcHhcbiAgLy8gc2l6ZSBkaWZmZXJlbmNlIGJldHdlZW4gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgKHNldCBpbiB0aGUgY29tcG9uZW50XG4gIC8vIHNjc3MpIGxlYXZlcyBhIDFweCByaW5nIG9mIHRoZSBvdXRlciB2aXNpYmxlIGFyb3VuZCB0aGUgaW5uZXIg4oCUXG4gIC8vIGdpdmVzIHRoZSBhcnJvdyBhIGNyaXNwIGVkZ2UgYWdhaW5zdCB0aGUgYm9keSBiZyAobmVjZXNzYXJ5IGluXG4gIC8vIGxpZ2h0IG1vZGUgd2hlcmUgdGhlIHBhbmVsIGJnIGlzIG5lYXJseSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIHRoZVxuICAvLyBib2R5IGJnIGJlaGluZCBpdCkuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50O1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYC5hY3RpdmVgIHVzZXMgdGhlIFNBTUUgYmFja2dyb3VuZCBhcyBob3ZlciAoY2hhaXIgVUkgcnVsZTogaG92ZXIg4omhXG4gIC8vIHNlbGVjdGVkLCBib3RoIGVtcGhhc2l6ZWQgdnMgcmVzdCkuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQ2hpcCBoZWFkZXIg4oCUIHNhbWUgdG9rZW5zIGFzIHRoZSBvcmlnaW5hbCBjaGFpci1zdWJtZW51IHRpdGxlIGJhZGdlLlxuICAuZXhwZXJpbWVudGFsLWZseW91dC10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgIC8vIFdhcyBgIzFDMTkxN2AgKHZlcnkgZGFyayB3YXJtIGdyYXkpIOKAlCBzd2FwcGVkIGZvciB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWNvbG9yLWFjdGl2ZWAgKGAjMDAwYCkgc2luY2UgdGhlIGRpZmZlcmVuY2UgaXMgYmVsb3dcbiAgICAvLyBwZXJjZXB0dWFsIHRocmVzaG9sZCBhZ2FpbnN0IHRoZSBjaGlwJ3MgbmVhci13aGl0ZSBiYWNrZ3JvdW5kLlxuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuZXhwZXJpbWVudGFsLWZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAvLyBEZXRlcm1pbmlzdGljIDFweCBvdXRsaW5lOiBgYm94LXNoYWRvdyAwIDAgMCAxcHhgIGRyYXdzIGEgc29saWQgMXB4XG4gIC8vIHJpbmcgYXJvdW5kIHRoZSByZWN0YW5nbGUgKGZvbGxvd3MgYm9yZGVyLXJhZGl1cyBwZXJmZWN0bHkpLCBhbmQgdGhlXG4gIC8vIGFycm93IGdldHMgaXRzIG91dGxpbmUgZnJvbSB0aGUgdHdvIGxheWVyZWQgdHJpYW5nbGVzIGJlbG93IChvdXRlclxuICAvLyA6OmJlZm9yZSBpbiB0aGUgb3V0bGluZSBjb2xvciwgaW5uZXIgOjphZnRlciBpbiB0aGUgcGFuZWwgYmcpLiBOb1xuICAvLyBibHVyLCBubyBzdGFja2luZywgdW5pZm9ybSBwaXhlbCBkZW5zaXR5LiBUaGUgcGFuZWwtdGllciBgZmlsdGVyOlxuICAvLyBkcm9wLXNoYWRvd2AgaXMgc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMuXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuXG4gIC8vIE91dGVyIGFycm93IHRyaWFuZ2xlID0gb3V0bGluZSBjb2xvcjsgaW5uZXIgPSBwYW5lbCBiZy4gVGhlIDFweFxuICAvLyBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiA6OmJlZm9yZSBhbmQgOjphZnRlciAoc2V0IGluIGBfbWVudS5zY3NzYClcbiAgLy8gbGVhdmVzIGEgMXB4IHJpbmcgb2YgdGhlIG91dGVyIHRyaWFuZ2xlIHZpc2libGUgYXJvdW5kIHRoZSBpbm5lcixcbiAgLy8gZm9ybWluZyBhIHVuaWZvcm0gb3V0bGluZSBvbiB0aGUgYXJyb3cuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC8vIERhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgdW5pZmllZCBob3Zlci9hY3RpdmUgYmcgYWJvdmUuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIENoaXAgaGVhZGVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHN1Ym1lbnUgdGl0bGUgYmFkZ2UgdG9rZW5zLlxuICAvLyBCb3JkZXItY29sb3IgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgY2hyb21lJ3MgZGl2aWRlciBjb2xvciAoJGNocm9tZS1ib3JkZXItZGFyayDigJRcbiAgLy8gYWxzbyB1c2VkIGJ5IHRoZSB2ZXJ0aWNhbCBzaWRlYmFyIGVkZ2UtbGluZSBhbmQgdGhlIGhlYWRlci9ib3R0b20tcmFpbFxuICAvLyBob3Jpem9udGFsIGRpdmlkZXJzKSBzbyB0aGUgY2hpcCBvdXRsaW5lIHJlYWRzIGFzIHBhcnQgb2YgdGhlIHNhbWVcbiAgLy8gdmlzdWFsIGZhbWlseS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtdGl0bGUge1xuICAgIC8vIFdhcyBgIzJiMmEyOGAgbGl0ZXJhbCDigJQgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFya2AgdG9rZW4sIHNvIHdlIHVzZSB0aGUgdG9rZW4gZm9yXG4gICAgLy8gdHJhY2VhYmlsaXR5IChpdCdzIHRoZSBjaGFpciBVSSdzIFwiaW50ZXJhY3RpdmUgc3VyZmFjZSBhIHN0ZXAgdXBcbiAgICAvLyBmcm9tIHRoZSBzaWRlYmFyIGJnXCIgY29sb3VyLCBzYW1lIHJvbGUgaGVyZSkuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LXBhbmVsJywgJycsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LWNvbnRlbnQnLCAnLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLCAubWF0LW1lbnUtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXInLCAnJywgY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyJywgJy5tYXQtaWNvbicsIGNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLXRoZW1lIC5oaWdobGlnaHQtYnV0dG9uLCAubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLWxheW91dCAuaGlnaGxpZ2h0LWJ1dHRvbiwgLm1hdC1tZW51LWNvbnRlbnQgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5oaWdobGlnaHQtYnV0dG9uJywgJycsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSk7XG5cbi8qIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyICovXG4vLyBCZyBvbmx5IHdoZW4gYWN0aXZlbHkgbG9hZGluZyDigJQgb3RoZXJ3aXNlIHRyYW5zcGFyZW50IHNvIHRoZSAycHggc3RyaXBcbi8vIGRvZXNuJ3QgcGFpbnQgb3ZlciB0aGUgY2hyb21lIGJlbG93IGl0IChhY3Rpdml0eSBiYXIsIHN1Ym1lbnUgdG9wIGJvcmRlcikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIsICcuZml4ZWQtdG9wLXByb2dyZXNzLWJhci5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWJhY2tncm91bmQtY29sb3IsICRuYXZiYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWhvbWUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWhvbWUsICcuaG9tZSAucGFnZS1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXBhcGVyLWluZm8gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItaW5mbywgJy5wYXBlci1pbmZvIGEnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1kaWFsb2ctdGltZXpvbmUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQnLCBib3JkZXItcmlnaHQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgdGFibGUgdGJvZHkgdHIgdGQsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCByZ2IoMjQsIDI0LCAyNCkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRib2R5IHRyIHRkLCBib3JkZXItY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsICd0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtbGFuZGluZyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmNvbnRlbnQtY29udGFpbmVyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5jb250ZW50LWNvbnRhaW5lciAubG9nby5pbWFnZScsIGZpbHRlciwgJycsIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAuY29udGVudC1jb250YWluZXIgaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAubGFuZ3VhZ2UtY29udGFpbmVyJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5sYW5ndWFnZS1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnRzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50cywgJy5ldmVudHMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMsICcuc3VibWlzc2lvbnMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXJldmlld3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcmV2aWV3cywgJy5yZXZpZXdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtcGFwZXItcmV2aWV3LWxpc3QgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItcmV2aWV3LWxpc3QsICcucGFwZXItcmV2aWV3LWxpc3QgLnRhYmxlLWNvbnRhaW5lciAudGFibGUgLnJldmlldyB0ZCcsIGJvcmRlci1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY29tbWl0dGVlcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jb21taXR0ZWVzLCAnLmNvbW1pdHRlZXMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1teS1ldmVudHMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbXktZXZlbnRzLCAnLm15ZXZlbnRzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXNlc3Npb24tY2hhaXJpbmdzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNlc3Npb24tY2hhaXJpbmdzLCAnLnNlc3Npb24tY2hhaXJpbmdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tY2hhaXJpbmdzLCAnLnB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlIChBTlRJR08pIOKAlCBibG9jbyBkZSB0YWJlbGEgUkVNT1ZJRE8gKGF1ZGl0b3JpYSk6XG4gICBvIGNvbXBvbmVudGUgw6kgREVBRCBDT0RFICgwIHVzb3MgZW0gdGVtcGxhdGU7IHN1YnN0aXR1w61kbyBwZWxvIGAtdjJgKSwgZW50w6NvIGVzdGVcbiAgIHNpc3RlbWEgZGUgYm9yZGEgKGJvcmRlci1yaWdodCB3aGl0ZS9ibGFjayArIGZyYW1lIGRlIGhvdmVyIGAhaW1wb3J0YW50YCkgbnVuY2FcbiAgIHJlbmRlcml6YXZhLiBOT1RBOiBvIGFycXVpdm8gYC50c2AgY29udGludWEgZXhpc3RpbmRvIHPDsyBwZWxvIGV4cG9ydCBgQ29sbGVjdGlvbmBcbiAgIHVzYWRvIGVtIGBzaG93LWFsbC1zdWJtaXNzaW9uc2Ag4oCUIHJlZmFjdG9yIGZ1dHVybzogZXh0cmFpciBgQ29sbGVjdGlvbmAgcC8gdW0gdGlwb1xuICAgY29tcGFydGlsaGFkbyBlIGVudMOjbyBhcGFnYXIgbyBjb21wb25lbnRlICsgc3VhIGRlY2xhcmHDp8OjbyBubyBhcHAubW9kdWxlLiAqL1xuXG4vKiBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBGYWRlIGRhIGJvcmRhIGVzcXVlcmRhICguc2Nyb2xsLWZhZGUtbGVmdCwgdmlzw612ZWwgYW8gcm9sYXIgYSB0YWJlbGEgw6AgZXNxdWVyZGEpOlxuLy8gZ3JhZGllbnRlIGRhIGNvciBkZSBmdW5kbyBkbyBjb250ZcO6ZG8g4oaSIHRyYW5zcGFyZW50ZSAocmdiYSguLi4sMCksIG7Do28gYHRyYW5zcGFyZW50YCxcbi8vIHAvIGV2aXRhciB0b20gYWNpbnplbnRhZG8gbm8gbWVpbyBkbyBkZWdyYWTDqiBlbSBhbGd1bnMgbmF2ZWdhZG9yZXMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zY3JvbGwtZmFkZS1sZWZ0JywgYmFja2dyb3VuZCwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29udGVudC1iYWNrZ3JvdW5kIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLCAwKSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDApKSk7XG4vLyBGYWRlIGRhIGJvcmRhIGRpcmVpdGEgKC5zY3JvbGwtZmFkZS1yaWdodCk6IGdyYWRpZW50ZSBzaW1wbGVzIChjb3Ig4oaSIHRyYW5zcGFyZW50ZSkgY29tb1xuLy8gYGJhY2tncm91bmQtaW1hZ2VgOyBhIGZhaXhhIGRlIDQwcHggbmEgYm9yZGEgZGlyZWl0YSDDqSBnYXJhbnRpZGEgcG9yIGBiYWNrZ3JvdW5kLXNpemVgL1xuLy8gYC1wb3NpdGlvbmAgbm8gU0NTUyBkbyBjb21wb25lbnRlIChuw6NvIHBvciBzdG9wIGFic29sdXRvLCBxdWUgcmVuZGlhIGxhcmd1cmEgaW5jb25zaXN0ZW50ZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnNjcm9sbC1mYWRlLXJpZ2h0JywgYmFja2dyb3VuZC1pbWFnZSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayA0MCUsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAwKSkpO1xuLy8gQ2FiZcOnYWxobyBzdGlja3kgKG1hdEhlYWRlclJvd0RlZiBzdGlja3kpOiBmdW5kbyBlbSBncmFkaWVudGUgdmVydGljYWwgY29tIEZPUlRFIHZhcmlhw6fDo28g4oCUIHRvcG9cbi8vIFRPVEFMTUVOVEUgb3BhY28gKHTDrXR1bG8gZGVzdGFjYSwgbsOtdGlkbykgZSBiYXNlIEZSQUNBL3RyYW5zcGFyZW50ZSAoYXMgbGluaGFzIHJvbGFtIHBvciBiYWl4byxcbi8vIGRlc2ZvY2FkYXMgcGVsbyBiYWNrZHJvcC1maWx0ZXIpLiBUb3BvIDEuMCDihpIgYmFzZSAwLjUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoLm1hdC1oZWFkZXItY2VsbCcsIGJhY2tncm91bmQsIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZCwgMC41KSksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDAuNSkpKTtcbi8vIENvciBkbyBURVhUTyBkbyBjYWJlw6dhbGhvIHZpYSBvIE1FU01PIHRva2VuIGRhIGNvbHVuYSAjICh1bmlmaWNhZG8pLiBObyBsaWdodFxuLy8gcmVwcm9kdXogbyBkZWZhdWx0IGRvIE1hdGVyaWFsICguNTQxKTsgbm8gZGFyayBmaXhhICNGRkZGRkZCMyAobyBNYXRlcmlhbCBuw6NvIHRlbVxuLy8gdGVtYSBkYXJrIGFxdWksIGVudMOjbyBvIGRlZmF1bHQgZmljYXJpYSBlc2N1cm8vaWxlZ8OtdmVsKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxsJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkOmZpcnN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQ6bGFzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBTZXBhcmFkb3IgdmVydGljYWwgZW50cmUgY29sdW5hcyDigJQgY29yIGRhIFwibGluaGEgcmVhbFwiIChnZW9tZXRyaWEvcHNldWRvIDo6YmVmb3JlXG4vLyBmaWNhIG5vIGNvbXBvbmVudGUpLiBBbnRlcyBlcmEgdW0gYm9yZGVyLXJpZ2h0IG5hIGPDqWx1bGEsIHF1ZSBkZXNsb2NhdmEgbyA6OmFmdGVyXG4vLyBlIGNvcnRhdmEgbyBjb250b3JubyBkZSBob3Zlci9zZWxlY3RlZDsgYWdvcmEgbyA6OmJlZm9yZSBmaWNhIHNvYiBvIGNvbnRvcm5vLCBxdWVcbi8vIHBhc3NhIHBvciBjaW1hICh0b3AvYm90dG9tKSBlIHNlZ3VlIGNvbnTDrW51by5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQubWF0LWNlbGw6bm90KC5sYXN0LWNvbHVtbik6OmJlZm9yZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb250b3JubyBkZSBob3Zlci9cImhvdmVyZWRcIiB2aWEgYm94LXNoYWRvdyBpbnNldCBubyBwc2V1ZG8gOjphZnRlciAoZ2VvbWV0cmlhXG4vLyBkbyA6OmFmdGVyIGZpY2Egbm8gY29tcG9uZW50ZSkuIFN1YnN0aXR1aSBhIHTDqWNuaWNhIGFudGlnYSBkZSByZXZlbGFyXG4vLyBgYm9yZGVyLWNvbG9yYC4gRGlyZWNpb25hbCBwYXJhIHByZXNlcnZhciBvIE1FU01PIHJlY29ydGUgZG8gZWZlaXRvIGFudGVyaW9yOlxuLy8gdG9wL2JvdHRvbSBuYXMgY29sdW5hcyBkZSBjb250ZcO6ZG8sIGxlZnQgbmEgLmZpcnN0LWNvbHVtbiwgcmlnaHQgbmEgLmxhc3QtY29sdW1uO1xuLy8gYXMgY29sdW5hcyBleHRyZW1hcyAocG9zaXRpb24vc2VsZWN0KSBzZWd1ZW0gZm9yYSBkbyBjb250b3Juby4gYC5ob3ZlcmVkYCDDqSBvXG4vLyBlc3RhZG8gdHJhdmFkbyB2aWEgSlMgKGZvcmNlSG92ZXIpIGVucXVhbnRvIHVtIGRyb3Bkb3duIGRhIGxpbmhhIGVzdMOhIGFiZXJ0by5cbi8vIEVzY29wYWRvIGVtIHRkLm1hdC1jZWxsIHBhcmEgbsOjbyBhdGluZ2lyIGFzIHN1Yi10YWJlbGFzIGludGVybmFzIChzY29yZXMvYXJxdWl2b3MpLlxuLy8gT3MgYmxvY29zIGRlIGZpcnN0L2xhc3QtY29sdW1uIHbDqm0gREVQT0lTIGRvIGRlIGNvbnRlw7pkbyBkZSBwcm9ww7NzaXRvOiB0w6ptIGFcbi8vIG1lc21hIGVzcGVjaWZpY2lkYWRlIGUgcHJlY2lzYW0gdmVuY2VyIHBlbG8gZGVzZW1wYXRlIGRlIG9yZGVtLlxuLy8gJHJvdzogcXVhbGlmaWNhZG9yIG9wY2lvbmFsIGRhIGxpbmhhIChleC46ICcubm8tc3RhdHVzLWNvbG9yJykgcC8gZXNjb3BhciBvIGNvbnRvcm5vXG4vLyBhIHVtIHN1YmNvbmp1bnRvIGRlIGxpbmhhcyBjb20gbWFpb3IgZXNwZWNpZmljaWRhZGUgKG92ZXJyaWRlKS4gVmF6aW8gPSB0b2RhcyBhcyBsaW5oYXMuXG5AbWl4aW4gc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkY29sb3IsICRyb3c6ICcnKSB7XG4gIHRyI3skcm93fTpob3ZlciB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGw6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICB0ciN7JHJvd306aG92ZXIgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgdHIjeyRyb3d9OmhvdmVyIHRkLm1hdC1jZWxsLmxhc3QtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbC5sYXN0LWNvbHVtbjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4ubGlnaHQtdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB7XG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tcm93LWhvdmVyLW91dGxpbmUoJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHtcbiAgLy8gTUVTTUEgbMOzZ2ljYSBkbyB2w6l1LCBhZ29yYSBwcmEgQ09SIERPIENPTlRPUk5POlxuICAvLyAg4oCiIENvbG9yaXIgT04gKGxpbmhhcyBjb2xvcmlkYXMvY2xhcmFzKSDihpIgY29udG9ybm8gRVNDVVJPICg9IGxpZ2h0IG1vZGUpLCB2aXPDrXZlbFxuICAvLyAgICBzb2JyZSBhcyBjb3JlcyBjbGFyYXMgZGUgc3RhdHVzLiDDiSBvIFBBRFLDg08gZG8gZGFyayBhcXVpLlxuICAvLyAg4oCiIENvbG9yaXIgT0ZGICgubm8tc3RhdHVzLWNvbG9yLCBsaW5oYXMgcGxhbmFzIGVzY3VyYXMpIOKGkiBjb250b3JubyBCUkFOQ08gKG92ZXJyaWRlLFxuICAvLyAgICBtYWlzIGVzcGVjw61maWNvKS5cbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZShyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpLCAnLm5vLXN0YXR1cy1jb2xvcicpO1xuXG4gIC8vIENvbG9yaXIgT0ZGLCAxwqogY29sdW5hOiBhIGJvcmRhIEVTUVVFUkRBIGRvIGNvbnRvcm5vIChicmFuY28pIGZpY2Egc29icmUgYSBGQUlYQSBkZVxuICAvLyBzdGF0dXMgKHNlbXByZSBDTEFSQSkg4oaSIFwibGF2YVwiLiBVc2EgRVNDVVJPIHPDsyBuZXNzYSBib3JkYS4gKENvbSBDb2xvcmlyIE9OIG8gY29udG9ybm9cbiAgLy8gasOhIMOpIGVzY3VybyDihpIgdmlzw612ZWwgc29icmUgYSBmYWl4YSwgbsOjbyBwcmVjaXNhIGRlIG92ZXJyaWRlLikgQXDDs3MgbyBAaW5jbHVkZVxuICAvLyBuby1zdGF0dXMtY29sb3IgYWNpbWEg4oaSIG1lc21vIHNlbGV0b3IsIHZlbmNlIHBvciBvcmRlbSBkZSBmb250ZS5cbiAgdHIubm8tc3RhdHVzLWNvbG9yOmhvdmVyIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gIHRyLm5vLXN0YXR1cy1jb2xvci5ob3ZlcmVkIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQgc3Bhbi5zdWJ0aXRsZS10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbi8vIENvciBkZWZhdWx0IGRvIHRleHRvIGRhcyBjw6lsdWxhcyA9IGl0ZW0gZGUgMcK6IG7DrXZlbCBkbyBtZW51IGxhdGVyYWwuIEFsdGFcbi8vIGVzcGVjaWZpY2lkYWRlICgubGlnaHQvLmRhcmsgKyBjYWRlaWEgbWF0LXRhYmxlKSBwYXJhIHZlbmNlciBvIGZvcmVncm91bmQgZG9cbi8vIG1hdC1jYXJkIChNYXRlcmlhbCkuIEFzIG5vdGFzICgucmFuay10YWJsZSwgZnVuZG8gYnJhbmNvKSBzw6NvIHRyYXZhZGFzIGVtXG4vLyBlc2N1cm8gbm8gcHLDs3ByaW8gY29tcG9uZW50ZSBwYXJhIG7Do28gZmljYXJlbSBpbGVnw612ZWlzIG5vIGRhcmsuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLm1hdC1jZWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIENvbHVuYSAjIChudW1lcmHDp8Ojbyk6IE1FU01BIGNvciBkbyBjYWJlw6dhbGhvLCB2aWEgdG9rZW4gdW5pZmljYWRvICR0YWJsZS1oZWFkZXItY29sb3IuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLnBvc2l0aW9uJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoIC5tYXJrLWFsbC1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZC5zZWxlY3QgYnV0dG9uJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gQ09OVEXDmkRPIGRhcyBjw6lsdWxhcyDigJQgTUVTTUEgbMOzZ2ljYSBkbyB2w6l1L2JvcmRhOiBsaW5oYXMgQ09MT1JJREFTIChDb2xvcmlyIE9OKSB0w6ptXG4vLyBmdW5kbyBkZSBzdGF0dXMgQ0xBUk8gZW0gQU1CT1Mgb3MgdGVtYXMg4oaSIG8gY29udGXDumRvIHVzYSBhcyBjb3JlcyBkbyBMSUdIVCBtb2RlXG4vLyAobGVnw612ZWwgc29icmUgbyBjbGFybykuIFPDsyBgZGFyayArIG5vLXN0YXR1cy1jb2xvcmAgbWFudMOpbSBhcyBjb3JlcyBkbyBkYXJrIChqw6EgdsOqbVxuLy8gZGFzIHJlZ3JhcyBhY2ltYSkuIEVzdGUgYmxvY28gc8OzIGF0YWNhIG8gZGFyayArIGxpbmhhIENPTE9SSURBIChgdHI6bm90KC5uby1zdGF0dXMtY29sb3IpYCksXG4vLyB2ZW5jZW5kbyBhcyByZWdyYXMgZGFyayBiYXNlIHBvciB0ZXIgbyBgdHI6bm90KC4uLilgICsgb3MgYDpub3QoOmZpcnN0L2xhc3QpYCBhIG1haXMuXG4vLyBFc2NvcG8gPSBjw6lsdWxhcyBkZSBDT05URcOaRE8gKGV4Y2x1aSBudW1lcmHDp8Ojby9zZWxlw6fDo28sIHF1ZSBmaWNhbSBmb3JhIGRvIGNhcmQpLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0cjpub3QoLm5vLXN0YXR1cy1jb2xvcikge1xuICB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7ICAgICAgICAgICAgICAgICAvLyB0ZXh0byBiYXNlOiAjMzczNzM0IChlcmEgI2M0YzJiZClcblxuICAgIHNwYW4uc3VidGl0bGUtdGV4dCB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgIC8vIHN1YnTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2KVxuICAgIC50aXRsZSB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgICAgICAgICAgICAgIC8vIHTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2LCByZWdyYSBnbG9iYWwgLnRpdGxlKVxuICAgIC8vIExpbmtzL8OtY29uZXMgYWNjZW50IChhdXRvcmVzK2UtbWFpbHMpOiBhY2NlbnQgZG8gTElHSFQgKCM3QzJEMTIsIG1hcnJvbSkuIENvYnJlIG9cbiAgICAvLyA8YT4gZW0gc2kgKHZlbmNlIGBfcGFwZXIuc2Nzc2ApLiBPIDxzcGFuPiBpbnRlcm5vIGRvIG5vbWUvZS1tYWlsIHRlbSBjb3IgUFLDk1BSSUFcbiAgICAvLyAocmVncmEgYHRkLmRlc2NyaXB0aW9uIGEgc3BhbmAgZG8gY29tcG9uZW50ZSB2MiwgcXVlIGNvbXBpbGEgY29tIHbDoXJpb3MgW19uZ2NvbnRlbnRdXG4gICAgLy8g4oaSIGVzcGVjaWZpY2lkYWRlIG1haW9yKSDihpIgdHJhdGFkbyBuYSByZWdyYSBERURJQ0FEQSBsb2dvIGFww7NzIGVzdGUgYmxvY28uXG4gICAgYSwgLmZhLWZpbGUtcGRmLCAuZmEtdXBsb2FkIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBDb2x1bmEgQXJxdWl2b3M6IGFwcC1maWxlLXBpbGwgw6kgQ09NUE9ORU5URSBzZXBhcmFkbyAocmVncmFzIGRhcmsgdmlhIDpob3N0LWNvbnRleHQpLlxuICAgIC8vIEZvcsOnYSBvIHRleHRvIGRvIHBpbGwgKGluY2x1c2l2ZSBhIHZhcmlhbnRlIFwiLS1taXNzaW5nXCIsIGV4LjogXCJNYW51c2NyaXRvXCIgYXVzZW50ZSksXG4gICAgLy8gbyDDrWNvbmUgZGUgYXVzZW50ZSBFIG8gw61jb25lIGRlIGRvd25sb2FkIHBybyBlc3F1ZW1hIExJR0hUIHNvYnJlIGEgbGluaGEgY29sb3JpZGEuXG4gICAgLy8gQ2xhc3NlcyBSRUFJUyA9IGAuZmlsZS1waWxsKmAgKE7Dg08gYC5jdi1lYi0qYCwgcXVlIMOpIGRlIG91dHJvIGNvbXBvbmVudGUg4oCUIGZvaSBvXG4gICAgLy8gZXJybyBhbnRlcmlvcikuIE8gXCIqXCIgcmVxdWlyZWQgKHZlcm1lbGhvKSBmaWNhIGNvbW8gZXN0w6EuXG4gICAgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC0tbWlzc2luZyxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtbmFtZSxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbi1taXNzaW5nIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbiB7IGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICB9XG59XG4vLyBBVVRPUiDigJQgPHNwYW4+IGRvIG5vbWUvZS1tYWlsOiBvIGNvbXBvbmVudGUgdjIgY29sb3JlIGB0ZC5kZXNjcmlwdGlvbiBhIHNwYW5gLCBxdWUgY29tcGlsYVxuLy8gY29tIFbDgVJJT1MgW19uZ2NvbnRlbnRdIChjYWRhIHVtIGNvbnRhIGNvbW8gY2xhc3NlKSDihpIgZXNwZWNpZmljaWRhZGUgfigwLDksMyksIEFDSU1BIGRvXG4vLyBibG9jbyBhY2ltYSB+KDAsOCw1KS4gQ29tbyBuwrogZGUgQ0xBU1NFUyBkZXNlbXBhdGEgcHJpbWVpcm8gKDkgPiA4KSwgYSBkbyBjb21wb25lbnRlIHZlbmNlXG4vLyBlIG8gc3BhbiBmaWNhIGFtYmVyICgjRkJCRjI0KS4gRXN0YSByZWdyYSBkZWRpY2FkYSBhY3Jlc2NlbnRhIGAucGFwZXJCYWNrZ3JvdW5kYCAobm8gPHRyPilcbi8vIGUgYC5kZXNjcmlwdGlvbmAgKG5vIDx0ZD4pIOKGkiBzb2JlIHByYSB+KDAsMTAsNSkgZSB2ZW5jZSDihpIgYXV0b3IvZS1tYWlsIG5vIGFjY2VudCBtYXJyb20uXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyLnBhcGVyQmFja2dyb3VuZDpub3QoLm5vLXN0YXR1cy1jb2xvcikgdGQubWF0LWNlbGwuZGVzY3JpcHRpb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSBhIHNwYW4ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi8vIMONY29uZSBkZSBkb3dubG9hZCBkbyBmaWxlLXBpbGwgbmFzIGxpbmhhcyBgbm8tc3RhdHVzLWNvbG9yYCAoQ29sb3JpciBPRkYgPSBlc3F1ZW1hIERBUkspOlxuLy8gZm9yw6dhIG8gYWNjZW50IGRvIGRhcmsgKCNGQkJGMjQgw6JtYmFyKS4gUkVEVU5EQU5URSBjb20gYSByZWdyYSBnbG9iYWwgZW1cbi8vIGBmaWxlLXBpbGwuY29tcG9uZW50LnNjc3MgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSkgLmZpbGUtcGlsbC1pY29uYCAobWVzbWEgY29yKSxcbi8vIG1hbnRpZGEgcG9yIHNlZ3VyYW7Dp2EgZW0gY2FzbyBkZSBvIGRlZmF1bHQgZ2xvYmFsIHNlciByZXZlcnRpZG8uIEFzIGxpbmhhcyBDT0xPUklEQVNcbi8vIHTDqm0gcmVncmEgZGVkaWNhZGEgYWNpbWEgcXVlIGZvcsOnYSBvIGFjY2VudCBMSUdIVCAoIzdDMkQxMiBtYXJyb20pLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ci5uby1zdGF0dXMtY29sb3IgdGQubWF0LWNlbGwgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLWljb24ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLyogYXBwLXN1Ym1pc3Npb25zLWZpZWxkLWZpbHRlci12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1maWVsZC1maWx0ZXItdjIsICcuc3VibWlzc2lvbnMtZmllbGRzLWZpbHRlci10YWJsZS1WMiAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtZmllbGQtZmlsdGVyLXYyLCAnLnN1Ym1pc3Npb25zLWZpZWxkcy1maWx0ZXItdGFibGUtVjIgLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciwgJy5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAuZmllbGRzJywgYmFja2dyb3VuZC1jb2xvciwgJycsIHJnYmEoMCwgMCwgMCwgLjc1KSk7XG5cbi8qIGFwcC1maWxlLXJ1bGVzLWNhcmQgKi9cbi8vIENpbnphIGRvIG1pbmljYXJkID0gJGdyYXktMTUwICh3YXJtLXN0b25lIGRvIHNpc3RlbWEpLCBubyBsdWdhciBkbyAjZWRlZGVkXG4vLyBuZXV0cm8gZG8gJGV2ZW50LWNhcmQtYmFja2dyb3VuZCAocXVlIGRlc3RvYXZhIGRvIHJlc3RvKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAudG9wLWZpbGUtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTE1MCwgJHN1cmZhY2UtcmFpc2VkLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC51cGxvYWRpbmcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAubm90VXBsb2FkaW5nJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZHVlLWRhdGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS0xNTAsICRzdXJmYWNlLXJhaXNlZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmR1ZS1kYXRlJywgY29sb3IsICRncmF5LTUwMCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBPIGdsb2JvIChhcHAtZGlhbG9nLXRpbWV6b25lKSDDqSB1bSBtYXQtaWNvbi1idXR0b24gcXVlIG7Do28gcmVwYXNzYSBvIGN1cnJlbnRDb2xvciDigJQgZm9yw6dhIGEgbWVzbWEgY29yIG11dGVkIGRhIGNhcHRpb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kdWUtZGF0ZSBhcHAtZGlhbG9nLXRpbWV6b25lIC5tYXQtaWNvbicsIGNvbG9yLCAkZ3JheS01MDAsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQXN0ZXJpc2NvIGRlIFwib2JyaWdhdMOzcmlvXCIgYW50ZXMgZG8gdMOtdHVsbyBkbyBhcnF1aXZvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5pbmZvLWNvbHVtbiAuZmlsZS1yZXF1aXJlZCcsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmRpc2FibGVkIC5tYXQtaWNvbicsIGNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZG93bmxvYWQtY29sdW1uIC5idXR0b24tZG93bmxvYWQtZmlsZTpub3QoLmRpc2FibGVkKSAuZmlsZS10eXBlLWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtaW5mbyAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb3JlcyBkb3Mgw61jb25lcyBkZSBhw6fDo28gZG8gbWluaWNhcmQgKEZhc2UgMTogbWlncmHDp8OjbyBqZW1zM3PihpJNYXRlcmlhbCBTeW1ib2xzXG4vLyArIHRva2VucyB0aGVtZS1hd2FyZSkuIERlbGV0ZSBlIFwibsOjbyB1c2EgdGVtcGxhdGVcIiA9IHdhcm5pbmc7IFwidXNhIHRlbXBsYXRlXCIgPVxuLy8gc3VjY2VzczsgZXJybyA9IHdhcm5pbmcuIGRvd25sb2FkLWJhciAob3ZlcmxheSBkZSAlIG5vIGRvd25sb2FkKSBjYXNhIG8gdG9wbyBkbyBjYXJkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1kZWxldGUtZmlsZTpub3QoLmRpc2FibGVkKSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtdXNlcy1zYmMtdGVtcGxhdGUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1ydWxlLW5vdC11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuZmlsZS1lcnJvcicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmRvd25sb2FkLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLnN1Y2Nlc3MtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MsICRhY2NlbnQtY29sb3Itc3VjY2Vzcy1kYXJrKTtcblxuLyogYXBwLWZpbGUtdXBsb2FkICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLmZpbGUtdXBsb2FkIC5maWxlLXVwbG9hZC1pY29uIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIMONY29uZSBkZSB1cGxvYWQgREVTQUJJTElUQURPIChwcmF6byBwYXNzb3UgLyBzZW0gcGVybWlzc8Ojbyk6IGNvciBkZSBkaXNhYmxlZCxcbi8vIE7Dg08gYWNjZW50LiBWZW0gZGVwb2lzIGRhIHJlZ3JhIGFjY2VudCAobWVzbWEgZXNwZWNpZmljaWRhZGUpIOKGkiB2ZW5jZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24tZGlzYWJsZWQgLm1hdC1pY29uJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20tZm9ybS10ZXh0LXF1ZXN0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24sICcuY3VzdG9tLXRleHQtcXVlc3Rpb24gdGV4dGFyZWEnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucywgJy5leHBvcnQtc3VibWlzc2lvbnMgLnNlY3Rpb24gLm5hbWUgYScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1wdWJsaWNhdGlvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wdWJsaWNhdGlvbiwgJy5wdWJsaWNhdGlvbi1jb250cm9scyAubWF0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0ZCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBib3JkZXItcmlnaHQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRoJywgY29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3ItZGFyayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLXN0ZXAgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmNvbnRlbnQtbGlzdCBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC5ub3QtaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmluY2x1ZGVkJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuXG4vLyBUT0RPUyBvcyBoMyBkbyBjb21wb25lbnRlLCBkZSB1bWEgdmV6LiBBbnRlcyBoYXZpYSB1bWEgcmVncmEgcG9yIHBhc3NvLCBlOlxuLy8gKDEpIGEgZG8gcGFzc28gXCJTb2wgU2VjdGlvbnNcIiB1c2F2YSBgLnNlY3Rpb25zM2Ag4oCUIGNsYXNzZSBxdWUgbsOjbyBleGlzdGUsXG4vLyBlbnTDo28gbnVuY2EgY2Fzb3UgKGVyYSBvIFwidMOtdHVsbyBkYSB0cmlsaGEgYXBhZ2Fkb1wiIGRhIGlzc3VlICMyMzcxKTsgZVxuLy8gKDIpIG9zIG91dHJvcyBoMyBkbyBjb21wb25lbnRlIG51bmNhIHRpdmVyYW0gcGFyIG5vIGRhcmsuXG4vLyBPIGNvbXBvbmVudGUgbsOjbyBmaXhhIG1haXMgYSBjb3IsIGVudMOjbyBlc3RhIMOpIGEgZm9udGUgw7puaWNhLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICdoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLXByb2NlZWRpbmctaW5kZXgtaXRlbSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLWluZGV4LWl0ZW0sICcuaXRlbSAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcblxuLyogYXBwLXByb2NlZWRpbmctYXV0aG9yLWluZGV4LWl0ZW0gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1hdXRob3ItaW5kZXgtaXRlbSwgJy5pdGVtIC5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYm94LXNoYWRvdywgJycsIDBweCAycHggMTBweCAxcHggYmxhY2spO1xuXG4vKiBhcHAtY2FsZW5kYXItdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNvbnRhaW5lci12aWV3LWRhdGUnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnbXdsLWNhbGVuZGFyLXdlZWstdmlldycsIGNvbG9yLCAnJywgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLWRheS1oZWFkZXJzJywgYmFja2dyb3VuZC1jb2xvciwgJycsICRjYWxlbmRhci1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3LCAuY2FsLXRpbWUsIC5jYWwtaG91ci1zZWdtZW50JywgYmFja2dyb3VuZC1jb2xvciwgJycsICRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlcjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwwLDAsLjMpLCByZ2JhKDI1NSwyNTUsMjU1LC4zKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldyAuY2FsLXRpbWUtZXZlbnRzIC5jYWwtZGF5LWNvbHVtbnM6bm90KC5jYWwtcmVzaXplLWFjdGl2ZSkgLmNhbC1ob3VyLXNlZ21lbnQ6aG92ZXIgJywgYmFja2dyb3VuZC1jb2xvciwgcmdiYSgwLDAsMCwuMyksIHJnYmEoMjU1LDI1NSwyNTUsLjMpKTtcblxuLyogYXBwLWNoaXAtY2hlY2tib3ggKi9cbi8vIFLDs3R1bG8vw61jb25lIGRvIGNoaXAgTsODTy1tYXJjYWRvIG5vIGRhcmsuIEVyYSAjODY4Njg2LCBxdWUgc29icmUgYSBzdXBlcmbDrWNpZVxuLy8gcmVhbCBkbyBwYXNzbyBkZSB0w7NwaWNvcyAoIzQyNDI0MiwgbWVkaWRvKSBkw6EgY29udHJhc3RlIGRlIDIsNjoxIOKAlCBtdWl0byBhYmFpeG9cbi8vIGRvcyA0LDU6MSBkYSBXQ0FHIEFBLCBlIMOpIG8gcXVlIGRlaXhhdmEgYSBncmFkZSBkZSB0w7NwaWNvcyBcImVzdHJhbmhhXCIvaWxlZ8OtdmVsXG4vLyBubyBkYXJrIChpc3N1ZSAjMjM3MSkuIHJnYmEoMjU1LDI1NSwyNTUsLjc1KSBjb21ww7VlIH4jRDBEMEQwIHNvYnJlIGVzc2UgZnVuZG9cbi8vICh+NjoxKSBlIGNvbnRpbnVhIFJFQ1VBRE8gZW0gcmVsYcOnw6NvIGFvcyB0w610dWxvcyBkZSBjYXRlZ29yaWEgKCNGNkY2RjYpLlxuLy8gQSBkaXN0aW7Dp8OjbyBtYXJjYWRvL27Do28tbWFyY2FkbyB2ZW0gZG8gcHJlZW5jaGltZW50byBhY2NlbnQsIG7Do28gZGUgYXBhZ2FyIG9cbi8vIHRleHRvIOKAlCBwb3IgaXNzbyBjbGFyZWFyIGFxdWkgbsOjbyBjb25mdW5kZSBvcyBkb2lzIGVzdGFkb3MuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCBkaXY6bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCAubWF0LWljb246bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSk7XG5cbi8qIGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLmRhdGFzZXQtbWVudScsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5kYXRhc2V0LW1lbnUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY2hhcnQtY29tcG9uZW50ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1heGlzLXRpdGxlJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1sYWJlbCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmxlZ2VuZC10aXRsZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWdyaWQnLCBzdHJva2UsICRjaGFydC1ncmlkLWNvbG9yLCAkY2hhcnQtZ3JpZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmN0LWxlZ2VuZCBsaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWNoYXJ0LWNvbXBvbmVudC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5jaGFydCB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5sZWdlbmQtbGFiZWwgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LXYyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5cbi8qIGFwcC1tYXRoLWNhcHRjaGEgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnLmNvbnRhaW5lcicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJyNidXR0b25JbnB1dCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcuY2xzLTEnLCBmaWxsLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QgLmh5cGVybGluaycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0IC5uby1oeXBlcmxpbmsnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IgIWltcG9ydGFudCwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0JywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20taW5wdXQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgYm9yZGVyLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdXBwb3J0LWJ1dHRvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLXRpdGxlJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC1ldmVudC1zZXR0dGluZ3MtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2V0dGluZ3MtZW1haWwsICcuZXZlbnQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMg4oCUIHJlZ3JhcyBhbnRpZ2FzIHJlbW92aWRhcy4gTyBwYWluZWwgYWdvcmEgw6lcbiAgIGVzY29wYWRvIG5vIGNvbXBvbmVudGUgKHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuIFJlZmVyZW5jaWFtXG4gICBlc3RydXR1cmEgYW50aWdhIChgLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIC50YWJsZS1jb250YWluZXIgdGFibGVgLFxuICAgYC5vcHRpb25zIG1hdC1pY29uLmJ1dHRvbmApIHF1ZSBuw6NvIGV4aXN0ZSBtYWlzLiAqL1xuLyogYXBwLWRhc2hib2FyZC1jaGFydC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyJywgYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRibGFjay03MDAsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwgLmFjdGl2ZSAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsIC5hY3RpdmUgLmxlZ2VuZC1sYWJlbC10ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAubGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC55LmF4aXMgLmxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyB0ZXh0W3RyYW5zZm9ybT1cInJvdGF0ZSgyNzApXCJdJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuYXhpcy1sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyBnW25neC1jaGFydHMtYXhpcy1sYWJlbF0gdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnkuYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZGxpbmUtcGF0aCcsIHN0cm9rZSwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtYWRtaW4tZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC12aWV3LCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWRhc2hib2FyZC1zZXR0aW5ncyAodGFiIGxhYmVscykgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItbm90aWZpY2F0aW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm5vdGlmaWNhdGlvbnMtbWVudSAubm90aWZpY2F0aW9ucy1jb250YWluZXIgLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB0cicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubm90aWZpY2F0aW9ucy1tZW51IC5vcHRpb25zIG1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiAqL1xuLy8gSGVhZGVyIChub21lcykgdHJhbnNwYXJlbnRlIOKAlCBvcyBsYWJlbHMgZGlhZ29uYWlzICg0NcKwKSB0cmFuc2JvcmRhbSBlbnRyZVxuLy8gY29sdW5hczsgdW0gZnVuZG8gb3BhY28gcG9yIHRoIGNvcnRhcmlhIG8gbGFiZWwgZGEgY29sdW5hIHZpemluaGEuIENhbnRvICtcbi8vIGNvbHVuYSBkbyBpZCBmaWNhbSBjb20gbyBmdW5kbyBkbyBjYXJkIChvcGFjb3MgcC8gYXMgY8OpbHVsYXMgcm9sYXJlbSBwb3Jcbi8vIGJhaXhvIHF1YW5kbyBhIGNvbHVuYSBkbyBpZCBmaWNhIGZpeGEpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbi8vIEJhbmRhIG9wYWNhIGRvIGhlYWRlciB2YWkgbm8gPHRoZWFkPiAoc3RpY2t5KSwgYXRyw6FzIGRvcyB0aCB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoZWFkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aDpmaXJzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkOm5vdChmaXJzdC1jaGlsZCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBCb3JkYSBsZWdhZGEgc8OzIG5hIE1BVFJJWiAodGFibGUtd2VpZ2h0KS4gQSB0YWJsZS1hc3NpZ24gbWlncm91IHAvIC5qZW1zMy10YWJsZVxuLy8gKGNocm9tZSBwcsOzcHJpbywgc2VtIGJvcmRhcykg4oCUIG7Do28gcG9kZSByZWNlYmVyIGVzdGEgYm9yZGEuXG4vLyBHcmFkZSBkYSBtYXRyaXo6IG5vIGRhcmsgYXMgbGluaGFzIHF1ZSBzZXBhcmFtIGFzIGPDqWx1bGFzIHPDo28gUFJFVEFTIChhbnRlc1xuLy8gJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayAjMzgzODM4IOKAlCBjaW56YSkgYSBwZWRpZG8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQsdGgnLCBib3JkZXIsIDFweCBzb2xpZCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgMXB4IHNvbGlkIGJsYWNrKTtcblxuLyogTW9iaWxlIGxheW91dCAoVFBDIGNoYWlyLCB2aWV3cG9ydCA8IDc2OHB4KSDigJQgc2VlXG4gKiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC57dHMsaHRtbCxzY3NzfS4gVmlldyBlbmNhcHN1bGF0aW9uIGlzXG4gKiBFbXVsYXRlZCBvbiB0aGlzIGNvbXBvbmVudDsgdGhlIG1vYmlsZSBjaHJvbWUgU0NTUyBpcyBjby1sb2NhdGVkIHdpdGhcbiAqIHRoZSBjb21wb25lbnQsIGJ1dCB0aGVtZSB0b2tlbnMgKHdoaWNoIHVzZSBsaWdodC0vZGFyay10aGVtZSBjbGFzc2VzXG4gKiBhcHBsaWVkIHRvIDxib2R5PikgbXVzdCBsaXZlIGhlcmUgYXQgdGhlIGdsb2JhbCBzY29wZSwgb3RoZXJ3aXNlIHRoZVxuICogYC5saWdodC10aGVtZWAgLyBgLmRhcmstdGhlbWVgIGJvZHkgc2VsZWN0b3JzIGRvbid0IHN1cnZpdmUgRW11bGF0ZWRcbiAqIGVuY2Fwc3VsYXRpb24gYW5kIHRoZSBydWxlcyBhcmUgc2lsZW50bHkgZHJvcHBlZC4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXItdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYnLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBib3JkZXItdG9wLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1zZWN0aW9uLWxhYmVsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbS5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtcHJvZ3JhbSAqL1xuLy8gQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wcm9ncmFtLCAnLnByb2dyYW0tdG9vbGJhcicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIEBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5wcm9ncmFtLXRvb2xiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXByb2dyYW0sICcuc2Vzc2lvbi1naG9zdCcsIGNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuNTUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5zZXNzaW9uLWdob3N0OmhvdmVyJywgYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMzUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtcHJvZ3JhbSwgJy5zZXNzaW9uLWdob3N0JywgY29sb3IsIHJnYmEoMCwgMCwgMCwgMC43NSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkpO1xuXG4vLyBMYXN0LXdvcmQgb3ZlcnJpZGU6IHRoZSBsZWdhY3kgZ2xvYmFsXG4vLyBgYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHsgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3IgPSB3aGl0ZSB9YFxuLy8gd2FzIHR1cm5pbmcgdGhlIGFjdGl2ZSBvcHRpb24ncyBpY29uIHdoaXRlIG9uIGhvdmVyLCBtYWtpbmcgdGhlXG4vLyBjZWxsIGxvb2sgXCJibGFuayB3aGl0ZVwiIGluIGxpZ2h0IG1vZGUuIFBpbiB0aGUgaWNvbiB0byB0aGUgYWN0aXZlXG4vLyB0ZXh0IHRva2VuIGluc3RlYWQuIChUaGUgY2VsbCBiZyBhbHJlYWR5IHN0YXlzIHB1dCB2aWEgdGhlXG4vLyBjaGFpci1VSSBgLmhpZ2hsaWdodC1idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAuLi4gIWltcG9ydGFudCB9YFxuLy8gcnVsZSBhYm92ZSDigJQgc2VsZWN0b3IgbWF0Y2hlcyBib3RoIHJlc3QgYW5kIGhvdmVyLCBubyBleHRyYVxuLy8gb3ZlcnJpZGUgbmVlZGVkLilcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItdGhlbWUgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGF5b3V0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxheW91dCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5sYXlvdXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uJyxcbiAgJycsXG4gIGNvbG9yLFxuICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsXG4gICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrXG4pO1xuXG4vLyBwZW9wbGUtdGFibGU6IGNvciBkZSBmdW5kbyBkYXMgY8OpbHVsYXMgYm9keS4gTGlnaHQ6IGdyYXktMjAwIHNvYnJlIGNhbnZhc1xuLy8gd2FybS4gRGFyazogZ3JheSBlc2N1cm8gKH4jMzAyQzI5LCBlcXVpdmFsZW50ZSBhIHVtIFwiJGdyYXktODAwXCIgZW50cmUgb3Ncbi8vIHRva2VucyBleGlzdGVudGVzIDcwMCBlIDkwMCkuIEV4Y2x1aSAxwqogY29sIChudW1iZXJpbmcpIGUgw7psdGltYSAoc2VsZWN0KSxcbi8vIHF1ZSBmaWNhbSB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAnLnBlb3BsZS10YWJsZScsXG4gICd0YWJsZS5qZW1zMy10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGdyYXktMjAwLFxuICAjMzAyQzI5XG4pO1xuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIENvcmVzIGRvcyDDrWNvbmVzIG5vIG1lbnUgaGFtYnVyZ2VyIGRhIG5hdmJhciBhdXRvci9yZXZpc29yIChvdmVyZmxvdykuXG4vLyBFc3BlbGhhbSBhcyBjb3JlcyBkb3Mgc2lkZWJhci1pdGVtIGljb25zIChjYXRlZ29yaWEgcG9yIHJvdGEpLlxuLy8gYCFpbXBvcnRhbnRgIHBvcnF1ZSBgLnRwYy11c2VyLW1lbnUgLm1hdC1pY29uYCAoYXBsaWNhZG8gYW8gbWVzbW8gbWVudVxuLy8gdmlhIGNsYXNzZSBubyBwYWluZWwpIHRlbSBgIWltcG9ydGFudGAgZSBnYW5oYXJpYSBzZW0gaXNzby5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRXNwZWNpZmljaWRhZGU6IHByZWNpc2Ftb3MgY2hhaW5hciBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgICtcbi8vIGAubWF0LW1lbnUtaXRlbWAgcHJhIHZlbmNlciBhIHJlZ3JhIGdsb2JhbCBkbyB0cGMtdXNlci1tZW51IChxdWUgdGVtXG4vLyAoMCw1LDApICsgIWltcG9ydGFudCkuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLy8gTWVudSBoYW1idXJnZXI6IMOtY29uZXMgZmlsbGVkIChGSUxMIDEpIHByYSBkYXIgY29ycG8gdmlzdWFsICtcbi8vIGFsaW5oYW1lbnRvIHZlcnRpY2FsIG5vIGVpeG8gZG8gdGV4dG8gKGxpbmUtaGVpZ2h0IGNhc2EgY29tIGEgYWx0dXJhXG4vLyBkbyBtZW51LWl0ZW07IG1hdC1tZW51LWl0ZW0gcGFkcsOjbyB1c2EgZmxleCthbGlnbi1pdGVtczpjZW50ZXIsIG1hc1xuLy8gYSBsaW5oYSBkbyDDrWNvbmUgw6BzIHZlemVzIGRlc2NvbGEgZG8gYmFzZWxpbmUgZG8gdGV4dG8gcG9yIGNhdXNhIGRhc1xuLy8gbcOpdHJpY2FzIGRhIGZvbnRlIGNvbSBGSUxMIDEpLlxuLy8gUGFpbmVsIGRvIG1lbnUgaGFtYnVyZ2VyIOKAlCBtZXNtbyBiZyBkYSBuYXZiYXIgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCk7XG4vLyBvcyB0b2tlbnMgasOhIGJhdGVtIHBvciBwYWRyw6NvIHZpYSB0cGMtdXNlci1tZW51LCBtYXMgZm9yw6dhbW9zIGFxdWkgcHJhXG4vLyBuw6NvIGhhdmVyIGRyaWZ0IGNhc28gbyB0cGMtdXNlci1tZW51IG11ZGUuIEZpbHRlciAoZHJvcC1zaGFkb3cpIGRvXG4vLyB0cGMtdXNlci1tZW51IHRpbnRhIGFzIGJvcmRhcyBlc2N1cmFzIOKGkiBhIHBlcmNlcMOnw6NvIGZpY2EgXCJkaWZlcmVudGVcIlxuLy8gbWVzbW8gY29tIGJnIGlkw6pudGljby4gWmVyYSBvIGZpbHRlciBhcXVpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBtaW4taGVpZ2h0IDAgcHJhIG8gcGFpbmVsIG7Do28gdHJhdmFyIGVtIDY0cHggZG8gQW5ndWxhciBNYXRlcmlhbFxuICAvLyAoZXNzZSBlcmEgbyBjdWxwcml0IGRvIFwiZXNwYcOnbyBlbWJhaXhvXCIgcXVhbmRvIHPDsyBow6EgMSBpdGVtKS5cbiAgLy8gcGFkZGluZyBkbyBwYWluZWwgdm9sdGEgcHJvIHJlc3Bpcm8gbm9ybWFsLlxuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuLy8gWmVyYSBwYWRkaW5nIGRvIC5tYXQtbWVudS1jb250ZW50IOKAlCBvIHBhaW5lbCBqw6EgdGVtIHBhZGRpbmcgcHLDs3ByaW8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBFc3BlY2lmaWNpZGFkZTogcHJlY2lzYSBjaGFpbmFyIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgK1xuLy8gYC5tYXQtbWVudS1pdGVtYCBwcmEgdmVuY2VyIGFzIHJlZ3JhcyAyNnB4IGRvIHRwYy11c2VyLW1lbnUgZ2xvYmFsLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAvLyBUaXBvZ3JhZmlhIGlkw6pudGljYSBhbyBgLmxhYmVsLWZ1bGxgIGRvcyBzaWRlYmFyLWl0ZW1zIChidXR0b25zIGRhXG4gIC8vIGJhcnJhKTogMTRweCAvIDUwMCAvIC0wLjAxZW0gLyBjb3IgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IuXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgLy8gT3BhY2lkYWRlIDEgc2VtcHJlIOKAlCBvdmVycmlkZSBkbyB0cGMtdXNlci1tZW51IGRlZmF1bHQgMC42NSBxdWVcbiAgICAvLyBzw7MgaWEgcHJhIDEgbm8gaG92ZXIgKFwiZXNtYWVjaWRvIGVtIHJlc3RcIikuXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMSwgJ3dnaHQnIDQwMCwgJ29wc3onIDI0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC8vIGZhLXVzZXJzIChqZW1zM3MpIOKAlCBtZXNtbyB0YW1hbmhvIGRvIGJvdMOjbyBkYSBiYXJyYSAoMTZweCBlbVxuICAvLyBzaWRlYmFyLWl0ZW0uY29tcG9uZW50LnNjc3M6OTEtOTMpLCBOw4NPIG9zIDIwcHggZGVmYXVsdC5cbiAgJi5idXR0b24tdHBjcyAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEVzdGFkbyBzZWxlY3RlZCBkbyBpdGVtIG92ZXJmbG93IOKAlCBNRVNNTyB0cmF0YW1lbnRvIGRvIHNpZGViYXItaXRlbVxuLy8gc2VsZWN0ZWQgbmEgYmFycmE6IGJnICNmZmYgKGxpZ2h0KSAvICMyZTJlMmUgKGRhcmspICsgdW5kZXJsaW5lIGFjY2VudFxuLy8gMnB4IHBvciBjYXRlZ29yaWEgbm8gYm90dG9tIGRvIGl0ZW0uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gU2VtIHNvbWJyYSBlbSByZXN0IOKAlCBiZyBicmFuY28gKyBsaW5oYSBhY2NlbnQgasOhIG1hcmNhbSBvXG4gIC8vIHNlbGVjaW9uYWRvLiBTb21icmEgdm9sdGEgYXBlbmFzIG5vIGhvdmVyIChtZXNtbyBwYWRyw6NvIGRvXG4gIC8vIHRvb2xiYXIgYnV0dG9uIG5hIGJhcnJhKS5cbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4vLyBMaW5oYSBhY2NlbnQgZG8gaXRlbSBzZWxlY2lvbmFkbyBkbyBtZW51IG92ZXJmbG93IOKAlCBtZXNtYSBzaGFwZSArXG4vLyBncmFkaWVudCB1c2Fkb3MgbmEgdW5kZXJsaW5lIGRhIG5hdi4gYGNsaXAtcGF0aGAgZSBgYmFja2dyb3VuZGBcbi8vIHbDqm0gZGUgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIHNldGFkYXMgZW0gYHBhaW50T3ZlcmZsb3dBY2NlbnRgXG4vLyAobmF2YmFyLmNvbXBvbmVudC50cykgdmlhIGBOYXZiYXJDb21wb25lbnQuYnVpbGRBY2NlbnRDbGlwUGF0aC9cbi8vIEdyYWRpZW50YCAoZm9udGUgw7puaWNhKS4gRmFsbGJhY2tzIGdhcmFudGVtIHZpc3VhbCBiw6FzaWNvIGNhc28gb1xuLy8gSlMgbsOjbyB0ZW5oYSByb2RhZG8gKHBhaW50IGFjb250ZWNlIGFww7NzIG1lbnUgYWJyaXIpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLXNlbGVjdGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIGBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKWAgY2VudHJhbGl6YSBvIGJveCBkb1xuICAvLyBhY2NlbnQgbm8gSVRFTSBpbnRlaXJvIChib3JkZXItYm94KS4gYGxlZnQvcmlnaHRgIGluc2V0cyBOw4NPXG4gIC8vIHNlcnZlbSBhcXVpOiBvIGNvbnRhaW5pbmcgYmxvY2sgZG8gOjphZnRlciDDqSBvIFBBRERJTkctYm94IGRvXG4gIC8vIG1hdC1tZW51LWl0ZW0gKHBhZGRpbmcgMCAxNnB4KSwgZW50w6NvIGByaWdodDogMnB4YCBjb3J0YXJpYSAzNHB4XG4gIC8vIGFsw6ltIGRvIGluc2V0IGRlc2VqYWRvLCBlIG9zIGFyY29zIGRvIGNsaXAtcGF0aCAoZml4b3MgZW0gcHgpXG4gIC8vIGZpY2FyaWFtIEZPUkEgZG8gYm94IHJlbmRlcml6YWRvLlxuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IHZhcigtLWFjY2VudC13aWR0aCwgY2FsYygxMDAlIC0gMnB4KSk7XG4gIGJvdHRvbTogLTFweDtcbiAgaGVpZ2h0OiAycHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjbGlwLXBhdGg6IHZhcigtLWFjY2VudC1jbGlwLXBhdGgsIHBvbHlnb24oMCAwLCAxMDAlIDAsIGNhbGMoMTAwJSAtIDJweCkgMTAwJSwgMnB4IDEwMCUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWJhY2tncm91bmQsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbi8vIENvciBhY2NlbnQgZG8gdW5kZXJsaW5lIHBvciBjYXRlZ29yaWEgKGVzcGVsaGEgYXMgcmVncmFzXG4vLyAubGlzdC1pdGVtLmJ1dHRvbi0qLnNlbGVjdGVkOjphZnRlciBkbyBzaWRlYmFyLWl0ZW0pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAgICAgICAgICAgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXRwY3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3IsICAgICAgICAgICAgICAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAgICAgICAgICAgICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsICAgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAgICAgICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLmlzLXNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIG1lbnUtaXRlbSBwcmVjaXNhIHNlciBwb3NpdGlvbjogcmVsYXRpdmUgcHJhIGFuY29yYXIgbyBvdmVybGF5IGRvIGJhZGdlLFxuLy8gZSBvdmVyZmxvdzogdmlzaWJsZSBwcmEgbyBiYWRnZSBcImVzdG91cmFyXCIgZm9yYSBkYSBib3JkYSBzZW0gc2VyIGNsaXBhZG8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBDb250w6ppbmVyZXMgcGFpIHRhbWLDqW0gbsOjbyBwb2RlbSBjbGlwYXIuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSksXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLy8gTGFiZWwgb2N1cGEgZXNwYcOnbyByZXN0YW50ZSAoc2VtIGVzcGHDp28gcmVzZXJ2YWRvIHBybyBiYWRnZSDigJQgcXVlIGFnb3JhXG4vLyDDqSBvdmVybGF5KS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWxhYmVsIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4vLyBCYWRnZXMgY29tbyBPVkVSTEFZIGFic29sdXRvIG5vIGNhbnRvIHN1cGVyaW9yIGVzcXVlcmRvIOKAlCBtZXNtYSB0w6ljbmljYVxuLy8gZG8gYC5zaWRlYmFyLWl0ZW0tYmFkZ2VzYCBubyBib3TDo28gKHRyYW5zZm9ybSB0cmFuc2xhdGUgcHJhIFwiZXN0b3VyYXJcIlxuLy8gbGV2ZW1lbnRlIHNvYnJlIGEgYm9yZGEpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktYmFkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC02cHgpICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDNweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG59XG4vLyBCYWRnZSBubyBtZW51IOKAlCBnZW9tZXRyaWEgKyBjb3JlcyBpZMOqbnRpY2FzIMOgcyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZWBcbi8vIGRhIHNpZGViYXIgKGRlZmluaWRvIGVtIHNpZGViYXItaXRlbS5jb21wb25lbnQuc2NzczoxNjUtMTg0KS4gQ29tbyBvXG4vLyBtZW51IMOpIHBvcnRhbGVkIGFvIGJvZHksIGFzIHJlZ3JhcyBzY29wZWQgbsOjbyBhbGNhbsOnYW0g4oCUIHJlcGxpY2Ftb3MuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZSB7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgJi5pcy16ZXJvIHsgZGlzcGxheTogbm9uZTsgfVxuICAmLnN0YXR1cy1jb25maXJtZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEODYwOyB9XG4gICYuc3RhdHVzLW5vdGlmaWVkICB7IGJhY2tncm91bmQtY29sb3I6ICM5NEMwRkI7IH1cbiAgJi5zdGF0dXMtcGVuZGluZyAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZBQjY1QzsgfVxufVxuXG4vLyBIb3ZlciDigJQgc8OzIHNvbWJyYSwgU0VNIG11ZGFuw6dhIGRlIGJhY2tncm91bmQvY29sb3Ivd2VpZ2h0LiBCdW1wIGNvbVxuLy8gYC5saWdodC10aGVtZWAgKyBgOm5vdChbZGlzYWJsZWRdKWAgcHJhIHZlbmNlciBvIGhvdmVyIGRlZmF1bHQgZG9cbi8vIHRwYy11c2VyLW1lbnUgcXVlIHBpbnRhIGJnIGUgbXVkYSBjb2xvciAoc3BlYyAwLDYsMCkuXG4vLyBIb3ZlciDigJQgU8OTIHNvbWJyYS4gU2VtIG11ZGFuw6dhIGRlIGJnLCBjb3IsIGZvbnQtd2VpZ2h0IG91IEZJTEwgZG9cbi8vIMOtY29uZSAoZXNzYXMgYWx0ZXJhw6fDtWVzIGRhdmFtIGEgaW1wcmVzc8OjbyBkZSBcImNvciBtdWRvdVwiKS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBIb3ZlciBzb2JyZSBpdGVtIFNFTEVDVEVEOiBwcmVzZXJ2YSBiZyBicmFuY28vZGFyayBkbyBgLmlzLXNlbGVjdGVkYFxuLy8gZSBhZGljaW9uYSBhIHNvbWJyYSAocXVlIGZpY2Egc8OzIG5vIGhvdmVyIOKAlCBlbSByZXN0IG8gc2VsZWN0ZWQgw6lcbi8vIHBsYW5vKS4gU2VtIGVzdGEgcmVncmEsIGEgZ2Vuw6lyaWNhIGRlIGhvdmVyIChiZyB0cmFuc3BhcmVudCkgZ2FuaGEgZVxuLy8gYSBiZyBicmFuY2Egc29tZSBkZWl4YW5kbyBvIGNpbnphIGRvIHBhaW5lbCB2YXphci5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1zZWxlY3RlZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5pcy1zZWxlY3RlZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBaLWluZGV4IGhpZXJhcmNoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgY2hhaXIgVUkncyBsYXllcmVkIHZpc3VhbCBoaWVyYXJjaHkuXG4vLyBMYXllcnMgZnJvbSBoaWdoZXN0IChmcm9udG1vc3QpIHRvIGxvd2VzdDpcbi8vXG4vLyAgIDEuIFRvb2x0aXBzICAgICAgICAgICAgICAgICAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgIDIuIE1lbnVzICh1c2VyLCBub3RpZmljYXRpb25zLCAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHN1Yi1ldmVudHMpXG4vLyAgIDMuIEJyZWFkY3J1bWIgICAgICAgICAgICAgICAgICAgICDigJQgYCR6LWJyZWFkY3J1bWJgXG4vLyAgIDQuIEZseW91dCAoTW9kZXJuIGNvbGxhcHNlZCAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHNpZGViYXIncyBsZXZlbC0yIHBvcG92ZXIpXG4vLyAgIDUuIFJlc2l6ZSBoYW5kbGVzIChzdWJtZW51ICAgICAgICDigJQgYCR6LXJlc2l6ZS1oYW5kbGVgXG4vLyAgICAgICsgTW9kZXJuIHNpZGViYXIpXG4vLyAgIDYuIFRvb2xiYXIgKGFjdGl2aXR5LWJhcikgICAgICAgICDigJQgYCR6LXRvb2xiYXJgXG4vLyAgIDcuIFN1Ym1lbnUgKG1hdC1zaWRlbmF2KSAgICAgICAgICDigJQgYCR6LXNpZGViYXJgXG4vLyAgICAgIEFORCBNb2Rlcm4gc2lkZWJhclxuLy8gICA4LiBDYW52YXMgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGAkei1jYW52YXNgIChhdXRvKVxuLy9cbi8vIEl0ZW1zIDEsIDIsIGFuZCA0IGFyZSBDREsgb3ZlcmxheXMgYW5kIHNoYXJlIGEgc2luZ2xlXG4vLyBgLmNkay1vdmVybGF5LWNvbnRhaW5lcmAgc3RhY2tpbmcgY29udGV4dCB0aGF0IE1hdGVyaWFsIHBhaW50cyBhYm92ZVxuLy8gZXZlcnl0aGluZyBlbHNlIGluIHRoZSBhcHAuIE9yZGVyIGFtb25nIHRoZW0gaXMgZGV0ZXJtaW5lZCBieSBDREsgYXRcbi8vIHJ1bnRpbWUgKG1vc3QtcmVjZW50bHktb3BlbmVkIHdpbnMpLiBUaGUgaGllcmFyY2h5IHBvc2l0aW9ucyBmb3Jcbi8vIGl0ZW1zIDEsIDIsIDQgYXJlIHRoZXJlZm9yZSBjb25jZXB0dWFsIOKAlCBwcmFjdGljYWwgc3RhY2tpbmcgYW1vbmdcbi8vIHRoZW0gaXMgTWF0ZXJpYWwncyBkZWZhdWx0IGFuZCByYXJlbHkgYSB2aXNpYmxlIGlzc3VlLlxuLy9cbi8vIEFueXRoaW5nIG5vdCBsaXN0ZWQgaGVyZSB1c2VzIGB6LWluZGV4OiBhdXRvYCAoPSAwIGluIGl0cyBzdGFja2luZ1xuLy8gY29udGV4dCkgYW5kIGxpdmVzIGJlbG93IGAkei10b29sYmFyYCBieSBkZWZhdWx0LlxuLy9cbi8vIFR1bmluZyBydWxlOiB3aGVuIGFkanVzdGluZyBhbnkgdG9rZW4gYmVsb3csIGxlYXZlIGEgY29tZm9ydGFibGUgZ2FwXG4vLyAo4omlMTApIHRvIGl0cyBuZWlnaGJvdXIgYWJvdmUvYmVsb3cgc28gZnV0dXJlIGFkZGl0aW9ucyBjYW4gc2xvdCBpblxuLy8gd2l0aG91dCByZW51bWJlcmluZyB0aGUgd2hvbGUgc3RhY2suXG5cbiR6LWNhbnZhczogICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiR6LWRhc2hib2FyZC1wYW5lbDogNSAgICAhZGVmYXVsdDsgIC8vIHBhaW5lbCBkZSBjb21wb25lbnRlcyBkbyBEYXNoYm9hcmQgKG1vZG8gZWRpw6fDo28pOiBBQ0lNQSBkYSBww6FnaW5hL2NhbnZhcyAoYXV0by8wKSwgcG9yw6ltIEFCQUlYTyBkbyBicmVhZGNydW1iIGRvIGNoYWlyIGFyZWEgKHF1ZSB1c2EgYHotaW5kZXg6IDEwYCBsaXRlcmFsLCBOw4NPIG8gJHotYnJlYWRjcnVtYjo5MDAgYWJhaXhvKSBlIGRvIHJlc3RvIGRvIGNocm9tZSAoc2lkZWJhciAzMCAvIG5hdmJhciAzMSAvIHRvb2xiYXIgNDApIOKAlCBhc3NpbSBhIGJhcnJhIHN1cGVyaW9yLCBhbyByZXNzdXJnaXIgKGV4Ljogc2HDrWRhIGRvIG1vZG8gYW1wbG8pLCBmaWNhIE5BIEZSRU5URSBkbyBwYWluZWwuXG4kei1zaWRlYmFyOiAgICAgICAgIDMwICAgIWRlZmF1bHQ7ICAvLyBzdWJtZW51IChtYXQtc2lkZW5hdikgQU5EIE1vZGVybiBleHBlcmltZW50YWwtc2lkZWJhclxuJHotdG9vbGJhcjogICAgICAgNDAgICAhZGVmYXVsdDsgIC8vIGhpc3RvcmljYWxseSBgJG5hdmJhci16LWluZGV4ICsgMmBcbiR6LXJlc2l6ZS1oYW5kbGU6IDgwMCAgIWRlZmF1bHQ7XG4kei1icmVhZGNydW1iOiAgICA5MDAgICFkZWZhdWx0OyAgLy8gYmVsb3cgQ0RLIG92ZXJsYXkncyAxMDAwIHNvIG1lbnVzIHBhaW50IGFib3ZlXG5cbi8vIGFwcC1wb3BvdmVyIHBhbmVsIChwb3J0YWRvIHBybyA8Ym9keT4pIHByZWNpc2EgZXN0YXIgQUNJTUEgZGEgY2hyb21lXG4vLyAoc2lkZWJhciAzMCAvIHRvb2xiYXIgNDAgLyBicmVhZGNydW1iIDkwMCkgZSBBQkFJWE8gZG9zIHRvb2x0aXBzIGRvXG4vLyBDREsgb3ZlcmxheS4gVG9vbHRpcHMgKGNkay1vdmVybGF5LWNvbnRhaW5lcikgZ2FuaGFtIHotaW5kZXggMTIwMCBwcmFcbi8vIHJlbmRlcml6YXIgQUNJTUEgZG8gcG9wb3ZlciAoY2YuIC5jZGstb3ZlcmxheS1jb250YWluZXIgb3ZlcnJpZGUpLlxuJHotcG9wb3ZlcjogICAgICAgMTEwMCAhZGVmYXVsdDtcbiR6LWNkay1vdmVybGF5OiAgIDEyMDAgIWRlZmF1bHQ7ICAvLyB0b29sdGlwID4gcG9wb3ZlciA+IGJyZWFkY3J1bWJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQTExeSB1dGlsaXRpZXMg4oCUIGdsb2JhbCBoZWxwZXJzIHVzZWQgdGhyb3VnaG91dCBKRU1TM1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEb2N1bWVudGVkIGluIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzIwIChBY2Vzc2liaWxpZGFkZSDigJQgw6FyZWEgYXV0b3IvcmV2aXNvcikuXG5cbi8vIFZpc3VhbGx5IGhpZGRlbiBidXQgYXZhaWxhYmxlIHRvIGFzc2lzdGl2ZSB0ZWNoIChzY3JlZW4gcmVhZGVycykuXG4vLyBVc2UgZm9yIGhlYWRpbmdzLCBsYWJlbHMgYW5kIGFubm91bmNlbWVudHMgdGhhdCBtdXN0IGV4aXN0IGluIHRoZVxuLy8gYWNjZXNzaWJpbGl0eSB0cmVlIGJ1dCBzaG91bGQgbm90IGFmZmVjdCB0aGUgdmlzdWFsIGxheW91dC5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFNraXAgbGluayDigJQgdmlzaWJsZSBvbmx5IHdoZW4gZm9jdXNlZCAoVGFiIGtleSkuIFVzZWQgdG8gYnlwYXNzXG4vLyByZXBldGl0aXZlIG5hdmlnYXRpb24gYmxvY2tzIChlLmcuIHNpZGViYXIpIGFuZCBqdW1wIHRvIDxtYWluPi5cbi5za2lwLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgfVxufVxuXG4vLyBGb2N1cyByaW5nIOKAlCB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbi8vIEFwcGx5IHZpYSBgQGluY2x1ZGUgZm9jdXMtcmluZztgIGluc2lkZSBhbnkgYDpmb2N1cy12aXNpYmxlYCBzZWxlY3Rvci5cbkBtaXhpbiBmb2N1cy1yaW5nKCRjb2xvcjogdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpLCAkb2Zmc2V0OiAycHgpIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICRjb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLy8gQ2FyZCBsaXN0IOKAlCBgPHVsIHJvbGU9XCJsaXN0XCI+YCB3cmFwcGVyIHBhcmEgbGlzdGFzIHNlbcOibnRpY2FzIGRlXG4vLyBjYXJkcy4gWmVyYSBvIGxpc3Qtc3R5bGUgZSBwYWRkaW5nIGRlZmF1bHQgZG8gYDx1bD5gIG1hbnRlbmRvIGFcbi8vIHNlbcOibnRpY2EgZGUgbGlzdGEgbm8gQVQgKFdDQUcgMS4zLjEpLiBVc2FyIGNvbSBgPGxpPmAgcG9yIGNhcmQuXG4vLyBPIGByb2xlPVwibGlzdFwiYCDDqSBSRURVTkRBTlRFIHByb2dyYW1hdGljYW1lbnRlIG1hcyBuZWNlc3PDoXJpbyBwb3JxdWVcbi8vIFNhZmFyaS9XZWJLaXQgcmVtb3ZlbSBhIHJvbGUgaW1wbMOtY2l0YSBxdWFuZG8gYXBsaWNhbW9zXG4vLyBgbGlzdC1zdHlsZTpub25lYCDigJQgYnVnIGhpc3TDs3JpY28sIHZpZGVcbi8vIGh0dHBzOi8vd3d3LnNjb3R0b2hhcmEubWUvYmxvZy8yMDE5LzAxLzEyL2xpc3RzLWFuZC1zYWZhcmkuaHRtbFxuLmNhcmRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiIsIi8vIOKUgOKUgOKUgCBKRU1TMyBwYWdlIHZpZXcgbW9kZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWdyYXMgZ2xvYmFpcyBhdGl2YWRhcyBwZWxvIGJvZHkgY2xhc3Mgc2V0YWRvIGVtXG4vLyBgc3JjL2FwcC9zZXJ2aWNlL3ZpZXctbW9kZS5zZXJ2aWNlLnRzYCBxdWFuZG8gbyBVUkwgdHJheiBgP3ZpZXdNb2RlPS4uLmAuXG4vLyBNb2RvcyBkZWZpbmlkb3MgZW0gYHNyYy9hcHAvdXRpbHMvcGFnZS12aWV3LW1vZGUudHNgLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1mdWxsICDihpIgbyBgYWRtaW4tZXZlbnQtc2lkZWJhcmAgYnJhbmNoIGrDoSBjdWlkYSBkbyBDSFJPTUVcbi8vICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5POiBlbSBtb2RvIEZ1bGwgZWxlIHJlbmRlcml6YSBzw7Ncbi8vICAgICAgICAgICAgICAgICAgICAgICBgPHJvdXRlci1vdXRsZXQ+YCwgc2VtIGAuc2lkZWJhcmAgL1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGBtYXQtc2lkZW5hdi1jb250YWluZXJgIC8gZXRjLiBBIHDDoWdpbmEgZGEgcm90YVxuLy8gICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcml6YSBkaXJldG8gbm8gaG9zdCwgWkVSTyBoZXJhbsOnYSBkZSBnZW9tZXRyaWEuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgQXF1aSBzw7Mgb2N1bHRhbW9zIG8gcXVlIHZpdmUgRk9SQSBkb1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGFkbWluLWV2ZW50LXNpZGViYXIgKGBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhcmApLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1hbXBsbyDihpIgKHBsYWNlaG9sZGVyOyBhaW5kYSBuw6NvIGltcGxlbWVudGFkbykuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbmJvZHkudmlldy1tb2RlLWZ1bGwge1xuICAvLyBgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXJgIHZpdmUgZW0gYGV2ZW50LWFkbWluLmNvbXBvbmVudC5odG1sYCAoYWNpbWFcbiAgLy8gZG8gYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYCkgZSDDqSByZWZlcmVuY2lhZG8gdmlhIEBWaWV3Q2hpbGQgY29tXG4gIC8vIHN0YXRpYzp0cnVlIHBlbG8gQWRtaW5TZXJ2aWNlIOKAlCBuw6NvIGTDoSBwcmEgKm5nSWYnYXIuIEVtIG1vZG8gRnVsbFxuICAvLyBvY3VsdGFtb3MgdmlhIENTUzsgaW5zdMOibmNpYSBzZWd1ZSB2aXZhIHByYSBuw6NvIHF1ZWJyYXIgcmVmcy5cbiAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTZW0gY2hyb21lIGFkbWluLCBvIEJPRFkgw6kgbyBmdW5kbyBmdWxsLWJsZWVkIGRhIHDDoWdpbmEuIFNlbSBpc3RvIGVsZSBmaWNhXG4gIC8vIEJSQU5DTyBlLCBjb21vIG8gYC52aWV3LW1vZGUtZnVsbC1zaGVsbGAgdGVtIHBhZGRpbmcgbGF0ZXJhbCwgc29icmF2YW0gZHVhc1xuICAvLyBcImJhcnJhcyBicmFuY2FzXCIgbmFzIGxhdGVyYWlzIChib2R5IGJyYW5jbyBmb3JhIGRvIGNpbnphIGRvIHBhcGVyLWluZm8pLlxuICAvLyBQaW50YSBjb20gbyBNRVNNTyBjaW56YSBkYSBww6FnaW5hIGRvIHBhcGVyLWluZm8gKCRncmF5LTE1MCkg4oaSIGZ1bGwtYmxlZWRcbiAgLy8gY2luemEgY29udMOtbnVvIGNvbSBhIGZvbGhhIGJyYW5jYSBjZW50cmFkYS4gRGFyayBlc3BlbGhhIG8gcHJldG8uXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcblxuICAmLmRhcmstdGhlbWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIFNoZWxsIGRvIG1vZG8gRnVsbCAocmVuZGVyaXphZG8gZGVudHJvIGRlIGBhZG1pbi1ldmVudC1zaWRlYmFyLmh0bWxgXG4vLyBxdWFuZG8gYHZpZXdNb2RlLmlzRnVsbGApOiBwcm92w6ogQVBFTkFTIG8gcGFkZGluZyBsYXRlcmFsIHF1ZSBhIHDDoWdpbmFcbi8vIHJlY2ViZXJpYSBuYXR1cmFsbWVudGUgdmlhIGAubWF0LXNpZGVuYXYtY29udGVudGAgbm8gY2hyb21lIGFkbWluLlxuLy8gU2VtIHBhZGRpbmcgdG9wL2JvdHRvbSDigJQgdmVydGljYWwgZWRnZS10by1lZGdlLlxuLnZpZXctbW9kZS1mdWxsLXNoZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDtcbiAgcGFkZGluZy1yaWdodDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgY2hlY2tib3gg4oCUIHNxdWFyZSBtZW1iZXIgb2YgdGhlIGJpbmFyeS1jb250cm9sIGZhbWlseS5cbi8vIE91dGxpbmVkLW9mZiAvIGZpbGxlZC1vbiBjb20gbWVzbWEgRE5BIGRvIHNsaWRlLXRvZ2dsZSAocGlsbCkgZSByYWRpbyAoY8OtcmN1bG8pOlxuLy9cbi8vICAgLSBGcmFtZTogICAgICAgICAxNnB4IHNxdWFyZSwgNHB4IHJhZGl1cywgMS41cHggYm9yZGVyICh0aGVtZS1hd2FyZSlcbi8vICAgLSBPZmYgYmc6ICAgICAgICB3YXJtIGJlaWdlIHRpbnQgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIE9uIGJnOiAgICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gQ2hlY2ttYXJrOiAgICAgU1ZHIHN0cm9rZSBvZmYtd2hpdGUgY3Jvc3MtdGhlbWUgKHBvcCBlbSBhbWJvcyBvcyB0ZW1hc1xuLy8gICAgICAgICAgICAgICAgICAgIOKAlCB2aXPDrXZlbCB0YW50byBubyBmaWxsIGAjNGE0NjNmYCBlbSBsaWdodCBxdWFudG8gbm9cbi8vICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCBjb250cmEgY2FudmFzIGRhcmspXG4vL1xuLy8gQ29yZXMgdGhlbWUtYXdhcmUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyaWEgKyB0cmFuc2nDp8O1ZXMgYXF1aS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZSBmZWVkYmFjay5cbi5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBLaWxsIHRoZSBjaGVja21hcmsgZHJhdyBhbmltYXRpb24g4oCUIHN0YXlzIHNuYXAgKE5vdGlvbi9MaW5lYXItc3R5bGUpLlxuLy8gU3RhdGUgdHJhbnNpdGlvbnMgKGJnL2JvcmRlcikgRE8gYW5pbWF0ZSB2aWEgdGhlIHJ1bGVzIGJlbG93LlxuLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2hlY2tib3gge1xuICAvLyBNYXRlcmlhbCBkZWZhdWx0IHRlbSBgLm1hdC1jaGVja2JveC1sYXlvdXQgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfWAg4oCUXG4gIC8vIGEgYm94ICgxNnB4KSBhbGluaGEgcGVsbyBiYXNlbGluZSBkbyB0ZXh0byBlIGVzdGVuZGUgfjNweCBhY2ltYSBkbyB0b3AgZGFcbiAgLy8gdGV4dC1saW5lLCBzb21hbmRvIDJweCBkZSBhbHR1cmEgcG9yIHJvdyB2cyBvIGBhbGlnbi1pdGVtczogY2VudGVyYCBkb1xuICAvLyByYWRpbyBlIGRvIHRvZ2dsZS4gT3ZlcnJpZGUgcGFyYSBjZW50ZXIgYWxpbmhhIGEgZmFtw61saWEgdmlzdWFsbWVudGUuXG4gIC8vIFNwZWNpZmljaXR5IDAsMiwwICh2cyBNYXRlcmlhbCAwLDEsMCkg4oCUIHNlbSBgIWltcG9ydGFudGAuXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gMTZweCBib3ggKHNlY29uZGFyeSBpY29uIHNjYWxlLCBtZXNtYSBmYW3DrWxpYSkuIDhweCBnYXAgYmVmb3JlIGxhYmVsLlxuICAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5cbiAgLy8gNHB4IHJhZGl1cyBvbiBib3RoIGZyYW1lICh1bmNoZWNrZWQpIGFuZCBiYWNrZ3JvdW5kIChjaGVja2VkIGZpbGwpLlxuICAvLyBTbGlnaHQgcm91bmRpbmcgZ2l2ZXMgYSBOb3Rpb24vTGluZWFyIGZlZWwgd2l0aG91dCBnb2luZyBjaXJjdWxhci5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIFNocmluayB0aGUgY2hlY2ttYXJrIGdseXBoIHBhcmEgcmVmaW5lbWVudCBzZW0gcGVyZGVyIHByZXNlbsOnYS4gTWF0ZXJpYWxcbiAgLy8gZGVmYXVsdCByZW5kaWEgfjEwcHggKDYyJSBkbyBib3gpOyAwLjggcmVkdXogcGFyYSB+OHB4ID0gbWFpcyBsZXZlIHF1ZSBvXG4gIC8vIGRlZmF1bHQsIG1hcyBtYW50w6ltIHBlc28gZGUgbGVpdHVyYSBpbWVkaWF0YS5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW9zIG91dHJvcyBjb250cm9sZXMuIENvbG9yIHRoZW1lLWF3YXJlLlxuLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIG9wYWNpdHkgKyBjdXJzb3IgKHBhcmFsZWxvIGFvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKS5cbi5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGltcG9ydCAnLi4vY29sb3JzJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWNoZWNrYm94IOKAlCBjaGVja2JveCBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEFsdGVybmF0aXZhIGxpZ2h0LXdlaWdodCBhbyA8bWF0LWNoZWNrYm94PiBwYXJhIHRlbGFzIGNvbSBtdWl0YXMgaW5zdMOibmNpYXNcbi8vIChtYXRyaXplcywgY2hlY2tsaXN0cywgbGlzdGFzIGxvbmdhcykuIFNlbSByaXBwbGUsIHNlbSBpbnN0YW5jaWFtZW50byBkb1xuLy8gTWF0ZXJpYWwg4oCUIHPDsyBIVE1MIG5hdGl2byArIENTUy4gU3Vwb3J0YSBvcyAzIGVzdGFkb3MgKG9mZiAvIG9uIC8gaW5kZXRlci1cbi8vIG1pbmF0ZSkuIFByb21vdmlkbyBwYXJhIGdsb2JhbCBwcmEgc2VyIHJldXRpbGl6w6F2ZWwgZW0gcXVhbHF1ZXIgcMOhZ2luYS5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1jaGVja2JveFwiIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbi8vXG4vLyBJbmRldGVybWluYXRlIMOpIHNldGFkbyB2aWEgSlMgKEFuZ3VsYXIgQFZpZXdDaGlsZCAvIHNldHRlciksIGlndWFsIGFvXG4vLyBtYXQtY2hlY2tib3guIEV4ZW1wbG86IGBjaGVja2JveFJlZi5pbmRldGVybWluYXRlID0gaXNQYXJ0aWFsbHlDaGVja2VkO2Bcbi8vXG4vLyBUZW1hOiBsaWdodCA9IGZpbGwgYWNjZW50IChvcmFuZ2UtOTAwKSArIGNoZWNrIG9mZi13aGl0ZS4gRGFyayA9IGZpbGxcbi8vIGdyYXktMzAwICsgY2hlY2sgbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gY2hlY2sgZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1yYWRpbyDigJQgcmFkaW8tYnV0dG9uIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQWx0ZXJuYXRpdmEgbGlnaHQtd2VpZ2h0IGFvIDxtYXQtcmFkaW8tYnV0dG9uPiDigJQgc2VtIHJpcHBsZSwgc2VtIE1hdGVyaWFsLlxuLy8gTWVzbWEgbGluZ3VhZ2VtIHZpc3VhbCBkbyAuamVtczMtbmF0aXZlLWNoZWNrYm94IChzw7MgSFRNTCArIENTUyksIHBhcmFcbi8vIGFtYmllbnRlcyBhdXRvci9yZXZpc29yIG9uZGUgbyByZXN0YW50ZSBkb3MgY29udHJvbGVzIMOpIG5hdGl2byBKRU1TMy5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1yYWRpb1wiIG5hbWU9XCJncnVwb1wiXG4vLyAgICAgICAgICBbY2hlY2tlZF09XCIuLi5cIiAoY2hhbmdlKT1cIi4uLlwiPlxuLy9cbi8vIE11dHVhbC1leGNsdXPDo28gdmVtIGRvIGF0cmlidXRvIGBuYW1lYCBkbyBwcsOzcHJpbyBicm93c2VyIOKAlCBvIG1lc21vIGBuYW1lYFxuLy8gZW0gbcO6bHRpcGxvcyByw6FkaW9zIGFncnVwYSBhIHNlbGXDp8Ojby4gTsOjbyBwcmVjaXNhIGRlIDxtYXQtcmFkaW8tZ3JvdXA+LlxuLy9cbi8vIFRlbWE6IGxpZ2h0ID0gZmlsbCBhY2NlbnQgKG9yYW5nZS05MDApIGNvbSBtaW9sbyBvZmYtd2hpdGUuIERhcmsgPSBmaWxsXG4vLyBncmF5LTMwMCBjb20gbWlvbG8gbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy8gTWlvbG8gZGVzZW5oYWRvIHZpYSBgYmFja2dyb3VuZC1pbWFnZWAgU1ZHIChjw61yY3VsbyBpbnRlcm5vKS4gQXNzaW1cbiAgLy8gbsOjbyBwcmVjaXNhIGRlIHBzZXVkby1lbGVtZW50byDigJQgZnVuY2lvbmEgZW0gPGlucHV0PiBuYXRpdm8sIHF1ZSBuw6NvXG4gIC8vIGFjZWl0YSBgOjpiZWZvcmVgL2A6OmFmdGVyYC5cbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyM2Y5ZjhmNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gbWlvbG8gZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyMzIwMjAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIHNsaWRlLXRvZ2dsZSDigJQgY29tcGFjdCwgbW9ub2Nocm9tYXRpYywgb3V0bGluZWQtb2ZmIChcIlBsYW4gQlwiKS5cbi8vIERlZmF1bHQgTWF0ZXJpYWwgdjExIGlzIDM2w5cxNCB0cmFjayArIDIwcHggZWxldmF0ZWQgdGh1bWIgaW4gcHJpbWFyeS9hY2NlbnRcbi8vIGNvbG9yIChsb29rcyBkYXRlZCBhbmQgd2FzaGVkLW91dCBpbiB0aGUgb2ZmIHN0YXRlKS4gT3VyIHJlY2lwZTpcbi8vXG4vLyAgIC0gVHJhY2s6ICAgICAgIDI0w5cxNCBwaWxsIChyYWRpdXMgNykuIDE0JSBzbWFsbGVyIHRoYW4gZmlyc3QgY29tcGFjdCBwYXNzLlxuLy8gICAtIFRodW1iOiAgICAgICAxMMOXMTAgZmxhdCBjaXJjbGUsIDJweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIHRoZSB0cmFja1xuLy8gICAgICAgICAgICAgICAgICAoc28gdGhlIHRodW1iIGlzIGZ1bGx5IGNvbnRhaW5lZCkuIFRyYW5zbGF0ZXMgMTBweCBvbiBjaGVjay5cbi8vICAgLSBPZmYgdHJhY2s6ICAgdHJhbnNwYXJlbnQgYmcgKyAxLjVweCBpbnNldCBib3JkZXIgKHZpYSBib3gtc2hhZG93IGluc2V0KVxuLy8gICAgICAgICAgICAgICAgICBpbiAkY2hyb21lLWJvcmRlci1saWdodC8tZGFyayDigJQgb3V0bGluZWQsIE5PVCBmaWxsZWQgZ3JheVxuLy8gICAgICAgICAgICAgICAgICAoZmlsbGVkIGdyYXkgbWFkZSB0aGUgY29udHJvbCByZWFkIGFzIFwiZGlzYWJsZWRcIikuXG4vLyAgIC0gT24gdHJhY2s6ICAgIHNvbGlkICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS8tYWN0aXZlLWRhcmtcbi8vICAgICAgICAgICAgICAgICAgKHNhbWUgYWN0aXZlIHRva2VuIHVzZWQgYnkgY2hlY2tib3ggY2hlY2tlZCBmaWxsKS5cbi8vICAgLSBPZmYgdGh1bWI6ICAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgKHRoZSBtdXRlZCB0ZXh0IHRva2VuIOKAlFxuLy8gICAgICAgICAgICAgICAgICBkYXJrIGdyYXkgb24gdGhlIG91dGxpbmVkIHRyYWNrLCBjbGVhcmx5IHByZXNlbnQpLlxuLy8gICAtIE9uIHRodW1iOiAgICAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kIChjaHJvbWUgYmcgdG9uZSDigJQgb2ZmLXdoaXRlIG9uXG4vLyAgICAgICAgICAgICAgICAgIHRoZSBzb2xpZCBkYXJrIGFjdGl2ZSB0cmFjaywgY2xlYXJseSBwcmVzZW50KS5cbi8vXG4vLyBTZW1hbnRpY2FsbHkgc3ltbWV0cmljIHdpdGggdGhlIGNoZWNrYm94OiBvZmYgPSBvdXRsaW5lZCwgb24gPSBmaWxsZWQuXG4vLyBDb2xvcnMgYXJlIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJ5IGxpdmVzIGhlcmUuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUgZmVlZGJhY2suXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZSB7XG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgZm9yw6dhIGAubWF0LXNsaWRlLXRvZ2dsZSB7IGhlaWdodDogMjRweDsgbGluZS1oZWlnaHQ6IDI0cHggfWBcbiAgLy8gbm8gaG9zdCAoPXdyYXBwZXIpIHZpYSBpbmxpbmUgc3R5bGVzIGRvIGNvbXBvbmVudGUgKFZpZXdFbmNhcHN1bGF0aW9uKS5cbiAgLy8gRXNzZXMgc3R5bGVzIGVudHJhbSBubyBkb2N1bWVudCBvcmRlciBERVBPSVMgZG9zIG5vc3NvcyBnbG9iYWlzIOKAlCBlbnTDo29cbiAgLy8gc2VtIGAhaW1wb3J0YW50YCBNYXRlcmlhbCB2ZW5jZSBwb3Igc291cmNlIG9yZGVyIChtZXNtYSBlc3BlY2lmaWNpZGFkZSkuXG4gIC8vIE92ZXJyaWRlOiBhdXRvLWhlaWdodCBjb2xhcHNhIG8gd3JhcHBlciBwYXJhIGEgYWx0dXJhIG5hdHVyYWwgZG8gY29udGXDumRvLlxuICAvL1xuICAvLyBsaW5lLWhlaWdodCBGSVhPICgxLjMsIGJvZHkgcmVjaXBlKSDigJQgTsODTyBgaW5oZXJpdGAuIENvbSBgaW5oZXJpdGAgbyBob3N0IHBlZ2F2YVxuICAvLyBvIGxpbmUtaGVpZ2h0IGRvIENPTlRBSU5FUiwgcXVlIHZhcmlhIHBvciB0ZWxhIChleC46IGAuc21hbGwtcGlja2VyIHsgbGluZS1oZWlnaHQ6XG4gIC8vIDEgIWltcG9ydGFudCB9YCwgYC5zY29wZS10b2dnbGUtcm93IHsgZm9udC1zaXplOiAuODc1cmVtIH1gKSwgZmF6ZW5kbyBvIE1FU01PIHRvZ2dsZVxuICAvLyByZW5kZXJpemFyIGNvbSBjYWl4YXMvYWxpbmhhbWVudG9zIGRpZmVyZW50ZXMgKFwidmVyc8O1ZXMgZGlmZXJlbnRlc1wiKS4gRml4byBhcXVpIOKGklxuICAvLyBpZMOqbnRpY28gZW0gdG9kbyBvIHNpc3RlbWEgKExpc3RhIGRlIHN1Ym1pc3PDtWVzLCBhdXRvci9yZXZpc29yLCBhZG1pbi9jaGFpcikuXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG5cbiAgLy8gR2VvbWV0cmlhICh0cmFjayArIHRodW1iKSA9IGJsb2NvIFwiTTMgc3dpdGNoIOKAlCBQQURSw4NPIERPIFNJU1RFTUFcIiBhYmFpeG8gKDMyw5cxOCxcbiAgLy8gYSBnZW9tZXRyaWEgZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMpLiBPIGNoYWlyIGNvbXBhY3RvIDI0w5cxNCBmb2kgQVBPU0VOVEFETyDigJQgZm9udGVcbiAgLy8gw5pOSUNBIGRlIGdlb21ldHJpYSBhZ29yYSDDqSBvIE0zLiBBcXVpIGZpY2Egc8OzIG8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZG8gdGh1bWIsIGJhc2VcbiAgLy8gcC8gbyA6OmFmdGVyIChnbHlwaCDinJMpIHNlIHBvc2ljaW9uYXIgZGVudHJvIGRvIHRodW1iLlxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGluc2lkZSB0aGUgdGh1bWIgd2hlbiBPTi4gU1ZHIG1hc2sgZm9yIGNyaXNwIHJlbmRlcmluZyBhdFxuLy8gdGhlIHNtYWxsIDEwcHggdGh1bWIgc2l6ZSDigJQgYG1hc2stc2l6ZTogNjAlYCBsZWF2ZXMgfjJweCBvZiBicmVhdGhpbmcgcm9vbVxuLy8gYXJvdW5kIHRoZSBjaGVjay4gQ29sb3IgaXMgdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy4gT2ZmIHN0YXRlXG4vLyBoYXMgbm8gZ2x5cGgg4oCUIG9ubHkgdGhlIG9uIHN0YXRlIGNhcnJpZXMgdGhlIGN1ZS5cbi5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTEuNSA0IEwzLjUgNiBMNi41IDInIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgNCBMMy41IDYgTDYuNSAyJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAtd2Via2l0LW1hc2stc2l6ZTogNjAlO1xuICAgICAgICAgIG1hc2stc2l6ZTogNjAlO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vLyBUcmFuc2nDp8OjbyBkYSBwb3Npw6fDo28gZG8gdGh1bWIgT04gw6kgZGVmaW5pZGEgbm8gYmxvY28gTTMgKGdyb3cgKyBzbGlkZSAxNHB4KS5cblxuLy8gVHJhbnNpdGlvbjogc21vb3RoIHRodW1iIHNsaWRlICsgYmcvdGh1bWIgY29sb3IgZmFkZS4gMTUwbXMgd2l0aCAkZWFzZS1vdXRcbi8vIChjaGFpciBVSSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlKS4gQm9yZGVyIChpbnNldCBzaGFkb3cpIGRvZXNuJ3QgY2hhbmdlXG4vLyBiZXR3ZWVuIG9mZi9vbiwgc28gbm8gdHJhbnNpdGlvbiBuZWVkZWQgb24gaXQuXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbn1cblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZCBhMTF5KSDigJQgb3V0bGluZSBhcm91bmQgdGhlIHRyYWNrIHdoZW4gZm9jdXNlZCB2aWFcbi8vIGtleWJvYXJkLiBNYXRlcmlhbCdzIENESyBGb2N1c01vbml0b3IgYXBwbGllcyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCBvbmx5IG9uXG4vLyBrZXlib2FyZCBmb2N1cyAobW91c2UgZm9jdXMgZ2V0cyBgLmNkay1tb3VzZS1mb2N1c2VkYCwgbm8gb3V0bGluZSkuIENvbG9yIGlzXG4vLyB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuLm1hdC1zbGlkZS10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGUg4oCUIHNpbmdsZSBvcGFjaXR5IGRyb3Agb24gdGhlIGhvc3QgZWxlbWVudCAodW5pZm9ybSBtdXRlIG9mXG4vLyBwaWxsICsgdGh1bWIgKyBjaGVjayArIGxhYmVsKSArIGN1cnNvciBjdWUuIE1hdGVyaWFsIGFkZHMgYC5tYXQtZGlzYWJsZWRgXG4vLyBjbGFzcyB3aGVuIHRoZSBpbnB1dCBpcyBgW2Rpc2FibGVkXT1cInRydWVcImAuXG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTTMgc3dpdGNoIOKAlCBHRU9NRVRSSUEgR0xPQkFMIMOaTklDQSAocGFkcsOjbyBkbyBzaXN0ZW1hKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXByb2R1eiB2aXN1YWxtZW50ZSBvIE1hdGVyaWFsIERlc2lnbiAzIHN3aXRjaCBzb2JyZSBvIGNvbXBvbmVudGUgTWF0ZXJpYWwgMTEuXG4vLyDDiSBhIMOaTklDQSBnZW9tZXRyaWEgZGUgdG9kbyBgbWF0LXNsaWRlLXRvZ2dsZWAgZG8gSkVNUzMg4oCUIGEgbWVzbWEgZG8gdG9nZ2xlIGRhXG4vLyBcIkxpc3RhIGRlIHN1Ym1pc3PDtWVzXCIgKHF1ZSBhcGVuYXMgaGVyZGEgZXN0ZSBnbG9iYWwsIHNlbSBnZW9tZXRyaWEgcHLDs3ByaWEpLiBBbnRlc1xuLy8gZXNjb3BhZGEgYW8gYXV0b3IvcmV2aXNvciAoYC5tYWluLWhlYWRlciAub3B0aW9uc2AsIGAuc21hbGwtcGlja2VyYCxcbi8vIGAuc2NvcGUtdG9nZ2xlLXJvd2ApIGUgbyBjaGFpciBjb21wYWN0byAyNMOXMTQgZXJhIG8gZGVmYXVsdDsgYWdvcmEgbyBjaGFpciBmb2lcbi8vIGFwb3NlbnRhZG8gZSBlc3RhIMOpIGEgZm9udGUgdW5pdmVyc2FsLiBPIGJsb2NvIGAubWF0LXNsaWRlLXRvZ2dsZWAgYWNpbWEgY3VpZGEgc8OzXG4vLyBkbyBuw6NvLWdlb23DqXRyaWNvIChlc3RhZG8gT0ZGL2NvciwgaG9zdCBoZWlnaHQsIGtpbGwtcmlwcGxlLCBwb3NpdGlvbiBkbyB0aHVtYikuXG4vLyBNZXhlciBhcXVpIHJlZmxldGUgZW0gVE9ETyBvIHNpc3RlbWEsIGluY2x1c2l2ZSBuYSBMaXN0YSBkZSBzdWJtaXNzw7Vlcy5cbi8vXG4vLyAgIE0zIHNwZWNzIChjb21wYWN0bywgbWFudMOpbSByYXRpbyB0aHVtYi90cmFjayB+MC43NSBkbyBNMyBzdGFuZGFyZCk6XG4vLyAgIC0gVHJhY2s6ICAgIDMyw5cxOCBwaWxsLCByYWRpdXMgOVxuLy8gICAtIFRodW1iOiAgICAxMMOXMTAgb2ZmIChjZW50ZXJlZCwgNHB4IHBhZGRpbmcpIOKGkiAxNMOXMTQgb24gKGNyZXNjZSArIHNsaWRlKVxuLy8gICAtIE91dGxpbmU6ICAxLjVweCBib3JkZXIgbmEgdHJhY2sgT0ZGOyBzZW0gb3V0bGluZSBPTiAoTTMgcHVybylcbi8vICAgLSBDb3Igb246ICAgJGFjY2VudC1iYWNrZ3JvdW5kIChhenVsIEpFTVMzKSDigJQgZGVmaW5pZGEgZW0gX2NvbG9yLXNjaGVtZS5zY3NzXG4vLyAgIC0gU2hhZG93OiAgIHRodW1iIHRlbSBlbGV2YcOnw6NvIHN1dGlsXG4vLyAgIC0gSG92ZXI6ICAgIHNlbSBkZXN0YXF1ZSAoYSB0cmFjayBPTiBqw6EgdGVtIGNvciBzYXR1cmFkYSBvIHN1ZmljaWVudGUpXG4vLyAgIC0gUGFkZGluZyBPTjogMnB4IGRlIGNhZGEgbGFkbyAodGh1bWIgbsOjbyB0b2NhIGJvcmRhIGRhIHRyYWNrKVxuLm1hdC1zbGlkZS10b2dnbGUge1xuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIH1cblxuICAvLyBPZmYgdGh1bWI6IDEww5cxMCwgY2VudGVyZWQgKDRweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIDE4cHggYmFyKS5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCB0b3AgMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGxlZnQgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCBib3gtc2hhZG93IDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIENoZWNrZWQ6IHRodW1iIGNyZXNjZSBwYXJhIDE0w5cxNCAoTTMgZ3JvdykuIFBvc2nDp8OjbyBmaW5hbDogdGh1bWIgcmlnaHRcbiAgLy8gZWRnZSBhIDJweCBkYSBib3JkYSBkaXJlaXRhIGRhIHRyYWNrIOKGkiB0aHVtYiBsZWZ0ID0gMzIgLSAxNCAtIDIgPSAxNnB4LlxuICAvLyBDb250YWluZXIgT04gdGVtIGxlZnQ6MiwgZW50w6NvIHRyYW5zZm9ybSA9IDE2IC0gMiA9IDE0cHguXG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNHB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG5cbiAgLy8gTTMgT04gdGh1bWI6IGNoZWNrIGdseXBoICh2aWEgOjphZnRlciBkbyBjaGFpciByZWNpcGUpIGVtIDU1JSBkbyB0aHVtYlxuICAvLyAxNMOXMTQgPSB+OHB4LiBDb3IgZG8gZ2x5cGggw6kgYXp1bCBKRU1TMyAob3ZlcnJpZGUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtbWFzay1zaXplOiA1NSU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDU1JTtcbiAgfVxuXG4gIC8vIE0zIE9OIHRyYWNrOiBzZW0gb3V0bGluZSAoYSBjb3IgcHJlZW5jaGlkYSDDqSBvIHNpbmFsKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEhvdmVyOiBiZyBkYSBiYXIgbsOjbyBtdWRhLCBlIGEgY29yIGRhIG91dGxpbmUgKE9GRiBzdGF0ZSkgdGFtYsOpbSBuw6NvIG11ZGFcbiAgLy8g4oCUIG92ZXJyaWRlcyBlbSBfY29sb3Itc2NoZW1lLnNjc3MgZ2FyYW50ZW0gcXVlIGhvdmVyID09PSByZXN0aW5nIHN0YXRlLlxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgcmFkaW8gYnV0dG9uIOKAlCBhcHBsaWVzIHRoZSBzbGlkZS10b2dnbGUncyBcImJpbmFyeSBjb250cm9sXCJcbi8vIHZpc3VhbCBsYW5ndWFnZSB0byBhIGNpcmN1bGFyIHNoYXBlLiBUb2dldGhlciB3aXRoIHRoZSBjaGVja2JveCAoc3F1YXJlKVxuLy8gYW5kIHNsaWRlLXRvZ2dsZSAocGlsbCksIHRoZSByYWRpbyAoY2lyY2xlKSBjb21wbGV0ZXMgdGhlIGZhbWlseSDigJQgYWxsXG4vLyB0aHJlZSBzaGFyZTogb3V0bGluZWQtb2ZmIC8gZmlsbGVkLW9uLCBtZXNtb3MgY29sb3IgdG9rZW5zLCBtZXNtYXMgaW52ZXJzw7Vlc1xuLy8gZGUgaG92ZXIsIGZvY3VzIGJyYW5kLXNhdHVyYWRvLlxuLy9cbi8vICAgLSBPdXRlciByaW5nOiAgMTZweCBjaXJjbGUsIDEuNXB4IGJvcmRlciAodGhlbWUtYXdhcmUpXG4vLyAgIC0gT2ZmIGJnOiAgICAgIHdhcm0gYmVpZ2UgdGludCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gT24gYmc6ICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gSW5uZXIgZG90OiAgIH42cHggKHNjYWxlIDAuMzc1IGRvIG91dGVyIDE2cHgpIG9mZi13aGl0ZSBjcm9zcy10aGVtZSxcbi8vICAgICAgICAgICAgICAgICAgdmlzw612ZWwgc8OzIG5vIGNoZWNrZWQg4oCUIGZheiBvIHBhcGVsIHZpc3VhbCBkbyBcInRodW1iXCIgZG9cbi8vICAgICAgICAgICAgICAgICAgc2xpZGUtdG9nZ2xlIChjdWUgZGUgcG9zacOnw6NvL3NlbGXDp8Ojbylcbi8vXG4vLyBDb3JlcyB0aGVtZS1hd2FyZSBlbSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJpYSArIHRyYW5zacOnw7VlcyBhcXVpLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlLlxuLm1hdC1yYWRpby1idXR0b24gLm1hdC1yYWRpby1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXJhZGlvLWJ1dHRvbiB7XG4gIC8vIENvbnRhaW5lciDigJQgMTZweCBib3ggcXVlIGFicmlnYSBvdXRlciArIGlubmVyLlxuICAubWF0LXJhZGlvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLy8gT3V0ZXIgY2lyY2xlICh0aGUgcmluZykg4oCUIDE2cHgsIGJvcmRlciAxLjVweCAodW5pZm9ybWUgbm9zIGRvaXMgdGVtYXMpLlxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogMS41cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBJbm5lciBjaXJjbGUgKHRoZSBkb3QpIOKAlCBzZW1wcmUgMTZweCBkZSDDoXJlYTsgc2NhbGUgZmF6IGFwYXJlY2VyL3N1bWlyLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0ID0gc2NhbGUoMCkgdW5jaGVja2VkIOKGkiBzY2FsZSgwLjUpIGNoZWNrZWQgKD0gOHB4IGRvdCkuXG4gIC8vIE92ZXJyaWRlOiBzY2FsZSgwLjM3NSkgY2hlY2tlZCA9IDZweCBkb3QsIG1haXMgZGlzY3JldG8gZSBoYXJtw7RuaWNvIGNvbVxuICAvLyBhIGVzY2FsYSBtb25vY3LDs21hdGljYSBkbyBjb21wb25lbnRlLlxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyAkZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjM3NSk7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW8gc2xpZGUtdG9nZ2xlLlxuLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCDigJQgb3BhY2l0eSArIGN1cnNvciAocGFyYWxlbG8gYW9zIG91dHJvcyBjb250cm9sZXMpLlxuLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3InO1xuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2plbXMzci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLmplbXMzciB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogJ2plbXMzcicgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIFxuICAgICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIH1cbiAgICAmLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICB9XG4gICAgJi5mYS1jbG9jazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICB9XG4gICAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIH1cbiAgICAmLmZhLWV5ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICB9XG4gICAgJi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gICAgfVxuICAgICYuZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgfVxuICAgICYuZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIH1cbiAgICAmLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgICB9XG4gICAgJi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICB9XG4gICAgJi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgfVxuICAgICYuZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgfVxuICAgICYuZmEtYmVsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gICAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgICB9XG4gIH1cbiAgIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3MnO1xuICAgIC8vIE9ubHkgV09GRiDigJQgYWxsIGNoYWlyLVVJIHRhcmdldCBicm93c2VycyBzdXBwb3J0IGl0IChDaHJvbWUsXG4gICAgLy8gRmlyZWZveCwgU2FmYXJpLCBFZGdlKS4gVGhlIGxlZ2FjeSBgLmVvdGAgKElFOC0pIGFuZCBgLnR0ZmBcbiAgICAvLyAoZmFsbGJhY2spIHdlcmUgZHJvcHBlZCBhbG9uZyB3aXRoIHRoZSBvcnBoYW4gYC5zdmdgIGZvbnQgZmlsZS5cbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9qZW1zM3Mud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG4gIFxuLmplbXMzc3tcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdqZW1zM3MnICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgJi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICB9XG4gICYuZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICB9XG4gICYuZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gIH1cbiAgJi5mYS1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgfVxuICAmLmZhLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICB9XG4gICYuZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICB9XG4gICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgfVxuICAmLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgfVxuICAmLmZhLWNhbWVyYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIH1cbiAgJi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICB9XG4gICYuZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgfVxuICAmLmZhLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgfVxuICAmLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gIH1cbiAgJi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGZcIjtcbiAgfVxuICAmLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG4gIH1cbiAgJi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICB9XG4gICYuZmEtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICB9XG4gICYuZmEtY29nczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIH1cbiAgJi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICB9XG4gICYuZmEtY29tbWVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIH1cbiAgJi5mYS1jb21tZW50czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gIH1cbiAgJi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gIH1cbiAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbiAgfVxuICAmLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG4gIH1cbiAgJi5mYS1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xuICB9XG4gICYuZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjFcIjtcbiAgfVxuICAmLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbiAgfVxuICAmLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG4gIH1cbiAgJi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICB9XG4gICYuZmEtZ2xvYmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xuICB9XG4gICYuZmEtaGlzdG9yeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG4gIH1cbiAgJi5mYS1ob21lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjdcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG4gIH1cbiAgJi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG4gIH1cbiAgJi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xuICB9XG4gICYuZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xuICB9XG4gICYuZmEtaW5mbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG4gIH1cbiAgJi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xuICB9XG4gICYuZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xuICB9XG4gICYuZmEtbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG4gIH1cbiAgJi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG4gIH1cbiAgJi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMlwiO1xuICB9XG4gICYuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzM1wiO1xuICB9XG4gICYuZmEtcGVuY2lsLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG4gIH1cbiAgJi5mYS1wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNVwiO1xuICB9XG4gICYuZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xuICB9XG4gICYuZmEtcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG4gIH1cbiAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG4gIH1cbiAgJi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOVwiO1xuICB9XG4gICYuZmEtc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2FcIjtcbiAgfVxuICAmLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG4gIH1cbiAgJi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzY1wiO1xuICB9XG4gICYuZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2RcIjtcbiAgfVxuICAmLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2VcIjtcbiAgfVxuICAmLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2ZcIjtcbiAgfVxuICAmLmZhLXRhZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MlwiO1xuICB9XG4gICYuZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDNcIjtcbiAgfVxuICAmLmZhLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcbiAgfVxuICAmLmZhLXRyYXNoLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG4gIH1cbiAgJi5mYS10cmFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ2XCI7XG4gIH1cbiAgJi5mYS11bmRvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDdcIjtcbiAgfVxuICAmLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xuICB9XG4gICYuZmEtdXBsb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDlcIjtcbiAgfVxuICAmLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGFcIjtcbiAgfVxuICAmLmZhLXVzZXItY29nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGJcIjtcbiAgfVxuICAmLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG4gIH1cbiAgJi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRkXCI7XG4gIH1cbiAgJi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZVwiO1xuICB9XG4gICYuZmEtc3RhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG4gIH1cbiAgJi5mYS11c2VyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUxXCI7XG4gIH1cbiAgJi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MlwiO1xuICB9XG4gICYuZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1M1wiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xuICB9XG4gICYuZmEtaGVhZHNldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG4gIH1cbiAgJi5mYS1jaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTZcIjtcbiAgfVxuICAmLmZhLWZpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1N1wiO1xuICB9XG4gICYuZmEtZmlsZS1hcmNoaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NThcIjtcbiAgfVxuICAmLmZhLWJlbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU5NWFcIlxuICB9XG4gICYuZmEtc3RpY2t5LW5vdGU6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlOTViXCJcbiAgfVxuICAmLmZhLWxhcHRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG4gIH1cbiAgJi5mYS1tb29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWRcIjtcbiAgfVxuICAmLmZhLXN1bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG4gIH1cbn1cblxuIiwiLy8gTWF0ZXJpYWwgRGVzaWduIDMgdHlwb2dyYXBoeSDigJQgc2NvcGVkIHRvIC50cGMtbWQzIChUUEMgY2hhaXIgYXJlYSBvbmx5KS5cbi8vIFJlZmVyZW5jZTogaHR0cHM6Ly9tMy5tYXRlcmlhbC5pby9zdHlsZXMvdHlwb2dyYXBoeS90eXBlLXNjYWxlLXRva2Vuc1xuXG4kbWQzLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBBbGwgMTUgTUQzIHR5cGUtc2NhbGUgdG9rZW5zOiBzaXplIC8gbGluZS1oZWlnaHQgLyB3ZWlnaHQgLyBsZXR0ZXItc3BhY2luZy5cbiRtZDMtdHlwZS1zY2FsZTogKFxuICBkaXNwbGF5LWxhcmdlOiAgICAoMy41NjI1cmVtLCA0cmVtLCAgICA0MDAsIC0wLjAxNTYyNXJlbSksXG4gIGRpc3BsYXktbWVkaXVtOiAgICgyLjgxMjVyZW0sIDMuMjVyZW0sIDQwMCwgMCksXG4gIGRpc3BsYXktc21hbGw6ICAgICgyLjI1cmVtLCAgIDIuNzVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLWxhcmdlOiAgICgycmVtLCAgICAgIDIuNXJlbSwgIDQwMCwgMCksXG4gIGhlYWRsaW5lLW1lZGl1bTogICgxLjc1cmVtLCAgIDIuMjVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLXNtYWxsOiAgICgxLjVyZW0sICAgIDJyZW0sICAgIDQwMCwgMCksXG4gIHRpdGxlLWxhcmdlOiAgICAgICgxLjM3NXJlbSwgIDEuNzVyZW0sIDQwMCwgMCksXG4gIHRpdGxlLW1lZGl1bTogICAgICgxcmVtLCAgICAgIDEuNXJlbSwgIDUwMCwgMC4wMDkzNzVyZW0pLFxuICB0aXRsZS1zbWFsbDogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA1MDAsIDAuMDA2MjVyZW0pLFxuICBib2R5LWxhcmdlOiAgICAgICAoMXJlbSwgICAgICAxLjVyZW0sICA0MDAsIDAuMDMxMjVyZW0pLFxuICBib2R5LW1lZGl1bTogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA0MDAsIDAuMDE1NjI1cmVtKSxcbiAgYm9keS1zbWFsbDogICAgICAgKDAuNzVyZW0sICAgMXJlbSwgICAgNDAwLCAwLjAyNXJlbSksXG4gIGxhYmVsLWxhcmdlOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDUwMCwgMC4wMDYyNXJlbSksXG4gIGxhYmVsLW1lZGl1bTogICAgICgwLjc1cmVtLCAgIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4gIGxhYmVsLXNtYWxsOiAgICAgICgwLjY4NzVyZW0sIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4pO1xuXG5AbWl4aW4gbWQzLXR5cGUoJHRva2VuKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJG1kMy10eXBlLXNjYWxlLCAkdG9rZW4pO1xuICBmb250LXNpemU6IG50aCgkdmFsdWVzLCAxKTtcbiAgbGluZS1oZWlnaHQ6IG50aCgkdmFsdWVzLCAyKTtcbiAgZm9udC13ZWlnaHQ6IG50aCgkdmFsdWVzLCAzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IG50aCgkdmFsdWVzLCA0KTtcbn1cblxuLnRwYy1tZDMge1xuICBmb250LWZhbWlseTogJG1kMy1mb250LWZhbWlseTtcbiAgLy8gdG51bSBnaXZlcyB1bmlmb3JtLXdpZHRoIGRpZ2l0cyBmb3IgdGFibGVzIG9mIElEcy9zY29yZXMvZGF0ZXMgKHN1cHBvcnRlZCBieVxuICAvLyBTRiBQcm8sIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYSBOZXVlKS4ga2Vybi9saWdhIGFyZSB1bml2ZXJzYWwuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcImNhbHRcIiwgXCJ0bnVtXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIEBpbmNsdWRlIG1kMy10eXBlKGJvZHktbWVkaXVtKTtcblxuICAvLyBVdGlsaXR5IGNsYXNzZXMgZm9yIGVhY2ggTUQzIHRva2VuIChzY29wZWQgdW5kZXIgLnRwYy1tZDMgc28gdGhleSBkb24ndCBsZWFrKS5cbiAgQGVhY2ggJHRva2VuLCAkXyBpbiAkbWQzLXR5cGUtc2NhbGUge1xuICAgIC5tZDMtI3skdG9rZW59IHtcbiAgICAgIEBpbmNsdWRlIG1kMy10eXBlKCR0b2tlbik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBDb3JlcyBkZSBGSUxMIHBvciBzdGF0dXMgZXhwb3N0YXMgY29tbyBDU1MgY3VzdG9tIHByb3BlcnRpZXMsIGEgcGFydGlyIGRvc1xuLy8gbWFwYXMtdG9rZW4gYCRzdWJtaXNzaW9uLXN0YXR1c2AgLyBgJHJldmlldy1zdGF0dXNgIChvIDHCuiB2YWxvciBkZSBjYWRhIHR1cGxhXG4vLyDDqSBvIGZpbGwpLiBPIG5neC1jaGFydHMgY29sb3JlIHZpYSBKUyAobsOjbyBDU1MpLCBlbnTDo28gYSBGT05URSBEQSBWRVJEQURFIGZpY2Fcbi8vIG5vcyB0b2tlbnMgU0NTUyBlIG8gYERhc2hib2FyZENoYXJ0Q29tcG9uZW50YCBzw7MgTMOKIG9zIHZhbG9yZXMgcmVzb2x2aWRvc1xuLy8gKGdldENvbXB1dGVkU3R5bGUpIHByYSBtb250YXIgbyBgW2N1c3RvbUNvbG9yc11gLiBBc3NpbSBzdGF0dXMgbXVkYSBkZSBjb3IgbnVtXG4vLyBsdWdhciBzw7MgKG9zIG1hcGFzKSwgc2VtIGhleCBsaXRlcmFsIGVzcGFsaGFkbyBubyBUUy5cbjpyb290IHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkc3VibWlzc2lvbi1zdGF0dXMge1xuICAgIC0tY2hhcnQtc3RhdHVzLSN7JGtleX06ICN7bnRoKCR2YWwsIDEpfTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRyZXZpZXctc3RhdHVzIHtcbiAgICAtLWNoYXJ0LXN0YXR1cy0jeyRrZXl9OiAje250aCgkdmFsLCAxKX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgYXBsaWNhZG9zIEFQRU5BUyBxdWFuZG8gbyBhcHAgZXN0w6Egcm9kYW5kbyBjb21vIFBXQSBpbnN0YWxhZGFcbi8vIChzdGFuZGFsb25lIC8gbWluaW1hbC11aSAvIGZ1bGxzY3JlZW4gLyBDaHJvbWUgLS1hcHAgLyBpT1MgQWRpY2lvbmFyXG4vLyDDoCBUZWxhIGRlIEluw61jaW8pLiBBIGNsYXNzZSBgaW5zdGFsbGVkLWFwcGAgbm8gYDxib2R5PmAgw6kgYWRpY2lvbmFkYVxuLy8gcGVsbyBgQmFzZUNvbXBvbmVudGAgY29uc3VsdGFuZG8gbyBgUGxhdGZvcm1TZXJ2aWNlYC5cbi8vXG4vLyBCb3JkYSBzdXBlcmlvciBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyBFTlRSRSBFVkVOVE9TIChldmVudC1icmVhZGNydW1iKVxuLy8gKyBtZW51IGxhdGVyYWwgZG8gbGF5b3V0IG1vZGVybm8gKGV4cGVyaW1lbnRhbC1zaWRlYmFyKTogY29tcGVuc2EgYVxuLy8gYXVzw6puY2lhIGRvIGNocm9tZSBkbyBuYXZlZ2Fkb3IgKGJhcnJhIGRlIGVuZGVyZcOnbywgYWJhcykgZGFuZG8gdW1hXG4vLyBsaW5oYSBzdXRpbCBxdWUgYW5jb3JhIHZpc3VhbG1lbnRlIG8gdG9wbyBkYSBVSS5cblxuYm9keS5pbnN0YWxsZWQtYXBwIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIGNvbSBhIGNhZGVpYSBjbGljw6F2ZWwgZGUgZXZlbnRvc1xuICAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyAgICAgIC8vIG1lbnUgbGF0ZXJhbCBkbyBsYXlvdXQgbW9kZXJubyAoY2hhaXIgVUkpXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbmJvZHkuaW5zdGFsbGVkLWFwcC5kYXJrLXRoZW1lIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsXG4gIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuIl19 */
