@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[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.mat-active: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.mat-active: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.mat-active .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-active .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.mat-active .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.mat-active .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-chrome-collapsed=true] app-navbar .navbar .right-navbar-container .command-palette-trigger,
html[data-chrome-collapsed=true] app-navbar .navbar .right-navbar-container .support-help-button,
html[data-chrome-collapsed=true] app-navbar .navbar .right-navbar-container app-user-notifications {
  display: none !important;
}
html[data-device=mobile-portrait] body .desktop-only-menu-item.desktop-only-menu-item.desktop-only-menu-item {
  display: none !important;
}
body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  display: none !important;
}
html[data-chrome-collapsed=true] body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  display: flex !important;
}
html[data-device=mobile-portrait] body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  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;
  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 .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 .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-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-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 .support-help-button .mat-icon {
  color: #434343;
}
.dark-theme app-navbar .right-navbar-container .support-help-button .mat-icon {
  color: #D6D6D6;
}
.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;
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option) {
  padding: 0 0 5px !important;
  width: 296px !important;
  max-width: 296px !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;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !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), box-shadow 260ms cubic-bezier(0.4, 0, 0.2, 1);
}
.light-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):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:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:active {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !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;
}
/* 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 .track-file .track h3, .light-theme app-proceeding-step .track-file .track .card-title, .light-theme app-proceeding-step .track-file .track .section .section-title, .section .light-theme app-proceeding-step .track-file .track .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .track-file .track h3, .dark-theme app-proceeding-step .track-file .track .card-title, .dark-theme app-proceeding-step .track-file .track .section .section-title, .section .dark-theme app-proceeding-step .track-file .track .section-title {
  color: #F6F6F6;
}
.light-theme app-proceeding-step .sections3 .sections-list h3, .light-theme app-proceeding-step .sections3 .sections-list .card-title, .light-theme app-proceeding-step .sections3 .sections-list .section .section-title, .section .light-theme app-proceeding-step .sections3 .sections-list .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .sections3 .sections-list h3, .dark-theme app-proceeding-step .sections3 .sections-list .card-title, .dark-theme app-proceeding-step .sections3 .sections-list .section .section-title, .section .dark-theme app-proceeding-step .sections3 .sections-list .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: #868686;
}
.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: #868686;
}
/* 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;
}
.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: 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 {
  background-color: #2e2e2e !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !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;
  font-weight: 500 !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;
  font-weight: 500 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 2px 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: "";
}
@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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UjtBQUNGO0FLOTNOSTtFS3VYSTtJQUNFLGlCQUFBO0VWMGdOUjtBQUNGO0FVdmlOTTtFQUNFLG9CQUFBO0FWeWlOUjtBS3A3TkU7RUs2WU07SUFDRSxvQkFBQTtFVjBpTlI7QUFDRjtBS3I3TkU7RUs0WU07SUFDRSxvQkFBQTtFVjRpTlI7QUFDRjtBS3Q3TkU7RUsyWU07SUFDRSxvQkFBQTtFVjhpTlI7QUFDRjtBS3Y3TkU7RUswWU07SUFDRSxvQkFBQTtFVmdqTlI7QUFDRjtBS3g3TkU7RUt5WU07SUFDRSxvQkFBQTtFVmtqTlI7QUFDRjtBS3g3Tkk7RUt1WUk7SUFDRSxvQkFBQTtFVm9qTlI7QUFDRjtBS243Tkk7RUtnWUk7SUFDRSxvQkFBQTtFVnNqTlI7QUFDRjtBS243Tkk7RUs4WEk7SUFDRSxvQkFBQTtFVndqTlI7QUFDRjtBSzk2Tkk7RUt1WEk7SUFDRSxvQkFBQTtFVjBqTlI7QUFDRjtBVXZsTk07RUFDRSxtQkFBQTtBVnlsTlI7QUtwK05FO0VLNllNO0lBQ0UsbUJBQUE7RVYwbE5SO0FBQ0Y7QUtyK05FO0VLNFlNO0lBQ0UsbUJBQUE7RVY0bE5SO0FBQ0Y7QUt0K05FO0VLMllNO0lBQ0UsbUJBQUE7RVY4bE5SO0FBQ0Y7QUt2K05FO0VLMFlNO0lBQ0UsbUJBQUE7RVZnbU5SO0FBQ0Y7QUt4K05FO0VLeVlNO0lBQ0UsbUJBQUE7RVZrbU5SO0FBQ0Y7QUt4K05JO0VLdVlJO0lBQ0UsbUJBQUE7RVZvbU5SO0FBQ0Y7QUtuK05JO0VLZ1lJO0lBQ0UsbUJBQUE7RVZzbU5SO0FBQ0Y7QUtuK05JO0VLOFhJO0lBQ0UsbUJBQUE7RVZ3bU5SO0FBQ0Y7QUs5OU5JO0VLdVhJO0lBQ0UsbUJBQUE7RVYwbU5SO0FBQ0Y7QVV2b05NO0VBQ0Usb0JBQUE7QVZ5b05SO0FLcGhPRTtFSzZZTTtJQUNFLG9CQUFBO0VWMG9OUjtBQUNGO0FLcmhPRTtFSzRZTTtJQUNFLG9CQUFBO0VWNG9OUjtBQUNGO0FLdGhPRTtFSzJZTTtJQUNFLG9CQUFBO0VWOG9OUjtBQUNGO0FLdmhPRTtFSzBZTTtJQUNFLG9CQUFBO0VWZ3BOUjtBQUNGO0FLeGhPRTtFS3lZTTtJQUNFLG9CQUFBO0VWa3BOUjtBQUNGO0FLeGhPSTtFS3VZSTtJQUNFLG9CQUFBO0VWb3BOUjtBQUNGO0FLbmhPSTtFS2dZSTtJQUNFLG9CQUFBO0VWc3BOUjtBQUNGO0FLbmhPSTtFSzhYSTtJQUNFLG9CQUFBO0VWd3BOUjtBQUNGO0FLOWdPSTtFS3VYSTtJQUNFLG9CQUFBO0VWMHBOUjtBQUNGO0FVdnJOTTtFQUNFLGlCQUFBO0FWeXJOUjtBS3BrT0U7RUs2WU07SUFDRSxpQkFBQTtFVjByTlI7QUFDRjtBS3JrT0U7RUs0WU07SUFDRSxpQkFBQTtFVjRyTlI7QUFDRjtBS3RrT0U7RUsyWU07SUFDRSxpQkFBQTtFVjhyTlI7QUFDRjtBS3ZrT0U7RUswWU07SUFDRSxpQkFBQTtFVmdzTlI7QUFDRjtBS3hrT0U7RUt5WU07SUFDRSxpQkFBQTtFVmtzTlI7QUFDRjtBS3hrT0k7RUt1WUk7SUFDRSxpQkFBQTtFVm9zTlI7QUFDRjtBS25rT0k7RUtnWUk7SUFDRSxpQkFBQTtFVnNzTlI7QUFDRjtBS25rT0k7RUs4WEk7SUFDRSxpQkFBQTtFVndzTlI7QUFDRjtBSzlqT0k7RUt1WEk7SUFDRSxpQkFBQTtFVjBzTlI7QUFDRjtBVXZ1Tk07RUFDRSxvQkFBQTtBVnl1TlI7QUtwbk9FO0VLNllNO0lBQ0Usb0JBQUE7RVYwdU5SO0FBQ0Y7QUtybk9FO0VLNFlNO0lBQ0Usb0JBQUE7RVY0dU5SO0FBQ0Y7QUt0bk9FO0VLMllNO0lBQ0Usb0JBQUE7RVY4dU5SO0FBQ0Y7QUt2bk9FO0VLMFlNO0lBQ0Usb0JBQUE7RVZndk5SO0FBQ0Y7QUt4bk9FO0VLeVlNO0lBQ0Usb0JBQUE7RVZrdk5SO0FBQ0Y7QUt4bk9JO0VLdVlJO0lBQ0Usb0JBQUE7RVZvdk5SO0FBQ0Y7QUtubk9JO0VLZ1lJO0lBQ0Usb0JBQUE7RVZzdk5SO0FBQ0Y7QUtubk9JO0VLOFhJO0lBQ0Usb0JBQUE7RVZ3dk5SO0FBQ0Y7QUs5bU9JO0VLdVhJO0lBQ0Usb0JBQUE7RVYwdk5SO0FBQ0Y7QVV2eE5NO0VBQ0UsbUJBQUE7QVZ5eE5SO0FLcHFPRTtFSzZZTTtJQUNFLG1CQUFBO0VWMHhOUjtBQUNGO0FLcnFPRTtFSzRZTTtJQUNFLG1CQUFBO0VWNHhOUjtBQUNGO0FLdHFPRTtFSzJZTTtJQUNFLG1CQUFBO0VWOHhOUjtBQUNGO0FLdnFPRTtFSzBZTTtJQUNFLG1CQUFBO0VWZ3lOUjtBQUNGO0FLeHFPRTtFS3lZTTtJQUNFLG1CQUFBO0VWa3lOUjtBQUNGO0FLeHFPSTtFS3VZSTtJQUNFLG1CQUFBO0VWb3lOUjtBQUNGO0FLbnFPSTtFS2dZSTtJQUNFLG1CQUFBO0VWc3lOUjtBQUNGO0FLbnFPSTtFSzhYSTtJQUNFLG1CQUFBO0VWd3lOUjtBQUNGO0FLOXBPSTtFS3VYSTtJQUNFLG1CQUFBO0VWMHlOUjtBQUNGO0FVdjBOTTtFQUNFLG9CQUFBO0FWeTBOUjtBS3B0T0U7RUs2WU07SUFDRSxvQkFBQTtFVjAwTlI7QUFDRjtBS3J0T0U7RUs0WU07SUFDRSxvQkFBQTtFVjQwTlI7QUFDRjtBS3R0T0U7RUsyWU07SUFDRSxvQkFBQTtFVjgwTlI7QUFDRjtBS3Z0T0U7RUswWU07SUFDRSxvQkFBQTtFVmcxTlI7QUFDRjtBS3h0T0U7RUt5WU07SUFDRSxvQkFBQTtFVmsxTlI7QUFDRjtBS3h0T0k7RUt1WUk7SUFDRSxvQkFBQTtFVm8xTlI7QUFDRjtBS250T0k7RUtnWUk7SUFDRSxvQkFBQTtFVnMxTlI7QUFDRjtBS250T0k7RUs4WEk7SUFDRSxvQkFBQTtFVncxTlI7QUFDRjtBSzlzT0k7RUt1WEk7SUFDRSxvQkFBQTtFVjAxTlI7QUFDRjtBVXYzTk07RUFDRSxpQkFBQTtBVnkzTlI7QUtwd09FO0VLNllNO0lBQ0UsaUJBQUE7RVYwM05SO0FBQ0Y7QUtyd09FO0VLNFlNO0lBQ0UsaUJBQUE7RVY0M05SO0FBQ0Y7QUt0d09FO0VLMllNO0lBQ0UsaUJBQUE7RVY4M05SO0FBQ0Y7QUt2d09FO0VLMFlNO0lBQ0UsaUJBQUE7RVZnNE5SO0FBQ0Y7QUt4d09FO0VLeVlNO0lBQ0UsaUJBQUE7RVZrNE5SO0FBQ0Y7QUt4d09JO0VLdVlJO0lBQ0UsaUJBQUE7RVZvNE5SO0FBQ0Y7QUtud09JO0VLZ1lJO0lBQ0UsaUJBQUE7RVZzNE5SO0FBQ0Y7QUtud09JO0VLOFhJO0lBQ0UsaUJBQUE7RVZ3NE5SO0FBQ0Y7QUs5dk9JO0VLdVhJO0lBQ0UsaUJBQUE7RVYwNE5SO0FBQ0Y7QVdoNE9BO0VBQ0Usb0JBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsK0JBQUE7RUFBQSw0QkFBQTtFQUFBLHVCQUFBO0FYbTRPRjtBV2o0T0U7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7QVhtNE9KO0FXbDRPSTtFQUNFLHVCQUFBO0FYbzRPTjtBV240T0k7RUFDRSxzQkFqQlM7QVhzNU9mO0FXcDRPRTtFQUNFLG9CQUFBO0FYczRPSjtBV3I0T0U7RUFDRSxnQkFyQlc7QVg0NU9mO0FXdDRPRTtFQUNFLHNCQUFBO0FYdzRPSjtBV3Y0T0k7RUFDRSxnQ0FBQTtBWHk0T047QUs3ME9FO0VNekRFO0lBQ0UsYUFBQTtFWHk0T0o7RVd2NE9JO0lBQ0UsVUFBQTtJQUNBLG9CQUFBO0VYeTRPTjtFVzM0T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVg2NE9OO0VXLzRPSTtJQUNFLFVBQUE7SUFDQSxVQUFBO0VYaTVPTjtFV241T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVhxNU9OO0VXdjVPSTtJQUNFLFVBQUE7SUFDQSxxQkFBQTtFWHk1T047RVczNU9JO0lBQ0UsVUFBQTtJQUNBLFVBQUE7RVg2NU9OO0VXLzVPSTtJQUNFLFVBQUE7SUFDQSxxQkFBQTtFWGk2T047RVduNk9JO0lBQ0UsVUFBQTtJQUNBLHFCQUFBO0VYcTZPTjtFV3Y2T0k7SUFDRSxVQUFBO0lBQ0EsVUFBQTtFWHk2T047RVczNk9JO0lBQ0UsVUFBQTtJQUNBLHFCQUFBO0VYNjZPTjtFVy82T0k7SUFDRSxVQUFBO0lBQ0EscUJBQUE7RVhpN09OO0VXbjdPSTtJQUNFLFVBQUE7SUFDQSxXQUFBO0VYcTdPTjtBQUNGO0FZajZPQTtFQUNFLHVCTnhDYTtFTXlDYixtQkFyRGM7RUFzRGQsa0JBQUE7RUFDQSxXQXBEUztBWnc5T1g7QVloNk9JO0VBQ0UsdUJBSE07RUFJTixjQUhhO0FacTZPbkI7QVloNk9ROztFQUVFLGNBUFM7QVp5Nk9uQjtBWS81T1U7Ozs7RUFHRSx5QkFBQTtFQUNBLGNBZE87QVpnN09uQjtBWWg2T1U7RUFDRSxxQkFqQk87QVptN09uQjtBWWo2T007RUFDRSxjQW5CVztBWnM3T25CO0FLMTZPRTtFT1dROzs7O0lBRUUsY0F6Qk87RVo2N09qQjtFWWo2T1U7Ozs7Ozs7Ozs7SUFHRSx5QkFBQTtJQUNBLGNBaENLO0VaMDhPakI7RVl4Nk9VOztJQUNFLHFCQW5DSztFWjg4T2pCO0VZMTZPTTs7O0lBR0UseUJBQUE7SUFDQSxjQXhDUztFWm85T2pCO0VZejZPVTtJQUNFLHVCQTdDRjtJQThDRSxjQTdDSztFWnc5T2pCO0FBQ0Y7QVl4OU9JO0VBQ0UseUJBSE07RUFJTixZQUhhO0FaNjlPbkI7QVl4OU9ROztFQUVFLFlBUFM7QVppK09uQjtBWXY5T1U7Ozs7RUFHRSx1QkFBQTtFQUNBLFlBZE87QVp3K09uQjtBWXg5T1U7RUFDRSxtQkFqQk87QVoyK09uQjtBWXo5T007RUFDRSxZQW5CVztBWjgrT25CO0FLbCtPRTtFT1dROzs7O0lBRUUsWUF6Qk87RVpxL09qQjtFWXo5T1U7Ozs7Ozs7Ozs7SUFHRSx1QkFBQTtJQUNBLFlBaENLO0Vaa2dQakI7RVloK09VOztJQUNFLG1CQW5DSztFWnNnUGpCO0VZbCtPTTs7O0lBR0UsdUJBQUE7SUFDQSxZQXhDUztFWjRnUGpCO0VZaitPVTtJQUNFLHlCQTdDRjtJQThDRSxZQTdDSztFWmdoUGpCO0FBQ0Y7QVloaFBJO0VBQ0UsNEJBSE07RUFJTix5QkFIYTtBWnFoUG5CO0FZaGhQUTs7RUFFRSx5QkFQUztBWnloUG5CO0FZL2dQVTs7OztFQUdFLHlCQUFBO0VBQ0EseUJBZE87QVpnaVBuQjtBWWhoUFU7RUFDRSxnQ0FqQk87QVptaVBuQjtBWWpoUE07RUFDRSx5QkFuQlc7QVpzaVBuQjtBSzFoUEU7RU9XUTs7OztJQUVFLHlCQXpCTztFWjZpUGpCO0VZamhQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EseUJBaENLO0VaMGpQakI7RVl4aFBVOztJQUNFLGdDQW5DSztFWjhqUGpCO0VZMWhQTTs7O0lBR0UseUJBQUE7SUFDQSx5QkF4Q1M7RVpva1BqQjtFWXpoUFU7SUFDRSw0QkE3Q0Y7SUE4Q0UseUJBN0NLO0Vad2tQakI7QUFDRjtBWXhrUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2a1BuQjtBWXhrUFE7O0VBRUUsV0FQUztBWmlsUG5CO0FZdmtQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWndsUG5CO0FZeGtQVTtFQUNFLGtCQWpCTztBWjJsUG5CO0FZemtQTTtFQUNFLFdBbkJXO0FaOGxQbkI7QUtsbFBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnFtUGpCO0VZemtQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprblBqQjtFWWhsUFU7O0lBQ0Usa0JBbkNLO0Vac25QakI7RVlsbFBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNG5QakI7RVlqbFBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZ29QakI7QUFDRjtBWWhvUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVpxb1BuQjtBWWhvUFE7O0VBRUUsV0FQUztBWnlvUG5CO0FZL25QVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWmdwUG5CO0FZaG9QVTtFQUNFLGtCQWpCTztBWm1wUG5CO0FZam9QTTtFQUNFLFdBbkJXO0Fac3BQbkI7QUsxb1BFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWjZwUGpCO0VZam9QVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVowcVBqQjtFWXhvUFU7O0lBQ0Usa0JBbkNLO0VaOHFQakI7RVkxb1BNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0Vab3JQakI7RVl6b1BVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0Vad3JQakI7QUFDRjtBWXhyUEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2clBuQjtBWXhyUFE7O0VBRUUsV0FQUztBWmlzUG5CO0FZdnJQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWndzUG5CO0FZeHJQVTtFQUNFLGtCQWpCTztBWjJzUG5CO0FZenJQTTtFQUNFLFdBbkJXO0FaOHNQbkI7QUtsc1BFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnF0UGpCO0VZenJQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprdVBqQjtFWWhzUFU7O0lBQ0Usa0JBbkNLO0Vac3VQakI7RVlsc1BNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNHVQakI7RVlqc1BVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZ3ZQakI7QUFDRjtBWWh2UEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVpxdlBuQjtBWWh2UFE7O0VBRUUsV0FQUztBWnl2UG5CO0FZL3VQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWmd3UG5CO0FZaHZQVTtFQUNFLGtCQWpCTztBWm13UG5CO0FZanZQTTtFQUNFLFdBbkJXO0Fac3dQbkI7QUsxdlBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWjZ3UGpCO0VZanZQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVoweFBqQjtFWXh2UFU7O0lBQ0Usa0JBbkNLO0VaOHhQakI7RVkxdlBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0Vab3lQakI7RVl6dlBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0Vad3lQakI7QUFDRjtBWXh5UEk7RUFDRSx5QkFITTtFQUlOLFdBSGE7QVo2eVBuQjtBWXh5UFE7O0VBRUUsV0FQUztBWml6UG5CO0FZdnlQVTs7OztFQUdFLHlCQUFBO0VBQ0EsV0FkTztBWnd6UG5CO0FZeHlQVTtFQUNFLGtCQWpCTztBWjJ6UG5CO0FZenlQTTtFQUNFLFdBbkJXO0FaOHpQbkI7QUtselBFO0VPV1E7Ozs7SUFFRSxXQXpCTztFWnEwUGpCO0VZenlQVTs7Ozs7Ozs7OztJQUdFLHlCQUFBO0lBQ0EsV0FoQ0s7RVprMVBqQjtFWWh6UFU7O0lBQ0Usa0JBbkNLO0VaczFQakI7RVlselBNOzs7SUFHRSx5QkFBQTtJQUNBLFdBeENTO0VaNDFQakI7RVlqelBVO0lBQ0UseUJBN0NGO0lBOENFLFdBN0NLO0VaZzJQakI7QUFDRjtBWWgyUEk7RUFDRSx5QkFITTtFQUlOLHlCQUhhO0FacTJQbkI7QVloMlBROztFQUVFLHlCQVBTO0FaeTJQbkI7QVkvMVBVOzs7O0VBR0UseUJBQUE7RUFDQSx5QkFkTztBWmczUG5CO0FZaDJQVTtFQUNFLGdDQWpCTztBWm0zUG5CO0FZajJQTTtFQUNFLHlCQW5CVztBWnMzUG5CO0FLMTJQRTtFT1dROzs7O0lBRUUseUJBekJPO0VaNjNQakI7RVlqMlBVOzs7Ozs7Ozs7O0lBR0UseUJBQUE7SUFDQSx5QkFoQ0s7RVowNFBqQjtFWXgyUFU7O0lBQ0UsZ0NBbkNLO0VaODRQakI7RVkxMlBNOzs7SUFHRSx5QkFBQTtJQUNBLHlCQXhDUztFWm81UGpCO0VZejJQVTtJQUNFLHlCQTdDRjtJQThDRSx5QkE3Q0s7RVp3NVBqQjtBQUNGO0FZeDVQSTtFQUNFLHlCQUhNO0VBSU4sV0FIYTtBWjY1UG5CO0FZeDVQUTs7RUFFRSxXQVBTO0FaaTZQbkI7QVl2NVBVOzs7O0VBR0UseUJBQUE7RUFDQSxXQWRPO0FadzZQbkI7QVl4NVBVO0VBQ0Usa0JBakJPO0FaMjZQbkI7QVl6NVBNO0VBQ0UsV0FuQlc7QVo4NlBuQjtBS2w2UEU7RU9XUTs7OztJQUVFLFdBekJPO0VacTdQakI7RVl6NVBVOzs7Ozs7Ozs7O0lBR0UseUJBQUE7SUFDQSxXQWhDSztFWms4UGpCO0VZaDZQVTs7SUFDRSxrQkFuQ0s7RVpzOFBqQjtFWWw2UE07OztJQUdFLHlCQUFBO0lBQ0EsV0F4Q1M7RVo0OFBqQjtFWWo2UFU7SUFDRSx5QkE3Q0Y7SUE4Q0UsV0E3Q0s7RVpnOVBqQjtBQUNGO0FZbjZQRTtFQUNFLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQTNHWTtFQTRHWixXQUFBO0FacTZQSjtBWXA2UEU7RUFDRSxnQ0FBQTtBWnM2UEo7QVlyNlBFO0VBakVBLE9BQUE7RUFDQSxlQUFBO0VBQ0EsUUFBQTtFQUNBLFdBN0NlO0Fac2hRakI7QVl4NlBFO0VBQ0UsU0FBQTtBWjA2UEo7QVl6NlBJO0VBQ0UsaUNBQUE7QVoyNlBOO0FZMTZQRTtFQUNFLE1BQUE7QVo0NlBKO0FZeDZQRTs7RUFDRSxvQkE1SFk7QVp3aVFoQjtBWTM2UEU7O0VBQ0UsdUJBOUhZO0FaNGlRaEI7QVk1NlBBOztFQUVFLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFySWM7QVpvalFoQjtBWTM2UEk7RUFFRSw2QkFBQTtBWjY2UE47QVkzNlBBO0VQbEZFLGlDQUFBO0VPb0ZBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBWjg2UEY7QVk1NlBBO0VBQ0UsY05oSmE7RURvQmIsZUFBQTtFQUNBLGNBQUE7RUFDQSxlTzFCYztFUDJCZCxrQkFBQTtFQUNBLGNPNUJjO0VBc0pkLGlCQUFBO0FabTdQRjtBSzVpUUU7RUFDRSw4QkFBQTtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0EseUJDaUNJO0VEaENKLHlEQUFBO0VBQ0Esb0NDMEJLO0VEekJMLFdBQUE7QUw4aVFKO0FLN2lRSTtFQUNFLG9CQUFBO0FMK2lRTjtBSzlpUUk7RUFDRSxvQkFBQTtBTGdqUU47QUsvaVFJO0VBQ0Usb0JBQUE7QUxpalFOO0FLaGpRRTtFQUNFLHFDQUFBO0FMa2pRSjtBSzlpUU07RUFDRSx3Q0FBQTtBTGdqUVI7QUsvaVFNO0VBQ0UsVUFBQTtBTGlqUVI7QUtoalFNO0VBQ0UsMENBQUE7QUxralFSO0FZbDlQQTtFQUNFLGFBQUE7QVpxOVBGO0FZbjlQQTs7RUFFRSxjTnpKYTtFTTBKYixjQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGtCQUFBO0FaczlQRjtBWXA5UEk7O0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtBWnU5UE47QVlyOVBBOztFQUVFLGVBQUE7QVp3OVBGO0FZdjlQRTs7Ozs7RUFJRSx5Qk5uS1c7RU1vS1gsY041Slc7QU5zblFmO0FZeDlQQTtFQUNFLFlBQUE7RUFDQSxjQUFBO0FaMjlQRjtBWTE5UEU7RUFDRSxtQkExS3lCO0Fac29RN0I7QVkzOVBFO0VBQ0UsVUFBQTtBWjY5UEo7QVk1OVBFO0VBQ0UsWUFBQTtFQUNBLGNBQUE7QVo4OVBKO0FZNzlQRTtFQUNFLG9DQUFBO0VBQ0EsbUJBN0xZO0VBOExaLGtDQUFBO0FaKzlQSjtBWTk5UEk7RUFFRSw2QkFsTDhCO0VBbUw5Qiw0Qk4vS1M7QU44b1FmO0FZOTlQSTtFQUNFLDZCQWxMK0I7RUFtTC9CLDRCTmxMUztFTW1MVCwwQkFsTGtDO0VBbUxsQyx3QkFsTGtDO0VBbUxsQyxjTnJMUztFTXNMVCxrQ0FBQTtBWmcrUE47QVk5OVBBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7QVppK1BGO0FZLzlQQTtFQUNFLG9CQUFBO0FaaytQRjtBWWorUEU7RUFFRSxxQk5oTVc7RU1pTVgsb0JBQUE7RUFDQSxjQUFBO0FaaytQSjtBWWgrUEE7RUFDRSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7QVptK1BGO0FZbCtQRTtFQUNFLG9CQUFBO0VBQ0EscUJBQUE7QVpvK1BKO0FZbCtQQTtFQUNFLDRCTnROYTtFTXVOYixZQUFBO0VBQ0EsYUFBQTtFQUNBLFdBNUxzQjtFQTZMdEIsZ0JBQUE7QVpxK1BGO0FLL25RRTtFTzZKQTtJQUNFLGNBQUE7RVpzK1BGOztFWW4rUEU7O0lBQ0UsbUJBQUE7SUFDQSxhQUFBO0VadStQSjs7RVlyK1BFO0lBQ0UsYUFBQTtFWncrUEo7O0VZditQQTtJQUNFLHVCTnRPVztJTXVPWCw0Q0FBQTtJQUNBLGlCQUFBO0VaMCtQRjtFWXorUEU7SUFDRSxjQUFBO0VaMitQSjs7RVl4K1BFO0lBM01GLE9BQUE7SUFDQSxlQUFBO0lBQ0EsUUFBQTtJQUNBLFdBN0NlO0Vab3VRZjtFWTUrUEU7SUFDRSxTQUFBO0VaOCtQSjtFWTcrUEk7SUFDRSw0Q0FBQTtFWisrUE47RVk5K1BFO0lBQ0UsTUFBQTtFWmcvUEo7RVk3K1BJO0lQek1KLGlDQUFBO0lPMk1NLGlDQUFBO0lBQ0EsY0FBQTtFWisrUE47O0VZNStQRTs7SUFDRSxvQkEzUVU7RVoydlFkO0VZLytQRTs7SUFDRSx1QkE3UVU7RVordlFkO0FBQ0Y7QUsxclFFO0VPME1BOzs7O0lBSUUsb0JBQUE7SUFDQSxhQUFBO0VabS9QRjs7RVlsL1BBO0lBQ0UsbUJBdlJZO0VaNHdRZDtFWXAvUEU7SUFDRSxrQkFBQTtFWnMvUEo7RVlyL1BJOztJQUVFLG1CQUFBO0VadS9QTjtFWXQvUEk7O0lBRUUsa0JON05DO0VOcXRRUDtFWXAvUE07Ozs7SUFHRSx3Q0FBQTtFWnUvUFI7RVlqL1BRO0lBQ0Usd0NBQUE7RVptL1BWO0VZaC9QUTtJQUVFLDRCTnhTRztJTXlTSCxjTnBURztFTnF5UWI7RVloL1BRO0lBQ0UsNEJOM1NHO0lNNFNILGNOblNHO0VOcXhRYjs7RVlqL1BBO0lBQ0UsYUFBQTtFWm8vUEY7O0VZbi9QQTs7SUFFRSxtQkFBQTtJQUNBLGFBQUE7RVpzL1BGOztFWXAvUEU7SUFDRSxvQkFBQTtFWnUvUEo7RVlyL1BJO0lBQ0Usb0RBQUE7RVp1L1BOO0VZdC9QSTtJQUNFLGdDQTVTcUI7SUE2U3JCLDBCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsNENBQUE7SUFDQSxTQUFBO0Vady9QTjtFWW4vUEk7SUFDRSxjQUFBO0VacS9QTjtFWXAvUE07SUFFRSxVQUFBO0lBQ0Esb0JBQUE7SUFDQSx3QkFBQTtFWnEvUFI7O0VZcC9QQTtJQUNFLFlBQUE7SUFDQSxjQUFBO0VadS9QRjs7RVl0L1BBO0lBQ0UsMkJBQUE7SUFDQSxrQkFBQTtFWnkvUEY7O0VZeC9QQTtJQUNFLHlCQUFBO0lBQ0EsaUJBQUE7RVoyL1BGOztFWTEvUEE7SUFDRSx1Qk5uVlc7SU1vVlgsOEJON1JXO0lNOFJYLCtCTjlSVztJTStSWCw2QkExVXlCO0lBMlV6QiwyQ0FBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtJQUNBLE9BQUE7SUFDQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsV0E5VWdCO0VaMjBRbEI7RVk1L1BFO0lBQ0Usc0JBQUE7SUFDQSxtQkFBQTtFWjgvUEo7RVk3L1BFO0lBQ0UsbUJBQUE7RVorL1BKO0VZOS9QSTtJQUVFLDRCTnhXTztJTXlXUCxjTnBYTztFTm0zUWI7RVk5L1BJO0lBQ0UsNEJOM1dPO0lNNFdQLGNObldPO0VObTJRYjtFWS8vUEU7SUFFRSxrQk50VFM7SU11VFQsZ0JBQUE7SUFDQSw0RUE1VnlCO0lBNlZ6QixjQUFBO0lBQ0EsVUFBQTtJQUNBLG9CQUFBO0lBQ0Esd0JBQUE7SUFDQSwyQkFBQTtJQUNBLHlCTjVURTtJTTZURix1Q0FBQTtFWmdnUUo7RVkvL1BFO0lBQ0UsVUFBQTtJQUNBLFFBQUE7RVppZ1FKOztFWWhnUUE7SUFDRSxjQUFBO0VabWdRRjs7RVloZ1FFOztJQUNFLHFCQUFBO0Vab2dRSjtFWW5nUUU7O0lBQ0Usc0JBQUE7RVpzZ1FKOztFWW5nUUU7SUFsV0YsT0FBQTtJQUNBLGVBQUE7SUFDQSxRQUFBO0lBQ0EsV0E3Q2U7RVpzNVFmO0VZdmdRRTtJQUNFLFNBQUE7RVp5Z1FKO0VZeGdRSTtJQUNFLDRDQUFBO0VaMGdRTjtFWXpnUUU7SUFDRSxNQUFBO0VaMmdRSjs7RVl4Z1FFOztJQUNFLG9CQTVaVTtFWnc2UWQ7RVkzZ1FFOztJQUNFLHVCQTlaVTtFWjQ2UWQ7RVk3Z1FFOztJQUNFLG9CQUFBO0VaZ2hRSjtFWS9nUUU7O0lBQ0UsdUJBQUE7RVpraFFKOztFWTlnUUU7O0lBQ0UsY054YVM7RU4wN1FiO0VZamhRRTs7SUFDRSw2QkEvWmdDO0VabTdRcEM7O0VZL2dRSTtJQUNFLHlCTnBhTztFTnM3UWI7QUFDRjtBWTlnUUU7RUFDRSxpQ0FBQTtBWmdoUUo7QWF0OFFBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7QWJ5OFFGO0FheDhRRTtFQUNFLGVBQUE7RUFDQSxrQlA0Q0U7RU8zQ0YsbUJQMkNFO0VPMUNGLFdBQUE7QWIwOFFKO0FLcDNRRTtFUS9GRjtJQVdJLGdCQUFBO0ViNDhRRjtBQUNGO0FLLzJRSTtFUTVGQTtJQUNFLGlCQUFBO0ViODhRSjtBQUNGO0FLcjJRSTtFUXhHQTtJQUNFLGlCQUFBO0ViZzlRSjtBQUNGO0FLcDNRSTtFUTlHSjtJQW1CSSxpQkFBQTtFYm05UUY7QUFDRjtBSzEyUUk7RVE3SEo7SUFxQkksaUJBQUE7RWJzOVFGO0FBQ0Y7QWMxK1FBO0VBQ0Usb0JBTGdCO0Fkay9RbEI7QUtqNVFFO0VTeEZFO0lBQ0Usb0JBVG1CO0VkcS9RdkI7RWMzK1FFO0lBQ0UscUJBVmtCO0VkdS9RdEI7QUFDRjtBZXYrUUE7O0VBR0Usc0JBQUE7QWZ5K1FGO0FleCtRRTs7OztFQUVFLG9CQUFBO0FmNCtRSjtBZTMrUUU7O0VBQ0UsaUJBcEJhO0Fma2dSakI7QWU3K1FFOztFQUNFLGlCQXJCYTtBZnFnUmpCO0FlLytRRTs7RUFDRSxzQkFBQTtBZmsvUUo7QWVoL1FBO0VBQ0UsY1Q1QmE7RVMrQmIsZVRITztFU0lQLGdCVEtnQjtFU0poQixrQkFuQ2tCO0Fmb2hScEI7QWVoL1FFO0VBQ0UsY0FwQ2lCO0VBcUNqQixvQkFwQ2tCO0Fmc2hSdEI7QWVqL1FFO0VBQ0Usb0JBQUE7QWZtL1FKO0FlbC9RRTtFQUNFLG9CQTdCdUI7QWZpaFIzQjtBZWgvUUk7RUFDRSxlQ3NERTtBaEI0N1FSO0Flbi9RSTtFQUNFLGlCQ3NERTtBaEIrN1FSO0FldC9RSTtFQUNFLGVDc0RFO0FoQms4UVI7QWV6L1FJO0VBQ0UsaUJDc0RFO0FoQnE4UVI7QWU1L1FJO0VBQ0Usa0JDc0RFO0FoQnc4UVI7QWUvL1FJO0VBQ0UsZUNzREU7QWhCMjhRUjtBZWxnUkk7RUFDRSxrQkNzREU7QWhCODhRUjtBZWxnUkE7RUFDRSxjVC9DYTtFU2tEYixrQlRyQk87RVNzQlAsZ0JUakJjO0VTa0JkLGlCQTdDcUI7QWZnalJ2QjtBZWxnUkU7RUFDRSxjVHZEVztFU3dEWCxnQlRuQmM7QU51aFJsQjtBZW5nUkU7RUFDRSxvQkEvQ3VCO0Fmb2pSM0I7QWVqZ1JJO0VBQ0UsZUNvQ0U7QWhCKzlRUjtBZXBnUkk7RUFDRSxpQkNvQ0U7QWhCaytRUjtBZXZnUkk7RUFDRSxlQ29DRTtBaEJxK1FSO0FlMWdSSTtFQUNFLGlCQ29DRTtBaEJ3K1FSO0FlN2dSSTtFQUNFLGtCQ29DRTtBaEIyK1FSO0FlaGhSSTtFQUNFLGVDb0NFO0FoQjgrUVI7QWVuaFJJO0VBQ0Usa0JDb0NFO0FoQmkvUVI7QWlCcmxSQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FSa0I7RUFTbEIsY0FBQTtFQUNBLGtCQUFBO0FqQndsUkY7QWlCcmxSQTtFQUNFLGlCQUFBO0VBQ0EsY1hQYTtFV1FiLDJCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQlhtQk87RVdsQlAsc0JBQUE7RUFHQSw4QkFBQTtFQUNBLGtCQUFBO0FqQndsUkY7QUszaFJFO0VZM0RGO0lBRUksY0FBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxTQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0VqQnlsUkY7RWlCeGxSRTtJQUNFLGlDQUFBO0lBQ0EsWUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBO0lBQ0EsU0FBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUdBLDJCQUFBO0VqQjBsUko7RWlCemxSRTtJQUNFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxlQUFBO0lBR0EsNENBQUE7RWpCMmxSSjtBQUNGO0FpQnJsUkk7O0VBQ0UsdUJBSE07QWpCNGxSWjtBaUJ2bFJNOzs7RUFDRSxtQkFMVztFQU1YLFlBUEk7QWpCa21SWjtBaUJ6bFJNOztFQUNFLHdCQVZJO0FqQnNtUlo7QWlCcG1SSTs7RUFDRSx5QkFITTtBakIwbVJaO0FpQnJtUk07OztFQUNFLGlCQUxXO0VBTVgsY0FQSTtBakJnblJaO0FpQnZtUk07O0VBQ0UsMEJBVkk7QWpCb25SWjtBaUJsblJJOztFQUNFLDRCQUhNO0FqQnduUlo7QWlCbm5STTs7O0VBQ0UsOEJBTFc7RUFNWCxpQkFQSTtBakI4blJaO0FpQnJuUk07O0VBQ0UsNkJBVkk7QWpCa29SWjtBaUJob1JJOztFQUNFLHlCQUhNO0FqQnNvUlo7QWlCam9STTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjRvUlo7QWlCbm9STTs7RUFDRSwwQkFWSTtBakJncFJaO0FpQjlvUkk7O0VBQ0UseUJBSE07QWpCb3BSWjtBaUIvb1JNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCMHBSWjtBaUJqcFJNOztFQUNFLDBCQVZJO0FqQjhwUlo7QWlCNXBSSTs7RUFDRSx5QkFITTtBakJrcVJaO0FpQjdwUk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakJ3cVJaO0FpQi9wUk07O0VBQ0UsMEJBVkk7QWpCNHFSWjtBaUIxcVJJOztFQUNFLHlCQUhNO0FqQmdyUlo7QWlCM3FSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQnNyUlo7QWlCN3FSTTs7RUFDRSwwQkFWSTtBakIwclJaO0FpQnhyUkk7O0VBQ0UseUJBSE07QWpCOHJSWjtBaUJ6clJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCb3NSWjtBaUIzclJNOztFQUNFLDBCQVZJO0FqQndzUlo7QWlCdHNSSTs7RUFDRSx5QkFITTtBakI0c1JaO0FpQnZzUk07OztFQUNFLDhCQUxXO0VBTVgsY0FQSTtBakJrdFJaO0FpQnpzUk07O0VBQ0UsMEJBVkk7QWpCc3RSWjtBaUJwdFJJOztFQUNFLHlCQUhNO0FqQjB0Ulo7QWlCcnRSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQmd1Ulo7QWlCdnRSTTs7RUFDRSwwQkFWSTtBakJvdVJaO0FpQmx1Ukk7O0VBQ0UseUJBSE07QWpCd3VSWjtBaUJudVJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCOHVSWjtBaUJydVJNOztFQUNFLDBCQVZJO0FqQmt2Ulo7QWlCaHZSSTs7RUFDRSx5QkFITTtBakJzdlJaO0FpQmp2Uk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakI0dlJaO0FpQm52Uk07O0VBQ0UsMEJBVkk7QWpCZ3dSWjtBaUI5dlJJOztFQUNFLHlCQUhNO0FqQm93Ulo7QWlCL3ZSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjB3Ulo7QWlCandSTTs7RUFD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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtB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UTtFQUNFLHVCQUFBO0FoRHFuZFY7QWdEN25kTTtFQUtFLG9DQUFBO0FoRDJuZFI7QWdEem5kUTtFQUNFLHVCQUFBO0FoRDJuZFY7QWdEbm9kTTtFQUtFLG9DQUFBO0FoRGlvZFI7QWdEL25kUTtFQUNFLHVCQUFBO0FoRGlvZFY7QWdEem9kTTtFQUtFLG9DQUFBO0FoRHVvZFI7QWdEcm9kUTtFQUNFLHVCQUFBO0FoRHVvZFY7QWdEL29kTTtFQUtFLG9DQUFBO0FoRDZvZFI7QWdEM29kUTtFQUNFLHVCQUFBO0FoRDZvZFY7QWdEcnBkTTtFQUtFLG9DQUFBO0FoRG1wZFI7QWdEanBkUTtFQUNFLHVCQUFBO0FoRG1wZFY7QWdEM3BkTTtFQUtFLG9DQUFBO0FoRHlwZFI7QWdEdnBkUTtFQUNFLHVCQUFBO0FoRHlwZFY7QWdEanFkTTtFQUtFLG9DQUFBO0FoRCtwZFI7QWdEN3BkUTtFQUNFLHVCQUFBO0FoRCtwZFY7QWdEdnFkTTtFQUtFLG9DQUFBO0FoRHFxZFI7QWdEbnFkUTtFQUNFLHVCQUFBO0FoRHFxZFY7QWdEN3FkTTtFQUtFLG9DQUFBO0FoRDJxZFI7QWdEenFkUTtFQUNFLHVCQUFBO0FoRDJxZFY7QWdEM3BkTTtFQUNFLGtDQUFBO0VBQ0Esb0NBQUE7QWhENnBkUjtBZ0QxcGRRO0VBQ0UseUJBQUE7QWhENHBkVjtBZ0RscWRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERvcWRSO0FnRGpxZFE7RUFDRSx5QkFBQTtBaERtcWRWO0FnRHpxZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRDJxZFI7QWdEeHFkUTtFQUNFLHlCQUFBO0FoRDBxZFY7QWdEaHJkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEa3JkUjtBZ0QvcWRRO0VBQ0UseUJBQUE7QWhEaXJkVjtBZ0R2cmRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaER5cmRSO0FnRHRyZFE7RUFDRSx5QkFBQTtBaER3cmRWO0FnRDlyZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRGdzZFI7QWdEN3JkUTtFQUNFLHlCQUFBO0FoRCtyZFY7QWdE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QjtBeUQ5cmhCSTs7RUFFSSx1Q25DeFZtQjtBdEJ3aGlCM0I7QXlEaHJoQlE7O0VBRUksc0ZBQUE7QXpEa3JoQlo7QXlEN3FoQlE7O0VBRUksc0ZBQUE7QXpEK3FoQlo7QXlENXBoQkk7Ozs7RUFJSSx3Q0FBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7QXpEK3BoQlI7QXlEM3BoQkk7Ozs7RUFJSSxxQkFBQTtFQUNBLGVBQUE7QXpENnBoQlI7QXlEenBoQkk7O0VBRUksNEJBQUE7RUFDQSwrQkFBQTtBekQycGhCUjtBeURwcGhCSTs7OztFQUlJLHlCbkN0dUJZO0VtQ3V1QlosNEJuQ3Z1Qlk7QXRCNjNpQnBCO0F5RHBwaEJJOzs7Ozs7OztFQVFJLDBCbkNqdkJZO0F0QnU0aUJwQjtBeURwcGhCSTs7OztFQUlJLDJCbkN2dkJZO0F0QjY0aUJwQjtBeURqcGhCSTs7OztFQUlJLHlCbkMvdkJpQjtFbUNnd0JqQiw0Qm5DaHdCaUI7QXRCbzVpQnpCO0F5RGxwaEJJOzs7Ozs7OztFQVFJLDBCbkMxd0JpQjtBdEI4NWlCekI7QXlEbHBoQkk7Ozs7RUFJSSwyQm5DaHhCaUI7QXRCbzZpQnpCO0F5RDdvaEJJO0VBQXlCLGFBQUE7QXpEaXBoQjdCO0F5RGhwaEJJO0VBQWlDLGFBQUE7QXpEbXBoQnJDO0F5RGxwaEJJO0VBQ0ksbUNBQUE7QXpEb3BoQlI7QXlEbHBoQkk7O0VBRUksdUNuQ2xlbUI7QXRCc25pQjNCO0F5RDlvaEJJOzs7O0VBSUksMkJuQ3p5Qlk7QXRCeTdpQnBCO0F5RHRvaEJJO0VBQ0ksdUJuQ3J5QmdCO0F0Qjg2aUJ4QjtBeUR0b2hCSTs7RUFFSSwyQ0FBQTtFQUNBLDhDQUFBO0F6RHdvaEJSO0F5RHRvaEJJOzs7O0VBSUksNENBQUE7QXpEd29oQlI7QXlEdG9oQkk7O0VBRUksNkNBQUE7QXpEd29oQlI7QXlEaG9oQkE7O0VBRUksa0dBQUE7QXpEbW9oQko7QXlEaG9oQkE7O0VBRUksa0dBQUE7QXpEbW9oQko7QXlEL25o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O0FzQzd5bEJNO0VBQ0UscUJoQklHO0F0QjR5bEJYO0FzQzV5bEJNO0VBQ0kscUJoQkZDO0F0Qml6bEJYO0FzQ3J6bEJNO0VBQ0UscUJoQklHO0F0Qm96bEJYO0FzQ3B6bEJNO0VBQ0kscUJoQkhDO0F0QjB6bEJYO0FzQzd6bEJNO0VBQ0UsNkIwQndFdUU7QWhFd3ZsQi9FO0FzQzV6bEJNO0VBQ0ksNkIwQm1Fa0Y7QWhFNHZsQjVGO0FzQ3IwbEJNO0VBQ0UseUJoQktHO0F0Qm0wbEJYO0FzQ3AwbEJNO0VBQ0kseUJoQkhDO0F0QjAwbEJYO0FzQzcwbEJNO0VBQ0UseUJoQktHO0F0QjIwbEJYO0FzQzUwbEJNO0VBQ0kseUJoQkhDO0F0QmsxbEJYO0FzQ3IxbEJNO0VBQ0UseUJoQktHO0F0Qm0xbEJYO0FzQ3AxbEJNO0VBQ0kseUJoQkhDO0F0QjAxbEJYO0FzQzcxbEJNO0VBQ0UseUJoQktHO0F0QjIxbEJYO0FzQzUxbEJNO0VBQ0kseUJoQkhDO0F0QmsybEJYO0FzQ3IybEJNO0VBQ0Usb0MwQjRGTjtBaEU0d2xCRjtBc0NwMmxCTTtFQUNJLG9DMEJ3RlI7QWhFK3dsQkY7QXNDNzJsQk07RUFDRSwwQjBCbUdzRTtBaEU2d2xCOUU7QXNDNTJsQk07RUFDSSwwQjBCOEYwRztBaEVpeGxCcEg7QXNDcjNsQk07RUFDRSxvQzBCb0cyRTtBaEVveGxCbkY7QXNDcDNsQk07RUFDSSxvQzBCK0YrRztBaEV3eGxCekg7QXNDNzNsQk07RUFDRSxrQmhCZ0s4QjtBdEJndWxCdEM7QXNDNTNsQk07RUFDSSxxQmhCNkppQztBdEJrdWxCM0M7QXNDcjRsQk07RUFDRSx5QmhCTUc7QXRCazRsQlg7QXNDcDRsQk07RUFDSSx5QmhCVEM7QXRCZzVsQlg7QXNDNzRsQk07RUFDRSx5QmhCTUc7QXRCMDRsQlg7QXNDNTRsQk07RUFDSSx5QmhCVEM7QXRCdzVsQlg7QXNDcjVsQk07RUFDRSx5QmhCNEJZO0F0QjQzbEJwQjtBc0NwNWxCTTtFQUNJLHlCaEJIQztBdEIwNWxCWDtBc0M3NWxCTTtFQUNFLHlCaEI0Qlk7QXRCbzRsQnBCO0FzQzU1bEJNO0VBQ0kseUJoQkhDO0F0Qms2bEJYO0FzQ3I2bEJNO0VBQ0UscUJoQjRCWTtBdEI0NGxCcEI7QXNDcDZsQk07RUFDSSxxQmhCSEM7QXRCMDZsQlg7QXNDNzZsQk07RUFDRSx5QmhCNEJZO0F0Qm81bEJwQjtBc0M1NmxCTTtFQUNJLHlCaEJUQztBdEJ3N2xCWDtBc0NyN2xCTTtFQUNFLHlCaEI0Qlk7QXRCNDVsQnBCO0FzQ3A3bEJNO0VBQ0kseUJoQlRDO0F0Qmc4bEJYO0FzQzc3bEJNO0VBQ0Usc0IwQjJIZ0g7QWhFcTBsQnhIO0FzQzU3bEJNO0VBQ0ksc0IwQnNIb0g7QWhFeTBsQjlIO0FzQ3I4bEJNO0VBQ0UsMEIwQjhIZ0c7QWhFMDBsQnhHO0FzQ3A4bEJNO0VBQ0ksMEIwQnlIaUg7QWhFODBsQjNIO0FnRW4wbEJBO0VBQ0UsNkJBQUE7RUFDQSw4QkFBQTtBaEVzMGxCRjtBc0NsOWxCTTtFQUNFLHlCMEI4STZEO0FoRXUwbEJyRTtBc0NqOWxCTTtFQUNJLHlCMEJ5SWlGO0FoRTIwbEIzRjtBc0MxOWxCTTtFQUNFLHlCMEJnSm9FO0FoRTYwbEI1RTtBc0N6OWxCTTtFQUNJLHlCMEIySXdHO0FoRWkxbEJsSDtBc0NsK2xCTTtFQUNFLG9DMEJrSmdGO0FoRW0xbEJ4RjtBc0NqK2xCTTtFQUNJLG9DMEI2SW9HO0FoRXUxbEI5RztBc0MxK2xCTTtFQUNFLG9DMEJtSnNGO0FoRTAxbEI5RjtBc0N6K2xCTTtFQUNJLG9DMEI4STBHO0FoRTgxbEJwSDtBc0NsL2xCTTtFQUNFLDZCMEJxS3lFO0FoRWcxbEJqRjtBc0NqL2xCTTtFQUNJLDZCMEJnS29GO0FoRW8xbEI5RjtBc0MxL2xCTTtFQUNFLHFDMEJzS21FO0FoRXUxbEIzRTtBc0N6L2xCTTtFQUNJLHFDMEJpSzhGO0FoRTIxbEJ4RztBc0NsZ21CTTtFQUNFLHlCaEJJRztBdEJpZ21CWDtBc0NqZ21CTTtFQUNJLHlCaEJGQztBdEJzZ21CWDtBc0MxZ21CTTtFQUNFLHlCaEJLRztBdEJ3Z21CWDtBc0N6Z21CTTtFQUNJLHlCaEJIQztBdEIrZ21CWDtBc0NsaG1CTTtFQUNFLHlCaEJLRztBdEJnaG1CWDtBc0NqaG1CTTtFQUNJLHlCaEJIQztBdEJ1aG1CWDtBc0MxaG1CTTtFQUNFLHlCaEJ5Sm1CO0F0Qm80bEIzQjtBc0N6aG1CTTtFQUNJLHlCaEJxSnNCO0F0QnU0bEJoQztBc0NsaW1CTTtFQUNFLHlCaEJ5Sm1CO0F0QjQ0bEIzQjtBc0NqaW1CTTtFQUNJLHlCaEJxSnNCO0F0Qis0bEJoQztBc0MxaW1CTTtFQUNFLGtDMEJnTTZHO0FoRTYybEJySDtBc0N6aW1CTTtFQUNJLHFDMEIyTG1LO0FoRWkzbEI3SztBc0Nsam1CTTtFQUNFLHlCaEJNRztBdEIraW1CWDtBc0Nqam1CTTtFQUNJLHlCaEJUQztBdEI2am1CWDtBc0Mxam1CTTtFQUNFLHlCaEJNRztBdEJ1am1CWDtBc0N6am1CTTtFQUNJLHlCaEJUQztBdEJxa21CWDtBc0Nsa21CTTtFQUNFLHFCaEJJRztBdEJpa21CWDtBc0Nqa21CTTtFQUNJLHFCaEJGQztBdEJza21CWDtBc0Mxa21CTTtFQUNFLDZCMEI4TTRGO0FoRSszbEJwRztBc0N6a21CTTtFQUNJLDZCMEJ5TXVHO0FoRW00bEJqSDtBc0NsbG1CTTtFQUNFLHlCaEJLRztBdEJnbG1CWDtBc0NqbG1CTTtFQUNJLHlCaEJIQztBdEJ1bG1CWDtBc0MxbG1CTTtFQUNFLHlCaEJLRztBdEJ3bG1CWDtBc0N6bG1CTTtFQUNJLHlCaEJIQztBdEIrbG1CWDtBc0NsbW1CTTtFQUNFLHFCaEJJRztBdEJpbW1CWDtBc0NqbW1CTTtFQUNJLHFCaEJIQztBdEJ1bW1CWDtBc0MxbW1CTTtFQUNFLHFCaEJJRztBdEJ5bW1CWDtBc0N6bW1CTTtFQUNJLHFCaEJIQztBdEIrbW1CWDtBc0Nsbm1CTTtFQUNFLHlCaEJ5Sm1CO0F0QjQ5bEIzQjtBc0Nqbm1CTTtFQUNJLHlCaEJxSnNCO0F0Qis5bEJoQztBc0Mxbm1CTTtFQUNFLHlCaEJ5Sm1CO0F0Qm8rbEIzQjtBc0N6bm1CTTtFQUNJLHlCaEJxSnNCO0F0QnUrbEJoQztBc0Nsb21CTTtFQUNFLHlCaEI0Qlk7QXRCeW1tQnBCO0FzQ2pvbUJNO0VBQ0kseUJoQkhDO0F0QnVvbUJYO0FzQzFvbUJNO0VBQ0UseUJoQjRCWTtBdEJpbm1CcEI7QXNDem9tQk07RUFDSSx5QmhCSEM7QXRCK29tQlg7QXNDbHBtQk07RUFDRSxxQmhCNEJZO0F0QnlubUJwQjtBc0NqcG1CTTtFQUNJLHFCaEJIQztBdEJ1cG1CWDtBc0MxcG1CTTtFQUNFLHFCaEI0Qlk7QXRCaW9tQnBCO0FzQ3pwbUJNO0VBQ0kscUJoQkhDO0F0QitwbUJYO0FzQ2xxbUJNO0VBQ0UseUJoQjRCWTtBdEJ5b21CcEI7QXNDanFtQk07RUFDSSx5QmhCVEM7QXRCNnFtQlg7QXNDMXFtQk07RUFDRSx5QmhCNEJZO0F0QmlwbUJwQjtBc0N6cW1CTTtFQUNJLHlCaEJUQztBdEJxcm1CWDtBc0Nscm1CTTtFQUNFLHNCMEIyTzZJO0FoRTA4bEJySjtBc0Nqcm1CTTtFQUNJLHNCMEJzT2lKO0FoRTg4bEIzSjtBc0Mxcm1CTTtFQUNFLGtCaEJnSzhCO0F0QjZobUJ0QztBc0N6cm1CTTtFQUNJLHFCaEI2SmlDO0F0QitobUIzQztBc0Nsc21CTTtFQUNFLHlCaEJNRztBdEIrcm1CWDtBc0Nqc21CTTtFQUNJLHlCaEJUQztBdEI2c21CWDtBc0Mxc21CTTtFQUNFLHlCaEJNRztBdEJ1c21CWDtBc0N6c21CTTtFQUNJLHlCaEJUQztBdEJxdG1CWDtBc0NsdG1CTTtFQUNFLDBCMEJ5UHdHO0FoRTQ5bEJoSDtBc0NqdG1CTTtFQUNJLDBCMEJvUHlIO0FoRWcrbEJuSTtBc0MxdG1CTTtFQUNFLDBCMEIrUHNHO0FoRTg5bEI5RztBc0N6dG1CTTtFQUNJLDBCMEIwUHVIO0FoRWsrbEJqSTtBc0NsdW1CTTtFQUNFLHlCaEJLRztBdEJndW1CWDtBc0NqdW1CTTtFQUNJLHlCaEJIQztBdEJ1dW1CWDtBc0MxdW1CTTtFQUNFLGNoQitKdUI7QXRCOGttQi9CO0FzQ3p1bUJNO0VBQ0ksY2hCNEowQjtBdEJnbG1CcEM7QXNDbHZtQk07RUFDRSxjaEIrSnVCO0F0QnNsbUIvQjtBc0Nqdm1CTTtFQUNJLGNoQjRKMEI7QXRCd2xtQnBDO0FzQzF2bUJNO0VBQ0UsV2hCZ0s4QjtBdEI2bG1CdEM7QXNDenZtQk07RUFDSSxjaEI2SmlDO0F0QitsbUIzQztBZ0UvK2xCQSxpQkFBQTtBMUJuUk07RUFDRSx5QmhCb1ZpQjtBdEJrN2xCekI7QXNDbHdtQk07RUFDSSx5QmhCZ1ZvQjtBdEJxN2xCOUI7QXNDM3dtQk07RUFDRSx5QmhCc1Z3QjtBdEJ3N2xCaEM7QXNDMXdtQk07RUFDSSx5QmhCa1YyQjtBdEIyN2xCckM7QXNDbnhtQk07RUFDRSxjaEJpRFE7QXRCcXVtQmhCO0FzQ2x4bUJNO0VBQ0ksY2hCNkNXO0F0Qnd1bUJyQjtBZ0VuZ21CQSxVQUFBO0ExQnhSTTtFQUNFLHVCaEIrQ2E7QXRCZ3ZtQnJCO0FzQzN4bUJNO0VBQ0ksdUJoQjJDZ0I7QXRCbXZtQjFCO0FzQ3B5bUJNO0VBQ0UseUJoQm9WaUI7QXRCbTlsQnpCO0FzQ255bUJNO0VBQ0kseUJoQmdWb0I7QXRCczlsQjlCO0FzQzV5bUJNO0VBQ0UscUJoQm9WaUI7QXRCMjlsQnpCO0FzQzN5bUJNO0VBQ0kscUJoQmdWb0I7QXRCODlsQjlCO0FzQ3B6bUJNO0VBQ0UseUJoQitDYTtBdEJ3d21CckI7QXNDbnptQk07RUFDSSx5QmhCMkNnQjtBdEIyd21CMUI7QXNDNXptQk07RUFDRSxxQ2hCeVZtQjtBdEJzK2xCM0I7QXNDM3ptQk07RUFDSSx5QmhCd0JlO0F0QnN5bUJ6QjtBc0NwMG1CTTtFQUNFLHdDaEJ5Vm1CO0F0QjgrbEIzQjtBc0NuMG1CTTtFQUNJLDRCaEJ3QmU7QXRCOHltQnpCO0FzQzUwbUJNO0VBQ0UsWTBCOFJzRjtBaEVpam1COUY7QXNDMzBtQk07RUFDSSxZMEJ5UjBGO0FoRXFqbUJwRztBc0NwMW1CTTtFQUNFLFkwQitScUY7QWhFd2ptQjdGO0FzQ24xbUJNO0VBQ0ksWTBCMFJ5RjtBaEU0am1Cbkc7QXNDNTFtQk07RUFDRSxzQ2hCeVZtQjtBdEJzZ21CM0I7QXNDMzFtQk07RUFDSSwwQmhCd0JlO0F0QnMwbUJ6QjtBc0NwMm1CTTtFQUNFLHVDaEJ5Vm1CO0F0QjhnbUIzQjtBc0NuMm1CTTtFQUNJLDJCaEJ3QmU7QXRCODBtQnpCO0FzQzUybUJNO0VBQ0UsWTBCa1MwRjtBaEU2a21CbEc7QXNDMzJtQk07RUFDSSxZMEI2UjhGO0FoRWlsbUJ4RztBZ0Uva21CQSxRQUFBO0ExQnJTTTtFQUNFLGNoQjRCWTtBdEI0MW1CcEI7QXNDcDNtQk07RUFDSSxjaEJ3QmU7QXRCKzFtQnpCO0FzQzczbUJNO0VBQ0UsY2hCNEJZO0F0Qm8ybUJwQjtBc0M1M21CTTtFQUNJLGNoQndCZTtBdEJ1Mm1CekI7QWdFNWxtQkEsYUFBQTtBMUJ6U007RUFDRSxjaEJ5VWdCO0F0QmdrbUJ4QjtBc0NyNG1CTTtFQUNJLGNoQnFVa0I7QXRCbWttQjVCO0FzQzk0bUJNO0VBQ0UseUJoQndLa0M7QXRCeXVtQjFDO0FzQzc0bUJNO0VBQ0kseUJoQm9LcUM7QXRCNHVtQi9DO0FzQ3Q1bUJNO0VBQ0UseUJoQllJO0F0QjY0bUJaO0FzQ3I1bUJNO0VBQ0kseUJoQnNLd0M7QXRCa3ZtQmxEO0FnRTdtbUJBLGtCQUFBO0ExQmpUTTtFQUNFLHlCaEI4RWdCO0F0Qm8xbUJ4QjtBc0M5NW1CTTtFQUNJLHlCaEIwRW1CO0F0QnUxbUI3QjtBZ0Vubm1CQSxtQkFBQTtBMUJwVE07RUFDRSxjaEJpRFE7QXRCMDNtQmhCO0FzQ3Y2bUJNO0VBQ0ksY2hCNkNXO0F0QjYzbUJyQjtBc0NoN21CTTtFQUNFLGNoQnNYSztBdEI2am1CYjtBc0MvNm1CTTtFQUNJLGNoQm1YRztBdEIram1CYjtBc0N4N21CTTtFQUNFLGNoQnNYSztBdEJxa21CYjtBc0N2N21CTTtFQUNJLGNoQm1YRztBdEJ1a21CYjtBZ0V2b21CQSxnQkFBQTtBMUJ6VE07RUFDRSw4QjBCeVQ2RDtBaEUyb21CckU7QXNDaDhtQk07RUFDSSxrRDBCb1Q0RTtBaEUrb21CdEY7QXNDejhtQk07RUFDRSxjMEIwVDBEO0FoRWtwbUJsRTtBc0N4OG1CTTtFQUNJLDJCMEJxVDREO0FoRXNwbUJ0RTtBZ0VwcG1CQSxjQUFBO0ExQjdUTTtFQUNFLHVCaEIwQ1c7QXRCMjZtQm5CO0FzQ2o5bUJNO0VBQ0ksdUJoQnNDYztBdEI4Nm1CeEI7QWdFMXBtQkEscUJBQUE7QTFCaFVNO0VBQ0UsdUJoQjBDVztBdEJvN21CbkI7QXNDMTltQk07RUFDSSx1QmhCc0NjO0F0QnU3bUJ4QjtBc0NuK21CTTtFQUNFLGtCMEJpVXlFO0FoRXFxbUJqRjtBc0NsK21CTTtFQUNJLHNDMEI0VDJFO0FoRXlxbUJyRjtBc0MzK21CTTtFQUNFLFUwQmtVaUU7QWhFNHFtQnpFO0FzQzErbUJNO0VBQ0ksOEIwQjZUbUU7QWhFZ3JtQjdFO0FnRTlxbUJBLDRCQUFBO0ExQnJVTTtFQUNFLGNoQmdIYztBdEJ1NG1CdEI7QXNDbi9tQk07RUFDSSxjaEI0R2lCO0F0QjA0bUIzQjtBc0M1L21CTTtFQUNFLGNoQmdIYztBdEIrNG1CdEI7QXNDMy9tQk07RUFDSSxjaEI0R2lCO0F0Qms1bUIzQjtBc0NwZ25CTTtFQUNFLHVCaEIwQ1c7QXRCNjltQm5CO0FzQ25nbkJNO0VBQ0ksdUJoQnNDYztBdEJnK21CeEI7QWdFM3JtQkE7O0VBRUUsdUIxQ3hTaUI7QXRCcyttQm5CO0FnRTVybUJBOztFQUVFLHVCMUMzU3NCO0F0QjArbUJ4QjtBc0N0aG5CTTtFQUNFLHlCaEJ3S2tDO0F0QmkzbUIxQztBc0NyaG5CTTtFQUNJLHlCaEJvS3FDO0F0Qm8zbUIvQztBc0M5aG5CTTtFQUNFLGNoQitKdUI7QXRCazRtQi9CO0FzQzdobkJNO0VBQ0ksY2hCNEowQjtBdEJvNG1CcEM7QXNDdGluQk07RUFDRSx5QmhCd0trQztBdEJpNG1CMUM7QXNDcmluQk07RUFDSSx5QmhCb0txQztBdEJvNG1CL0M7QXNDOWluQk07RUFDRSxjaEIrSnVCO0F0Qms1bUIvQjtBc0M3aW5CTTtFQUNJLGNoQjRKMEI7QXRCbzVtQnBDO0FzQ3RqbkJNO0VBQ0UsV2hCZ0s4QjtBdEJ5NW1CdEM7QXNDcmpuQk07RUFDSSxjaEI2SmlDO0F0QjI1bUIzQztBc0M5am5CTTtFQUNFLFdoQmdLOEI7QXRCaTZtQnRDO0FzQzdqbkJNO0VBQ0ksY2hCNkppQztBdEJtNm1CM0M7QWdFcnRtQkE7RUFBZ0QsVzFDaE5WO0F0Qnk2bUJ0QztBZ0V4dG1CQTtFQUFnRCxjMUMvTUw7QXRCMjZtQjNDO0FzQzlrbkJNO0VBQ0Usc0MwQmtYZ0Y7QWhFK3RtQnhGO0FzQzdrbkJNO0VBQ0ksa0IwQjZXc0c7QWhFbXVtQmhIO0FzQ3RsbkJNO0VBQ0UsOEIwQm1Yd0U7QWhFc3VtQmhGO0FzQ3JsbkJNO0VBQ0ksVTBCOFc4RjtBaEUwdW1CeEc7QXNDOWxuQk07RUFDRSx5QmhCSEc7QXRCb21uQlg7QXNDN2xuQk07RUFDSSx5QmhCb0lxQjtBdEI0OW1CL0I7QXNDdG1uQk07RUFDRSwwQzBCcVgwRTtBaEVvdm1CbEY7QXNDcm1uQk07RUFDSSwwQzBCZ1h1RztBaEV3dm1Cakg7QXNDOW1uQk07RUFDRSw0QmhCQ0c7QXRCZ25uQlg7QXNDN21uQk07RUFDSSw0QmhCc0htQjtBdEIwL21CN0I7QXNDdG5uQk07RUFDRSx5QmhCeUptQjtBdEJnK21CM0I7QXNDcm5uQk07RUFDSSx5QmhCcUpzQjtBdEJtK21CaEM7QXNDOW5uQk07RUFDRSw0QmhCQ0c7QXRCZ29uQlg7QXNDN25uQk07RUFDSSw0QmhCc0htQjtBdEIwZ25CN0I7QXNDdG9uQk07RUFDRSxXaEJnSzhCO0F0QnkrbUJ0QztBc0Nyb25CTTtFQUNJLGNoQjZKaUM7QXRCMittQjNDO0FzQzlvbkJNO0VBQ0UsY2hCK0p1QjtBdEJrL21CL0I7QXNDN29uQk07RUFDSSxjaEI0SjBCO0F0Qm8vbUJwQztBc0N0cG5CTTtFQUNFLGNoQitKdUI7QXRCMC9tQi9CO0FzQ3JwbkJNO0VBQ0ksY2hCNEowQjtBdEI0L21CcEM7QXNDOXBuQk07RUFDRSxzQzBCZ1kwRjtBaEVpeW1CbEc7QXNDN3BuQk07RUFDSSxrQjBCMlhnSDtBaEVxeW1CMUg7QXNDdHFuQk07RUFDRSw4QjBCaVlrRjtBaEV3eW1CMUY7QXNDcnFuQk07RUFDSSxVMEI0WHdHO0FoRTR5bUJsSDtBc0M5cW5CTTtFQUNFLHlCaEJ5Sm1CO0F0QndobkIzQjtBc0M3cW5CTTtFQUNJLHlCaEJxSnNCO0F0QjJobkJoQztBc0N0cm5CTTtFQUNFLDJCaEJDRztBdEJ3cm5CWDtBc0Nycm5CTTtFQUNJLDJCaEJzSG1CO0F0QmtrbkI3QjtBZ0UzeW1CQTtFQUNFLCtCQUFBO0FoRTh5bUJGO0FnRTV5bUJBO0VBQ0UsK0JBQUE7QWhFK3ltQkY7QWdFMXltQkE7O0VBRUUsc0NBQUE7RUFDQSxzQ0FBQTtBaEU2eW1CRjtBZ0UzeW1CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTh5bUJGO0FzQ2x0bkJNO0VBQ0UseUJoQnlKbUI7QXRCNGpuQjNCO0FzQ2p0bkJNO0VBQ0kseUJoQnFKc0I7QXRCK2puQmhDO0FzQzF0bkJNO0VBQ0UseUJoQnlKbUI7QXRCb2tuQjNCO0FzQ3p0bkJNO0VBQ0kseUJoQnFKc0I7QXRCdWtuQmhDO0FzQ2x1bkJNO0VBQ0UsdUMwQndib0g7QWhFNnltQjVIO0FzQ2p1bkJNO0VBQ0ksdUMwQm1ibUo7QWhFaXptQjdKO0FzQzF1bkJNO0VBQ0Usb0MwQnliaUg7QWhFb3ptQnpIO0FzQ3p1bkJNO0VBQ0ksb0MwQm9iZ0o7QWhFd3ptQjFKO0FzQ2x2bkJNO0VBQ0UsY2hCK0p1QjtBdEJzbG5CL0I7QXNDanZuQk07RUFDSSxjaEI0SjBCO0F0QndsbkJwQztBc0Mxdm5CTTtFQUNFLFdoQmdLOEI7QXRCNmxuQnRDO0FzQ3p2bkJNO0VBQ0ksY2hCNkppQztBdEIrbG5CM0M7QXNDbHduQk07RUFDRSxXaEJnSzhCO0F0QnFtbkJ0QztBc0Nqd25CTTtFQUNJLGNoQjZKaUM7QXRCdW1uQjNDO0FzQzF3bkJNO0VBQ0UseUJoQndLa0M7QXRCcW1uQjFDO0FzQ3p3bkJNO0VBQ0kseUJoQm9LcUM7QXRCd21uQi9DO0FzQ2x4bkJNO0VBQ0UseUJoQndLa0M7QXRCNm1uQjFDO0FzQ2p4bkJNO0VBQ0kseUJoQm9LcUM7QXRCZ25uQi9DO0FzQzF4bkJNO0VBQ0UsV2hCZ0s4QjtBdEI2bm5CdEM7QXNDenhuQk07RUFDSSxjaEI2SmlDO0F0QitubkIzQztBc0NseW5CTTtFQUNFLHlCaEJ3S2tDO0F0QjZubkIxQztBc0NqeW5CTTtFQUNJLHlCaEJvS3FDO0F0QmdvbkIvQztBc0MxeW5CTTtFQUNFLFdoQmdLOEI7QXRCNm9uQnRDO0FzQ3p5bkJNO0VBQ0ksY2hCNkppQztBdEIrb25CM0M7QXNDbHpuQk07RUFDRSxjaEIrSnVCO0F0QnNwbkIvQjtBc0Nqem5CTTtFQUNJLGNoQjRKMEI7QXRCd3BuQnBDO0FzQzF6bkJNO0VBQ0UseUJoQndLa0M7QXRCcXBuQjFDO0FzQ3p6bkJNO0VBQ0kseUJoQm9LcUM7QXRCd3BuQi9DO0FzQ2wwbkJNO0VBQ0UsV2hCZ0s4QjtBdEJxcW5CdEM7QXNDajBuQk07RUFDSSxjaEI2SmlDO0F0QnVxbkIzQztBc0MxMG5CTTtFQUNFLHlCaEJ3S2tDO0F0QnFxbkIxQztBc0N6MG5CTTtFQUNJLHlCaEJvS3FDO0F0QndxbkIvQztBc0NsMW5CTTtFQUNFLFdoQmdLOEI7QXRCcXJuQnRDO0FzQ2oxbkJNO0VBQ0ksY2hCNkppQztBdEJ1cm5CM0M7QXNDMTFuQk07RUFDRSxzQzBCbWVxRztBaEUwM21CN0c7QXNDejFuQk07RUFDSSxrQjBCOGQySDtBaEU4M21Cckk7QXNDbDJuQk07RUFDRSw4QjBCb2U2RjtBaEVpNG1Cckc7QXNDajJuQk07RUFDSSxVMEIrZG1IO0FoRXE0bUI3SDtBc0MxMm5CTTtFQUNFLHNDMEJ5ZTZGO0FoRW80bUJyRztBc0N6Mm5CTTtFQUNJLGtCMEJvZW1IO0FoRXc0bUI3SDtBc0NsM25CTTtFQUNFLDhCMEIwZXFGO0FoRTI0bUI3RjtBc0NqM25CTTtFQUNJLFUwQnFlMkc7QWhFKzRtQnJIO0FzQzEzbkJNO0VBQ0UsV2hCZ0s4QjtBdEI2dG5CdEM7QXNDejNuQk07RUFDSSxjaEI2SmlDO0F0Qit0bkIzQztBc0NsNG5CTTtFQUNFLFdoQmdLOEI7QXRCcXVuQnRDO0FzQ2o0bkJNO0VBQ0ksY2hCNkppQztBdEJ1dW5CM0M7QWdFMzRtQkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFPQSxzQkFBQTtFQUNBLFNBQUE7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QXNDcmtvQk07RUFDSSw0QmhCc0htQjtBdEJrOW5CN0I7QWdFcjBtQkE7RUFDRSx5QjFDaG5CeUI7RTBDaW5CekIsYzFDM21CNkI7RTBDNG1CN0IsK0JBQUE7QWhFdzBtQkY7QWdFdDBtQkE7RUFDRSx5QjFDcG5COEI7RTBDcW5COUIsYzFDOW1Ca0M7RTBDK21CbEMsK0JBQUE7QWhFeTBtQkY7QWdFcDBtQkE7O0VBRUUsMkIxQ3J4QlM7RTBDc3hCVCwyQkFBQTtBaEV1MG1CRjtBZ0VyMG1CQTs7RUFFRSwyQjFDL3BCMkI7RTBDZ3FCM0IsMkJBQUE7QWhFdzBtQkY7QWdFaDBtQkE7RUFDRSxjQUFBO0VBQ0EsU0FBQTtBaEVtMG1CRjtBZ0VqMG1CQTtFQUlFLDZCQUFBO0VBR0EsWUMvd0JnQjtBakU4a29CbEI7QWdFdnptQkE7RUFDRSxjMUN2cEJ5QztBdEJpOW5CM0M7QXNDcG5vQk07RUFDRSxjaEIrSnVCO0F0Qnc5bkIvQjtBc0Nubm9CTTtFQUNJLGNoQjRKMEI7QXRCMDluQnBDO0FzQzVub0JNO0VBQ0UsV2hCZ0s4QjtBdEIrOW5CdEM7QXNDM25vQk07RUFDSSxjaEI2SmlDO0F0QmkrbkIzQztBc0Nwb29CTTtFQUNFLFdoQmdLOEI7QXRCdStuQnRDO0FzQ25vb0JNO0VBQ0ksY2hCNkppQztBdEJ5K25CM0M7QXNDNW9vQk07RUFDRSx5QmhCd0trQztBdEJ1K25CMUM7QXNDM29vQk07RUFDSSx5QmhCb0txQztBdEIwK25CL0M7QXNDcHBvQk07RUFDRSx5QmhCd0trQztBdEIrK25CMUM7QXNDbnBvQk07RUFDSSx5QmhCb0txQztBdEJrL25CL0M7QXNDNXBvQk07RUFDRSxXaEJnSzhCO0F0QisvbkJ0QztBc0MzcG9CTTtFQUNJLGNoQjZKaUM7QXRCaWdvQjNDO0FzQ3Bxb0JNO0VBQ0UsY2hCK0p1QjtBdEJ3Z29CL0I7QXNDbnFvQk07RUFDSSxjaEI0SjBCO0F0QjBnb0JwQztBc0M1cW9CTTtFQUNFLHlCaEJ3S2tDO0F0QnVnb0IxQztBc0MzcW9CTTtFQUNJLHlCaEJvS3FDO0F0QjBnb0IvQztBc0Nwcm9CTTtFQUNFLHlCaEJ5Sm1CO0F0Qjhob0IzQjtBc0Nucm9CTTtFQUNJLHlCaEJxSnNCO0F0Qmlpb0JoQztBc0M1cm9CTTtFQUNFLDJCaEJDRztBdEI4cm9CWDtBc0Mzcm9CTTtFQUNJLDJCaEJzSG1CO0F0Qndrb0I3QjtBZ0U1MW1CQTtFQUNFLG1EQUFBO0FoRSsxbUJGO0FzQ3hzb0JNO0VBQ0UsNEJoQkNHO0F0QjBzb0JYO0FzQ3Zzb0JNO0VBQ0ksMEIwQjAyQjZHO0FoRWcybUJ2SDtBc0NodG9CTTtFQUNFLFdoQmdLOEI7QXRCbWpvQnRDO0FzQy9zb0JNO0VBQ0ksY2hCNkppQztBdEJxam9CM0M7QWdFLzFtQkE7RUFDRSxvQ0FBQTtBaEVrMm1CRjtBZ0VoMm1CQTtFQUNFLG9DQUFBO0FoRW0ybUJGO0FnRS8xbUJBOztFQUVFLG9DQUFBO0FoRWsybUJGO0FnRWgybUJBOztFQUVFLG9DQUFBO0FoRW0ybUJGO0FnRXAxbUJBOzs7O0VBSUUsd0NBQUE7QWhFdTFtQkY7QWdFaDFtQkE7O0VBRUUsb0NBQUE7QWhFbTFtQkY7QWdFajFtQkE7O0VBRUUsb0NBQUE7QWhFbzFtQkY7QWdFMTBtQkE7RUFDRSxjMUNseEI2QjtBdEIrbG9CL0I7QWdFMzBtQkE7O0VBRUUsVzFDcnhCb0M7QXRCbW1vQnRDO0FnRTUwbUJBO0VBQ0UsYzFDdnhCa0M7QXRCc21vQnBDO0FnRTcwbUJBOztFQUVFLGMxQzF4QnlDO0F0QjBtb0IzQztBZ0V6MG1CQTs7RUFFRSxvQ0FBQTtBaEU0MG1CRjtBZ0UxMG1CQTs7RUFFRSxvQ0FBQTtBaEU2MG1CRjtBZ0UxMG1CQTs7RUFFRSxvQ0FBQTtBaEU2MG1CRjtBZ0UzMG1CQTs7RUFFRSxvQ0FBQTtBaEU4MG1CRjtBZ0V6MG1CQTs7O0VBR0Usb0NBQUE7QWhFNDBtQkY7QWdFMTBtQkE7OztFQUdFLG9DQUFBO0FoRTYwbUJGO0FnRTMwbUJBOztFQUVFLG9DQUFBO0FoRTgwbUJGO0FnRTUwbUJBOztFQUVFLG9DQUFBO0FoRSswbUJGO0FnRTEwbUJBO0VBQ0Usb0NBQUE7RUFDQSxxQjFDNytCUztB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RjtBZ0VoMG1CQTtFQUNFLGdDQUFBO0FoRW0wbUJGO0FnRWowbUJBO0VBQ0UsZ0NBQUE7QWhFbzBtQkY7QWdFaDBtQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFbTBtQkY7QWdFajBtQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFbzBtQkY7QXNDcmlwQk07RUFDRSxjaEIrSnVCO0F0Qnk0b0IvQjtBc0NwaXBCTTtFQUNJLGNoQjRKMEI7QXRCMjRvQnBDO0FzQzdpcEJNO0VBQ0Usb0MwQjB1Q3VHO0FoRXMwbUIvRztBc0M1aXBCTTtFQUNJLG9DMEJxdUNvSTtBaEUwMG1COUk7QXNDcmpwQk07RUFDRSxvQzBCMnVDZ0k7QWhFNjBtQnhJO0FzQ3BqcEJNO0VBQ0ksb0MwQnN1QzZKO0FoRWkxbUJ2SztBc0M3anBCTTtFQUNFLG9DMEJpdkNnSDtBaEUrMG1CeEg7QXNDNWpwQk07RUFDSSxvQzBCNHVDNkk7QWhFbTFtQnZKO0FzQ3JrcEJNO0VBQ0UsZ0QwQnN2QzhHO0FoRWsxbUJ0SDtBc0Nwa3BCTTtFQUNJLGdEMEJpdkNvSjtBaEVzMW1COUo7QXNDN2twQk07RUFDRSwyQjBCdXZDMEg7QWhFeTFtQmxJO0FzQzVrcEJNO0VBQ0ksMkIwQmt2Q3lJO0FoRTYxbUJuSjtBZ0V6MW1CQTs7RUFFRSxvQ0FBQTtBaEU0MW1CRjtBZ0UxMW1CQTs7RUFFRSxvQ0FBQTtBaEU2MW1CRjtBZ0V0MW1CQTtFQUNFLGMxQ3pwQ29CO0F0Qmsvb0J0QjtBZ0V2MW1CQTtFQUNFLGMxQzNwQ3lCO0F0QnEvb0IzQjtBZ0V4MW1CQTs7RUFFRSxvQ0FBQTtBaEUyMW1CRjtBZ0V6MW1CQTs7RUFFRSxvQ0FBQTtBaEU0MW1CRjtBZ0VyMW1CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDenRDc0I7QS9CNmlwQnhCO0FnRW4wbUJBO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JqQ2p1Q2M7QS9CdWlwQmhCO0FnRXAwbUJBO0VBQ0UseUIx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bUJKO0FnRTl1bUJFO0VBQ0UsMEIxQzdzRFM7RTBDOHNEVCxnQmpDanJEcUI7RWlDa3JEckIsZ0JBQUE7QWhFZ3ZtQko7QWdFOXVtQkU7RUFDRSxjQUFBO0VBQ0EsMEIxQ250RFM7RTBDb3REVCxnQmpDdnJEcUI7RWlDd3JEckIsa0NBQUE7QWhFZ3ZtQko7QWdFMXVtQkU7RUFDRSxjMUN2cERnQztBdEJvNHBCcEM7QWdFNXVtQkk7RUFBVSx5QjFDaHBEaUM7QXRCKzNwQi9DO0FnRTl1bUJJO0VBQXFCLHlCMUN6cERXO0F0QjA0cEJwQztBZ0UvdW1CRTtFQUFnQyxnQzFDL3REaEI7QXRCaTlwQmxCO0FnRTN1bUJBO0VBQXlCLHdCQUFBO0FoRSt1bUJ6QjtBZ0U5dW1CQTtFQUFzQix3QkFBQTtBaEVrdm1CdEI7QWdFL3VtQkE7OztFQUVlLHdCQUFBO0FoRW12bUJmO0FnRWh2bUJBO0VBQXlCLHdCQUFBO0FoRW92bUJ6QjtBZ0U1dW1CQTtFQUNFLGdDMUN4dkRnQjtBdEJ1K3BCbEI7QWdFOXVtQkU7RUFDRSwyQzFDN3VEcUI7RTBDOHVEckIsK0IxQ3J2RG9CO0F0QnErcEJ4QjtBZ0U5dW1CRTtFQUFjLGNBQUE7QWhFaXZtQmhCO0FnRXh1bUJFO0VBQ0UsYzFDbnNEZ0M7QXRCODZwQnBDO0FnRTF1bUJJO0VBQVcseUIxQzVyRGdDO0F0Qnk2cEIvQztBZ0U1dW1CSTtFQUFxQix5QjFDcnNEVztBdEJvN3BCcEM7QWdFN3VtQkU7RUFBc0IseUIxQzlzRFE7QXRCODdwQmhDO0FnRS91bUJFO0VBQ0UsdUIxQy96RG9CO0UwQ2cwRHBCLHFCMUNodkR5QjtFMENpdkR6QixjMUMzc0RnQztBdEI0N3BCcEM7QWdFaHZtQkk7RUFBaUIsK0JBQUE7QWhFbXZtQnJCO0FnRW52bUJJO0VBQWlCLCtCQUFBO0FoRW12bUJyQjtBZ0Vudm1CSTtFQUFpQiwrQkFBQTtBaEVtdm1CckI7QWdFOXVtQkE7O0VBRUUseUIxQzF0RDhCO0UwQzJ0RDlCLDZCQUFBO0VBQ0Esa0RqQzV5RHNCO0EvQjZocUJ4QjtBZ0VodW1CQTs7O0VBR0Us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cm1CSjtBZ0U3cW1CQSxxQkFBQTtBMUI5ekVNO0VBQ0UsY2hCK0p1QjtBdEJnMXFCL0I7QXNDMytxQk07RUFDSSxjaEI0SjBCO0F0QmsxcUJwQztBc0NwL3FCTTtFQUNFLHlCaEJDRztBdEJzL3FCWDtBc0NuL3FCTTtFQUNJLHlCaEJzSG1CO0F0Qmc0cUI3QjtBc0M1L3FCTTtFQUNFLHlCaEJDRztBdEI4L3FCWDtBc0MzL3FCTTtFQUNJLHlCaEJzSG1CO0F0Qnc0cUI3QjtBc0NwZ3JCTTtFQUNFLHlCaEJDRztBdEJzZ3JCWDtBc0NuZ3JCTTtFQUNJLHlCaEJzSG1CO0F0Qmc1cUI3QjtBc0M1Z3JCTTtFQUNFLHlCaEJDRztBdEI4Z3JCWDtBc0MzZ3JCTTtFQUNJLHlCaEJzSG1CO0F0Qnc1cUI3QjtBc0NwaHJCTTtFQUNFLHVCaEIwQ1c7QXRCNitxQm5CO0FzQ25ockJNO0VBQ0ksdUJoQnNDYztBdEJnL3FCeEI7QXNDNWhyQk07RUFDRSxxQmhCQ0c7QXRCOGhyQlg7QXNDM2hyQk07RUFDSSxxQmhCc0htQjtBdEJ3NnFCN0I7QXNDcGlyQk07RUFDRSwwQzBCeTFFbUc7QWhFOHNtQjNHO0FzQ25pckJNO0VBQ0kseUMwQm8xRWlJO0FoRWt0bUIzSTtBc0M1aXJCTTtFQUNFLHlCaEJIRztBdEJranJCWDtBc0MzaXJCTTtFQUNJLHlCaEJDQztBdEI2aXJCWDtBc0NwanJCTTtFQUNFLGNoQk1HO0F0QmlqckJYO0FzQ25qckJNO0VBQ0ksY2hCSkM7QXRCMGpyQlg7QXNDNWpyQk07RUFDRSxjMEJnMkVpRjtBaEUrdG1CekY7QXNDM2pyQk07RUFDSSxjMEIyMUV3RjtBaEVtdW1CbEc7QXNDcGtyQk07RUFDRSxjMEJpMkVpRjtBaEVzdW1CekY7QXNDbmtyQk07RUFDSSxjMEI0MUV3RjtBaEUwdW1CbEc7QXNDNWtyQk07RUFDRSxjaEJpRFE7QXRCOGhyQmhCO0FzQzNrckJNO0VBQ0ksY2hCNkNXO0F0QmlpckJyQjtBc0NwbHJCTTtFQUNFLGNoQitKdUI7QXRCdzdxQi9CO0FzQ25sckJNO0VBQ0ksY2hCNEowQjtBdEIwN3FCcEM7QWdFdHZtQkEsYUFBQTtBMUJ0MkVNO0VBQ0UsY2hCZ0hjO0F0QmcvcUJ0QjtBc0M1bHJCTTtFQUNJLGNoQm1YRztBdEI0dXFCYjtBc0NybXJCTTtFQUNFLHlCaEJ5Sm1CO0F0Qis4cUIzQjtBc0NwbXJCTTtFQUNJLHlCaEJxSnNCO0F0Qms5cUJoQztBc0M3bXJCTTtFQUNFLHlCMEI2MkU0RDtBaEVtd21CcEU7QXNDNW1yQk07RUFDSSx5QjBCdzJFMEY7QWhFdXdtQnBHO0FzQ3JuckJNO0VBQ0UsY2hCK0VxQjtBdEJ5aXJCN0I7QXNDcG5yQk07RUFDSSxjaEJ5RWM7QXRCOGlyQnhCO0FzQzduckJNO0VBQ0UseUJoQnlKbUI7QXRCdStxQjNCO0FzQzVuckJNO0VBQ0kseUJoQnFKc0I7QXRCMCtxQmhDO0FzQ3JvckJNO0VBQ0UseUIwQmczRXdEO0FoRXd4bUJoRTtBc0Nwb3JCTTtFQUNJLHlCMEIyMkVzRjtBaEU0eG1CaEc7QXNDN29yQk07RUFDRSxjaEJpRFE7QXRCK2xyQmhCO0FzQzVvckJNO0VBQ0ksY2hCNkNXO0F0QmttckJyQjtBc0NycHJCTTtFQUNFLGNoQmlEUTtBdEJ1bXJCaEI7QXNDcHByQk07RUFDSSxjaEI2Q1c7QXRCMG1yQnJCO0FzQzdwckJNO0VBQ0UseUIwQm8zRThEO0FoRTR5bUJ0RTtBc0M1cHJCTTtFQUNJLHlCMEIrMkU0RjtBaEVnem1CdEc7QXNDcnFyQk07RUFDRSxnQjBCcTNFMEY7QWhFbXptQmxHO0FzQ3BxckJNO0VBQ0ksZ0IwQmczRThGO0FoRXV6bUJ4RztBc0M3cXJCTTtFQUNFLHlCaEJvVmlCO0F0QjQxcUJ6QjtBc0M1cXJCTTtFQUNJLHlCaEJnVm9CO0F0QisxcUI5QjtBc0NycnJCTTtFQUNFLGNoQmdIYztBdEJ3a3JCdEI7QXNDcHJyQk07RUFDSSxjaEI0R2lCO0F0QjJrckIzQjtBc0M3cnJCTTtFQUNFLHlCaEJ5Sm1CO0F0QnVpckIzQjtBc0M1cnJCTTtFQUNJLHlCaEJxSnNCO0F0QjBpckJoQztBc0Nyc3JCTTtFQUNFLHFCaEJDRztBdEJ1c3JCWDtBc0Nwc3JCTTtFQUNJLHFCaEJzSG1CO0F0QmlsckI3QjtBc0M3c3JCTTtFQUNFLGNoQitKdUI7QXRCaWpyQi9CO0FzQzVzckJNO0VBQ0ksY2hCNEowQjtBdEJtanJCcEM7QWdFbDFtQkEsZUFBQTtBMUJuNEVNO0VBQ0UseUJoQnlKbUI7QXRCZ2tyQjNCO0FzQ3J0ckJNO0VBQ0kseUJoQnFKc0I7QXRCbWtyQmhDO0FzQzl0ckJNO0VBQ0UseUIwQm80RTZFO0FoRTYxbUJyRjtBc0M3dHJCTTtFQUNJLHlCMEIrM0UyRztBaEVpMm1Cckg7QXNDdHVyQk07RUFDRSxjaEJzWEs7QXRCbTNxQmI7QXNDcnVyQk07RUFDSSxjaEJtWEc7QXRCcTNxQmI7QWdFdDJtQkEscUJBQUE7QTFCeDRFTTtFQUNFLGNoQjZObUI7QXRCcWhyQjNCO0FzQzl1ckJNO0VBQ0ksY2hCeU5zQjtBdEJ3aHJCaEM7QXNDdnZyQk07RUFDRSxjaEI0Qlk7QXRCOHRyQnBCO0FzQ3R2ckJNO0VBQ0ksY2hCd0JlO0F0Qml1ckJ6QjtBc0MvdnJCTTtFQUNFLGNoQm9PdUI7QXRCOGhyQi9CO0FzQzl2ckJNO0VBQ0ksY2hCZ08wQjtBdEJpaXJCcEM7QXNDdndyQk07RUFDRSxjaEJzT29CO0F0Qm9pckI1QjtBc0N0d3JCTTtFQUNJLGNoQmtPdUI7QXRCdWlyQmpDO0FzQy93ckJNO0VBQ0UsY2hCd09zQjtBdEIwaXJCOUI7QXNDOXdyQk07RUFDSSxjaEJvT3lCO0F0QjZpckJuQztBc0N2eHJCTTtFQUNFLGNoQjZPaUM7QXRCNmlyQnpDO0FzQ3R4ckJNO0VBQ0ksY2hCeU9vQztBdEJnanJCOUM7QXNDL3hyQk07RUFDRSxjaEJrUHFDO0F0QmdqckI3QztBc0M5eHJCTTtFQUNJLGNoQjhPd0M7QXRCbWpyQmxEO0FzQ3Z5ckJNO0VBQ0UsY2hCZ0hjO0F0QjByckJ0QjtBc0N0eXJCTTtFQUNJLGNoQnlOc0I7QXRCZ2xyQmhDO0FzQy95ckJNO0VBQ0UseUJoQjZObUI7QXRCcWxyQjNCO0FzQzl5ckJNO0VBQ0kseUJoQnlOc0I7QXRCd2xyQmhDO0FzQ3Z6ckJNO0VBQ0UseUJoQjRCWTtBdEI4eHJCcEI7QXNDdHpyQk07RUFDSSx5QmhCd0JlO0F0Qml5ckJ6QjtBc0MvenJCTTtFQUNFLHlCaEJvT3VCO0F0QjhsckIvQjtBc0M5enJCTTtFQUNJLHlCaEJnTzBCO0F0QmltckJwQztBc0N2MHJCTTtFQUNFLHlCaEJzT29CO0F0Qm9tckI1QjtBc0N0MHJCTTtFQUNJLHlCaEJrT3VCO0F0QnVtckJqQztBc0MvMHJCTTtFQUNFLHlCaEJ3T3NCO0F0QjBtckI5QjtBc0M5MHJCTTtFQUNJLHlCaEJvT3lCO0F0QjZtckJuQztBc0N2MXJCTTtFQUNFLHlCaEI2T2lDO0F0QjZtckJ6QztBc0N0MXJCTTtFQUNJLHlCaEJ5T29DO0F0QmduckI5QztBc0MvMXJCTTtFQUNFLHlCaEJrUHFDO0F0QmduckI3QztBc0M5MXJCTTtFQUNJLHlCaEI4T3dDO0F0Qm1uckJsRDtBc0N2MnJCTTtFQUNFLGNoQitKdUI7QXRCMnNyQi9CO0FzQ3QyckJNO0VBQ0ksY2hCNEowQjtBdEI2c3JCcEM7QXNDLzJyQk07RUFDRSxXaEJnSzhCO0F0Qmt0ckJ0QztBc0M5MnJCTTtFQUNJLGNoQjZKaUM7QXRCb3RyQjNDO0FzQ3YzckJNO0VBQ0UsV2hCZ0s4QjtBdEIwdHJCdEM7QXNDdDNyQk07RUFDSSxjaEI2SmlDO0F0QjR0ckIzQztBc0MvM3JCTTtFQUNFLDRCaEJDRztBdEJpNHJCWDtBc0M5M3JCTTtFQUNJLDRCaEJzSG1CO0F0QjJ3ckI3QjtBc0N2NHJCTTtFQUNFLHlCaEJDRztBdEJ5NHJCWDtBc0N0NHJCTTtFQUNJLHlCaEJzSG1CO0F0Qm14ckI3QjtBc0MvNHJCTTtFQUNFLG9DMEI0NkVxRTtBaEVzK21CN0U7QXNDOTRyQk07RUFDSSxvQzBCdTZFeUc7QWhFMCttQm5IO0FzQ3Y1ckJNO0VBQ0Usb0MwQjg3RThGO0FoRTQ5bUJ0RztBc0N0NXJCTTtFQUNJLG9DMEJ5N0VnSDtBaEVnK21CMUg7QXNDLzVyQk07RUFDRSxnQzBCKzdFMEY7QWhFbSttQmxHO0FzQzk1ckJNO0VBQ0ksZ0MwQjA3RWdJO0FoRXUrbUIxSTtBc0N2NnJCTTtFQUNFLHdDMEJnOEV3RjtBaEUwK21CaEc7QXNDdDZyQk07RUFDSSxtRDBCMjdFaUg7QWhFOCttQjNIO0FnRTErbUJBO0VBQ0UsK0pBQUE7QWhFNittQkY7QXNDbjdyQk07RUFDRSx3QzBCbTlFb0c7QWhFbSttQjVHO0FzQ2w3ckJNO0VBQ0ksbUQwQjg4RTZIO0FoRXUrbUJ2STtBZ0V0K21CQTtFQUNFLG9DQUFBO0FoRXkrbUJGO0FzQy83ckJNO0VBQ0UsMEMwQjg5RXNGO0FoRW8rbUI5RjtBc0M5N3JCTTtFQUNJLHFEMEJ5OUVpSDtBaEV3K21CM0g7QXNDdjhyQk07RUFDRSxjaEIrSnVCO0F0QjJ5ckIvQjtBc0N0OHJCTTtFQUNJLGNoQjRKMEI7QXRCNnlyQnBDO0FzQy84ckJNO0VBQ0UsV2hCZ0s4QjtBdEJrenJCdEM7QXNDOThyQk07RUFDSSxjaEI2SmlDO0F0Qm96ckIzQztBc0N2OXJCTTtFQUNFLFdoQmdLOEI7QXRCMHpyQnRDO0FzQ3Q5ckJNO0VBQ0ksY2hCNkppQztBdEI0enJCM0M7QXNDLzlyQk07RUFDRSxjaEIrSnVCO0F0Qm0wckIvQjtBc0M5OXJCTTtFQUNJLGNoQjRKMEI7QXRCcTByQnBDO0FzQ3YrckJNO0VBQ0UsV2hCZ0s4QjtBdEIwMHJCdEM7QXNDdCtyQk07RUFDSSxjaEI2SmlDO0F0QjQwckIzQztBc0MvK3JCTTtFQUNFLFdoQmdLOEI7QXRCazFyQnRDO0FzQzkrckJNO0VBQ0ksY2hCNkppQztBdEJvMXJCM0M7QWdFN2duQkEsMkJBQUE7QTFCMStFTTtFQUNFLGNoQk9HO0F0Qm8vckJYO0FzQ3YvckJNO0VBQ0ksY2hCc0l5QjtBdEJvM3JCbkM7QXNDaGdzQk07RUFDRSx5QmhCV0k7QXRCdy9yQlo7QXNDLy9yQk07RUFDSSx5QmhCK0lvQztBdEJtM3JCOUM7QXNDeGdzQk07RUFDRSx5QmhCWUk7QXRCKy9yQlo7QXNDdmdzQk07RUFDSSx5QmhCaUp1QztBdEJ5M3JCakQ7QWdFamluQkE7OytFQUFBO0ExQi8rRU07RUFDRSw2QjBCaS9FcUo7QWhFcWluQjdKO0FzQ2xoc0JNO0VBQ0ksNkIwQjQrRWdLO0FoRXlpbkIxSztBc0MzaHNCTTtFQUNFLDZCMEJrL0VvSztBaEU0aW5CNUs7QXNDMWhzQk07RUFDSSw2QjBCNitFK0s7QWhFZ2puQnpMO0FzQ25pc0JNO0VBQ0UseUJoQndLa0M7QXRCODNyQjFDO0FzQ2xpc0JNO0VBQ0kseUJoQm9LcUM7QXRCaTRyQi9DO0FzQzNpc0JNO0VBQ0UseUJoQllJO0F0Qmtpc0JaO0FzQzFpc0JNO0VBQ0kseUJoQnNLd0M7QXRCdTRyQmxEO0FnRTVqbkJBLGNBQUE7QTFCdi9FTTtFQUNFLGNoQmdIYztBdEJ1OHJCdEI7QXNDbmpzQk07RUFDSSxjaEIyV0U7QXRCMnNyQlo7QXNDNWpzQk07RUFDRSxjaEJnSGM7QXRCKzhyQnRCO0FzQzNqc0JNO0VBQ0ksY2hCbVhHO0F0QjJzckJiO0FnRXprbkJBLG1CQUFBO0ExQjMvRU07RUFDRSxjaEJnSGM7QXRCdzlyQnRCO0FzQ3Brc0JNO0VBQ0ksY2hCMldFO0F0QjR0ckJaO0FzQzdrc0JNO0VBQ0UsY2hCZ0hjO0F0QmcrckJ0QjtBc0M1a3NCTTtFQUNJLGNoQjJXRTtBdEJvdXJCWjtBc0NybHNCTTtFQUNFLGNoQmdIYztBdEJ3K3JCdEI7QXNDcGxzQk07RUFDSSxjaEJtWEc7QXRCb3VyQmI7QWdFN2xuQkEsd0JBQUE7QTFCaGdGTTtFQUNFLGNoQnNYSztBdEIydXJCYjtBc0M3bHNCTTtFQUNJLGNoQm1YRztBdEI2dXJCYjtBc0N0bXNCTTtFQUNFLHlCaEJ3WEs7QXRCaXZyQmI7QXNDcm1zQk07RUFDSSx5QmhCaVhHO0F0QnV2ckJiO0FnRW5tbkJBLG9CQUFBO0ExQjNnRk07RUFDRSx1QmhCK0NhO0F0Qm1rc0JyQjtBc0M5bXNCTTtFQUNJLHVCaEIyQ2dCO0F0QnNrc0IxQjtBZ0V6bW5CQSxlQUFBO0ExQjlnRk07RUFDRSx5QmhCOEVnQjtBdEI2aXNCeEI7QXNDdm5zQk07RUFDSSx5QmhCMEVtQjtBdEJnanNCN0I7QXNDaG9zQk07RUFDRSxjaEJpRFE7QXRCa2xzQmhCO0FzQy9uc0JNO0VBQ0ksY2hCNkNXO0F0QnFsc0JyQjtBZ0V0bm5CQSxxQkFBQTtBMUJsaEZNO0VBQ0UsY2hCZ0hjO0F0QjRoc0J0QjtBc0N4b3NCTTtFQUNJLGNoQjRHaUI7QXRCK2hzQjNCO0FnRTVubkJBLDBCQUFBO0ExQnJoRk07RUFDRSx5QmhCb0lvQjtBdEJpaHNCNUI7QXNDanBzQk07RUFDSSx5QmhCZ0l1QjtBdEJvaHNCakM7QWdFbG9uQkEseUJBQUE7QTFCeGhGTTtFQUNFLHlCaEI4RWdCO0F0Qmdsc0J4QjtBc0MxcHNCTTtFQUNJLHlCaEIwRW1CO0F0Qm1sc0I3QjtBc0NucXNCTTtFQUNFLGNoQmlEUTtBdEJxbnNCaEI7QXNDbHFzQk07RUFDSSxjaEI2Q1c7QXRCd25zQnJCO0FnRS9vbkJBOzs7aURBQUE7QUFLQSxlQUFBO0ExQmppRk07RUFDRSxrQjBCaWlGbUU7QWhFa3BuQjNFO0FzQy9xc0JNO0VBQ0ksc0MwQjRoRnFFO0FoRXNwbkIvRTtBc0N4cnNCTTtFQUNFLFUwQmtpRjJEO0FoRXlwbkJuRTtBc0N2cnNCTTtFQUNJLDhCMEI2aEY2RDtBaEU2cG5CdkU7QXNDaHNzQk07RUFDRSxjMEJtaUY2RDtBaEVncW5CckU7QXNDL3JzQk07RUFDSSwwQzBCOGhGK0Q7QWhFb3FuQnpFO0FnRWxxbkJBLHVCQUFBO0ExQnRpRk07RUFDRSx5QmhCa1dvQjtBdEIwMnJCNUI7QXNDeHNzQk07RUFDSSx5QmhCOFZ1QjtBdEI2MnJCakM7QWdFcHFuQkE7RUFDRSxvQ0FBQTtFQUtBLDJCQUFBO0VBQ0EsbURqQzErRXNCO0EvQjZvc0J4QjtBZ0UzcG5CRTtFQUNFLHNDQUFBO0FoRTZwbkJKO0FnRTNwbkJFO0VBQ0Usc0NBQUE7QWhFNnBuQko7QWdFMXBuQkU7RUFDRSx5QkFBQTtBaEU0cG5CSjtBZ0UxcG5CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFNHBuQko7QWdFeHBuQkU7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0FoRTBwbkJKO0FnRXRwbkJFO0VBQ0UseUIxQ3ZrRlE7RTBDMmtGUixXMUN0N0VrQztFMEN1N0VsQyxxQjFDdGxGTztBdEIydXNCWDtBZ0VqcG5CQTtFQUNFLG9DQUFBO0VBT0Esd0NBQUE7RUFDQSxrRGpDMWhGc0I7QS9Cd3FzQnhCO0FnRXhvbkJFO0VBQ0Usc0NBQUE7QWhFMG9uQko7QWdFeG9uQkU7RUFDRSxzQ0FBQTtBaEUwb25CSjtBZ0V2b25CRTtFQUNFLHlCQUFBO0FoRXlvbkJKO0FnRXZvbkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEV5b25CSjtBZ0V0b25CRTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWhFd29uQko7QWdFaG9uQkU7RUFLRSx5QjFDLzlFMkM7RTBDZytFM0MsYzFDditFdUM7RTBDdytFdkMscUIxQy9nRnlCO0F0QjZvc0I3QjtBc0N6d3NCTTtFQUNFLGMwQjZvRjZEO0FoRStubkJyRTtBc0N4d3NCTTtFQUNJLGtDMEJ3b0YrRDtBaEVtb25CekU7QXNDanhzQk07RUFDRSxjaEJnSGM7QXRCb3FzQnRCO0FzQ2h4c0JNO0VBQ0ksY2hCNEdpQjtBdEJ1cXNCM0I7QXNDenhzQk07RUFDRSx5QmhCNEJZO0F0Qmd3c0JwQjtBc0N4eHNCTTtFQUNJLHlCaEJ3QmU7QXRCbXdzQnpCO0FzQ2p5c0JNO0VBQ0UsWWhCK0hhO0F0QnFxc0JyQjtBc0NoeXNCTTtFQUNJLFloQjJIZ0I7QXRCd3FzQjFCO0FzQ3p5c0JNO0VBQ0UsWWhCK0hhO0F0QjZxc0JyQjtBc0N4eXNCTTtFQUNJLFloQjJIZ0I7QXRCZ3JzQjFCO0FzQ2p6c0JNO0VBQ0UseUJoQnFRcUI7QXRCK2lzQjdCO0FzQ2h6c0JNO0VBQ0ksMkMwQjZvRjJQO0FoRXNxbkJyUTtBZ0VwcW5CQSwrQkFBQTtBMUJycEZNO0VBQ0UseUJoQnVMa0I7QXRCc29zQjFCO0FzQ3p6c0JNO0VBQ0kseUJoQm1McUI7QXRCeW9zQi9CO0FnRXhxbkJBLGFBQUE7QTFCMXBGTTtFQUNFLHVCaEIrQ2E7QXRCdXhzQnJCO0FzQ2wwc0JNO0VBQ0ksdUJoQjJDZ0I7QXRCMHhzQjFCO0FzQzMwc0JNO0VBQ0UsWWhCZ0RrQjtBdEI4eHNCMUI7QXNDMTBzQk07RUFDSSxZaEIwQ1c7QXRCbXlzQnJCO0FzQ24xc0JNO0VBQ0UsdUJoQitDYTtBdEJ1eXNCckI7QXNDbDFzQk07RUFDSSx1QmhCMkNnQjtBdEIweXNCMUI7QWdFNXJuQkEsbUJBQUE7QTFCL3BGTTtFQUNFLGNoQmlEUTtBdEI4eXNCaEI7QXNDMzFzQk07RUFDSSxjaEI2Q1c7QXRCaXpzQnJCO0FnRWpzbkJBLHdCQUFBO0ExQm5xRk07RUFDRSx5QmhCOEVnQjtBdEIweHNCeEI7QXNDcDJzQk07RUFDSSx5QmhCMEVtQjtBdEI2eHNCN0I7QXNDNzJzQk07RUFDRSw0QmhCOEVnQjtBdEJreXNCeEI7QXNDNTJzQk07RUFDSSw0QmhCMEVtQjtBdEJxeXNCN0I7QXNDcjNzQk07RUFDRSwyQmhCd1hLO0F0Qmdnc0JiO0FzQ3Azc0JNO0VBQ0ksMkJoQmlYRztBdEJzZ3NCYjtBc0M3M3NCTTtFQUNFLHlCaEJ3WEs7QXRCd2dzQmI7QXNDNTNzQk07RUFDSSx5QjBCaXFGNEY7QWhFOHRuQnRHO0FzQ3I0c0JNO0VBQ0UscUJoQjhFZ0I7QXRCMHpzQnhCO0FzQ3A0c0JNO0VBQ0kscUJoQjBFbUI7QXRCNnpzQjdCO0FzQzc0c0JNO0VBQ0UsMkJoQjhFZ0I7QXRCazBzQnhCO0FzQzU0c0JNO0VBQ0ksMkJoQjBFbUI7QXRCcTBzQjdCO0FzQ3I1c0JNO0VBQ0UseUJoQjhFZ0I7QXRCMDBzQnhCO0FzQ3A1c0JNO0VBQ0kseUJoQjBFbUI7QXRCNjBzQjdCO0FzQzc1c0JNO0VBQ0UsMkJoQndYSztBdEJ3aXNCYjtBc0M1NXNCTTtFQUNJLDJCaEJpWEc7QXRCOGlzQmI7QWdFeHZuQkEsZ0JBQUE7QTFCN3FGTTtFQUNFLHlCaEI4RWdCO0F0QjIxc0J4QjtBc0NyNnNCTTtFQUNJLHlCaEIwRW1CO0F0Qjgxc0I3QjtBc0M5NnNCTTtFQUNFLFUwQjhxRjBGO0FoRW13bkJsRztBc0M3NnNCTTtFQUNJLGlCMEJ5cUY0RjtBaEV1d25CdEc7QXNDdDdzQk07RUFDRSxjaEJpRFE7QXRCdzRzQmhCO0FzQ3I3c0JNO0VBQ0ksY2hCNkNXO0F0QjI0c0JyQjtBc0M5N3NCTTtFQUNFLGNoQmlEUTtBdEJnNXNCaEI7QXNDNzdzQk07RUFDSSxjaEI2Q1c7QXRCbTVzQnJCO0FzQ3Q4c0JNO0VBQ0UseUJoQjhFZ0I7QXRCMjNzQnhCO0FzQ3I4c0JNO0VBQ0kseUJoQjBFbUI7QXRCODNzQjdCO0FnRTF4bkJBLGVBQUE7QTFCcHJGTTtFQUNFLGNoQjZObUI7QXRCcXZzQjNCO0FzQzk4c0JNO0VBQ0ksY2hCeU5zQjtBdEJ3dnNCaEM7QWdFaHluQkEsb0JBQUE7QTFCdnJGTTtFQUNFLGNoQjRCWTtBdEIrN3NCcEI7QXNDdjlzQk07RUFDSSxjaEJ3QmU7QXRCazhzQnpCO0FnRXR5bkJBLGdCQUFBO0ExQjFyRk07RUFDRSxjaEJvT3VCO0F0Qmd3c0IvQjtBc0NoK3NCTTtFQUNJLGNoQmdPMEI7QXRCbXdzQnBDO0FnRTV5bkJBLDBCQUFBO0ExQjdyRk07RUFDRSxtQmhCMENXO0F0Qm04c0JuQjtBc0N6K3NCTTtFQUNJLG1CaEJzQ2M7QXRCczhzQnhCO0FnRWx6bkJBLG1CQUFBO0ExQmhzRk07RUFDRSxjaEJzT29CO0F0Qmd4c0I1QjtBc0NsL3NCTTtFQUNJLGNoQmtPdUI7QXRCbXhzQmpDO0FnRXh6bkJBLGtCQUFBO0ExQm5zRk07RUFDRSxjaEJ3T3NCO0F0QnV4c0I5QjtBc0MzL3NCTTtFQUNJLGNoQm9PeUI7QXRCMHhzQm5DO0FnRTl6bkJBLDBCQUFBO0ExQnRzRk07RUFDRSxjaEI2T2lDO0F0QjJ4c0J6QztBc0NwZ3RCTTtFQUNJLGNoQnlPb0M7QXRCOHhzQjlDO0FnRXAwbkJBLDhCQUFBO0ExQnpzRk07RUFDRSxjaEJrUHFDO0F0Qit4c0I3QztBc0M3Z3RCTTtFQUNJLGNoQjhPd0M7QXRCa3lzQmxEO0FnRTEwbkJBOzs7Ozs4RUFBQTtBQU9BLGtDQUFBO0ExQm50Rk07RUFDRSx1QmhCK0NhO0F0Qmkvc0JyQjtBc0M1aHRCTTtFQUNJLHVCaEIyQ2dCO0F0Qm8vc0IxQjtBc0NyaXRCTTtFQUNFLHdFMEJ1dEZvRztBaEVpMW5CNUc7QXNDcGl0Qk07RUFDSSxrRTBCa3RGb0w7QWhFcTFuQjlMO0FzQzdpdEJNO0VBQ0UsNkUwQjJ0RjJHO0FoRXExbkJuSDtBc0M1aXRCTTtFQUNJLHVFMEJzdEYwTDtBaEV5MW5CcE07QXNDcmp0Qk07RUFDRSx1RTBCK3RGaUk7QWhFeTFuQnpJO0FzQ3BqdEJNO0VBQ0ksaUUwQjB0RmdOO0FoRTYxbkIxTjtBc0M3anRCTTtFQUNFLGdCaEJ3RGE7QXRCd2d0QnJCO0FzQzVqdEJNO0VBQ0ksZ0JoQm9EZ0I7QXRCMmd0QjFCO0FzQ3JrdEJNO0VBQ0UsdUJoQitDYTtBdEJ5aHRCckI7QXNDcGt0Qk07RUFDSSx1QmhCMkNnQjtBdEI0aHRCMUI7QXNDN2t0Qk07RUFDRSx1QmhCK0NhO0F0QmlpdEJyQjtBc0M1a3RCTTtFQUNJLHVCaEIyQ2dCO0F0Qm9pdEIxQjtBc0NybHRCTTtFQUNFLHVCaEIrQ2E7QXRCeWl0QnJCO0FzQ3BsdEJNO0VBQ0ksdUJoQjJDZ0I7QXRCNGl0QjFCO0FnRXIybkJFOztFQUVFLHFDMUNoNkV1QjtFMENpNkV2Qix3QzFDajZFdUI7QXRCeXdzQjNCO0FnRXIybkJFOztFQUVFLHFDMUN0NkV1QjtFMEN1NkV2Qix3QzFDdjZFdUI7RTBDdzZFdkIsc0MxQ3g2RXVCO0F0Qit3c0IzQjtBZ0VwMm5CRTs7RUFFRSxxQzFDNzZFdUI7RTBDODZFdkIsd0MxQzk2RXVCO0UwQys2RXZCLHVDMUMvNkV1QjtBdEJxeHNCM0I7QWdFdjNuQkU7O0VBRUUscUMxQ2g2RXVCO0UwQ2k2RXZCLHdDMUNqNkV1QjtBdEIyeHNCM0I7QWdFdjNuQkU7O0VBRUUscUMxQ3Q2RXVCO0UwQ3U2RXZCLHdDMUN2NkV1QjtFMEN3NkV2QixzQzFDeDZFdUI7QXRCaXlzQjNCO0FnRXQzbkJFOztFQUVFLHFDMUM3NkV1QjtFMEM4NkV2Qix3QzFDOTZFdUI7RTBDKzZFdkIsdUMxQy82RXVCO0F0QnV5c0IzQjtBZ0V6NG5CRTs7RUFFRSwyQ0E2Qm9DO0VBNUJwQyw4Q0E0Qm9DO0FoRSsybkJ4QztBZ0V4NG5CRTs7RUFFRSwyQ0F1Qm9DO0VBdEJwQyw4Q0FzQm9DO0VBckJwQyw0Q0FxQm9DO0FoRXEzbkJ4QztBZ0V2NG5CRTs7RUFFRSwyQ0FnQm9DO0VBZnBDLDhDQWVvQztFQWRwQyw2Q0Fjb0M7QWhFMjNuQnhDO0FnRXIzbkJFOztFQUVFLHFDQUFBO0FoRXUzbkJKO0FzQ3RwdEJNO0VBQ0UsY2hCaURRO0F0QndtdEJoQjtBc0NycHRCTTtFQUNJLGNoQjZDVztBdEIybXRCckI7QXNDOXB0Qk07RUFDRSxjaEIrSnVCO0F0QmtndEIvQjtBc0M3cHRCTTtFQUNJLGNoQjRKMEI7QXRCb2d0QnBDO0FzQ3RxdEJNO0VBQ0UsZ0JoQndEYTtBdEJpbnRCckI7QXNDcnF0Qk07RUFDSSxnQmhCb0RnQjtBdEJvbnRCMUI7QXNDOXF0Qk07RUFDRSx1QmhCK0NhO0F0QmtvdEJyQjtBc0M3cXRCTTtFQUNJLHVCaEIyQ2dCO0F0QnFvdEIxQjtBc0N0cnRCTTtFQUNFLHVCaEIrQ2E7QXRCMG90QnJCO0FzQ3JydEJNO0VBQ0ksdUJoQjJDZ0I7QXRCNm90QjFCO0FnRTE0bkJFO0VBQ0UsYzFDcnBGMkI7QXRCa2l0Qi9CO0FnRTM0bkJJO0VBQXFCLGMxQ3J3RlQ7QXRCbXB0QmhCO0FnRTc0bkJJO0VBQVMsYzFDdHdGRztBdEJzcHRCaEI7QWdFMzRuQkk7RUFBOEIseUJBQUE7QWhFODRuQmxDO0FnRXY0bkJJOzs7O0VBR3dDLHlCQUFBO0FoRTA0bkI1QztBZ0V6NG5CSTtFQUFnQyx5QkFBQTtBaEU0NG5CcEM7QWdFcDRuQkE7RUFDRSx5QkFBQTtBaEV1NG5CRjtBZ0UvM25CQTtFQUNFLHlCQUFBO0FoRWs0bkJGO0FnRS8zbkJBLG9DQUFBO0ExQjcxRk07RUFDRSx5QmhCeUptQjtBdEJ1a3RCM0I7QXNDNXR0Qk07RUFDSSx5QmhCcUpzQjtBdEIwa3RCaEM7QXNDcnV0Qk07RUFDRSxxQmhCQ0c7QXRCdXV0Qlg7QXNDcHV0Qk07RUFDSSxxQmhCc0htQjtBdEJpbnRCN0I7QWdFNTRuQkEsZ0NBQUE7QTFCajJGTTtFQUNFLG9CMEJpMkY2RztBaEVnNW5Cckg7QXNDN3V0Qk07RUFDSSxxQzBCNDFGK0c7QWhFbzVuQnpIO0FnRWw1bkJBLHdCQUFBO0ExQnAyRk07RUFDRSx5QkFBQTtBdEMwdnRCUjtBc0N0dnRCTTtFQUNJLHlCaEJnRlk7QXRCeXF0QnRCO0FzQy92dEJNO0VBQ0UseUJoQjRCWTtBdEJzdXRCcEI7QXNDOXZ0Qk07RUFDSSx5QmhCd0JlO0F0Qnl1dEJ6QjtBc0N2d3RCTTtFQUNFLHVCaEIwQ1c7QXRCZ3V0Qm5CO0FzQ3R3dEJNO0VBQ0ksdUJoQnNDYztBdEJtdXRCeEI7QXNDL3d0Qk07RUFDRSx5QkFBQTtBdENreHRCUjtBc0M5d3RCTTtFQUNJLHlCaEJnRlk7QXRCaXN0QnRCO0FzQ3Z4dEJNO0VBQ0UsY2hCS0c7QXRCcXh0Qlg7QXNDdHh0Qk07RUFDSSxjaEI0SjBCO0F0QjZudEJwQztBc0MveHRCTTtFQUNFLGNoQktHO0F0QjZ4dEJYO0FzQzl4dEJNO0VBQ0ksY2hCNEowQjtBdEJxb3RCcEM7QXNDdnl0Qk07RUFDRSxjaEIrQmU7QXRCMnd0QnZCO0FzQ3R5dEJNO0VBQ0ksY2hCMkJrQjtBdEI4d3RCNUI7QXNDL3l0Qk07RUFDRSxjaEJ5VWdCO0F0Qnkrc0J4QjtBc0M5eXRCTTtFQUNJLGNoQnFVa0I7QXRCNCtzQjVCO0FzQ3Z6dEJNO0VBQ0UsY2hCNEJZO0F0Qjh4dEJwQjtBc0N0enRCTTtFQUNJLGNoQndCZTtBdEJpeXRCekI7QXNDL3p0Qk07RUFDRSxjaEI0Qlk7QXRCc3l0QnBCO0FzQzl6dEJNO0VBQ0ksY2hCd0JlO0F0Qnl5dEJ6QjtBc0N2MHRCTTtFQUNFLGNoQitCZTtBdEIyeXRCdkI7QXNDdDB0Qk07RUFDSSxjaEIyQmtCO0F0Qjh5dEI1QjtBc0MvMHRCTTtFQUNFLGNoQmlDZTtBdEJpenRCdkI7QXNDOTB0Qk07RUFDSSxjaEI2QmtCO0F0Qm96dEI1QjtBc0N2MXRCTTtFQUNFLGNoQitCZTtBdEIyenRCdkI7QXNDdDF0Qk07RUFDSSxjaEIyQmtCO0F0Qjh6dEI1QjtBc0MvMXRCTTtFQUNFLGNoQitCZTtBdEJtMHRCdkI7QXNDOTF0Qk07RUFDSSxjaEIyQmtCO0F0QnMwdEI1QjtBc0N2MnRCTTtFQUNFLHlCaEI4RWdCO0F0QjR4dEJ4QjtBc0N0MnRCTTtFQUNJLHlCaEIwRW1CO0F0Qit4dEI3QjtBc0MvMnRCTTtFQUNFLGNoQmlDZTtBdEJpMXRCdkI7QXNDOTJ0Qk07RUFDSSxjaEI2QmtCO0F0Qm8xdEI1QjtBZ0UxL25CQSxvQkFBQTtBMUI3M0ZNO0VBQ0UsY2hCNEJZO0F0QisxdEJwQjtBc0N2M3RCTTtFQUNJLGNoQndCZTtBdEJrMnRCekI7QXNDaDR0Qk07RUFDRSxjaEJ5VWdCO0F0QjBqdEJ4QjtBc0MvM3RCTTtFQUNJLGNoQnFVa0I7QXRCNmp0QjVCO0FnRXJnb0JBLGtDQUFBO0ExQm40Rk07RUFDRSx5QmhCd1hLO0F0Qm9odEJiO0FzQ3g0dEJNO0VBQ0kseUJoQmlYRztBdEIwaHRCYjtBZ0UzZ29CQSwyQkFBQTtBMUJ0NEZNO0VBQ0UsY2hCaURRO0F0Qm8ydEJoQjtBc0NqNXRCTTtFQUNJLGNoQjZDVztBdEJ1MnRCckI7QWdFamhvQkEsMEJBQUE7QTFCejRGTTtFQUNFLHVCaEIrQ2E7QXRCKzJ0QnJCO0FzQzE1dEJNO0VBQ0ksdUJoQjJDZ0I7QXRCazN0QjFCO0FnRXZob0JBLGtDQUFBO0ExQjU0Rk07RUFDRSx1QmhCK0NhO0F0QnczdEJyQjtBc0NuNnRCTTtFQUNJLHVCaEIyQ2dCO0F0QjIzdEIxQjtBc0M1NnRCTTtFQUNFLG9DMEI2NEZrSDtBaEVraW9CMUg7QXNDMzZ0Qk07RUFDSSxvQzBCdzRGZ0o7QWhFc2lvQjFKO0FzQ3A3dEJNO0VBQ0Usb0MwQjg0RmtIO0FoRXlpb0IxSDtBc0NuN3RCTTtFQUNJLG9DMEJ5NEZnSjtBaEU2aW9CMUo7QXNDNTd0Qk07RUFDRSwwQmhCbURhO0F0QjQ0dEJyQjtBc0MzN3RCTTtFQUNJLGdCaEIrQ2dCO0F0Qis0dEIxQjtBZ0Vsam9CQSx3QkFBQTtBMUJsNUZNO0VBQ0UsY2hCaURRO0F0QnU1dEJoQjtBc0NwOHRCTTtFQUNJLGNoQjZDVztBdEIwNXRCckI7QXNDNzh0Qk07RUFDRSx1QjBCbTVGaUY7QWhFNmpvQnpGO0FzQzU4dEJNO0VBQ0ksdUIwQjg0RmdHO0FoRWlrb0IxRztBc0NyOXRCTTtFQUNFLHVCMEJvNUY2RTtBaEVva29CckY7QXNDcDl0Qk07RUFDSSx1QjBCKzRGNEY7QWhFd2tvQnRHO0FzQzc5dEJNO0VBQ0UsdUIwQnE1RjBFO0FoRTJrb0JsRjtBc0M1OXRCTTtFQUNJLHVCMEJnNUZ5RjtBaEUra29Cbkc7QXNDcit0Qk07RUFDRSxjaEJpRFE7QXRCdTd0QmhCO0FzQ3ArdEJNO0VBQ0ksY2hCNkNXO0F0QjA3dEJyQjtBc0M3K3RCTTtFQUNFLGNoQmlEUTtBdEIrN3RCaEI7QXNDNSt0Qk07RUFDSSxjaEI2Q1c7QXRCazh0QnJCO0FnRXpsb0JBLDhCQUFBO0ExQjU1Rk07RUFDRSxjMEI0NUYrRjtBaEU2bG9Cdkc7QXNDci90Qk07RUFDSSxrQzBCdTVGaUc7QWhFaW1vQjNHO0FnRS9sb0JBLHFDQUFBO0ExQi81Rk07RUFDRSxjMEIrNUZzRztBaEVtbW9COUc7QXNDOS90Qk07RUFDSSxrQzBCMDVGd0c7QWhFdW1vQmxIO0FnRXJtb0JBLHNCQUFBO0ExQmw2Rk07RUFDRSxjaEJpRFE7QXRCMDl0QmhCO0FzQ3ZndUJNO0VBQ0ksY2hCNkNXO0F0QjY5dEJyQjtBc0NoaHVCTTtFQUNFLFMwQm02RjhFO0FoRWdub0J0RjtBc0MvZ3VCTTtFQUNJLGNoQjZDVztBdEJxK3RCckI7QXNDeGh1Qk07RUFDRSxvQjBCbzZGbUY7QWhFdW5vQjNGO0FzQ3ZodUJNO0VBQ0kseUJoQmtWMkI7QXRCd3N0QnJDO0FzQ2hpdUJNO0VBQ0Usb0IwQnE2RitHO0FoRThub0J2SDtBc0MvaHVCTTtFQUNJLHlCaEIwRW1CO0F0Qnc5dEI3QjtBc0N4aXVCTTtFQUNFLG9DMEJzNkZvSDtBaEVxb29CNUg7QXNDdml1Qk07RUFDSSwwQzBCaTZGa0k7QWhFeW9vQjVJO0FzQ2hqdUJNO0VBQ0Usb0MwQnU2Rm9LO0FoRTRvb0I1SztBc0MvaXVCTTtFQUNJLDBDMEJrNkZrTDtBaEVncG9CNUw7QWdFOW9vQkEsc0JBQUE7QTFCMTZGTTtFQUNFLFMwQjA2RjhGO0FoRWtwb0J0RztBc0N4anVCTTtFQUNJLGMwQnE2RmdHO0FoRXNwb0IxRztBc0Nqa3VCTTtFQUNFLFMwQjI2Rm9HO0FoRXlwb0I1RztBc0Noa3VCTTtFQUNJLGMwQnM2RnNHO0FoRTZwb0JoSDtBZ0UzcG9CQSwyQkFBQTtBMUI5NkZNO0VBQ0UseUJoQjhFZ0I7QXRCKy90QnhCO0FzQ3prdUJNO0VBQ0kseUJoQjBFbUI7QXRCa2d1QjdCO0FzQ2xsdUJNO0VBQ0UsY2hCNEJZO0F0QnlqdUJwQjtBc0NqbHVCTTtFQUNJLGNoQndCZTtBdEI0anVCekI7QWdFeHFvQkEsd0JBQUE7QTFCbDdGTTtFQUNFLHlCaEI4RWdCO0F0QmdodUJ4QjtBc0MxbHVCTTtFQUNJLHlCaEIwRW1CO0F0Qm1odUI3QjtBc0NubXVCTTtFQUNFLHFCaEJDRztBdEJxbXVCWDtBc0NsbXVCTTtFQUNJLHFCaEJzSG1CO0F0QisrdEI3QjtBc0MzbXVCTTtFQUNFLGFoQmlEUTtBdEI2anVCaEI7QXNDMW11Qk07RUFDSSxhaEI2Q1c7QXRCZ2t1QnJCO0FzQ25udUJNO0VBQ0UsY2hCaURRO0F0QnFrdUJoQjtBc0NsbnVCTTtFQUNJLGNoQjZDVztBdEJ3a3VCckI7QXNDM251Qk07RUFDRSxjaEJpRFE7QXRCNmt1QmhCO0FzQzFudUJNO0VBQ0ksY2hCNkNXO0F0QmdsdUJyQjtBc0Nub3VCTTtFQUNFLGlCaEI4ZVc7QXRCd3B0Qm5CO0FzQ2xvdUJNO0VBQ0ksaUJoQjBlYztBdEIycHRCeEI7QXNDM291Qk07RUFDRSxjaEJpRFE7QXRCNmx1QmhCO0FzQzFvdUJNO0VBQ0ksY2hCNkNXO0F0QmdtdUJyQjtBZ0V2dG9CQSwyQkFBQTtBMUI1N0ZNO0VBQ0UsYWhCaURRO0F0QnNtdUJoQjtBc0NucHVCTTtFQUNJLGFoQjZDVztBdEJ5bXVCckI7QXNDNXB1Qk07RUFDRSxjaEJpRFE7QXRCOG11QmhCO0FzQzNwdUJNO0VBQ0ksY2hCNkNXO0F0QmludUJyQjtBc0NwcXVCTTtFQUNFLHlCaEI4RWdCO0F0QnlsdUJ4QjtBc0NucXVCTTtFQUNJLHlCaEIwRW1CO0F0QjRsdUI3QjtBc0M1cXVCTTtFQUNFLHdDMEIrN0ZxRjtBaEVndm9CN0Y7QXNDM3F1Qk07RUFDSSx3QzBCMDdGMkc7QWhFb3ZvQnJIO0FzQ3BydUJNO0VBQ0Usa0MwQmc4RitFO0FoRXV2b0J2RjtBc0NucnVCTTtFQUNJLGtDMEIyN0ZxRztBaEUydm9CL0c7QXNDNXJ1Qk07RUFDRSx3QzBCaThGb0c7QWhFOHZvQjVHO0FzQzNydUJNO0VBQ0ksd0MwQjQ3RjBIO0FoRWt3b0JwSTtBc0Nwc3VCTTtFQUNFLGtDMEJrOEY4RjtBaEVxd29CdEc7QXNDbnN1Qk07RUFDSSxrQzBCNjdGb0g7QWhFeXdvQjlIO0FzQzVzdUJNO0VBQ0UsNEIwQm04RndGO0FoRTR3b0JoRztBc0Mzc3VCTTtFQUNJLDRCMEI4N0Y4RztBaEVneG9CeEg7QWdFOXdvQkEscUJBQUE7QTFCdDhGTTtFQUNFLGNoQmlEUTtBdEJ1cXVCaEI7QXNDcHR1Qk07RUFDSSxjaEI2Q1c7QXRCMHF1QnJCO0FzQzd0dUJNO0VBQ0UseUJoQjRCWTtBdEJvc3VCcEI7QXNDNXR1Qk07RUFDSSx5QmhCd0JlO0F0QnVzdUJ6QjtBc0NydXVCTTtFQUNFLGFoQjRCWTtBdEI0c3VCcEI7QXNDcHV1Qk07RUFDSSxhaEJ3QmU7QXRCK3N1QnpCO0FnRWx5b0JBLHdCQUFBO0ExQjM4Rk07RUFDRSxjaEI0Qlk7QXRCcXR1QnBCO0FzQzd1dUJNO0VBQ0ksY2hCd0JlO0F0Qnd0dUJ6QjtBc0N0dnVCTTtFQUNFLHlCMEI0OEZ1RjtBaEU2eW9CL0Y7QXNDcnZ1Qk07RUFDSSx5QjBCdThGc0g7QWhFaXpvQmhJO0FzQzl2dUJNO0VBQ0UscUJoQmdIYztBdEJpcHVCdEI7QXNDN3Z1Qk07RUFDSSxxQmhCNEdpQjtBdEJvcHVCM0I7QWdFdHpvQkEscUJBQUE7QTFCaDlGTTtFQUNFLHVCaEIrQ2E7QXRCMnR1QnJCO0FzQ3R3dUJNO0VBQ0ksdUJoQjJDZ0I7QXRCOHR1QjFCO0FzQy93dUJNO0VBQ0UscUMwQmk5RnVEO0FoRWkwb0IvRDtBc0M5d3VCTTtFQUNJLDBDMEI0OEYrRjtBaEVxMG9Cekc7QXNDdnh1Qk07RUFDRSxjaEJpRFE7QXRCeXV1QmhCO0FzQ3R4dUJNO0VBQ0ksY2hCNkNXO0F0QjR1dUJyQjtBZ0UxMG9CQSx1QkFBQTtBMUJyOUZNO0VBQ0UseUJoQjhFZ0I7QXRCcXR1QnhCO0FzQy94dUJNO0VBQ0kseUJoQjBFbUI7QXRCd3R1QjdCO0FzQ3h5dUJNO0VBQ0UsWWhCZ0RrQjtBdEIydnVCMUI7QXNDdnl1Qk07RUFDSSxZaEIwQ1c7QXRCZ3d1QnJCO0FzQ2h6dUJNO0VBQ0UseUJoQjhFZ0I7QXRCcXV1QnhCO0FzQy95dUJNO0VBQ0kseUJoQjBFbUI7QXRCd3V1QjdCO0FzQ3h6dUJNO0VBQ0UsWWhCZ0RrQjtBdEIyd3VCMUI7QXNDdnp1Qk07RUFDSSxZaEIwQ1c7QXRCZ3h1QnJCO0FzQ2gwdUJNO0VBQ0UsWWhCZ0RrQjtBdEJteHVCMUI7QXNDL3p1Qk07RUFDSSxZaEIwQ1c7QXRCd3h1QnJCO0FzQ3gwdUJNO0VBQ0UsWWhCZ0RrQjtBdEIyeHVCMUI7QXNDdjB1Qk07RUFDSSxZaEIwQ1c7QXRCZ3l1QnJCO0FnRW4zb0JBLDhCQUFBO0ExQjc5Rk07RUFDRSx5QmhCOEVnQjtBdEJzd3VCeEI7QXNDaDF1Qk07RUFDSSx5QmhCMEVtQjtBdEJ5d3VCN0I7QXNDejF1Qk07RUFDRSxZaEJnRGtCO0F0QjR5dUIxQjtBc0N4MXVCTTtFQUNJLFloQjBDVztBdEJpenVCckI7QWdFaDRvQkE7OztxREFBQTtBQUlBLDJCQUFBO0ExQnIrRk07RUFDRSxtQmhCOEVnQjtBdEIyeHVCeEI7QXNDcjJ1Qk07RUFDSSxtQmhCMEVtQjtBdEI4eHVCN0I7QXNDOTJ1Qk07RUFDRSxrQzBCcytGK0U7QWhFMjRvQnZGO0FzQzcydUJNO0VBQ0ksa0MwQmkrRnFHO0FoRSs0b0IvRztBc0N0M3VCTTtFQUNFLHdDMEJ1K0ZxRjtBaEVrNW9CN0Y7QXNDcjN1Qk07RUFDSSx3QzBCaytGMkc7QWhFczVvQnJIO0FzQzkzdUJNO0VBQ0Usa0MwQncrRjhGO0FoRXk1b0J0RztBc0M3M3VCTTtFQUNJLGtDMEJtK0ZvSDtBaEU2NW9COUg7QXNDdDR1Qk07RUFDRSx3QzBCeStGb0c7QWhFZzZvQjVHO0FzQ3I0dUJNO0VBQ0ksd0MwQm8rRjBIO0FoRW82b0JwSTtBc0M5NHVCTTtFQUNFLDRCMEIwK0Z3RjtBaEV1Nm9CaEc7QXNDNzR1Qk07RUFDSSw0QjBCcStGOEc7QWhFMjZvQnhIO0FzQ3Q1dUJNO0VBQ0UsY2hCbVhJO0F0QnNpdUJaO0FzQ3I1dUJNO0VBQ0ksY2hCNkNXO0F0QjIydUJyQjtBc0M5NXVCTTtFQUNFLHlCMEI0K0ZtSDtBaEVxN29CM0g7QXNDNzV1Qk07RUFDSSx5QjBCdStGNEk7QWhFeTdvQnRKO0FzQ3Q2dUJNO0VBQ0Usd0IwQjYrRmtIO0FoRTQ3b0IxSDtBc0NyNnVCTTtFQUNJLHdCMEJ3K0YySTtBaEVnOG9Ccko7QXNDOTZ1Qk07RUFDRSxhaEJpRFE7QXRCZzR1QmhCO0FzQzc2dUJNO0VBQ0ksYWhCNkNXO0F0Qm00dUJyQjtBc0N0N3VCTTtFQUNFLGFoQmlEUTtBdEJ3NHVCaEI7QXNDcjd1Qk07RUFDSSxhaEI2Q1c7QXRCMjR1QnJCO0FzQzk3dUJNO0VBQ0UsYWhCaURRO0F0Qmc1dUJoQjtBc0M3N3VCTTtFQUNJLGFoQjZDVztBdEJtNXVCckI7QXNDdDh1Qk07RUFDRSxhaEJpRFE7QXRCdzV1QmhCO0FzQ3I4dUJNO0VBQ0ksYWhCNkNXO0F0QjI1dUJyQjtBc0M5OHVCTTtFQUNFLGFoQmlEUTtBdEJnNnVCaEI7QXNDNzh1Qk07RUFDSSxhaEI2Q1c7QXRCbTZ1QnJCO0FzQ3Q5dUJNO0VBQ0UsYWhCaURRO0F0Qnc2dUJoQjtBc0NyOXVCTTtFQUNJLGFoQjZDVztBdEIyNnVCckI7QXNDOTl1Qk07RUFDRSxhaEJpRFE7QXRCZzd1QmhCO0FzQzc5dUJNO0VBQ0ksYWhCNkNXO0F0Qm03dUJyQjtBc0N0K3VCTTtFQUNFLGVoQmlEUTtBdEJ3N3VCaEI7QXNDcit1Qk07RUFDSSxlaEI2Q1c7QXRCMjd1QnJCO0FnRXQvb0JBLHlCQUFBO0ExQngvRk07RUFDRSxjaEJpRFE7QXRCaTh1QmhCO0FzQzkrdUJNO0VBQ0ksY2hCNkNXO0F0Qm84dUJyQjtBZ0U1L29CQSx3Q0FBQTtBMUIzL0ZNO0VBQ0UsY2hCaURRO0F0QjA4dUJoQjtBc0N2L3VCTTtFQUNJLGNoQjZDVztBdEI2OHVCckI7QWdFbGdwQkEsMkJBQUE7QTFCOS9GTTtFQUNFLHlCaEI4RWdCO0F0QnM3dUJ4QjtBc0NoZ3ZCTTtFQUNJLHlCaEIwRW1CO0F0Qnk3dUI3QjtBc0N6Z3ZCTTtFQUNFLGNoQmlEUTtBdEIyOXVCaEI7QXNDeGd2Qk07RUFDSSxjaEI2Q1c7QXRCODl1QnJCO0FnRS9ncEJBLGlDQUFBO0ExQmxnR007RUFDRSw2QjBCc2dHOEY7QWhFK2dwQnRHO0FzQ2podkJNO0VBQ0ksNkIwQmlnR3lHO0FoRW1ocEJuSDtBc0MxaHZCTTtFQUNFLHlCaEJ5Sm1CO0F0Qm80dUIzQjtBc0N6aHZCTTtFQUNJLHlCaEJxSnNCO0F0QnU0dUJoQztBc0NsaXZCTTtFQUNFLHlCaEJ5Sm1CO0F0QjQ0dUIzQjtBc0NqaXZCTTtFQUNJLHlCaEJxSnNCO0F0Qis0dUJoQztBc0MxaXZCTTtFQUNFLHlCaEJ5Sm1CO0F0Qm81dUIzQjtBc0N6aXZCTTtFQUNJLHlCaEJxSnNCO0F0QnU1dUJoQztBc0NsanZCTTtFQUNFLHlCaEJvVmlCO0F0Qml1dUJ6QjtBc0NqanZCTTtFQUNJLHlCaEJnVm9CO0F0Qm91dUI5QjtBc0MxanZCTTtFQUNFLHlCMEJnaEd1RjtBaEU2aXBCL0Y7QXNDemp2Qk07RUFDSSx1QjBCMmdHMkg7QWhFaWpwQnJJO0FnRS9pcEJBOzs7Ozs7c0RBQUE7QTFCbmhHTTtFQUNFLHlCaEJ5Sm1CO0F0Qm03dUIzQjtBc0N4a3ZCTTtFQUNJLHlCaEJxSnNCO0F0QnM3dUJoQztBc0NqbHZCTTtFQUNFLDRCaEJDRztBdEJtbHZCWDtBc0NobHZCTTtFQUNJLDRCaEJzSG1CO0F0QjY5dUI3QjtBc0N6bHZCTTtFQUNFLFdoQmdLOEI7QXRCNDd1QnRDO0FzQ3hsdkJNO0VBQ0ksY2hCNkppQztBdEI4N3VCM0M7QXNDam12Qk07RUFDRSx5QmhCeUptQjtBdEIyOHVCM0I7QXNDaG12Qk07RUFDSSx5QmhCcUpzQjtBdEI4OHVCaEM7QXNDem12Qk07RUFDRSx5QmhCQ0c7QXRCMm12Qlg7QXNDeG12Qk07RUFDSSx5QmhCc0htQjtBdEJxL3VCN0I7QXNDam52Qk07RUFDRSxjaEIrSnVCO0F0QnE5dUIvQjtBc0NobnZCTTtFQUNJLGNoQjRKMEI7QXRCdTl1QnBDO0FzQ3pudkJNO0VBQ0UsV2hCZ0s4QjtBdEI0OXVCdEM7QXNDeG52Qk07RUFDSSxjaEI2SmlDO0F0Qjg5dUIzQztBc0Nqb3ZCTTtFQUNFLHNCaEJnSzhCO0F0Qm8rdUJ0QztBc0Nob3ZCTTtFQUNJLHlCaEI2SmlDO0F0QnMrdUIzQztBc0N6b3ZCTTtFQUNFLHlCaEJ5Sm1CO0F0Qm0vdUIzQjtBc0N4b3ZCTTtFQUNJLHlCaEJxSnNCO0F0QnMvdUJoQztBc0NqcHZCTTtFQUNFLFdoQmdLOEI7QXRCby91QnRDO0FzQ2hwdkJNO0VBQ0ksY2hCNkppQztBdEJzL3VCM0M7QXNDenB2Qk07RUFDRSxjaEIrSnVCO0F0QjYvdUIvQjtBc0N4cHZCTTtFQUNJLGNoQjRKMEI7QXRCKy91QnBDO0FzQ2pxdkJNO0VBQ0UsY2hCK0p1QjtBdEJxZ3ZCL0I7QXNDaHF2Qk07RUFDSSxjaEI0SjBCO0F0QnVndkJwQztBc0N6cXZCTTtFQUNFLHlCaEJ3S2tDO0F0Qm9ndkIxQztBc0N4cXZCTTtFQUNJLHlCaEJvS3FDO0F0QnVndkIvQztBc0NqcnZCTTtFQUNFLFdoQmdLOEI7QXRCb2h2QnRDO0FzQ2hydkJNO0VBQ0ksY2hCNkppQztBdEJzaHZCM0M7QXNDenJ2Qk07RUFDRSx5QmhCd0trQztBdEJvaHZCMUM7QXNDeHJ2Qk07RUFDSSx5QmhCb0txQztBdEJ1aHZCL0M7QXNDanN2Qk07RUFDRSxXaEJnSzhCO0F0Qm9pdkJ0QztBc0Noc3ZCTTtFQUNJLGNoQjZKaUM7QXRCc2l2QjNDO0FzQ3pzdkJNO0VBQ0UseUJoQkNHO0F0QjJzdkJYO0FzQ3hzdkJNO0VBQ0kseUIwQitqR1I7QWhFNG9wQkY7QWdFaG9wQkE7RUFBc0YseUJBQUE7QWhFb29wQnRGO0FnRW5vcEJBO0VBQXNGLHlCQUFB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eUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6anlCRTtFQUNFLFlBQUE7QTFFMmp5Qko7QTBFemp5QkU7RUFDRSxZQUFBO0ExRTJqeUJKO0EwRXpqeUJFO0VBQ0UsWUFBQTtBMUUyanlCSjtBMEV6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M0VpN3lCRjtBMkVqNnlCSTtFQW5CRixvQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQkFBQTtBM0V1N3lCRjtBc0I3cHlCQTtFQUVFLCtPQUFBO0VBRUEsaVlBQUE7QXRCOHB5QkY7QXNCL2p5QkE7RUFFRSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EscUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHNDQUFBO0VBQ0Esb0NBQUE7QXRCaWt5QkY7QTRFMTl5QkE7RUFFSSwrQkFBQTtFQUFBLDhCQUFBO0VBQUEsZ0NBQUE7RUFBQSxnQ0FBQTtFQUFBLGlDQUFBO0VBR0EsZ0NBQUE7RUFBQSxnQ0FBQTtFQUFBLGlDQUFBO0VBQUEsZ0NBQUE7RUFBQSxnQ0FBQTtFQUFBLDRCQUFBO0VBQUEsaUNBQUE7RUFBQSxpQ0FBQTtFQUFBLDZCQUFBO0E1RXMreUJKO0FzQjVyeUJBO0VBRUUsK09BQUE7RUFFQSxpWUFBQTtBdEI2cnlCRjtBc0I5bHlCQTtFQUVFLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJnbXlCRjtBNkVwL3lCRTs7RUFFRSw2QkFBQTtBN0V1L3lCSjtBNkVsL3lCRTs7RUFFRSx5QnZEMkd5QjtBdEIwNHlCN0I7QUF4NXlCQTtFQUNFLHdCQUFBO0FBMjV5QkY7QUF6NXlCQTtFQUNFLHlCQUFBO0FBNDV5QkYiLCJmaWxlIjoiX2NvcmUuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJmb250cy1sb2NhbFwiO1xuQGltcG9ydCBcInRoZW1lXCI7XG5AaW1wb3J0IFwiYnVsbWFcIjtcbkBpbXBvcnQgXCJjaGFydGlzdFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcImxheW91dFwiO1xuQGltcG9ydCBcImFuZ3VsYXItY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2lucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlci1pY29uLWJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9vbHRpcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbm90aWZpY2F0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaWRlYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tZW51XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXN0b20tZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZXZlbnQtYWRtaW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NuYWNrYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mYWJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRvclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2hvdy1hbGwtc3VibWlzc2lvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RhdGV0aW1lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3JtLWZpZWxkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYXBlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGVnZW5kXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub3RpY2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hvbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21hcmtkb3duXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0cnVjdHVyZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZW1wdHktcGFnZS1wYW5lbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF0aXZlLWlucHV0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXRpdmUtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9waWMtY2hpcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGhyZXNob2xkLWJhbmQtcG9wb3ZlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2NvcmUtZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGlhbG9nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWdtZW50ZWRcIjtcbkBpbXBvcnQgXCJjb2xvci1zY2hlbWVcIjtcbkBpbXBvcnQgXCJhMTF5XCI7XG5AaW1wb3J0IFwidmlldy1tb2RlXCI7XG5cbi8vIEdsb2JhbCByZWR1Y2VkLW1vdGlvbiBvdmVycmlkZSDigJQgYXBwbGllZCBvbmNlLCBuZXZlciBwZXItY29tcG9uZW50LlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gKFRlbnRhdGl2YSBkZSBcInNlbSBhbmltYcOnw7VlcyBubyBtYWNPU1wiIFJFTU9WSURBOiBtYXRhdmEgQ1NTIGFuaW1hdGlvbnNcbi8vIGxlZ8OtdGltYXMg4oCUIG1hdC1wcm9ncmVzcy1iYXIgcm9sYW5kbywgbWF0LXNwaW5uZXIgZ2lyYW5kbywgdHJhbnNpw6fDtWVzIGRlXG4vLyBlc3RhZG8uIEUgYWluZGEgcG9yIGNpbWEgTsODTyBhdGluZ2lhIG8gYWx2byByZWFsLCBxdWUgc8OjbyBhcyBhbmltYcOnw7Vlc1xuLy8gcHJvZ3JhbcOhdGljYXMgZG8gQGFuZ3VsYXIvYW5pbWF0aW9ucywgZXhlY3V0YWRhcyBmb3JhIGRvIENTUy4gVmVyIG1lbcOzcmlhXG4vLyBwcm9qZWN0X21hY29zX25vX2FuaW1hdGlvbl9wZW5kaW5nOiBvIGNhbWluaG8gY29ycmV0byDDqSBOb29wQW5pbWF0aW9ucy9cbi8vIFtALmRpc2FibGVkXSwgbsOjbyBDU1MuKVxuXG4vLyBSZXNldCBkZSBmb250ZSBkb3MgY29udHJvbGVzIGRlIGZvcm11bMOhcmlvIChub3JtYWxpemUuY3NzIMKnMTAuMSkuXG4vLyBgPGJ1dHRvbj5gL2A8aW5wdXQ+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+Y2hhcnRpc3QvZGlzdC9zY3NzL2NoYXJ0aXN0LnNjc3NcIjtcblxuLy8gSW5zaWRlIHBpZSBjaGFydHNcbi5jdC1jaGFydC1waWUge1xuICAuY3QtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbi5jdC1sZWdlbmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGxpOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUuNXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgbGkuaW5hY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIFxuICB9XG5cbiAgJi5jdC1sZWdlbmQtaW5zaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMCB0byBsZW5ndGgoJGN0LXNlcmllcy1jb2xvcnMpIHtcbiAgICAuY3Qtc2VyaWVzLSN7JGl9OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJGN0LXNlcmllcy1jb2xvcnMsICRpICsgMSk7XG4gICAgICBib3JkZXItY29sb3I6IG50aCgkY3Qtc2VyaWVzLWNvbG9ycywgJGkgKyAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmN0LWJhciB7XG4gIHN0cm9rZS13aWR0aDogNTBweDtcbn1cblxuLmN0LWxhYmVsIHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY3QtaG9yaXpvbnRhbC5jdC1sYWJlbC5jdC1lbmQge1xuICAmLmN0LWxhYmVsLXJvdGF0ZS00NSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKVxuICB9XG5cbiAgJi5jdC1sYWJlbC1yb3RhdGUtNDUtZW5kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxueC1jaGFydGlzdCBzdmcge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiIsIi8vIE5ldXRyYWwgU3RvbmUgc2NhbGUgKFRhaWx3aW5kLWRlcml2ZWQpIOKAlCB3YXJtIGdyYXlzIGZvciBzdXJmYWNlcywgdGV4dCwgYm9yZGVycy5cbi8vIERlY2xhcmVkIGF0IHRoZSB0b3AgYmVjYXVzZSBuYXZiYXIvc2lkZW5hdiB2YXJpYWJsZXMgYmVsb3cgcmVmZXJlbmNlIHRoZXNlIHRva2Vucy5cbiRncmF5LTA6ICAgI0ZGRkZGRjtcbiRncmF5LTUwOiAgI0ZBRkFGOTtcbiRncmF5LTEwMDogI0Y1RjVGNDtcbiRncmF5LTEyNTogI0YxRjBFRjsgIC8vIE1pZHBvaW50IHdhcm0tc3RvbmUgZW50cmUgMTAwIGUgMTUwIOKAlCBzdXJmYWNlIGFpbmRhIG1haXMgc3V0aWwgcXVlIGdyYXktMTUwXG4kZ3JheS0xNTA6ICNFRUVDRUI7ICAvLyBNaWRwb2ludCB3YXJtLXN0b25lIGVudHJlIDEwMCBlIDIwMCDigJQgdXNhZG8gcHJhIHN1cmZhY2VzIGRlIGNhcmQgc3V0aWxtZW50ZSBtYWlzIGVzY3VyYXMgcXVlIGdyYXktMTAwXG4kZ3JheS0yMDA6ICNFN0U1RTQ7XG4kZ3JheS0zMDA6ICNENkQzRDE7XG4kZ3JheS00MDA6ICNBOEEyOUU7ICAvLyBUYWlsd2luZCBzdG9uZS00MDAg4oCUIGFkZGVkIDIwMjYtMDUtMjIgcGFyYSBwcmVlbmNoZXIgZ2FwIGVudHJlIDMwMCBlIDUwMFxuJGdyYXktNDUwOiAjOTA4OTg1OyAgLy8gTWlkcG9pbnQgd2FybS1zdG9uZSBpbnRlcnBvbGFkbyBlbnRyZSA0MDAgZSA1MDAgKG7Do28tVGFpbHdpbmQgb2ZpY2lhbCkg4oCUIHVzYWRvIGVtIGJvcmRlciBkbyBjaGVja2JveCB1bmNoZWNrZWQgbm8gY2hhaXIgVUlcbiRncmF5LTUwMDogIzc4NzE2QztcbiRncmF5LTcwMDogIzQ0NDAzQztcbiRncmF5LTkwMDogIzFDMTkxNztcblxuLy8gSW50ZXJhY3Rpb24gc3RhdGVzIHVzaW5nIE5vdGlvbidzIGV4YWN0IHRva2VucyAoLS1jLWJhY1RlciArIHNsaWdodGx5IGRhcmtlclxuLy8gZm9yIHRoZSBhY3RpdmUgc3RhdGUgc2luY2UgTm90aW9uJ3Mgc2VsZWN0ZWQgaXNuJ3QgaW4gdGhlIHB1YmxpYyBDU1MgZHVtcCkuXG4kaG92ZXItYmc6ICAjZjBlZmVkOyAgLy8gbW91c2VvdmVyIChOb3Rpb24gLS1jLWJhY1RlcilcbiRhY3RpdmUtYmc6ICNlOWU4ZTY7ICAvLyBjdXJyZW50IGl0ZW0g4oCUIG9uZSBzdGVwIGRhcmtlciB0aGFuIGhvdmVyIGZvciBjbGFyaXR5XG5cbiRtYWluLXRoZW1lLWNvbG9yOiAjMTkyYTU5O1xuJG1haW4tdGhlbWUtY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJG1haW4tdGhlbWUtY29sb3IsIDYwKTtcbiRtYWluLXRoZW1lLWNvbG9yLWRhcmtlcjogZGFya2VuKCRtYWluLXRoZW1lLWNvbG9yLCAxMCk7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yOiAjYmFiZmNkO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodDogI2UzZTVlYjtcbiRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQtZGFyazogIzQzNDM0MztcbiRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjogI2ZhZmFmYTsgLy8gQ29tcG9uZW50IEJhY2tncm91bmRcbi8vIEFjY2VudCBPUklHSU5BTCBkbyBKRU1TMyAocmV2ZXJ0aWRvIGRvIG1hY09TIHN5c3RlbUJsdWUpLiBVc2FkbyB0YW50byBjb21vIEZJTExcbi8vIGRlIHN1cGVyZsOtY2llcyAoYm90w7VlcyBwcmltYXJ5LCBjaGlwcyBzZWxlY2lvbmFkb3MsIGZvY3VzIHJpbmdzLCBjaGVja2JveFxuLy8gYGFjY2VudC1jb2xvcmApIFFVQU5UTyBjb21vIGNvciBkZSBURVhUTy9MSU5LIOKAlCBTRU0gdG9rZW4gZGVkaWNhZG8gZGUgdGV4dG86IGFcbi8vIHNlcGFyYcOnw6NvIGAkYWNjZW50LXRleHQtKmAgZm9pIHJldmVydGlkYSAodGV4dG8gZSBncsOhZmljb3MgdXNhbSBvIG1lc21vIGF6dWwpLlxuLy8gICDigKIgTGlnaHQgYCMwNjRhZDlgIOKAlCBhenVsIG9yaWdpbmFsIGRvIEpFTVMzIChBQUEgc29icmUgYnJhbmNvKVxuLy8gICDigKIgRGFyayAgYCM2MGE1ZmFgIOKAlCBibHVlLTQwMDogbGVnw612ZWwgc29icmUgYSBmb2xoYSBlc2N1cmEgIzIwMjAyMCAoQUEpXG4vLyBPIHNpZ2lsIGRlIEV2ZW50b3Mgc2VndWUgYW1iZXIvZ29sZGVuIOKAlCBuYXR1cmFsbWVudGUgZGlzdGludG8gZG8gYWNjZW50LlxuJGFjY2VudC1iYWNrZ3JvdW5kOiAjMDY0YWQ5O1xuJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms6ICM2MGE1ZmE7XG4kY2hlY2tib3gtY2hlY2tlZC1iYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0O1xuJGFjY2VudC1jb2xvci13YXJuaW5nOiAjZTkxNDE0O1xuJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms6ICNGRjZCNkI7IC8vIHZlcm1lbGhvLWNsYXJvIHAvIGxlZ2liaWxpZGFkZSBubyBkYXJrIChyZWQtNDAwKVxuJGFjY2VudC1jb2xvci1zdWNjZXNzOiAjMmU5ZTQ0O1xuJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcms6ICM2NkJCNkE7IC8vIHZlcmRlLWNsYXJvIHAvIGxlZ2liaWxpZGFkZSBubyBkYXJrIChncmVlbi00MDApXG5cbiRyZXZpZXctbm90ZXMtYmFja2dyb3VuZDogI2RmZjBkODtcbiRyZXZpZXctZHJhZnQtYmFja2dyb3VuZDogcmdiYSg1MSwgMTQ3LCAyNTUsIC42KTtcbiRsaXN0LWV2ZW4tYmFja2dyb3VuZDogI2VlZWZmMjtcbiRsaXN0LWJhY2tncm91bmQtaG92ZXI6ICNkNWQ2ZDg7XG4kY29sdW1uLWJvcmRlci1jb2xvcjogIzg0ODc4OTtcblxuJGFkbWluLWJhY2tncm91bmQ6IHdoaXRlO1xuJGFkbWluLWJhY2tncm91bmQtZGFyazogYmxhY2s7XG4kYWRtaW4tY2FyZDogI0Y2RjZGNjtcbiRhZG1pbi1jYXJkLWJvcmRlcjogbGlnaHRncmF5O1xuXG4kY29udGVudC1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRjb250ZW50LWJhY2tncm91bmQtZGFyazogYmxhY2s7XG4kY29udGVudC1jb2xvcjogIzM2MzYzNjtcbiRjb250ZW50LWNvbG9yLWRhcms6ICNGNkY2RjY7XG4kY29udGVudC1saWdodGNvbG9yOiBsaWdodGVuICgkY29udGVudC1jb2xvciwgNjApO1xuJGNvbnRlbnQtbGlnaHRjb2xvci1kYXJrOiBsaWdodGdyYXk7XG4vLyBDb3IgZGUgdGV4dG8gZG8gY2FiZcOnYWxobyBkZSB0YWJlbGEgKE1hdGVyaWFsIGAubWF0LWhlYWRlci1jZWxsYCk6IGNpbnphXG4vLyBlc21hZWNpZG8uIFRva2VuIMO6bmljbyByZXVzYWRvIHBlbG8gY2FiZcOnYWxobyBFIHBlbGEgY29sdW5hIGRlIG51bWVyYcOnw6NvICgjKSxcbi8vIHByYSBhbWJvcyBmaWNhcmVtIGlkw6pudGljb3MuIGxpZ2h0ID0gcmdiYSgwLDAsMCwuNTQxKTsgZGFyayA9IHJnYmEoMjU1LDI1NSwyNTUsLjcwKS5cbiR0YWJsZS1oZWFkZXItY29sb3I6ICMwMDAwMDA4QTtcbiR0YWJsZS1oZWFkZXItY29sb3ItZGFyazogI0ZGRkZGRkIzO1xuJGNvbnRlbnQtYm9yZGVyOiByZ2JhKDAsIDAsIDAsIC4yMyk7XG5cbiRzaWRlYmFyLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ6ICNlNmU2ZTY7XG5cbiRsYW5kaW5nLWJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4kZm9vdGVyLWJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4kZmFiLWJhY2tncm91bmQ6IHdoaXRlO1xuJHRvb2x0aXAtYmFja2dyb3VuZDogd2hpdGU7XG4kY2xvc2UtYnV0dG9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4kYmxhY2stYmFja2dyb3VuZC1hbHBoYTI6IHJnYmEoMCwgMCwgMCwgLjIpO1xuJGJsYWNrLWJhY2tncm91bmQtYWxwaGExOiByZ2JhKDAsIDAsIDAsIC4xKTsgLy8gQ29tcG9uZW50IGNvbG9yc1xuXG4kcmV2aWV3LWZvcm0tYm9yZGVyOiByZ2IoMTc5LCAxMzYsIDI1NSk7XG4kcmV2aWV3LXRleHQtZmllbGQ6IHJnYmEoMCwgMCwgMCwgLjUpO1xuJHJldmlldy10ZXh0LWZpZWxkLWRhcms6IHJnYigyNTUsIDI1NSwgMjU1LCAuNSk7XG5cbiRldmVudC1jcmVhdGlvbi1mb3JtLWJvcmRlcjogcmdiKDI0NCwgMTY0LCA5Nik7XG4kZXZlbnQtcmVxdWVzdC1mb3JtLWJvcmRlcjogI0I5QUQ4MztcbiRldmVudC1jYXJkLWJhY2tncm91bmQ6ICNlZGVkZWQ7XG4kZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcms6ICMyNjI2MjY7XG4vLyBTdXBlcmbDrWNpZSBuZXV0cmEgRUxFVkFEQSDigJQgdW0gcGFzc28gYWNpbWEgZGEgZm9saGEgKCRhZG1pbi1iYWNrZ3JvdW5kKS5cbi8vIFRva2VuIGRlIHByb3DDs3NpdG8gZ2VyYWwgcC8gZWxlbWVudG9zIFwibGV2YW50YWRvc1wiIChzdWItYm90w6NvIGRlIHNlbGVjdCxcbi8vIGNhcmRzIGRlIGFycXVpdm8sIHBhaW7DqWlzLCBldGMuKS4gVmFsb3IgbGlnaHQgPSB0b20gcXVlbnRlIE5vdGlvbiAobWVzbW9cbi8vIGRvIGhvdmVyIGRhIHNpZGViYXIgYWRtaW4pIHAvIGNvbnZlcnNhciBjb20gbyByZXN0byBkbyBjaGFpciBVSS5cbiRzdXJmYWNlLXJhaXNlZDogI2YzZjJmMDtcbiRzdXJmYWNlLXJhaXNlZC1kYXJrOiAjMzAzMDMwO1xuXG4vLyBDb3IgZGUgw41DT05FIHNlY3VuZMOhcmlvIC8gbXV0ZWQgKGdsaWZvcyBxdWUgbsOjbyBjb21wZXRlbSBjb20gbyBjb250ZcO6ZG86XG4vLyArL+KIkiBkbyBudW1iZXItaW5wdXQsIGNoZXZyb24gZHVwbG8gZG8gc2VsZWN0LCBsdXBhIGRvIGZpbHRybywgc2V0YSBkb1xuLy8gZGF0ZXBpY2tlciwgZXRjLikuIEVxdWl2YWxlbnRlIGFvIGBVSUNvbG9yLnNlY29uZGFyeUxhYmVsYCBkbyBtYWNPUyDigJRcbi8vIG5ldXRyYSwgYWxmYSA1NSUgcC8gaW50ZWdyYXIgY29tIHF1YWxxdWVyIGJnIChkw6EgdGFtYsOpbSBvcGFjaXR5IGZlZWRiYWNrXG4vLyBubyBob3Zlci9kaXNhYmxlZCBwb3IgaGVyYW7Dp2EpLlxuJGljb24tbXV0ZWQ6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4kaWNvbi1tdXRlZC1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuXG4vLyBDb250cmFwYXJ0ZXMgXCJhY2VzYXNcIiDigJQgdXNhZGFzIGVtIGhvdmVyL2VzdGFkbyBhdGl2byBwcmEgZGFyIGZlZWRiYWNrXG4vLyB2aXN1YWwgZG8gZ2xpZm8gKG8gY29udGFpbmVyIGdhbmhhIGAkaWNvbi1jb250YWluZXItYmdgOyBvIHByw7NwcmlvXG4vLyBnbGlmbyBnYW5oYSBlc3NlIHRvbSBtYWlzIGVzY3Vyby9jbGFybykuXG4kaWNvbi1tdXRlZC1ob3ZlcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiRpY29uLW11dGVkLWhvdmVyLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblxuLy8gQ29udGFpbmVyIGRlIMONQ09ORSDigJQgbWVzbW8gdG9tIGRlIFwiaG92ZXIgdHJhbnNsw7pjaWRvXCIgdXNhZG8gbm9zXG4vLyBzdGVwcGVycyBkbyBudW1iZXItaW5wdXQgKGArL+KIkmApLiBQcmV0by9icmFuY28gY29tIGFsZmEgYmFpeG8gaW50ZWdyYVxuLy8gY29tIHF1YWxxdWVyIGJnLiBSZXV0aWxpesOhdmVsIGVtIHN1Yi1ib3TDtWVzLCBwaWxsLXdyYXBzIGUgZXN0YWRvcyBob3ZlclxuLy8gZGUgZ2xpZm9zIHNlY3VuZMOhcmlvcyDigJQgbWFudMOpbSBhIGxpbmd1YWdlbSBjb2VzYS5cbiRpY29uLWNvbnRhaW5lci1iZzogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiRpY29uLWNvbnRhaW5lci1iZy1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I6IHdoaXRlO1xuJHN1Ym1pc3Npb24tY3JlYXRpb24tZm9ybS1ib3JkZXI6ICNCQTU2NTg7XG4kZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4kZXZlbnQtY2FyZC1ob3Zlci1ib3JkZXItY29sb3ItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogIzQzNDM0MztcbiRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcms6ICNENkQ2RDY7XG5cbiRzaWRlYmFyLWRpdmlkZXItY29sb3I6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ7XG5cbi8vIFRQQyBjaGFpciBVSSDigJQgY2Fub25pY2FsIGNocm9tZSBib3JkZXIgdG9rZW5zLlxuLy8gT25lIHBhaXIgZm9yIHRoZSByZXN0aW5nIHN0YXRlICh0aGUgZmluZSAxcHggbGluZXMgdGhhdCBzZXBhcmF0ZSB0aGVcbi8vIHNpZGViYXIsIGJyZWFkY3J1bWIsIGFuZCBtZW51IHBhbmVscyBmcm9tIHN1cnJvdW5kaW5nIGNocm9tZSkgYW5kIG9uZVxuLy8gcGFpciBmb3IgdGhlIFwiYWN0aXZlXCIgc3RhdGUgKHVzZWQgd2hlbiB0aGUgdXNlciBob3ZlcnMvZHJhZ3MgdGhlXG4vLyBzaWRlYmFyIHJlc2l6ZSBoYW5kbGUsIHdoZXJlIHRoZSBlZGdlIGxpbmUgZ2V0cyBhIHRvdWNoIG1vcmUgY29udHJhc3QpLlxuJGNocm9tZS1ib3JkZXItbGlnaHQ6ICAgICAgICAkZ3JheS0yMDA7ICAgLy8gI0U3RTVFNCDigJQgY2hhaXIgVUkgZGVmYXVsdCBkaXZpZGVyXG4kY2hyb21lLWJvcmRlci1kYXJrOiAgICAgICAgICMzYTM5Mzc7ICAgICAvLyBkYXJrLW1vZGUgY291bnRlcnBhcnQgKHdhcm0gbmVhci1ibGFjayArIDEgc3RlcClcbiRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTogJGdyYXktMzAwOyAgIC8vICNENkQzRDEg4oCUIGFjdGl2ZS9ob3ZlciB2YXJpYW50XG4kY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTogICM1YTU2NTE7ICAgICAvLyBkYXJrLW1vZGUgYWN0aXZlIHZhcmlhbnRcblxuJGFkbWluLWFjY2VudC1jb2xvcjogd2hpdGU7XG4kYWRtaW4tYWNjZW50LWNvbG9yLWRhcms6IHdoaXRlO1xuJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4kYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3ItZGFyazogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG5cbiRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yOiAjZTNlNWViO1xuJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3ItZGFyazogIzI2MjYyNjtcblxuLy8gQ29sb3JzIGZvciB0aGUgdG9wIG1lbnUgaW4gYWRtaW5cbiRuYXZiYXItYWRtaW4tYmFja2dyb3VuZDogJGdyYXktNTA7XG4kbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyazogIzI2MjYyNjtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tY29sb3I6ICRncmF5LTcwMDtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazogI0Q2RDZENjtcbi8vIEhvdmVyIGlzIG5ldXRyYWwgaW4gYm90aCB0aGVtZXMg4oCUIG5vIGFnZ3Jlc3NpdmUgY29sb3IgZmxhc2guXG4vLyBEYXJrIG5hdmJhciB1c2VzIExJR0hURVIgaG92ZXIvYWN0aXZlIHRoYW4gdGhlIHNpZGViYXIgYmVjYXVzZSB0aGUgbmF2YmFyIGJnXG4vLyAoIzI2MjYyNikgaXMgaXRzZWxmIGJyaWdodGVyIHRoYW4gdGhlIHNpZGViYXIgYmcgKCMyMDIwMjApIOKAlCBzYW1lIGFic29sdXRlXG4vLyBob3ZlciBjb2xvciB3b3VsZCBiZSBpbnZpc2libGUgaGVyZS4gVmFsdWVzIHBpY2tlZCBmb3IgfjE2IC8gfjI0IGJyaWdodG5lc3Ncbi8vIHVuaXRzIG9mIGNvbnRyYXN0IGFnYWluc3QgdGhlIG5hdmJhciBiZy5cbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3I6ICRncmF5LTkwMDtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyazogJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaG92ZXItYmc7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazogIzM2MzQzMjtcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrOiAjNDI0MDNjO1xuXG4vLyBjb2xvcnMgZm9yIHRoZSBzaXRlIG1lbnUgaW4gYWRtaW5cbiRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ6ICNmOWY4Zjc7ICAvLyBOb3Rpb24gLS1jLWJhY1NlYyAobGlnaHQpXG4kc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms6ICMyMDIwMjA7ICAvLyBOb3Rpb24tZXF1aXZhbGVudCBkYXJrIHNpZGViYXIgKHdhcm0gbmVhci1ibGFjaylcbi8vIFNpZGViYXIgaXRlbSB0ZXh0IOKAlCB2YWx1ZXMgc291cmNlZCBmcm9tIENsYXVkZS5haSdzIHNpZGViYXIgKGNvbG9yXG4vLyByZ2IoNTUsIDU1LCA1MikgPSAjMzczNzM0KSBmb3IgYSBtb3JlIGRlZmluZWQgLyByZWFkYWJsZSBncmF5IHRoYW4gdGhlXG4vLyBOb3Rpb24tZGVyaXZlZCAjNzM3MjZkIHdlIGhhZCBiZWZvcmUuIFNlbGVjdGVkIHN0YXlzIHNsaWdodGx5IGRhcmtlclxuLy8gKCMyYzJjMmIpIHNvIHRoZXJlJ3Mgc3RpbGwgYSBzdWJ0bGUgY29sb3Igc3RlcCBvbiB0b3Agb2YgdGhlIGJnIHBpbGwuXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjogIzM3MzczNDsgICAgICAgICAgICAgLy8gbGlnaHQgdW5zZWxlY3RlZCDigJQgQ2xhdWRlLXN0eWxlIGRlZmluZWQgZ3JheVxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlOiAjMDAwOyAgICAgICAgIC8vIGxpZ2h0IHNlbGVjdGVkIOKAlCBwdXJlIGJsYWNrIGZvciBtYXggY29udHJhc3QgdnMgIzM3MzczNFxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazogI2M0YzJiZDsgICAgICAgIC8vIGRhcmsgdW5zZWxlY3RlZCAobGlnaHRlciB3YXJtIGdyYXkgZm9yIGJldHRlciBsZWdpYmlsaXR5KVxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms6ICNmMmYxZWU7IC8vIGRhcmsgc2VsZWN0ZWQgKGJyaWdodGVyIG5lYXItd2hpdGUpXG4vLyBIb3ZlcjogdGV4dCBjb2xvciBzdGF5cyBhdCB0aGUgdW5zZWxlY3RlZCB2YWx1ZSAoTm90aW9uIHBhdHRlcm4g4oCUIG9ubHkgYmdcbi8vIGNoYW5nZXMgb24gaG92ZXIpLiBCZyBpcyBhIHNvZnQgd2FybS1kYXJrIHN0ZXAgYWJvdmUgdGhlIHNpZGViYXIgaW4gZGFyayBtb2RlLFxuLy8gbmV1dHJhbCBsaWdodCBwaWxsIGluIGxpZ2h0IG1vZGUuXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDogI2U4ZTZlMzsgIC8vIM6UfjYlIHZzICNmOWY4Zjcgc2lkZWJhciDigJQgTm90aW9uLWlzaCBidXQgbW9yZSBsZWdpYmxlXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms6ICMzNDMzMmY7ICAvLyDOlH44JSB2cyAjMjAyMDIwIHNpZGViYXIg4oCUIHdhcm0gc3RlcCB1cFxuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGFjdGl2ZS1iZztcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyazogIzNhMzkzNjsgIC8vIHR3byBzdGVwcyBsaWdodGVyIOKAlCB2aXNpYmxlIHBpbGwgaW4gZGFyayBtb2RlXG5cblxuJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtY29sb3I6ICMzYzQwNDM7XG4kc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvci1kYXJrOiB3aGl0ZTtcblxuJHNpZGViYXItYWRtaW4tbGFiZWwtc2VsZWN0ZWQtY29sb3I6ICMzYzQwNDM7XG4kc2lkZWJhci1hZG1pbi1sYWJlbC1hbHQtc2VsZWN0ZWQtY29sb3I6IHJnYmEoMzEsIDMxLCAzMSwgMC44KTtcblxuJG5hdmJhci1hZG1pbi1pY29uLWNvbG9yOiAkZ3JheS01MDA7XG4kbmF2YmFyLWljb24tY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuJG5hdmJhci1pY29uLWNvbG9yLWNsZWFyOiAkc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0ZXI7XG4kbmF2YmFyLWJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4kbmF2YmFyLWJhY2tncm91bmQtY29sb3ItZGFyazogIzI2MjYyNjtcblxuLy8gVG9vbGJhciBkbyBhdXRvci9yZXZpc29yIOKAlCBwYWxldGEgdGhlbWUtYXdhcmUgY29tIGNvbnRyYXN0ZSBXQ0FHIOKJpSAzOjFcbi8vIChVSSBjb21wb25lbnRzLCAxLjQuMTEpLCBzYXR1cmHDp8OjbyBhbHRhICg5MC0xMDAlKSBlIG1lc21hIGh1ZSBsaWdodC9kYXJrXG4vLyAocmV2aXNhZGEgMjAyNi0wNS0yNyDigJQgdmVyc8OjbyBcInZpYnJhbnRlXCIpLiBMaWdodG5lc3MgdmFyaWEgKH4zOCUgbGlnaHQgdnNcbi8vIH42MCUgZGFyaykgYXBlbmFzIHBhcmEgcGFzc2FyIGNvbnRyYXN0ZTsgaHVlIGUgc2F0dXJhw6fDo28gZmljYW0gcGFyYWRvc1xuLy8g4oaSIGNhZGEgcGFwZWwgw6kgXCJvYnZpYW1lbnRlIGxhcmFuamFcIiwgXCJvYnZpYW1lbnRlIGF6dWxcIiBldGMgZW0gYW1ib3MgbW9kb3MuXG4vL1xuLy8gICBIdWUgICAgIHwgTGlnaHQgICAgICAgICAgICAgfCBEYXJrXG4vLyAgIC0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLVxuLy8gICA0OMKwICBhbWFyZWxvIHwgI0E4OEUwMCAoTDMzJSkgfCAjRkZEOTMzIChMNjAlKVxuLy8gICAyMjDCsCBhenVsICAgIHwgIzExNDVDMiAgICAgICAgfCAjNUM4RUYwXG4vLyAgIDE0MMKwIHZlcmRlICAgfCAjMDg4ODM4ICAgICAgICB8ICMzRkRCN0Rcbi8vICAgMMKwICAgdmVybWVsaG98ICNEQzI2MjYgICAgICAgIHwgI0ZGMUExQVxuLy8gICAyODDCsCBww7pycHVyYSB8ICM3NzA4QUYgICAgICAgIHwgI0JDNURERlxuLy9cbi8vICoqVHJhZGUtb2ZmIGV4cGzDrWNpdG8gKGF1dG9yLTQsIDIwMjYtMDUtMjcpOioqIEV2ZW50b3MgbGlnaHQgdXNhIFdDQUdcbi8vIHJlbGF4YWRvIFPDkyBubyBwaWxsIHNlbGVjdGVkICgyLjU5OjEgdnMgaWRlYWwgMzoxKS4gU29icmUgbyBuYXZiYXIgbm9ybWFsXG4vLyAoI2Y5ZjhmNykgZWxlIHBhc3NhIDMuMTE6MSDinJMuIEp1c3RpZmljYXRpdmE6IG8gcGlsbCBzZWxlY3RlZCB0ZW0gNCBzaW5haXNcbi8vIGFkaWNpb25haXMgKGJnIHdhcm0gYmVpZ2UgKyB1bmRlcmxpbmUgMnB4IGNvbG9yaWRvICsgdGV4dG8gYm9sZCArIGNvcikg4oCUXG4vLyBvIHVzdcOhcmlvIG7Do28gZGVwZW5kZSBkbyBjb250cmFzdGUgZG8gw61jb25lIHBhcmEgcGVyY2ViZXIgbyBlc3RhZG8gYXRpdm8uXG4vLyBFc3NlIHRyYWRlLW9mZiBwZXJtaXRlIG1hbnRlciBhIHZpYnJhw6fDo28gXCJsYXJhbmphLWxhcmFuamFcIiBxdWUgYVxuLy8gaWRlbnRpZGFkZSB2aXN1YWwgZGEgdG9vbGJhciBwZWRlLiBUb2RvcyBvcyBvdXRyb3MgOSB2YWxvcmVzIHBhc3NhbSDiiaUzOjFcbi8vIGVzdHJpdG8gZW0gdG9kb3Mgb3MgZnVuZG9zLlxuLy9cbi8vIENvbnRyYXN0ZXMgdmVyaWZpY2Fkb3MgKHRvZG9zIHNvYnJlIHBpbGwgc2VsZWN0ZWQg4oCUIGNhc28gbWFpcyBjcsOtdGljbyk6XG4vLyAgIExpZ2h0OiBFdmVudG9zIDIuNTk6MSAocmVsYXhhZG8pLCBkZW1haXMgMy45NuKAkzguNTA6MSDinJNcbi8vICAgRGFyazogIDMuNjDigJM4LjEzOjEg4pyTXG4vLyBFdmVudG9zIOKAlCBkaXN0aW50aXZvIGRlbnRybyBkYSBmYW3DrWxpYSBhbWJlci9sYXJhbmphLiBTeXN0ZW0gYWNjZW50IMOpXG4vLyBhbWJlci03MDAvYW1iZXItNDAwIChkZWVwIHV0aWxpdHkpOyBFdmVudG9zIGZpY2EgZW0gYW1iZXItNTAwL2FtYmVyLTMwMFxuLy8gcHJhIGxlciBjb21vIFwidG9tIG1haXMgY2xhcm8gLyBicmlsaGFudGVcIiDigJQgcHJlc2VydmEgYSBpZGVudGlkYWRlIGRvXG4vLyDDrWNvbmUgc2VtIHNlIGNvbmZ1bmRpciBjb20gY2hyb21lIGFjY2VudC5cbi8vIEV2ZW50b3MgPSBncmVlbiAobGlnaHQpIC8gdGVhbC02MDAgKGRhcmspIOKAlCBTV0FQIGZlaXRvIGNvbSBSZXZpc8O1ZXMuXG4vLyBBIGNvciBjYXNhIGNvbSBvIG5vdm8gYCRldmVudC10aXRsZS1jb2xvci0qYCAoZXZlbnRvIHRlbSBpZGVudGlkYWRlXG4vLyB2ZXJkZS90ZWFsIGVtIHRvZG8gbyBzaXN0ZW1hKS4gSHVlIHNoaWZ0IGVudHJlIG1vZG9zIMOpIGludGVuY2lvbmFsXG4vLyAoY29udHJhc3RlIGRvIHRlYWwtNjAwIGZhbGhhIEFBIGVtIGRhcmssIGVudMOjbyBtYW50aXZlbW9zIGdyZWVuXG4vLyBtYWlzIGJyaWxoYW50ZSBsw6E7IG1hcyBtdWRvdSBwcmEgdGVhbC02MDAgcHJhIGRhciBwZXJzb25hbGlkYWRlKS5cbiRuYXZiYXItZXZlbnRzLWljb24tY29sb3I6ICMwODg4Mzg7ICAgICAgICAvLyBncmVlbiAoZXJhIGFtYmVyLTUwMClcbiRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyazogIzJERDRCRjsgICAvLyBUYWlsd2luZCB0ZWFsLTQwMCAoZXJhIGFtYmVyLTMwMClcbi8vIFN1Ym1pc3PDtWVzIHVzYSBvIEFDQ0VOVCBkbyBzaXN0ZW1hICh2aWEgcmVmZXLDqm5jaWEg4oCUIHRva2VuIGNvbnRpbnVhXG4vLyBkZWRpY2FkbzsgbXVkYSBzZSBgJGFjY2VudC1iYWNrZ3JvdW5kYCBtdWRhcikuXG4kbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbi8vIFJldmlzw7VlcyA9IGFtYmVyIChoZXJkYSBkbyBxdWUgZXJhIGRlIEV2ZW50b3MpLiBTV0FQLlxuJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3I6ICNGNTlFMEI7ICAgICAvLyBUYWlsd2luZCBhbWJlci01MDAgKGVyYSBncmVlbilcbiRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcms6ICNGQ0QzNEQ7IC8vIFRhaWx3aW5kIGFtYmVyLTMwMCAoZXJhIGdyZWVuIGNsYXJvKVxuJG5hdmJhci1teS10cGNzLWljb24tY29sb3I6ICNEQzI2MjY7XG4kbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrOiAjRkYxQTFBO1xuJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvcjogIzc3MDhBRjtcbiRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyazogI0JDNURERjtcbi8vIENvb3JkZW5hZG9yIGRlIHNlc3PDo28gdMOpY25pY2Eg4oCUIGluZGlnbyAow7puaWNhIGNvciBwcmltw6FyaWEgZnJpYSBzZW1cbi8vIGRvbm8gbm8gc2lzdGVtYTsgZGlzdGludGEgZGUgYmx1ZSBkZSBTdWJtaXNzw7VlcyBlIGRvIHRlYWwgcXVlIEV2ZW50b3Ncbi8vIGFzc3VtaXUgZW0gZGFyaykuXG4kbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3I6ICM0RjQ2RTU7ICAgICAgIC8vIFRhaWx3aW5kIGluZGlnby02MDBcbiRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrOiAjODE4Q0Y4OyAgLy8gVGFpbHdpbmQgaW5kaWdvLTQwMFxuXG4vLyBQdWJsaWNhdGlvbnMgPSBjaWFuby90ZWFsIChsaXZyby9pbXByZXNzw6NvKSDigJQgw7puaWNvIGh1ZSBcImVkaXRvcmlhbFwiIGFpbmRhXG4vLyBuw6NvIHVzYWRvIG5vIG5hdiBkbyBhdXRvci9yZXZpc29yLlxuJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvcjogIzA4OTFCMjsgICAgICAgLy8gVGFpbHdpbmQgY3lhbi02MDBcbiRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyazogIzY3RThGOTsgIC8vIFRhaWx3aW5kIGN5YW4tMzAwXG5cbi8vIOKUgOKUgCBDb3IgZGVkaWNhZGEgZG9zIFTDjVRVTE9TIERFIEVWRU5UTyBubyBzaXN0ZW1hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVXNhZGEgZW0gdG9kbyBsdWdhciBxdWUgcmVuZGVyaXphIFwibm9tZSBkbyBldmVudG9cIiBjb21vIGxpbmsvdMOtdHVsb1xuLy8gcHJpbcOhcmlvIChsaXN0YSBkZSBldmVudG9zLCBjYXJkcyBlbSBTdWJtaXNzw7Vlcy9SZXZpc8O1ZXMvU2Vzc8O1ZXMsXG4vLyBldmVudC12aWV3IGV0Yy4pLiBTZW1hbnRpY2FtZW50ZSA9IFwiaWRlbnRpZGFkZSBkZSBldmVudG9cIi5cbi8vIEJhdGUgY29tIGAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLSpgIChFdmVudG9zID0gZ3JlZW4vdGVhbCkuXG4vLyBIdWUgc2hpZnQgZW50cmUgbGlnaHQvZGFyayDDqSBpbnRlbmNpb25hbC5cbiRldmVudC10aXRsZS1jb2xvci1saWdodDogIzA4ODgzODsgICAvLyBncmVlbiAobWVzbW8gZG8gw61jb25lIEV2ZW50b3MgbGlnaHQpXG4kZXZlbnQtdGl0bGUtY29sb3ItZGFyazogICMyREQ0QkY7ICAgLy8gVGFpbHdpbmQgdGVhbC00MDAgKG1lc21vIGRvIMOtY29uZSBFdmVudG9zIGRhcmspXG5cbi8vIFBhciBkbyAkZXZlbnQtdGl0bGUtY29sb3ItKiDigJQgY29yIERFRElDQURBIGRlIFwibm9tZSBkYSBzdWJtaXNzw6NvXCJcbi8vIGNvbW8gbGluay90w610dWxvIHByaW3DoXJpbyAoY2FyZCBkZSBzdWJtaXNzw6NvLCBoZWFkZXIgZGUgcGFwZXItaW5mbyxcbi8vIGxpc3RhcykuIFNlbWFudGljYW1lbnRlID0gXCJpZGVudGlkYWRlIGRlIHN1Ym1pc3PDo29cIi4gSG9qZSBlc3BlbGhhIG9cbi8vICRhY2NlbnQtYmFja2dyb3VuZCwgbWFzIGRlc2Fjb3BsYWRvIHByYSBwb2RlciBhanVzdGFyIHRvbS9icmlsaG9cbi8vIHNlbSBhZmV0YXIgYm90w7Vlcy9hY2NlbnQgZG8gc2lzdGVtYS5cbiRzdWJtaXNzaW9uLXRpdGxlLWNvbG9yLWxpZ2h0OiAkYWNjZW50LWJhY2tncm91bmQ7XG4kc3VibWlzc2lvbi10aXRsZS1jb2xvci1kYXJrOiAgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4kbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3I6ICNlMGUwZTA7XG4kbmF2YmFyLXNlbGVjdGVkLW1lbnUtY29sb3ItZGFyazogIzNjNDA0MztcbiRzZWFyY2gtYmFyLWJhY2tncm91bmQ6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWJhY2tncm91bmQ7XG4kbGFuZGluZy1wYWdlLWJhY2tncm91bmQtY29sb3I6ICNmYWZhZmM7XG5cbiRzdWJtaXNzaW9uLWZpbGVzOiByZ2IoNTQsIDU0LCA1NCk7XG4kaW5wdXRzLWxhbmRpbmctY29sb3I6ICNiNWI1YjU7XG4kZm9vdGVyLXZlcnNpb24tY29sb3I6IGJsYWNrO1xuJGZhYi1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiR0b29sdGlwLWNvbG9yOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tY29sb3I6IGJsYWNrOyAvLyBDb21wb25lbnQgU2hhZG93c1xuJGNsb3NlLWJ1dHRvbi1jb2xvci1kYXJrOiB3aGl0ZTtcbiRtYXQtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSxcbjAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbjAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbiR0b29sdGlwLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksXG4wIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksXG4wIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4vLyAkaW5zZXQtbWF0LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIC4xMiksXG4vLyBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAuMjQpOyAvLyBTdWJtaXNzaW9uIFN0YXR1c1xuJG1hdC1jYXJkLXRpdGxlLWJhY2tncm91bmQ6ICNkMWQxZDE7XG4kaW5zZXQtbWF0LXNoYWRvdzogMHB4IDBweCA1cHggI2JiYmJiYjsgLy8gU3VibWlzc2lvbiBTdGF0dXNcbiRzdGF0dXMtaWNvbi1jb2xvcjogd2hpdGU7XG4kY2xvc2UtYnV0dG9uLWNvbG9yOiBibGFjaztcbiRzbGlkZXItdGljay1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDEpO1xuJGZhYi1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIC4xNCksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbiR0b29sdGlwLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHNsaWRlci1sYWJlbC1zaGFkb3c6IDAgMXB4IDVweCAxcHggcmdiYSgwLDAsMCwuNyk7XG5cbi8vIFRyYWNrXG4kdHJhY2stbm90LW9wZW4tY29sb3I6IHJnYmEoMjAwLCAyMDAsIDIwMCwgMC41KTtcbiR0cmFjay1jbG9zZWQtY29sb3I6IHJnYmEoMjIyLDU4LDQzLDAuOSk7XG5cbi8vIEVycm9yc1xuJGVycm9yLWludmFsaWQtY29sb3I6ICNDQzAwMjk7XG4kbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6ICM3RkMxNUM7XG4kbm90aWZpY2F0aW9uLWNvbG9yOiAjZmFmYWZhO1xuXG4kbGVnZW5kLWNvbG9yLWxlc3M6ICNmYjhjMDAzMztcbiRsZWdlbmQtY29sb3ItbW9yZTogI2IwYmVjNTgwO1xuJGxlZ2VuZC1jb2xvci1jb3JyZWN0OiAjYmJkZWZiYTY7XG4kbGVnZW5kLWNvbG9yLWV4YWN0OiAjODFjNzg0NjY7XG5cbi8vIENoYXJ0IHBhbGV0dGUgZGVmaW5pdGlvbnMgZXhwb3NlZCBhcyBDU1MgdmFyaWFibGVzICh1c2VkIGJ5IENvbG9yUGFsZXR0ZXMgVFMgaGVscGVyKVxuOnJvb3Qge1xuICAvLyBUYW5nbzogd2FybS9jb29sIGFsdGVybmF0ZWQsIGdyb3VwZWQgdG8gcHJlc2VydmUgY29udHJhc3Qgd2hlbiBpbnRlcmxlYXZpbmdcbiAgLS1wYWxldHRlLXRhbmdvLWdyb3VwczogI2ZjZTk0ZiwjZWRkNDAwLCNjNGEwMDB8IzcyOWZjZiwjMzQ2NWE0LCMyMDRhODd8I2ZjYWYzZSwjZjU3OTAwLCNjZTVjMDB8IzhhZTIzNCwjNzNkMjE2LCM0ZTlhMDZ8I2U5Yjk2ZSwjYzE3ZDExLCM4ZjU5MDJ8I2FkN2ZhOCwjNzU1MDdiLCM1YzM1NjZ8Izg4OGE4NSwjNTU1NzUzLCMyZTM0MzZ8I2VmMjkyOSwjY2MwMDAwLCNhNDAwMDB8I2VlZWVlYywjZDNkN2NmLCNiYWJkYjY7XG4gIC8vIEFkd2FpdGEgKEdOT01FIEhJRyk6IGNvb2wvd2FybSBhbHRlcm5hdGlvbiwgbmV1dHJhbHMgbGFzdFxuICAtLXBhbGV0dGUtYWR3YWl0YS1ncm91cHM6ICM5OWMxZjEsIzYyYTBlYSwjMzU4NGU0LCMxYzcxZDgsIzFhNWZiNHwjZmZiZTZmLCNmZmEzNDgsI2ZmNzgwMCwjZTY2MTAwLCNjNjQ2MDB8IzhmZjBhNCwjNTdlMzg5LCMzM2QxN2EsIzI2YTI2OSwjMWY3ZjU2fCNmNjYxNTEsI2VkMzMzYiwjZTAxYjI0LCNjMDFjMjgsI2E1MWQyZHwjZjlmMDZiLCNmOGU0NWMsI2Y2ZDMyZCwjZjVjMjExLCNlNWE1MGF8I2RjOGFkZCwjYzA2MWNiLCM5MTQxYWMsIzgxM2Q5YywjNjEzNTgzfCNjZGFiOGYsI2I1ODM1YSwjOTg2YTQ0LCM4NjVlM2MsIzYzNDUyY3wjZmZmZmZmLCNmNmY1ZjQsI2RlZGRkYSwjYzBiZmJjLCM5YTk5OTZ8Izc3NzY3YiwjNWU1YzY0LCMzZDM4NDYsIzI0MWYzMSwjMDAwMDAwO1xufVxuXG4vL0VtcHR5LXN0YXRlOlxuJGVtcHR5LXN0YXRlLWJhY2tncm91bmQ6IG1haW4tdGhlbWUtY29sb3ItbGlnaHQ7XG4kZW1wdHktc3RhdGUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBNYXQtY2FyZDogRXZlbnRcbiRtYXQtY2FyZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4kbWF0LWNhcmQtY29sb3ItZGFyazogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyazogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuLy8gQ2FyZCBib3JkZXIgYWxpbmhhZG8gYW9zIHRva2VucyBjYW7DtG5pY29zIGRvIGNocm9tZSBjaGFpciBVSSAobWVzbWEgY29yXG4vLyB1c2FkYSBwb3Igc2lkZWJhciBoZWFkZXIgZGl2aWRlciwgYnJlYWRjcnVtYiBib3R0b20gYm9yZGVyLCBib3R0b20gcmFpbCxcbi8vIGUgb3V0bGluZSBkZSBwYWluZWwgZGFyaykuIFN1YnN0aXR1aSBvIHJnYmEgYWQtaG9jIGFudGVyaW9yIOKAlCB2aXN1YWxtZW50ZVxuLy8gcHLDs3hpbW8gbWFzIGFnb3JhIDEwMCUgY29lcmVudGUgY29tIG8gcmVzdG8gZG8gc2lzdGVtYS5cbiRtYXQtY2FyZC1ib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuJG1hdC1jYXJkLWhlYWRlci1jb2xvcjogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogIzk5OTk5OTtcbiRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyazojNjY2NjY2O1xuXG4vLyBTaW5hbGl6YcOnw6NvIGRlIFwidXN1w6FyaW8gaW5hdGl2b1wiIC8gYcOnw6NvIHBlbmRlbnRlIChlbnZlbG9wZSBkZSByZWVudmlvIGRlXG4vLyBlLW1haWwgZGUgYXRpdmHDp8OjbyBuYSB0YWJlbGEgZGUgUGVzc29hcykuIFZlcm1lbGhvIGZvcnRlIG5vIGxpZ2h0IHByYVxuLy8gY2hhbWFyIGF0ZW7Dp8OjbzsgdG9tIG1haXMgY2xhcm8gbm8gZGFyayBwcmEgY29udHJhc3RhciBjb20gbyBjYW52YXMgd2FybVxuLy8gKCMyMDIwMjApIHNlbSB2aXJhciBibG9jbyBncml0YW50ZS4gVGFpbHdpbmQgcmVkLTcwMCAvIHJlZC00MDAuXG4kdXNlci1pbmFjdGl2ZS1jb2xvcjogI2M2MjgyODtcbiR1c2VyLWluYWN0aXZlLWNvbG9yLWRhcms6ICNmODcxNzE7XG5cbi8vIE1hdC1jYXJkOiBUYWJsZVxuJHRhYmxlLWJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4kdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZDFkMWQxO1xuJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICM0ZDRkNGQ7XG4kdGFibGUtbGluZS1jb2xvcjogd2hpdGU7XG4kdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7XG4kdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcms6ICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuLy8gVsOpdSBkZSBob3ZlciBkZSBsaW5oYSDigJQgRk9OVEUgw5pOSUNBLCB1c2FkbyBwZWxvIG1vZGlmaWVyIGdsb2JhbCBgLmplbXMzLXRhYmxlLWhvdmVyYFxuLy8gKF90YWJsZS5zY3NzKSBlIHJlcGxpY2FkbyBubyBzdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLiBMaWdodCA9IHByZXRvIHRyYW5zbMO6Y2lkb1xuLy8gKGVzY3VyZWNlIHN1dGlsKTsgZGFyayA9IGJyYW5jbyB0cmFuc2zDumNpZG8gKGNsYXJlaWEgc3V0aWwpLiBNdWRlIGFxdWkg4oaSIG11ZGEgZW0gdG9kYXMuXG4kdGFibGUtaG92ZXItdmVpbC1saWdodDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiR0YWJsZS1ob3Zlci12ZWlsLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNyk7XG5cbi8vTWF0LW1lbnVcbiRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY2O1xuJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyazogIzM4MzgzODtcblxuLy8gQ2FsZW5kYXJcbiRjYWxlbmRhci1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuJGNhbGVuZGFyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtY29sb3I6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcms7XG5cbi8vIEdyYXlzY2FsZVxuJGJsYWNrLTEwMDogI2ZhZmFmYTtcbiRibGFjay0xNTA6ICNmNWY1ZjU7XG4kYmxhY2stMjAwOiAjZWRlZGVkO1xuJGJsYWNrLTMwMDogI2QxZDFkMTtcbiRibGFjay00MDA6ICNiYmJiYmI7XG4kYmxhY2stNTAwOiAjOGI4ZDhmO1xuJGJsYWNrLTYwMDogIzcyNzY3YjtcbiRibGFjay03MDA6ICM0ZDUyNTg7XG4kYmxhY2stODAwOiAjMzkzZjQ0O1xuJGJsYWNrLTkwMDogIzI5MmUzNDtcbiRibGFjay0xMDAwOiAjMDMwMzAzO1xuXG4kd2hpdGUtMTAwMDogI2ZmZmZmZjtcblxuLy8gbWF0LXRhYlxuJG1hdC10YWItbGFiZWw6ICM0MzQzNDM7XG4kbWF0LXRhYi1sYWJlbC1kYXJrOiAjRDZENkQ2O1xuJG1hdC10YWItdW5kZXJsaW5lOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuJG1hdC10YWItdW5kZXJsaW5lLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblxuXG4vLy9cbi8vIENvbG9yIGRlZmluaXRpb25zIG9mIHN1Ym1pc3Npb24gYW5kIHJldmlldyBzdGF0dXMuXG4vLyBJdGVtIGZvcm1hdDogXCJzdGF0dXM6ICggYmFja2dyb3VuZENvbG9yLCBsaW5rQ29sb3IgKVwiXG4vLy9cbi8vIFN1Ym1pc3Npb24gU3RhdHVzXG4vL1xuLy8gQ2FkYSBzdGF0dXM6IChmdW5kbywgY29yIGRvIHRleHRvLCBjb3IgZG8gw61jb25lKS4gTyDDrWNvbmUgw6kgdW0gdG9tIEVTQ1VST1xuLy8gaGFybW9uaXphZG8gKG7Do28gcHJpbcOhcmlvIHB1cm8pOiBhbnRlcyBBdGl2YSB1c2F2YSBhenVsIHB1cm8gIzAwMDBmZiBlXG4vLyBSZWplaXRhZGEgdmVybWVsaG8gcHVybyAjZmYwMDAwLCBxdWUgZGVzdG9hdmFtIGRvcyBkZW1haXMgKHZlcmRlL21hcnJvbS9jaW56YVxuLy8gZXNjdXJlY2lkb3MpLiBBZ29yYSBBdGl2YSA9IGF6dWwtbWFyaW5obyBlIFJlamVpdGFkYSA9IHZlcm1lbGhvLWVzY3Vyby5cbiRzdWJtaXNzaW9uLXN0YXR1czogKFxuICAvLyBcInBlbmRpbmdcIiA9IHN0YXR1cyBEcmFmdCAoUmFzY3VuaG8pIOKGkiBjaW56YS5cbiAgXCJwZW5kaW5nXCI6ICgjZTVlNWU1LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzZiNmI2YiksXG4gIFwiYWN0aXZlXCI6ICgjRkZGRjU1LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFmM2E5MyksXG4gIFwiYWNjZXB0ZWRcIjogKCM5OUZGOTksJHNpZGViYXItbGFiZWwtY29sb3IsICMxYzc1MzApLFxuICBcInJlamVjdGVkXCI6ICgjZmZiZGJkLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgI2IzMjYxZSksXG4gIFwid2l0aGRyYXduXCI6ICgjRERERERELCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzgwODA4MClcbik7XG5cbjpyb290IHtcbiAgLy8gU3VibWlzc2lvbiBzdGF0dXMgY29sb3JzIChkZXJpdmVkIGZyb20gJHN1Ym1pc3Npb24tc3RhdHVzIFNDU1MgbWFwKVxuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXBlbmRpbmc6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcInBlbmRpbmdcIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1hY3RpdmU6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcImFjdGl2ZVwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLWFjY2VwdGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJhY2NlcHRlZFwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXJlamVjdGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJyZWplY3RlZFwiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLXdpdGhkcmF3bjogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwid2l0aGRyYXduXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtZGVsZXRlZDogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwid2l0aGRyYXduXCIpLCAxKX07XG59XG5cbi8vIFJldmlldyBTdGF0dXNcbiRyZXZpZXctc3RhdHVzOiAoXG4gIFwiYXNzaWduZWRcIjogKCNGRkZGRkYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwibm90aWZpZWRcIjogKCM5NEMwRkIsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiY29uZmlybWVkXCI6ICgjRkZEODYwLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImRlY2xpbmVkXCI6ICgjQzZDNkM2LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcInJlbWluZGVkXCI6ICgjRkY4RkEwLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImxhdGVcIjogKCNmYTViNWIsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiZGVsZWdhdGVkXCI6ICgjZmY4OWM5LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImNvbXBsZXRlZFwiOiAoIzYzRkNDOCwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJkcmFmdFwiOiAoI0FBQUFBQSwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKVxuICApO1xuXG4gIC8vIFJldmlldyBhY3Rpb25zIGJ1dHRvbnNcbiAgJHJldmlldy1hY3Rpb25zOiAoXG4gICAgXCJjb25maXJtXCI6ICMyNjM2ZTYsXG4gICAgXCJkZWNsaW5lXCI6ICNjZTE0MTQsXG4gICAgXCJlZGl0XCI6ICM0MWFiMGMsXG4gICAgXCJkZWxlZ2F0ZVwiOiAjYzkzZGRlXG4gICk7XG5cbiAgJGVtYWlsLXN0YXR1czogKFxuICAgIFwicGVuZGluZ1wiOiAoI2ZhYjY1YywgJHNpZGViYXItbGFiZWwtY29sb3IsICM4NzRkMDApLFxuICAgIFwic2VudFwiOiAoIzk5RkY5OSwkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFjNzUzMCksXG4gICAgXCJyZWplY3RlZFwiOiAoI2ZmYmRiZCwgJHNpZGViYXItbGFiZWwtY29sb3IsICNmZjAwMDApLFxuICApO1xuXG4gICRwdWJsaWNhdGlvbi1zdGF0dXM6IChcbiAgICBcInJlYWR5XCI6ICgjNmRhMzZmLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICAgIFwibm90LXJlYWR5XCI6ICgjZjkzODI2LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLCAvLyBtYXliZTogI2ZmNWQ2ZVxuICApO1xuXG4vLyBTcGFuIGNvbG9ycyBmb3Igc3VibWlzc2lvbiByYW5raW5nXG4kc3Bhbi1iZWxvdy1BLWJhY2tncm91bmQtY29sb3I6ICM3NUQ3NzU7XG4kc3Bhbi1hYm92ZS1CLWJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4kc3Bhbi1iZXR3ZWVuLUEtYW5kLUItYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjQwLCA3NCk7XG5cbi8vIFByb2NlZWRpbmdzIGNvbnRlbnQgdHlwZXNcbiRwcm9jZWVkaW5ncy1jb250ZW50LXR5cGVzOiAoXG4gIFwic3VibWlzc2lvblwiOiAjOTlGRjk5LFxuICBcImZpbGVcIjogI2U3OGM4NCxcbiAgXCJpbmRleFwiOiAjYWFhLFxuICBcImF1dGhvci1pbmRleFwiOiAjYWFhLFxuICBcIndoaXRlLXBhZ2VcIjogI2ZmZlxuKTtcblxuLy8gQ2hlY2sgbGlzdCBhbnN3ZXIgc3RhdHVzXG4kY2hlY2tsaXN0LWFuc3dlcnMtc3RhdHVzOiAoXG4gIFwibm90LWZvdW5kXCI6ICNmZmJkYmQsXG4gIFwidW5yZWxhdGVkXCI6ICNGRkZGNTUsXG4gIFwiZHVwbGljYXRlZFwiOiAjZmFiNjVjLFxuICBcInVuY2F0ZWdvcml6ZWRcIjogI2Q0ZDNkMyxcbiAgXCJpbnZhbGlkXCI6ICM2ZDZkNmQsXG4gIFwiZGVsZXRpbmdcIjogIzg4ODg4OCxcbiAgXCJva1wiOiAjOTlGRjk5XG4pO1xuXG4kcHVibGljYXRpb24tc3RhdHVzLXJlYWR5OiAjNmRhMzZmO1xuJHB1YmxpY2F0aW9uLXN0YXR1cy1ub3QtcmVhZHk6ICNmOTM4MjY7XG4vLyBcIlBlbmRlbnRlXCIg4oCUIHZlcm1lbGhvIENIQU1BVElWTyBwLyBvIGNoaXAgZGEgc2XDp8OjbyBTdGF0dXMgZGUgcHVibGljYcOnw6NvLiBVc2Egb1xuLy8gdmVybWVsaG8gZGUgZXJybyBkbyBzaXN0ZW1hICgjQ0MwMDI5LCBtZXNtbyBkbyBjaGlwIGRlIFwidHJpbGhhIGZlY2hhZGFcIik6IGZvcnRlIGVcbi8vIGVtLXNpc3RlbWEsIGNvbSBib20gY29udHJhc3RlIHAvIHRleHRvIGJyYW5jbyAofjYuNDoxKS4gU3Vic3RpdHVpIG8gbsOpb24gI2Y5MzgyNi5cbiRwdWJsaWNhdGlvbi1zdGF0dXMtcGVuZGluZzogI0NDMDAyOTtcblxuXG4vLyBJbnRlcmVzdCBUb3BpY3MgQ29sb3JzIGZvciBCaWRcbiRpbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjNzVENzc1O1xuJG5ldXRyYWwtaW50ZXJlc3QtdG9waWMtYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiRuby1pbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjZjY2ZDA0O1xuXG5cbi8vRGVmYXVsdCBjb2xvcnMgZm9yIGRhc2hib2FyZHNcbiRkZWZhdWx0LWZpcnN0LXNlY3Rvci1jb2xvcjogI2ZmYzg3MDtcbiRkZWZhdWx0LXNlY29uZC1zZWN0b3ItY29sb3I6ICNmN2Y3YzY7XG4kZGVmYXVsdC10aGlyZC1zZWN0b3ItY29sb3I6ICNjOGUzYzU7XG4kZGVmYXVsdC1mb3VydGgtc2VjdG9yLWNvbG9yOiAjOWNhZDlhO1xuJGRlZmF1bHQtZmlmdGgtc2VjdG9yLWNvbG9yOiAjNzU1ODU4O1xuJGRlZmF1bHQtc2l4dGgtc2VjdG9yLWNvbG9yOiAjYWJkZjU3O1xuXG4vL0NoYXJ0IGdyaWQgY29sb3JcbiRjaGFydC1ncmlkLWNvbG9yOiAjMDAwMDAwMzM7XG4kY2hhcnQtZ3JpZC1jb2xvci1kYXJrOiAjZmZmZmZmMzM7XG5cbi8vIGFwcC11c2VyLW5vdGlmaWNhdGlvbnNcbiRub3QtcmVhZC1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjogbmF2YWpvd2hpdGU7IiwiQGltcG9ydCBcImNvbG9yc1wiO1xuXG4vLyBIZWFkaW5nIGhpZXJhcmNoeSBhbGlnbmVkIHRvIHRoZSBNYXRlcmlhbCBEZXNpZ24gMyB0eXBlIHJhbXAsXG4vLyBlZGl0b3JpYWwgd2VpZ2h0IHZhcmlhbnQgKE9wdGlvbiBCKTogaGVhZGxpbmVzIHJlbmRlciBhdCB3ZWlnaHQgNDAwIGZvciBhXG4vLyBtb2Rlcm4gXCJOb3Rpb24vTGluZWFyXCIgZmVlbC4gVG9rZW5zIGRvY3VtZW50ZWQgaW4gX3R5cG9ncmFwaHktbWQzLnNjc3MuXG5cbi8vIFBhZ2UgdGl0bGUg4oCUIHVzZWQgaW4gLm1haW4tdGl0bGUgaDEgYWNyb3NzIH4zNCBjaGFpciBzY3JlZW5zLlxuLy8gVHVuZWQgZm9yIGNoYWlyIGFyZWEgd2hlcmUgdGhlIGJyZWFkY3J1bWIgYWxyZWFkeSBjYXJyaWVzIHBhZ2UgaWRlbnRpdHk6XG4vLyAyMHB4IChMaW5lYXIvVmVyY2VsLXN0eWxlIHN0ZXApLCB3ZWlnaHQgNTAwIChjbGVhciBoaWVyYXJjaHkgb3ZlciB0aGVcbi8vIDQzMC13ZWlnaHQgbmF2IGl0ZW1zKSwgMjRweCBsaW5lLWhlaWdodCwgdHJhY2tpbmcgMCAoY2hhaXIgVUkgcnVsZSkuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgICAgICAgLy8gMjBweFxuICBsaW5lLWhlaWdodDogMS41cmVtOyAgICAgIC8vIDI0cHhcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIE1hdGVyaWFsIFN5bWJvbHMgZGVudHJvIGRlIEgxIOKAlCBoZXJkYW0gRklMTCAxICsgd2dodCA0MDAgKFBlcnNvbmEgQSBkYVxuLy8gdG9vbGJhciBkbyBhdXRvci9yZXZpc29yKSwgcGFyYSB2aXN1YWxtZW50ZSBiYXRlcmVtIGNvbSBvcyDDrWNvbmVzIGRvc1xuLy8gaXRlbnMgZGUgbmF2ZWdhw6fDo28uIEFsaW5oYW1lbnRvIMOzcHRpY28gdmlhIGB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtYCArXG4vLyBgbGluZS1oZWlnaHQ6IDFgIChsaW5lLWJveCBhcGVydGFkYSBkbyDDrWNvbmUsIHNlbSBwYWRkaW5nIGhlcmRhZG8pLlxuaDEgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG5oMSBpLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLy8gUGFnZS10aXRsZSBpY29uICjDoCBlc3F1ZXJkYSBkbyBoMSkg4oCUIHJlY2lwZSBzaWRlYmFyIGxldmVsLTEgcmVzdDpcbi8vIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQsIG9wc3ogMjAsIHdnaHQgMzAwLCBGSUxMIDAsIG9wYWNpdHkgMC42NS5cbi8vIFRhbWFuaG8gMjJweCBoYXJtb25pemEgY29tIGgxIDIwLzI0IChsZWFkLWluIHNlbSBkb21pbmFyKS4gOHB4IGRlIGdhcFxuLy8gZW50cmUgw61jb25lIGUgdMOtdHVsby4gR2xvYmFsIHByYSBldml0YXIgZHVwbGljYXIgYSByZWdyYSBlbSBjYWRhIHDDoWdpbmEuXG4ubWFpbi10aXRsZS1pY29uIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xufVxuXG4vLyBMYWJlbCBkbyBzbGlkZS10b2dnbGUgUEFEUsODTyBETyBTSVNURU1BIChNMyk6IHRpcG9ncmFmaWEgZG8gY2hhaXIgbGV2ZWwtMiDigJRcbi8vIDEzcHggKGRlbnNvKSwgd2VpZ2h0IDQzMCAoYm9keSksIGxpbmUtaGVpZ2h0IDEuMywgbGV0dGVyLXNwYWNpbmcgMC4gVW5pdmVyc2FsXG4vLyAoYW50ZXMgZXNjb3BhZG8gYSBgLm1haW4taGVhZGVyIC5vcHRpb25zYCBlIGAuc21hbGwtcGlja2VyYCkuXG4ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gTWFqb3Igc2VjdGlvbiB0aXRsZS4gTUQzIHRpdGxlLWxhcmdlLlxuaDIge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtOyAgICAgIC8vIDIycHhcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07ICAgICAvLyAyOHB4XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBTdWJzZWN0aW9uIC8gLnNlY3Rpb24tdGl0bGUgKHdoaWNoIEBleHRlbmRzIGgzKS4gU2l6ZWQgYXQgMTVweCBzbyBpdCBzaXRzXG4vLyBqdXN0IGFib3ZlIHRoZSAxM3B4IGJvZHkgaW4gdGhlIGNhbnZhcyDigJQgZ2l2ZXMgYSBjbGVhciBcImhlYWRlclwiIGN1ZSB3aXRob3V0XG4vLyBhZGRpbmcgYSB0aGlyZCBzY2FsZSBiZXlvbmQgd2hhdCB0aGUgbWVudSBoaWVyYXJjaHkgYWxyZWFkeSBlc3RhYmxpc2hlZFxuLy8gKGgxPTIwIHBhZ2UgdGl0bGUsIGgzPTE1IHNlY3Rpb24gaGVhZGVyLCBib2R5PTEzKS4gV2VpZ2h0IDUwMCB2cyBib2R5IDQzMCxcbi8vIHRyYWNraW5nIDAgKGNoYWlyIFVJIHJ1bGUpLiBDb2xvciBzZXQgb24gLnNlY3Rpb24tdGl0bGUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy5cbmgzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07ICAgICAvLyAxNXB4XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgICAgLy8gMjJweFxuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gQ2FyZC9wYW5lbCB0aXRsZS4gTUQzIHRpdGxlLXNtYWxsLlxuaDQge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyAgICAgIC8vIDE0cHhcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07ICAgICAvLyAyMHB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwNjI1cmVtO1xufVxuXG4vLyBFeWVicm93IGxhYmVsLiBNRDMgbGFiZWwtbWVkaXVtIHVwcGVyY2FzZS5cbmg1IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAvLyAxMnB4XG4gIGxpbmUtaGVpZ2h0OiAxcmVtOyAgICAgICAgLy8gMTZweFxuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gR2VuZXJpYyBzdWJ0aXRsZS9leWVicm93LiBNRDMgbGFiZWwtbGFyZ2UgdXBwZXJjYXNlLlxuLy8gQ29tcG9uZW50LWxvY2FsIC5zdWJ0aXRsZSBvdmVycmlkZXMgKGV2ZW50LXNlbmQtZW1haWwsIGV2ZW50LXRvcGljcyxcbi8vIGRhc2hib2FyZC1zZXR0aW5ncywgX2V2ZW50LWFkbWluLnNjc3MpIHN0aWxsIHdpbiB3aGVyZSB0aGV5IGV4aXN0LlxuLnN1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgICAgICAvLyAxNHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyAgICAgLy8gMjBweFxuICBsZXR0ZXItc3BhY2luZzogMC4wMzEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gVGFibGUgY29sdW1uIGhlYWRlcnMgKDI2NCBpbnN0YW5jZXMgYXBwLXdpZGUpLiBNRDMgbGFiZWwtbWVkaXVtIHVwcGVyY2FzZVxuLy8gKyB0YWJ1bGFyIG51bWJlcnMgc28gY29sdW1ucyBvZiBudW1lcmljIElEcyBhbGlnbiB2aXN1YWxseS5cbi5tYXQtaGVhZGVyLWNlbGwge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgIC8vIDEycHhcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiO1xufVxuXG4vLyBNYXRlcmlhbCBjYXJkIHRpdGxlcy4gTUQzIHRpdGxlLW1lZGl1bS5cbi5tYXQtY2FyZC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1cmVtO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuaHRtbCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbmJvZHksXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuXG4gICYubW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgYXBwLW5hdmJhciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG5cbiAgJi5zaWRlc2hlZXQtb3BlbiB7XG4gICAgLnNpZGVzaGVldCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICAgIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgbWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLXdpZHRoKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gIC50YWJsZS5pcy1mdWxsd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5hcHAtYWRtaW4ge1xuICAubWF0LXRhYi1ib2R5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC1tb250aC12aWV3LXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC1tb250aC12aWV3LXZhcnM6IG1hcC1tZXJnZSgkY2FsLXZhcnMsICRjYWwtbW9udGgtdmlldy12YXJzKTtcblxuQG1peGluIGNhbC1tb250aC12aWV3LXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC1tb250aC12aWV3LXZhcnMsICRvdmVycmlkZXMpO1xuXG4gIC5jYWwtbW9udGgtdmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXByaW1hcnkpO1xuXG4gICAgLmNhbC1jZWxsLXJvdzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY2FsLWNlbGwtcm93IC5jYWwtY2VsbDpob3ZlcixcbiAgICAuY2FsLWNlbGwuY2FsLWhhcy1ldmVudHMuY2FsLW9wZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXlzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXlzIC5jYWwtY2VsbC1yb3cge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktYmFkZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJhZGdlLWNvbG9yKTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXByaW1hcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGwuY2FsLXdlZWtlbmQgLmNhbC1kYXktbnVtYmVyIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2Vla2VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbC5jYWwtdG9kYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIHRvZGF5LWJnKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsLmNhbC1kcmFnLW92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpLCA1JSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FsLW9wZW4tZGF5LWV2ZW50cyB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBncmF5KTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxNXB4IDAgcmdiYShtYXAtZ2V0KCR0aGVtZSwgYmxhY2spLCAwLjUpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsLW1vbnRoLXZpZXcge1xuICAuY2FsLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAuY2FsLWhlYWRlciAuY2FsLWNlbGwge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5jYWwtZGF5cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jYWwtY2VsbC10b3Age1xuICAgIG1pbi1oZWlnaHQ6IDc4cHg7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5jYWwtY2VsbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuY2FsLWNlbGwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktY2VsbCB7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG5cbiAgICAvLyBpZTExIGhhY2sgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0bGV3aXM5Mi9hbmd1bGFyLWNhbGVuZGFyL2lzc3Vlcy81MDFcbiAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLWRheXMgLmNhbC1jZWxsLXJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC1kYXktYmFkZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBwYWRkaW5nOiAzcHggN3B4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgfVxuXG4gIC5jYWwtZGF5LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jYWwtZXZlbnRzIHtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDNweDtcbiAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5jYWwtZXZlbnQge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMnB4O1xuICB9XG5cbiAgLmNhbC1kYXktY2VsbC5jYWwtaW4tbW9udGguY2FsLWhhcy1ldmVudHMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwuY2FsLW91dC1tb250aCAuY2FsLWRheS1udW1iZXIge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuY2FsLWRheS1jZWxsLmNhbC10b2RheSAuY2FsLWRheS1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMS45ZW07XG4gIH1cblxuICAuY2FsLW9wZW4tZGF5LWV2ZW50cyB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxuXG4gIC5jYWwtb3Blbi1kYXktZXZlbnRzIC5jYWwtZXZlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgfVxuXG4gIC5jYWwtb3V0LW1vbnRoIHtcbiAgICAuY2FsLWRheS1iYWRnZSxcbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gIH1cblxuICAuY2FsLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5cbiAgLmNhbC1kcmFnLWFjdGl2ZSAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5jYWwtZXZlbnQtdGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGNhbC1tb250aC12aWV3LXRoZW1lKCRjYWwtbW9udGgtdmlldy12YXJzKTtcbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRjYWwtd2Vlay12aWV3LXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC13ZWVrLXZpZXctdmFyczogbWFwLW1lcmdlKCRjYWwtdmFycywgJGNhbC13ZWVrLXZpZXctdmFycyk7XG5cbkBtaXhpbiBjYWwtd2Vlay12aWV3LXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC13ZWVrLXZpZXctdmFycywgJG92ZXJyaWRlcyk7XG5cbiAgLmNhbC13ZWVrLXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1wcmltYXJ5KTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG5cbiAgICAuY2FsLWRheS1oZWFkZXJzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXIge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWRheS1oZWFkZXJzIC5jYWwtaGVhZGVyOmhvdmVyLFxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1kcmFnLW92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY29sdW1uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5jYWwtYWxsLWRheS1ldmVudHMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWhlYWRlci5jYWwtdG9kYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIHRvZGF5LWJnKTtcbiAgICB9XG5cbiAgICAuY2FsLWhlYWRlci5jYWwtd2Vla2VuZCBzcGFuIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2Vla2VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgLmNhbC10aW1lLWV2ZW50cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuXG4gICAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgICAgJjpub3QoLmNhbC1yZXNpemUtYWN0aXZlKSB7XG4gICAgICAgICAgLmNhbC1ob3VyLXNlZ21lbnQ6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbC1ob3VyLW9kZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY2FsLWRyYWctb3ZlciAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWhvdXI6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCxcbiAgICAuY2FsLWhvdXI6bGFzdC1jaGlsZCA6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGN1cnJlbnQtdGltZS1tYXJrZXItY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FsLXdlZWstdmlldyB7XG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuY2FsLWRheS1oZWFkZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXIge1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktaGVhZGVycyBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHg7XG4gIH1cblxuICAuY2FsLWV2ZW50IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLXRpbWUtbGFiZWwtY29sdW1uIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmNhbC1hbGwtZGF5LWV2ZW50cyB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAzcHg7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudHMtcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgJi5yZXNpemUtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cblxuICAgIC5jYWwtc3RhcnRzLXdpdGhpbi13ZWVrIC5jYWwtZXZlbnQge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgIC5jYWwtZW5kcy13aXRoaW4td2VlayAuY2FsLWV2ZW50IHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgIC5jYWwtdGltZS1sYWJlbC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuY2FsLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcblxuICAgICAgJi5jYWwtcmVzaXplLWhhbmRsZS1hZnRlci1lbmQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FsLWV2ZW50LFxuICAuY2FsLWhlYWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmNhbC1kcmFnLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTtcblxuICAgICYgKiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FsLXRpbWUtZXZlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHg7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmNhbC1kYXktY29sdW1ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudHMtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50LWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgICBtYXJnaW46IDFweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgLmNhbC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICYuY2FsLXJlc2l6ZS1oYW5kbGUtYWZ0ZXItZW5kIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG4gIH1cblxuICAuY2FsLWV2ZW50LWNvbnRhaW5lcjpub3QoLmNhbC1kcmFnZ2FibGUpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuY2FsLWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAqL1xuICBtd2wtY2FsZW5kYXItd2Vlay12aWV3LWhvdXItc2VnbWVudCwgLyogZml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vbWF0dGxld2lzOTIvYW5ndWxhci1jYWxlbmRhci9pc3N1ZXMvMjYwKi9cbiAgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNhbC1ob3VyOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQsXG4gIC5jYWwtaG91cjpsYXN0LWNoaWxkIDpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICBib3JkZXItYm90dG9tOiB0aGluIGRhc2hlZDtcbiAgfVxuXG4gIC5jYWwtdGltZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2FsLWhvdXItc2VnbWVudC5jYWwtYWZ0ZXItaG91ci1zdGFydCB7XG4gICAgLmNhbC10aW1lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1zdGFydHMtd2l0aGluLWRheSAuY2FsLWV2ZW50IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgfVxuXG4gIC5jYWwtZW5kcy13aXRoaW4tZGF5IC5jYWwtZXZlbnQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGNhbC13ZWVrLXZpZXctdGhlbWUoJGNhbC13ZWVrLXZpZXctdmFycyk7XG4iLCIuY2FsLWRheS12aWV3IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAqL1xuICBtd2wtY2FsZW5kYXItd2Vlay12aWV3LWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jYWwtZXZlbnRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gIH1cblxuICAuY2FsLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLmNhbC1jdXJyZW50LXRpbWUtbWFya2VyIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XG5cbiRjYWwtdG9vbHRpcC12YXJzOiAoKSAhZGVmYXVsdDtcbiRjYWwtdG9vbHRpcC12YXJzOiBtYXAtbWVyZ2UoJGNhbC12YXJzLCAkY2FsLXRvb2x0aXAtdmFycyk7XG5cbkBtaXhpbiBjYWwtdG9vbHRpcC10aGVtZSgkb3ZlcnJpZGVzKSB7XG4gICR0aGVtZTogbWFwLW1lcmdlKCRjYWwtdG9vbHRpcC12YXJzLCAkb3ZlcnJpZGVzKTtcblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1ib3R0b20gLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxuXG4gIC5jYWwtdG9vbHRpcC1pbm5lciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJsYWNrKTtcbiAgfVxufVxuXG4uY2FsLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwNzA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXRvcCB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtcmlnaHQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1ib3R0b20gLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1sZWZ0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xufVxuXG4uY2FsLXRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuQGluY2x1ZGUgY2FsLXRvb2x0aXAtdGhlbWUoJGNhbC10b29sdGlwLXZhcnMpO1xuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5tb2RhbFdpbmRvdyB7XG4gICAgd2lkdGg6IDI1MHB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmxvZ29Db250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDEuN3JlbSAwIDJyZW0gMDtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDRweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBHYWluc2Jvcm87XG4gICAgICAgIC8vIGNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgICAgd2lkdGg6IDExMnB4O1xuICAgIH1cblxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIC8vIGJvcmRlcjogMHB4IG5vbmUgd2hpdGU7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCAxcHggTGlnaHRHcmF5O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgLy8gYm9yZGVyLXRvcDogMHB4IG5vbmUgd2hpdGU7XG4gICAgYm9yZGVyOiAwcHggbm9uZSB3aGl0ZTtcbiAgfVxufVxuXG4ubWF0LWZvcm0tZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgLm1hdC1pY29uIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuYXBwLXNlYXJjaC1idXR0b24ge1xuICAubWF0LXNlYXJjaF9maWVsZCB7XG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgaGVpZ2h0OiAzcHg7XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaWNvbi1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuNXB4O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IHtcbiAgICAgIGxhYmVsLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgxLjUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0b3A6IDJyZW07XG5cbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIH1cbiAgfVxufVxuXG4udG9waWNzLXRhYmxlIHtcbiAgLm1hdC1yYWRpby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwcHg7XG4gIH1cbn1cblxuLy8gYWRkcyBicmVha3MgdG8gdGhlIG1hdC1jaGVja2JveGVzIHdpdGggbG9uZyBsYWJlbHNcbi5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4vLyBPIG1hdC1zZWxlY3QgKGNvbSBgW2Rpc2FibGVPcHRpb25DZW50ZXJpbmddPVwidHJ1ZVwiYCwgZ2xvYmFsIGVtIGFwcC1zZWxlY3QtaW5wdXQvXG4vLyAtbGUvLWZsYWcpIGFuY29yYSBvIHBhaW5lbCBubyBUT1BPIGRhIGNhaXhhIOKGkiBzb2JyZXBvcmlhIG8gaW5wdXQuIEVtcHVycmFtb3Mgb1xuLy8gYC5tYXQtc2VsZWN0LXBhbmVsLXdyYXBgIHByYSBiYWl4bywgfnBlbGEgQUxUVVJBIGRhIGNhaXhhLCBwcmEgYWJyaXIgbG9nbyBBQkFJWE9cbi8vIGRlbGEuIFZhbG9yIGNhbGlicmFkbyBwcmFzIGNhaXhhcyBMRUdBREFTIChhcHBlYXJhbmNlIHBhZHLDo28sIH4zNnB4KS4gQ29tbWl0XG4vLyBvcmlnaW5hbDogZDk2MzNhMTEwLlxuLm1hdC1zZWxlY3QtcGFuZWwtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA0MHB4O1xufVxuXG4vLyBDYWl4YXMgRklMVEVSLVNUWUxFRCAobWFyY2EgYGplbXMzLXNlbGVjdC1wYW5lbC1jb21wYWN0YCk6IGNvcnJlw6fDo28gZG9cbi8vIHBvc2ljaW9uYW1lbnRvIGRvIHBhaW5lbCBkbyBtYXQtc2VsZWN0IE1VTFRJUExFLiBCYXNlIChkYSBmb250ZSBkbyBAYW5ndWxhci9cbi8vIG1hdGVyaWFsIDExLjIpOiBvIHBhaW5lbCBTT0JSRVDDlUUgbyBnYXRpbGhvIHBlbG8gdG9wbyAob3ZlcmxheVk6dG9wL29yaWdpblk6dG9wKSxcbi8vIGFwbGljYSBgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KWAgKG9mZnNldFggZGUgbXVsdGlwbGUpIGUgb2Zmc2V0WT0wICh2aWFcbi8vIGBkaXNhYmxlT3B0aW9uQ2VudGVyaW5nYCkuIE8gYGxlZnRgIGNhbmNlbGEgbyAtNDAgZSBvIGB0b3BgIGRlc2NlIHByYSBiYWl4byBkYSBjYWl4YS5cbi8vIE9zIHZhbG9yZXMgZm9yYW0gQ0FMSUJSQURPUyBwZWxvIERPTSByZWFsIChnZXRCb3VuZGluZ0NsaWVudFJlY3QgbWVkaWRvKTogY29tXG4vLyB0b3A6MjYvbGVmdDo0MCBvIHBhaW5lbCBmaWNhdmEgZHhMZWZ0PSsxMXB4LCBkeVRvcD0rN3B4IOKGkiBjb3JyaWdpZG8gcC8gYm9yZGFcbi8vIGVzcXVlcmRhIGFsaW5oYWRhIMOgIGNhaXhhIChkeExlZnTihpIwKSBlIH40cHggZGUgZm9sZ2EgYWJhaXhvIChkeVRvcOKGkjQpOlxuLy8gICBsZWZ0ID0gNDAgLSAxMSA9IDI5cHggOyAgdG9wID0gMjYgLSAzID0gMjNweFxuLm1hdC1zZWxlY3QtcGFuZWwtd3JhcDpoYXMoLmplbXMzLXNlbGVjdC1wYW5lbC1jb21wYWN0KSB7XG4gIHRvcDogMjNweDtcbiAgbGVmdDogMjlweDtcbn1cblxuLy8gWmVyYSBhIGFuaW1hw6fDo28gZGUgYWJlcnR1cmEgZG8gcGFpbmVsIGZpbHRlci1zdHlsZWQg4oCUIHBhcmVpYSBjb20gbyByZXN0b1xuLy8gZG8gSkVNUzMgKG1lbnVzL3BvcG92ZXJzIGrDoSBhYnJlbSBzZW0gYW5pbWHDp8OjbykuIE7Dg08gbWV4ZXIgZW0gdHJhbnNmb3JtOlxuLy8gTWF0ZXJpYWwgdXNhIHRyYW5zbGF0ZVgoLTQwcHgpIGUgb3V0cm9zIHByYSBwb3NpY2lvbmFyIG8gcGFpbmVsLlxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvbXBhY3Qge1xuICAubWF0LWZvcm0tZmllbGQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcblxuICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJGJ1dHRvbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDsgICAvLyBhbGlhcyBsZWdhZG8g4oaSIHRva2VuIMO6bmljbyAodmVyIF92YXJpYWJsZXMuc2NzcylcblxuLmJ1dHRvbnMge1xuICAuaXMtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFuZGluZy1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjk1cmVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxufVxuXG5hIHtcbiAgb3V0bGluZTogMDtcbiAgLy8gQ29udmVuw6fDo28gZG8gSkVNUzM6IGxpbmtzIG51bmNhIHN1YmxpbmhhbSBubyBob3Zlci4gUmVncmEgZ2xvYmFsXG4gIC8vIGNvZGlmaWNhZGEgYXF1aSBwcmEgZXZpdGFyIHF1ZSBjYWRhIHDDoWdpbmEgcmVpbnZlbnRlIG8gYCY6aG92ZXJcbiAgLy8geyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB9YC4gVmVyIG1lbcOzcmlhIGZlZWRiYWNrX25vX2xpbmtfdW5kZXJsaW5lX2hvdmVyLlxuICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG59XG5cbmJ1dHRvbiB7XG4gIGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG59XG5cbi8vIEEgcmVncmEgYWNpbWEgRk9Sw4dBIGEgYWx0dXJhIGRlIHRvZG8gPGJ1dHRvbj4gYW8gdG9rZW4uIE8gTWF0ZXJpYWwsIHBvcsOpbSxcbi8vIGNlbnRyYWxpemEgbyBsYWJlbCBkb3MgYm90w7VlcyBkZSBURVhUTyB2aWEgYGxpbmUtaGVpZ2h0OiAzNnB4YCBmaXhvIOKAlCBxdWVcbi8vIGRlc2Nhc2EgcXVhbmRvICRjb250cm9sLWhlaWdodCDiiaAgMzZweCAobyBsYWJlbCBkZXNsaXphIHByYSBiYWl4bykuIEFtYXJyYW1vcyBvXG4vLyBsaW5lLWhlaWdodCBhbyB0b2tlbiBwLyBvIGxhYmVsIGNlbnRyYWxpemFyIGVtIFFVQUxRVUVSIGFsdHVyYS4gKG1hdC1yYWlzZWQtYnV0dG9uXG4vLyBqw6EgY2VudHJhbGl6YSB2aWEgYGlubGluZS1ncmlkYCBtYWlzIGFiYWl4bywgZW50w6NvIGZpY2EgZGUgZm9yYS4pXG5idXR0b24ubWF0LWJ1dHRvbixcbmJ1dHRvbi5tYXQtZmxhdC1idXR0b24sXG5idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbn1cblxuLmNsb3NlLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcblxuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucmlwcGxlLWJ1dHRvbi5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogMzRweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLnNlbGVjdGVkIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uc3VibWlzc2lvbnMsIC5yZXZpZXdzLCAuZXZlbnRzLCAubXlldmVudHMsIC5jb21taXR0ZWVzLCAuZXZlbnQtYWRtaW4ge1xuICAuZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC50b2dnbGUge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpZnktYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5vdGlmeS1idXR0b24ge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5maWxlLWljb24tYnV0dG9ucyB7XG4gIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gICAgd2lkdGg6ICRmaWxlLWljb24tc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplO1xuICB9XG5cbiAgLnNtYWxsZXItYnV0dG9uLCAuc21hbGxlci1idXR0b24gbWF0LWljb24ge1xuICAgIGhlaWdodDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gICAgd2lkdGg6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgICBmb250LXNpemU6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyLWZvbnRzaXplO1xuICB9XG5cbiAgYXBwLWZpbGUtdXBsb2FkIHtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gLmFwcC1pY29uLWJ1dHRvbiDigJQgYm90w6NvIGljb24tb25seSA0MMOXNDAgZG8gSkVNUzMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZHLDo28gw7puaWNvIGNvbXBhcnRpbGhhZG8gcG9yOiBzaW5vIGRlIG5vdGlmaWNhw6fDtWVzICgucHJvZmlsZS1idXR0b24pLFxuLy8gbWVudSBkZSB1c3XDoXJpbyAoLnVzZXItbWVudS1idXR0b24pLCB0cmlnZ2VyIGRvIGNvbW1hbmQgcGFsZXR0ZVxuLy8gKC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcikgZSBib3TDo28gZGUgZmlsdHJvcyAoLmZpbHRlci1idXR0b24pLlxuLy8gU3Vic3RpdHVpIH4zMCBsaW5oYXMgZHVwbGljYWRhcyBlbSBjYWRhIGNvbXBvbmVudGUuIFRva2VucyBkZSBob3Zlci9cbi8vIG1lbnUtb3BlbiBmaWNhbSBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoZ2F0ZWQgcG9yIHRlbWEpLiBVc2UganVudG9cbi8vIGNvbSBhIGNsYXNzZSBlc3BlY8OtZmljYSBkbyBjb250ZXh0byAoZXg6IGBjbGFzcz1cImFwcC1pY29uLWJ1dHRvbiBmaWx0ZXItYnV0dG9uXCJgKVxuLy8g4oCUIGEgZXNwZWPDrWZpY2EgZmljYSBjb21vIGhvb2sgZGUgSlMgZSBvdmVycmlkZXMgcG9udHVhaXMgKGJhZGdlLCBldGMpLlxuLmFwcC1pY29uLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgJGVhc2Utb3V0O1xuXG4gIC8vIFJpcHBsZS9mb2N1cy1vdmVybGF5IGRvIG1hdC1idXR0b24g4oCUIGVzY29uZGlkb3MgcHJhIHN1cmZhY2UgZmljYXIgbGltcGEuXG4gIDo6bmctZGVlcCAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIDo6bmctZGVlcCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyDDjWNvbmUg4oCUIDIwcHggY29tIGF4ZXMgd2dodCAzMDAvRklMTCAwIGRlZmF1bHQuIE9wYWNpdHkgMC42NSBiYXNlLFxuICAvLyAwLjkgaG92ZXIsIDEgY29tIGAubWVudS1vcGVuYCAoZXN0YWRvIGF0aXZvIGRvIG1lbnUvcGFpbmVsKS5cbiAgLm1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zICRlYXNlLW91dDtcbiAgICAvLyBgZm9udC12YXJpYXRpb24tc2V0dGluZ3NgIHJlbW92aWRvIGRhIHRyYW5zacOnw6NvOiBjYWRhIGZyYW1lIGludGVybWVkacOhcmlvXG4gICAgLy8gcmUtc2hhcGUgYSBnbHlwaCAoY3VzdG8gYWx0byBxdWFuZG8gZGlzcGFyYSkuIEVtIHRhYmVsYXMgY29tIG11aXRvc1xuICAgIC8vIGAuYXBwLWljb24tYnV0dG9uYCBwb3IgbGluaGEsIGhvdmVyIHZpYWphbmRvIGVudHJlIGxpbmhhcyBwYWdhIGVzc2VcbiAgICAvLyByZS1zaGFwZSBlbSB2w6FyaW9zIMOtY29uZXMgc2ltdWx0w6JuZW9zLlxuICB9XG5cbiAgLy8gYDpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpYCDigJQgYm90w6NvIGRlc2FiaWxpdGFkbyBuw6NvIGNsYXJlaWEgbyDDrWNvbmUgbm8gaG92ZXJcbiAgLy8gKGVyYSBlc3NlIG8gaG92ZXIgcXVlIHNvYnJhdmEgbm8gXCIuLi5cIiBlbSBtb2RvIGVkacOnw6NvOyBhcyBvdXRyYXMgcmVncmFzIGRlIGhvdmVyXG4gIC8vIGrDoSBlc3RhdmFtIGd1YXJkYWRhcywgbWFzIG8gcmVhbGNlIGRvIMOtY29uZSBuw6NvKS5cbiAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIC5tYXQtaWNvbiB7XG4gICAgb3BhY2l0eTogMC45O1xuICB9XG5cbiAgJi5tZW51LW9wZW4gLm1hdC1pY29uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuXG5cbi8vIENoYWlyIFVJIGJ1dHRvbiBmYW1pbHkg4oCUIHBhciBcInByaW1hcnkgZmlsbGVkXCIgLyBcInNlY29uZGFyeSBzdHJva2VkXCJcbi8vIGNvbXBhcnRpbGhhZG8gcG9yIGZvcm0gc3VibWl0LWJhcnMsIGRpYWxvZ3MsIGUgcXVhbHF1ZXIgZmx1eG8gZGUgYcOnw6NvXG4vLyBjb25maXJtYXIvY2FuY2VsYXIuIENlbnRyYWxpemFyIGFxdWkgZXZpdGEgZHJpZnQgdmlzdWFsIGVudHJlIHDDoWdpbmFzXG4vLyAoZGVzY29icmltb3MgaXNzbyBjb21wYXJhbmRvIERlc2NhcnRhciBkbyByZXZpZXdzLWNvbmZpZ3VyYXRpb24gdnNcbi8vIENhbmNlbGFyIGRvIGNvbmZpcm1hdGlvbi1kaWFsb2cg4oCUIGVzdGF2YW0gY29tIGdlb21ldHJpYSBkaWZlcmVudGUpLlxuLy9cbi8vIFVzbzpcbi8vICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gICBjbGFzcz1cImNoYWlyLWJ1dHRvbiBjaGFpci1idXR0b24tLXByaW1hcnlcIiAgIC4uLj5TYWx2YXI8L2J1dHRvbj5cbi8vICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJjaGFpci1idXR0b24gY2hhaXItYnV0dG9uLS1zZWNvbmRhcnlcIiAuLi4+Q2FuY2VsYXI8L2J1dHRvbj5cbi8vXG4vLyBWYXJpYW50ZSBkZXN0cnV0aXZhOiBhcGxpY2FyIGBjb2xvcj1cIndhcm5cImAgbm8gYm90w6NvIHByaW3DoXJpbzsgY29yIMOpXG4vLyBnZXJlbmNpYWRhIHBlbG8gTWF0ZXJpYWwsIGdlb21ldHJpYS90aXBvZ3JhZmlhIGrDoSB2w6ptIGRhcXVpLlxuLy9cbi8vIE92ZXJyaWRlcyBsb2NhaXMgKGV4OiBzdWJtaXQgZG8gcmV2aWV3cy1jb25maWd1cmF0aW9uIGNvbSBtaW4td2lkdGhcbi8vIG1haW9yIHBvciBjYXVzYSBkbyBsYWJlbCBcIlNhbHZhciBhbHRlcmHDp8O1ZXNcIi9cIlNhbHZhbmRv4oCmXCIpIHNlZ3VlbVxuLy8gcG9zc8OtdmVpcyDigJQgYmFzdGEgc29icmVzY3JldmVyIG1pbi13aWR0aCBubyBjb21wb25lbnRlLlxuLmNoYWlyLWJ1dHRvbi5tYXQtZmxhdC1idXR0b24sXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbWluLXdpZHRoOiA5NnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsXG4gICAgICAgICAgICAgIGJveC1zaGFkb3cgMTIwbXMgZWFzZSwgZmlsdGVyIDEyMG1zIGVhc2U7XG59XG5cbi8vIENlbnRyYWxpemEgdmVydGljYWxtZW50ZSDDrWNvbmUgKyB0ZXh0byBkZW50cm8gZG8gYm90w6NvLiBPIHdyYXBwZXIgZG8gTWF0ZXJpYWxcbi8vIChgLm1hdC1idXR0b24td3JhcHBlcmApIGFsaW5oYSBvIGNvbnRlw7pkbyBwZWxhIGxpbmhhIGRlIGJhc2UgcG9yIHBhZHLDo28sIG8gcXVlXG4vLyBkZXNlbmNvbnRyYSBvIMOtY29uZSBkbyByw7N0dWxvOyBpbmxpbmUtZmxleCArIGFsaWduLWl0ZW1zIGNlbnRlciByZXNvbHZlIGVtXG4vLyBUT0RPIGNoYWlyLWJ1dHRvbiBjb20gZGlyZXRpdmEgKG1hdC1mbGF0L21hdC1zdHJva2VkKS5cbi5jaGFpci1idXR0b24ubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXIsXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIC8vIEJhY2tncm91bmQgZSBib3JkZXIgZXhwbMOtY2l0b3MgR0xPQkFJUyAobsOjbyB0aGVtZS1zY29wZWQpLiBNYXRlcmlhbFxuICAvLyBkaWFsb2dzIHJlbmRlcml6YW0gdmlhIGNkay1vdmVybGF5LWNvbnRhaW5lcjsgZW1ib3JhIC5saWdodC10aGVtZS9cbiAgLy8gLmRhcmstdGhlbWUgZXN0ZWphbSBlbSA8Ym9keT4sIHJlZ3JhcyBnbG9iYWlzIHNlbSBwcmVmaXhvIGdhcmFudGVtXG4gIC8vIGFwbGljYcOnw6NvIGluZGVwZW5kZW50ZSBkZSBxdWFscXVlciBjYW1pbmhvIGRlIGNhc2NhZGUuXG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAvLyBDb3IgZGUgdGV4dG8gZXhwbMOtY2l0YSAodGhlbWUtYXdhcmUpLiBTZW0gZWxhIG8gTWF0ZXJpYWwgYXBsaWNhIHVtIGZvcmVncm91bmRcbiAgLy8gcGFkcsOjbyBxdWUgbm8gZGFyayBmaWNhIGVzY3VybyDihpIgXCJEZXNjYXJ0YXJcIiBlc21hZWNpZG8gbWVzbW8gaGFiaWxpdGFkby5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAvLyBCb3JkYSBkb3MgQ09OVFJPTEVTID0gY2hyb21lLWJvcmRlci1BQ1RJVkUgKG1haXMgZGVmaW5pZGEpLCBNRVNNTyB0b2tlbiBkbyB0cmlvIGRvXG4gIC8vIGhlYWRlciAoY2FpeGEgZGUgZmlsdHJvLCBib3TDo28gZGUgZmlsdHJvLCBib3TDo28gZGUgYcOnw7VlcykuIEhhcm1vbml6YSBvcyBib3TDtWVzIGRhXG4gIC8vIGJhcnJhIGRlIGHDp8O1ZXMgY29tIG8gaGVhZGVyOyBvIGBjaHJvbWUtYm9yZGVyYCBiYXNlIGZpY2EgcmVzZXJ2YWRvIGEgRElWSVNPUkVTLlxuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cblxuLy8gSG92ZXIgZG9zIGJvdMO1ZXMgZGEgYmFycmEgZGUgY29uZmlybWHDp8OjbyAoY2hhaXItYnV0dG9uKS4gQ29tbyBvIGZvY3VzLW92ZXJsYXkgZm9pXG4vLyB6ZXJhZG8gKGFiYWl4byksIG8gZmVlZGJhY2sgw6kgZXhwbMOtY2l0bzogZWxldmHDp8OjbyBzdXRpbCBub3MgZG9pcyArIG11ZGFuw6dhIGRlIGZ1bmRvXG4vLyBubyBzZWN1bmTDoXJpbyBlIGxldmUgZXNjdXJlY2ltZW50byBubyBwcmltw6FyaW8uIEV4Y2x1aSBvIGVzdGFkbyBkZXNhYmlsaXRhZG8uXG4uY2hhaXItYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyLFxuLmNoYWlyLWJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeS5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTMpO1xufVxuXG4vLyBaZXJhIG8gdGludCBkbyBmb2N1cyBvdmVybGF5IG5vIGNoYWlyLWJ1dHRvbiAoTWF0ZXJpYWwgYXBsaWNhIH4wLjEyXG4vLyBvcGFjaXR5IHF1YW5kbyBmb2NhZG8g4oCUIG8gcXVlIGTDoSBhIGltcHJlc3PDo28gdmlzdWFsIGRlIFwiZnVuZG8gY2luemFcIlxuLy8gbm8gYm90w6NvIENhbmNlbGFyIGRvIGRpYWxvZywgcXVlIMOpIGF1dG8tZm9jYWRvKS4gRm9jdXMgY29udGludWFcbi8vIHBlcmNlcHTDrXZlbCB2aWEgLmNkay1mb2N1c2VkIG91dGxpbmUuXG4uY2hhaXItYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIERpc2FibGVkOiBNYXRlcmlhbCBhcGxpY2Egc2V1IHByw7NwcmlvIGdyYXkgKGAubWF0LWJ1dHRvbi1kaXNhYmxlZGApLFxuLy8gcXVlIGRlc3RvYSBkbyByZXN0byBkbyBjaGFpciBVSS4gRm9yw6dhbW9zIG9zIHRva2VucyBnbG9iYWlzXG4vLyBgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcmAgLyBgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrYCAoasOhIHVzYWRvcyBlbVxuLy8gYGJ1dHRvbjpkaXNhYmxlZGAgZW0gX2NvbG9yLXNjaGVtZS5zY3NzLCBtYXMgTWF0ZXJpYWwgdmVuY2UgcG9yXG4vLyBzcGVjaWZpY2l0eSkuIE8gYC5tYXQtaWNvbmAgaGVyZGEgdmlhIGBjb2xvcjogaW5oZXJpdGAgKHNldGFkbyBub1xuLy8gb3ZlcnJpZGUgZG8gZmxvYXRpbmctc3VibWl0LWJhcikuIEFqdXN0YXIgZ2xvYmFsbWVudGUgPSBlZGl0YXIgbyB0b2tlbi5cbi5jaGFpci1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5jaGFpci1idXR0b246ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIERpc2FibGVkIGRvIFBSSU1BUlkgKG1hdC1mbGF0LWJ1dHRvbik6IG1hbnTDqW0gbyBhenVsLCBhcGVuYXMgZXNtYWVjaWRvIOKAlFxuLy8gbsOjbyBjYWlyIG5vIGdyYXkgZGVmYXVsdCBkbyBNYXRlcmlhbC4gUmVncmEgZ2xvYmFsOiB1bSBib3TDo28gZGVzYWJpbGl0YWRvXG4vLyB0ZW0gcXVlIHNlIHBhcmVjZXIgY29tIG8gbWVzbW8gYm90w6NvIGhhYmlsaXRhZG8sIHPDsyBxdWUgYXBhZ2FkbywgZW1cbi8vIFFVQUxRVUVSIGNvbnRleHRvICh0YWJlbGEgZGUgdHJpbGhhcywgZmxvYXRpbmcgYmFyLCBwcsOpdmlhLCBldGMuKS4gU2VtXG4vLyBpc3NvIG8gTWF0ZXJpYWwgc29icmVzY3JldmUgYmFja2dyb3VuZCtjb2xvciBjb20gbyBwcmVzZXQgZGUgZGlzYWJsZWQgZVxuLy8gZGVzdG9hIGRvIHJlc3RvIGRhIFVJLiBDb2JyZSB0YW50byBgW2Rpc2FibGVkXWAgcXVhbnRvIGAubWF0LWJ1dHRvbi1kaXNhYmxlZGBcbi8vIChjbGFzc2UgcXVlIE1hdGVyaWFsIGFkaWNpb25hIHF1YW5kbyB1bSA8YT4gY2hhaXItYnV0dG9uIHBlcmRlIHJvdXRlckxpbmspLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b246ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhcHAtcHJpbWFyeS1saWdodCwgNTAwKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5LWRhcmssIDUwMCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41NTtcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBjaGFpci1idXR0b24gXCJwdXJvXCIg4oCUIHBhcmEgPGJ1dHRvbj4vPGE+IGNvbSBjbGFzcz1cImNoYWlyLWJ1dHRvblwiIFNFTVxuLy8gZGlyZXRpdmEgTWF0ZXJpYWwuIFJlcGxpY2EgYSBnZW9tZXRyaWEvdGlwb2dyYWZpYS9lc3RhZG9zIHF1ZVxuLy8gbWF0LXN0cm9rZWQtYnV0dG9uIGUgbWF0LWZsYXQtYnV0dG9uIGZvcm5lY2VyaWFtLiBTZWxldG9yXG4vLyBgOm5vdCgubWF0LWJ1dHRvbi1iYXNlKWAgbWlyYSBzw7Mgb3MgYmFyZSAoTWF0ZXJpYWwgc2VtcHJlIGFkaWNpb25hXG4vLyAubWF0LWJ1dHRvbi1iYXNlIG5hcyBzdWFzIHZhcmlhbnRlcyksIGVudMOjbyBlc3RlcyBjb252aXZlbSBjb20gb3Ncbi8vIGNoYWlyLWJ1dHRvbiBNYXRlcmlhbCBkbyByZXN0byBkbyBhcHAgc2VtIGNvbGlzw6NvLiBDb2JyZSA8YT4gKG5hdmVnYcOnw6NvXG4vLyB2aWEgcm91dGVyTGluaywgZXguOiBhw6fDtWVzIGRvIG1lbWJybyBkbyBjb21pdMOqIG5hIHDDoWdpbmEgZG8gZXZlbnRvKSBhbMOpbVxuLy8gZGUgPGJ1dHRvbj4uXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5jaGFpci1idXR0b246bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLy8gw41jb25lIGludGVybm8gYWxpbmhhZG8gYW8gdGFtYW5obyBkYSB0aXBvZ3JhZmlhIGRvIGJvdMOjbyAoMTNweC8xNnB4KS5cbiAgLy8gQ29icmUgMyBmb3JtYXMgZGUgcmVuZGVyaXphciBvIMOtY29uZTogYG1hdC1pY29uYCAoTWF0ZXJpYWwg4oCUIDI0cHhcbiAgLy8gZGVmYXVsdCwgcHJlY2lzYSBjYXApLCBgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRgIChzcGFuIGNvbSBhXG4gIC8vIGZvbnRlIHNlbGYtaG9zdGVkLCBKRU1TMyBwdXJvIHNlbSBNYXRlcmlhbCkgZSBgLmplbXMzc2AgKGZvbnRTZXRcbiAgLy8gY2zDoXNzaWNvKS4gTmFzIHZhcmlhbnRlcyBjb20gZGlyZXRpdmEgTWF0ZXJpYWwgbyB3cmFwcGVyXG4gIC8vIGAubWF0LWJ1dHRvbi13cmFwcGVyYCBqw6EgZGltZW5zaW9uYTsgYXF1aSDDqSBvIHBhciBwdXJvLlxuICBtYXQtaWNvbixcbiAgLm1hdC1pY29uLFxuICAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgLmplbXMzcyxcbiAgLmplbXMzciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAvLyBoZWlnaHQ6IGF1dG8gc29icmVzY3JldmUgYSByZWdyYSBnbG9iYWwgYGJ1dHRvbiB7IGhlaWdodCB9YCBtYXMgYXF1aVxuICAvLyBxdWVyZW1vcyBleGF0YW1lbnRlIGEgYWx0dXJhIHBhZHLDo28gZG8gTWF0ZXJpYWwg4oCUIGVudMOjbyBkZWl4YW1vcy5cbiAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gIG1pbi13aWR0aDogOTZweDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyAgICAgICAgICAgIC8vID0gJGNocm9tZS1yYWRpdXMgZG8gbWF0LXN0cm9rZWQtYnV0dG9uXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgICAgICAvLyA8YT4gZXN0aWxpemFkbyBjb21vIGJvdMOjbyBuw6NvIHN1YmxpbmhhXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgLy8gRm9jbyB2aXPDrXZlbCBzw7MgcG9yIHRlY2xhZG8g4oCUIG1lc21hIGlkw6lpYSBkbyBjZGsta2V5Ym9hcmQtZm9jdXNlZC5cbiAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAvLyBEaXNhYmxlZDogY3Vyc29yICsgc2VtIGludGVyYcOnw6NvLiBFc21hZWNlbW9zIEFQRU5BUyB0ZXh0byBlIMOtY29uZVxuICAvLyAobsOjbyBvIGJvdMOjbyBpbnRlaXJvIGNvbSBgb3BhY2l0eWAsIHF1ZSBjbGFyZWFyaWEgdGFtYsOpbSBib3JkYSBlIGJnKS5cbiAgLy8gYGNvbG9yYCByZWJhaXhhZGEgdmlhIHJnYmE7IMOtY29uZSBzZWd1ZSBwb3IgYGNvbG9yOiBpbmhlcml0YCAoZGVmaW5pZG9cbiAgLy8gbm8gZmxvYXRpbmctc3VibWl0LWJhci5jb21wb25lbnQuc2NzcykuXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIH1cbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM4KTtcbn1cblxuLy8gU2Vjb25kYXJ5IChvdXRsaW5lZCwgZnVuZG8gZGUgY2FyZCk6IGVxdWl2YWxlbnRlIGFvIG1hdC1zdHJva2VkLWJ1dHRvbi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi8vIFByaW1hcnkgKGZpbGxlZCwgZnVuZG8gYWNjZW50KTogZXF1aXZhbGVudGUgYW8gbWF0LWZsYXQtYnV0dG9uICsgY29sb3I9XCJwcmltYXJ5XCIuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAvLyBUZXh0byBCUkFOQ08gbm8gYWNjZW50IChtZXNtYSBkZWNpc8OjbyBkbyBsaWdodCk6IGNvbnNpc3TDqm5jaWFcbiAgLy8gdmlzdWFsIGVtIHRvZG8gYm90w6NvIGRlIGFjY2VudC4gYCRhZG1pbi1hY2NlbnQtY29sb3ItZGFya2AgPSB3aGl0ZS5cbiAgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyaztcbn1cblxuLy8gV2FybiAoZmlsbGVkLCB2ZXJtZWxobyk6IGVxdWl2YWxlbnRlIGFvIG1hdC1mbGF0LWJ1dHRvbiArIGNvbG9yPVwid2FyblwiLlxuLy8gUGFyYSBhw6fDtWVzIHF1ZSBwZWRlbSBhdGVuw6fDo28gKGV4LjogY29uZmlybWFyIGNvbnZpdGUgcGVuZGVudGUgZGUgVFBDKS5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG4gIGNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBIb3ZlciDigJQgc2Vjb25kYXJ5OiBiZyA9IGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCAobWVzbW9cbi8vIGRvIGhvdmVyIGRvIG1lbnUgbGF0ZXJhbCBtb2Rlcm5vIGRvIFRQQyBjaGFpcikuIFNlbSB0cmFuc2l0aW9uOyBzZW0gYm94LXNoYWRvdy5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cblxuLy8gSG92ZXIg4oCUIHByaW1hcnkvd2FybjogZXNjdXJlY2UgbGV2ZW1lbnRlLCBpZ3VhbCBhbyBtYXQtZmxhdC1idXR0b24uXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45Myk7XG59XG5cbi8vIERpc2FibGVkIOKAlCBwcmltYXJ5L3dhcm46IGRlcnJ1YmEgbyBhY2NlbnQgKGJnICsgYm9yZGVyKSBlIGNhaSBubyB2aXN1YWxcbi8vIGRvIHNlY29uZGFyeSBkZXNhYmlsaXRhZG8uIEFzc2ltIGJvdMO1ZXMgY29tIGFjY2VudC1jb2xvciBmaWNhbSBpZMOqbnRpY29zXG4vLyBhb3MgY29udmVuY2lvbmFpcyBxdWFuZG8gaW5hdGl2b3MgKHPDsyBvIHRleHRvIGVzbWFlY2lkbyBjYXJyZWdhIG8gZXN0YWRvKS5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0sXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeTpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gR2VuZXJhbCByZWZhY3RvclxuXG5idXR0b24ge1xuICAmLm1hdC1yYWlzZWQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuXG4gICAgICAmLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA3cHggJGJsYWNrLTUwMDtcbiAgICB9XG4gIH1cblxuICAmLnByb2ZpbGUtYnV0dG9uLCAmLm1hdC1pY29uLWJ1dHRvbi5wcm9maWxlLWJ1dHRvbiB7XG4gICAgd2lkdGg6ICRidXR0b24taGVpZ2h0O1xuICAgIGhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0O1xuICB9XG5cbiAgJltjb2xvcl0ubWF0LXJhaXNlZC1idXR0b24gc3Bhbi5tYXQtYnV0dG9uLXdyYXBwZXI6bm90KDpoYXMoLm1hdC1pY29uKSksIFxuICAmW2NvbG9yXS5tYXQtcmFpc2VkLWJ1dHRvbiBzcGFuLm1hdC1idXR0b24td3JhcHBlcjpoYXMoc3Bhbikge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJi5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWRbZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnOyAvLyBzaXplc1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuXG4kbWF4LWJhc2UtY29udGFpbmVyLXdpZHRoOiAxMTAwcHg7XG5cbiRkZXNrdG9wLXdpZHRoLW1kOiAxNDUwcHg7XG4kZGVza3RvcC13aWR0aC1zbTogMTIxNnB4O1xuJHRhYmxldC1icmVha3VwLXdpZHRoOiA3NjhweDtcbiRtb2JpbGUtd2lkdGg6IDQ4NnB4O1xuJHNjcmVlbi1pUGhvbmVTRS1wb3J0cmFpdC13aWR0aDogMzIwcHg7XG4kc2NyZWVuLWlQaG9uZTgtcG9ydHJhaXQtd2lkdGg6IDM3NXB4O1xuJHNjcmVlbi1pUGhvbmUxMi1wcm8td2lkdGg6IDM5MHB4O1xuJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aDogNDE0cHg7XG4kc2NyZWVuLWlQYWRNaW5pLXBvcnRyYWl0LXdpZHRoOiA4ODBweDtcbiRzY3JlZW4taVBhZE1pbmktbGFuZHNjYXBlLXdpZHRoOiAxMDI0cHg7XG5cbi8vIFNjcmVlbiB3aWR0aCBwZXIgaW50ZXJmYWNlXG4kc2NyZWVuLW1haW4tcG9ydGFsLXNob3J0OiA4OTBweDtcblxuXG4kbWluLXNjcmVlbi13aWR0aDogMzIwcHg7XG4kbmF2YmFyLW1vYmlsZS1icmVhazogNjAwcHg7XG5cbiRldmVudC10aXRsZS1iYXI6IDBweDsgICAgICAgICAgLy8gKGxlZ2FjeSBzbG90LCBrZXB0IGF0IHplcm87IGRvIG5vdCByZXVzZSlcbiR3b3Jrc3BhY2UtYmFyLWhlaWdodDogMHB4OyAgICAgICAvLyB3b3Jrc3BhY2UgYmFyIHJlbW92ZWQg4oCUIGtlZXBpbmcgdGhlIHZhcmlhYmxlIGF0IDAgc28gYW55IGRvd25zdHJlYW0gb2Zmc2V0cyByZXNvbHZlIG5hdHVyYWxseSAodW5pdCBvYnJpZ2F0w7NyaWEgcHJhIGNhbGMoKSBjLyB2YXIoKSBuw6NvIHF1ZWJyYXIpXG4kbGVmdC1jb2x1bW4taGVhZGVyLWhlaWdodDogMHB4OyAgLy8gKGxlZ2FjeSBzbG90LCBrZXB0IGF0IHplcm87IGRvIG5vdCByZXVzZSDigJQgaGVhZGVyIHN0cmlwIHJlbW92ZWQgYnkgcmVxdWVzdClcbiRleHBlcmltZW50YWwtc2lkZWJhci13aWR0aDogMjQwcHg7IC8vIGV4cGVyaW1lbnRhbCBzaW5nbGUtc2lkZWJhciAoaWNvbit0ZXh0ICsgYWNjb3JkaW9uIGNoaWxkcmVuKSwgc2l0cyB0byB0aGUgbGVmdCBvZiB0aGUgb3JpZ2luYWwgY2hyb21lIGZvciBBL0IgY29tcGFyaXNvblxuJGFjdGl2aXR5LWJhci13aWR0aDogNDhweDsgICAgICAvLyBWUyBDb2RlLXN0eWxlIHZlcnRpY2FsIGljb24gYmFyIG9uIHRoZSBsZWZ0IChUUEMgY2hhaXIgcHJpbWFyeSBuYXZpZ2F0aW9uIGluIE1vZGVybikuIEljb24tb25seSwgNDDDlzQwIGJ1dHRvbnMuXG4kY2xhc3NpYy10b29sYmFyLWhlaWdodDogNTVweDsgIC8vIEhvcml6b250YWwgdG9vbGJhciBoZWlnaHQgaW4gQ2xhc3NpYyBsYXlvdXQuIFNpemVkIHRvIGZpdCBhIGNvbXBhY3QgaWNvbi1waWxsICgyOHB4KSArIHRpbnkgZ2FwICsgbGFiZWwgKDEwcHgpICsgYnV0dG9uIHBhZGRpbmcgKyBzbWFsbCBicmVhdGhpbmcgcm9vbSDigJQgdGlnaHRlciB0aGFuIHRoZSBpY29uLW9ubHkgTW9kZXJuIHZhcmlhbnQgc28gaWNvbiBhbmQgbGFiZWwgcmVhZCBhcyBhIHVuaXQuXG4kZXZlbnQtYnJlYWRjcnVtYi1oZWlnaHQ6IDM2cHg7IC8vIFRvdGFsIHJlbmRlcmVkIGhlaWdodCBvZiB0aGUgYnJlYWRjcnVtYiAobWF0Y2hlcyBgLmV2ZW50LWJyZWFkY3J1bWIgeyBoZWlnaHQ6IDM2cHggfWAgaW4gZXZlbnQtYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyDigJQgd2l0aCB0aGUgcHJvamVjdCdzIGdsb2JhbCBgYm94LXNpemluZzogYm9yZGVyLWJveGAsIHRoZSAxcHggYGJvcmRlci1ib3R0b21gIGlzIElOQ0xVREVEIGluIHRoZSAzNnB4LCBub3QgYWRkZWQgb24gdG9wKS4gTW9kZXJuIGxheW91dCB1c2VzIHRoaXMgZGlyZWN0bHkuXG4kY2xhc3NpYy1icmVhZGNydW1iLWhlaWdodDogMjZweDsgLy8gQ29tcGFjdCBvdmVycmlkZSBmb3IgQ2xhc3NpYyBvbmx5IOKAlCBhcHBsaWVkIHZpYSB0aGUgYC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZClgIGJsb2NrIGluIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MgKGhlaWdodCArIGZvbnQgKyBpY29uIG92ZXJyaWRlcyBvbiB0aGUgYnJlYWRjcnVtYikgc28gdGhlIHN0cmlwIHJlY292ZXJzIHZlcnRpY2FsIHNwYWNlIGZvciB0aGUgY2FudmFzLlxuJGFkbWluLXN1Ym1lbnUtd2lkdGg6IDE2NXB4OyAgICAvLyBUUEMgY2hhaXIgc3ViLW5hdmlnYXRpb24gcGFuZWwgKGJldHdlZW4gYWN0aXZpdHkgYmFyIGFuZCBjb250ZW50KVxuJG5hdmJhci1oZWlnaHQ6IDU1cHg7XG4kcHJveHktYmFyLWhlaWdodDogMzBweDtcbiRwcm94eS1iYXItbWFyZ2luLXNpemU6IDQ1cHg7XG4kc2lkZW5hdi13aWR0aDogMjAwcHg7XG4kc2lkZW5hdi1tb2JpbGUtd2lkdGg6IDI1MHB4O1xuJGNvbnRlbnQtd2lkdGg6ICRzaWRlbmF2LXdpZHRoICsgMTAwcHg7XG4kY29udGVudC13aWR0aC1hZG1pbjogMHB4O1xuJHNpZGVuYXYtbWluaS13aWR0aDogNDVweDsgLy8gei1pbmRleGVzXG4kc2lkZW5hdi1hZG1pbi1taW5pLXdpZHRoOiA3OXB4O1xuJHNpZGViYXItY29udGVudC16LWluZGV4OiAxMDtcbiRzaWRlYmFyLXotaW5kZXg6IDIwO1xuJG5hdmJhci16LWluZGV4OiAzMTtcbiRwcm9ncmVzcy1iYXItei1pbmRleDogMTEwMDsgIC8vIGFib3ZlIGFsbCBhcHAgY2hyb21lICh3b3Jrc3BhY2UgYmFyLCBhY3Rpdml0eSBiYXIsIG1hdC1kcmF3ZXIpIHNvIHRoZSBsb2FkaW5nIGluZGljYXRvciBpcyBuZXZlciBjbGlwcGVkXG4kcHJvZ3Jlc3MtYmFyLWhlaWdodDogMnB4O1xuJHNpZGViYXItYmFja2Ryb3Atei1pbmRleDogMzU7XG4kc2lkZWJhci1tb2JpbGUtei1pbmRleDogNDA7XG4kbmF2YmFyLWljb24tc2l6ZTogNzJweDtcblxuLy8gRmlsZSBpY29uIHNpemUgdmFyaWFibGVzLlxuJGZpbGUtaWNvbi1zaXplOiAzMHB4O1xuJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI6ICRmaWxlLWljb24tc2l6ZSAqIDAuNjtcbiRmaWxlLWljb24tc2l6ZS1zbWFsbGVyLWZvbnRzaXplOiAwLjhyZW07XG5cblxuLy8gTWFpbiBsYXlvdXQgcGFkZGluZ3Mgb3IgbWFyZ2luXG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDogMS4zcmVtO1xuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc206IDAuNXJlbTtcbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC10YWJsZXQ6IDFyZW07XG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtbW9iaWxlOiAwLjVyZW07XG5cbi8vIHNpemUgZm9yIGF2YXRhclxuJGF2YXRhci1zaXplOiAzNnB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgZWxldmF0aW9uIHRva2Vuc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUd28gY2Fub25pY2FsIHRpZXJzIHVzZWQgYWNyb3NzIHRoZSBjaGFpciBVSSBtZW51czpcbi8vICAgMS4gUEFORUwgIOKAlCBhbmNob3JlZCBtZW51cyAodXNlciBtZW51LCBub3RpZmljYXRpb25zLCBmbHlvdXQpLlxuLy8gICAgICAgICAgICAgICBBcHBsaWVkIHZpYSBgZmlsdGVyOiBkcm9wLXNoYWRvdyguLi4pYCBzbyB0aGUgc2hhZG93XG4vLyAgICAgICAgICAgICAgIGZvbGxvd3MgdGhlIHBhbmVsIHNpbGhvdWV0dGUgKGluY2wuIHRoZSBmbHlvdXQnc1xuLy8gICAgICAgICAgICAgICBhcnJvdyB0YWlsKS4gRGFyayBtb2RlIGFkZGl0aW9uYWxseSBnZXRzIGEgMXB4XG4vLyAgICAgICAgICAgICAgIG91dGxpbmUgdmlhIGBib3gtc2hhZG93OiAwIDAgMCAxcHggPGRhcmstYm9yZGVyPmAsXG4vLyAgICAgICAgICAgICAgIGtlcHQgaW5saW5lIGJlY2F1c2UgaXQncyBhIGNvbG91ci10b2tlbiBkZWNpc2lvblxuLy8gICAgICAgICAgICAgICByYXRoZXIgdGhhbiBhbiBlbGV2YXRpb24gb25lLlxuLy8gICAyLiBGTE9BVElORyDigJQgZHJhZyBwcmV2aWV3cyAoY2RrRHJhZyBjbG9uZXMpLiBTbGlnaHRseSBsYXJnZXJcbi8vICAgICAgICAgICAgICAgICBibHVyIC8gaGVhdmllciBhbHBoYSB0aGFuIHBhbmVscyDigJQgY29tbXVuaWNhdGVzXG4vLyAgICAgICAgICAgICAgICAgXCJsaWZ0ZWQgY2xvbmVcIiB2cyBcImFuY2hvcmVkIHBhbmVsXCIuXG4kc2hhZG93LXBhbmVsLWxpZ2h0OiAgICBkcm9wLXNoYWRvdygwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zMikpO1xuJHNoYWRvdy1wYW5lbC1kYXJrOiAgICAgZHJvcC1zaGFkb3coMCA1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuJHNoYWRvdy1mbG9hdGluZy1saWdodDogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuJHNoYWRvdy1mbG9hdGluZy1kYXJrOiAgMCA4cHggMjJweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgY29ybmVyIHJhZGl1c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaW5nbGUgY2Fub25pY2FsIHJhZGl1cyB1c2VkIGFjcm9zcyB0aGUgY2hhaXIgVUk6IGludGVyYWN0aXZlIHBpbGxzXG4vLyAoc2lkZWJhciBpdGVtcywgbWVudSBpdGVtcywgZmx5b3V0IGl0ZW1zLCBicmVhZGNydW1iIHNlZ21lbnRzLFxuLy8gY2hyb21lIGJ1dHRvbnMpIEFORCBwYW5lbCBzdXJmYWNlcyAobWF0LW1lbnUtcGFuZWwsIHNpZGViYXIgaGVhZGVyKS5cbi8vIDZweCBpcyB0aGUgR2l0SHViLXN0eWxlIFwibW9kZXJuIGFwcFwiIGNvcm5lciB0aGF0IHJlYWRzIGFzIHJvdW5kZWRcbi8vIHdpdGhvdXQgZmVlbGluZyBzb2Z0LiBDZW50cmFsaXNlZCBoZXJlIHNvIGFueSBmdXR1cmUgdHVuaW5nIG9mIHRoZVxuLy8gY2hhaXIgVUkncyBjb3JuZXIgaWRlbnRpdHkgaXMgYSBzaW5nbGUtdG9rZW4gY2hhbmdlLlxuJGNocm9tZS1yYWRpdXM6IDZweDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGNvbnRyb2wgaGVpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFsdHVyYSBjYW7DtG5pY2EgZG9zIGNvbnRyb2xlcyBpbnRlcmF0aXZvcyBkbyBKRU1TMyAoY2FpeGFzIGRlIGlucHV0L3NlbGVjdFxuLy8gZmlsdGVyLXN0eWxlZCwgZGF0ZXBpY2tlciwgbnVtYmVyLWlucHV0LCBjaGFpci1idXR0b24sIHNlbGV0b3IgZGUgcmV2aXNvciBkYVxuLy8gdGFiZWxhIGRlIHN1Z2VzdMO1ZXMpLiBGb250ZSDDmk5JQ0EgZGUgdmVyZGFkZTogYW50ZXMgY2FkYSBwcmVzZXQvY29tcG9uZW50ZVxuLy8gaGFyZGNvZGF2YSBgMzZweGAgKGTDqWJpdG8gZGUgdG9rZW4pLiBNdWRhciBhcXVpIHJlZmxldGUgZW0gdG9kb3MuIENvbSBvXG4vLyBgYm94LXNpemluZzogYm9yZGVyLWJveGAgZ2xvYmFsLCBlc3RhIGFsdHVyYSBJTkNMVUkgYm9yZGEgKyBwYWRkaW5nLlxuLy9cbi8vIEVzY29saGEgMjZweCAoMjAyNi0wNik6IGFsaW5oYSBjb20gYSBkZW5zaWRhZGUgbmF0aXZhIGRvIG1hY09TIOKAlFxuLy8gICDigKIgbWFjT1MgUmVndWxhciBOU1RleHRGaWVsZC9OU1BvcFVwQnV0dG9uIOKJiCAyMi0yNnB4LlxuLy8gICDigKIgV2luZG93cyBGbHVlbnQgMiBDb21wYWN0ID0gMjRweCwgRGVmYXVsdCA9IDMycHgg4oaSIDI2IGZpY2EgcHLDs3hpbW8gZG8gY29tcGFjdC5cbi8vICAg4oCiIFdDQUcgdGFyZ2V0IOKJpSAyNHB4IGN1bXByaWRvLlxuJGNvbnRyb2wtaGVpZ2h0OiAyNnB4O1xuXG4vLyBUYW1hbmhvIGRlIGZvbnRlIGRvIENPTlRFw5pETyBkb3MgY29udHJvbGVzIGRvIGNoYWlyIFVJICh2YWxvciBkaWdpdGFkb1xuLy8gbm8gaW5wdXQsIG9ww6fDo28gc2VsZWNpb25hZGEgbm8gc2VsZWN0LCBtw6FzY2FyYSBkbyBkYXRlcGlja2VyLCBuw7ptZXJvKS5cbi8vIEFsaW5oYSBjb20gbyBib2R5IGJhc2UgZG8gSkVNUzMgKDEzcHgg4oCUIHZlciBgZmVlZGJhY2tfYmFzZV9ib2R5X3RleHRgKVxuLy8gZSBjb20gbyBSZWd1bGFyIGRvIG1hY09TIChTRiBUZXh0IDEzcHQpLiBBbnRlcyBjYWRhIHByZXNldCBoYXJkY29kYXZhXG4vLyAxNHB4IChoZXJhbsOnYSBkbyBNYXRlcmlhbCAxMSkg4oCUIHRva2VuIMO6bmljbyBhcXVpIGV2aXRhIGRyaWZ0LlxuJGNvbnRyb2wtZm9udC1zaXplOiAxM3B4O1xuXG4vLyBQZXNvIGRvIENPTlRFw5pETyBkb3MgY29udHJvbGVzICh0ZXh0byBkZW50cm8gZGEgY2FpeGE6IHZhbG9yIGRpZ2l0YWRvIG5vXG4vLyBpbnB1dCwgdmFsb3IgZXhpYmlkbyBubyB0cmlnZ2VyIGRvIHNlbGVjdCwgbcOhc2NhcmEgZG8gZGF0ZXBpY2tlciwgcGxhY2Vob2xkZXIsXG4vLyBwcmVmaXgvc3VmZml4KS4gUGVzbyBub3JtYWwg4oCUIG7Do28gY29tcGV0ZSBjb20gbGFiZWxzIGFkamFjZW50ZXMuIERpZmVyZW50ZVxuLy8gZG8gcGVzbyBkb3MgSVRFTlMgREVOVFJPIGRvcyBwYWluw6lpcyBhYmVydG9zICgkbWVudS1pdGVtLXdlaWdodCA9IDUwMCkuXG4kY29udHJvbC1jb250ZW50LXdlaWdodDogNDAwO1xuXG4vLyBGb250LXdlaWdodCBkb3MgaXRlbnMgZW0gTUVOVVMvUEFJTsOJSVMgKG9ww6fDo28gZG8gc2VsZWN0LCBpdGVtIGRvIG1lbnUgZGVcbi8vIGNvbnRleHRvLCBsaW5oYSBkYSBsaXN0YSBkZSBmdXNvLCBldGMuKS4gQW50ZXMgaGFyZGNvZGVkIGVtIH4xMCBsdWdhcmVzLlxuJG1lbnUtaXRlbS13ZWlnaHQ6IDQwMDtcbiRtZW51LWl0ZW0td2VpZ2h0LXNlbGVjdGVkOiA2MDA7XG4kbWVudS1pdGVtLXdlaWdodC1tdXRlZDogNDAwOyAgIC8vIHRhZ3MgXCIoYnJvd3NlcilcIi9cIihldmVudClcIiwgb2Zmc2V0IEdNVFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgZWFzaW5nIGZ1bmN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpbmdsZSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlIHVzZWQgYnkgZXZlcnkgYW5pbWF0aW9uL3RyYW5zaXRpb25cbi8vIGFjcm9zcyB0aGUgY2hhaXIgVUkgKHNpZGViYXIgd2lkdGggdG9nZ2xlLCBicmVhZGNydW1iIGxlZnQgdHJhY2tpbmcsXG4vLyBkcmFnLWRyb3Agcm93IHNoaWZ0cywgZXRjLikuIFNhbWUgc2hhcGUgYXMgTWF0ZXJpYWwncyBcInN0YW5kYXJkXCJcbi8vIGN1cnZlIOKAlCBhIHF1aWNrIHN0YXJ0IGFuZCBhIHNsb3cgZWFzZS1vdXQuIERlZmluZWQgb25jZSBoZXJlIHNvXG4vLyB0aW1pbmcgY2hhbmdlcyBjYW4gYmUgbWFkZSBpbiBvbmUgcGxhY2UuXG4kZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuXG4vLyBEdXJhw6fDo28gY2Fuw7RuaWNhIGRhIGFuaW1hw6fDo28gZGUgYWJlcnR1cmEvZmVjaGFtZW50byBkbyBzaWRlYmFyIGV4cGVyaW1lbnRhbFxuLy8gKG1vZGVybm8pLiBVc2FkYSBwb3I6IGAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyB0cmFuc2l0aW9uOiB3aWR0aCB9YCBlIHBvclxuLy8gVE9ETyBlbGVtZW50byBxdWUgcHJlY2lzZSBkZXNsaXphciBqdW50byAoYnJlYWRjcnVtYiwgcmVzaXplLWhhbmRsZSwgZXRjLikuXG4vLyBUZXIgdW1hIGZvbnRlIMO6bmljYSBldml0YSBkcmlmdCBlbnRyZSBlbGVzIOKAlCBtdWRhciBhcXVpID0gdHVkbyBkZXNsaXphIG5vXG4vLyBtZXNtbyByaXRtby5cbiRleHBlcmltZW50YWwtc2lkZWJhci10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7ICAgLy8gbWl4aW4gYGplbXMzLWNvdW50LWJhZGdlYFxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvdMOjbyBpY29uLW9ubHkgZGUgaGVhZGVyIChjaGFpci1oZWFkZXItaWNvbi1idXR0b24pLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVc2FkbyBub3MgaGVhZGVycyBkYXMgcMOhZ2luYXMgZG8gYXV0b3IvcmV2aXNvciAoRXZlbnRvcywgTWluaGFzXG4vLyBzdWJtaXNzw7VlcywgTWluaGFzIHJldmlzw7VlcywgZXRjLikgcGFyYSBhw6fDtWVzIGNvbW8gRklMVFJBUiwgQkFJWEFSLFxuLy8gY29uZmlndXJhciB2aXN1YWxpemHDp8OjbywgZXRjLlxuLy9cbi8vIE8gY29udGXDumRvIGRvIG1lbnUvYcOnw6NvIHF1ZSBvIGJvdMOjbyBkaXNwYXJhIMOpIHJlc3BvbnNhYmlsaWRhZGUgZG9cbi8vIGNvbXBvbmVudGUgcGFpIChoYW5kbGVycyBgKGNsaWNrKWAsIFttYXRNZW51VHJpZ2dlckZvcl0sIGV0Yy4pOyBlc3RlXG4vLyBhcnF1aXZvIGN1aWRhIEFQRU5BUyBkbyB2aXN1YWwg4oCUIGdlb21ldHJpYSwgYm9yZGEsIGhvdmVyLCBiYWRnZXMsXG4vLyBlc3RhZG8gXCJtZW51IGFiZXJ0b1wiIGUgZGFyay1tb2RlLlxuLy9cbi8vIFZhcmlhbnRlcyAobW9kaWZpY2Fkb3JhcyBvcGNpb25haXMpOlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXJgICDihpIgc2Vtw6JudGljYSBkZSBmaWx0cm8uXG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWFjdGlvbnNgIOKGkiBzZW3Dom50aWNhIGRlIG1lbnUgZGUgYcOnw7VlcyAoZG93bmxvYWQgKyBhw6fDtWVzKS5cbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi5oYXMtYWN0aXZlYCAg4oaSIGVzdGFkbyBcImF0aXZvXCJcbi8vICAgICAoZXguOiB0ZW0gZmlsdHJvcyBhdGl2b3MpLCBwcmVlbmNoZSBvIMOtY29uZSAoRklMTCAxKSBjb21cbi8vICAgICB3Z2h0IDQwMCBlIG9wYWNpZGFkZSAxLlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLm1lbnUtb3BlbmAg4oaSIG1lbnUgYWJlcnRvIChzZWxlY2lvbmFkbyksXG4vLyAgICAgYm9yZGEgYWNjZW50IDJweCBzaW5hbGl6YW5kbyBhIHNlbGXDp8OjbyBhdGl2YS5cblxuJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplOiAzNnB4O1xuXG4uY2hhaXItaGVhZGVyLWljb24tYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1zaXplICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAvLyBgLmFwcC1pY29uLWJ1dHRvbmAgZ2xvYmFsIChlbSBgX2J1dHRvbi5zY3NzYCkgZGVmaW5lXG4gIC8vIGBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGAgbm8gbWVzbW8gbsOtdmVsIGRlIGVzcGVjaWZpY2lkYWRlIOKAlCBzZW1cbiAgLy8gYCFpbXBvcnRhbnRgIGFxdWkgYSBib3JkYSBzb21lIHF1YW5kbyBvIGJvdMOjbyB0YW1iw6ltIHRlbSBhcXVlbGEgY2xhc3NlLlxuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEwMG1zICRlYXNlLW91dDtcblxuICAvLyBIb3ZlciDigJQgYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYSBtZXNtYSBjb3JcbiAgLy8gZGEgYm9yZGEgKG5ldXRyYSkuIFplcm8gaW1wYWN0byBlbSBsYXlvdXQgKGJvcmRlciByZWFsIGNvbnRpbnVhIDFweCk7XG4gIC8vIGVmZWl0byB2aXN1YWwgw6kgdW1hIGJvcmRhIDLDlyBtYWlzIGdyb3NzYS5cbiAgLy9cbiAgLy8gYGJhY2tncm91bmQtY29sb3JgIHByZWNpc2Egc2VyIHByZXNlcnZhZG8gZXhwbGljaXRhbWVudGUgcG9ycXVlIG9cbiAgLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgYXBsaWNhIHVtIGNpbnphIG5vIGhvdmVyL21lbnUtb3BlbiBkb1xuICAvLyBgLmFwcC1pY29uLWJ1dHRvbmAgZ2xvYmFsIChtYWlzIGVzcGVjw61maWNvIOKAlCBgLmxpZ2h0LXRoZW1lIC5hcHAtaWNvbi1idXR0b246aG92ZXJgKS5cbiAgLy8gQm90w6NvIGRlc2FiaWxpdGFkbyAoZXguOiBcIi4uLlwiIG5vIG1vZG8gZWRpw6fDo28gZGEgcMOhZ2luYSkgbsOjbyByZWFnZSBhbyBob3Zlcjogc2VtXG4gIC8vIGJvcmRhIGVuZ3Jvc3NhZGEgbmVtIGZ1bmRvLiBHdWFyZGEgcG9yIGAubWF0LWJ1dHRvbi1kaXNhYmxlZGAgKGNsYXNzZSBxdWUgbyBNYXRlcmlhbFxuICAvLyBzZW1wcmUgcMO1ZSBubyBtYXQtYnV0dG9uIGRlc2FiaWxpdGFkbykgRSBwb3IgYDpkaXNhYmxlZGAuIFBhcmVhZG8gY29tIG8gZ3VhcmQgZG9cbiAgLy8gZnVuZG8gY2luemEgZG8gYC5hcHAtaWNvbi1idXR0b246aG92ZXJgIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAvLyBEZXNhYmlsaXRhZG86IGN1cnNvciBuZXV0cm8gKyBgcG9pbnRlci1ldmVudHM6IG5vbmVgLiBFc3RlIMO6bHRpbW8gbWF0YSBvIGA6aG92ZXJgXG4gIC8vIE5BIFJBSVogKG8gZWxlbWVudG8gbmVtIHJlY2ViZSBldmVudG9zIGRlIHBvbnRlaXJvKSwgZW50w6NvIG5lbmh1bWEgcmVncmEgZGUgaG92ZXJcbiAgLy8gZGlzcGFyYSDigJQgaW5kZXBlbmRlbnRlIGRlIHTDqi1sYXMgdG9kYXMgZ3VhcmRhZG8uIMOJIHRhbWLDqW0gdW0gZGlhZ27Ds3N0aWNvOiBzZSBhaW5kYVxuICAvLyBob3V2ZXIgaG92ZXIgY29tIGlzdG8sIG8gYm90w6NvIE7Dg08gZXN0w6EgZmljYW5kbyBkZXNhYmlsaXRhZG8gKGHDrSDDqSBmaWHDp8OjbywgbsOjbyBDU1MpLlxuICAmLm1hdC1idXR0b24tZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIFNlbGVjaW9uYWRvIChtZW51IGFiZXJ0bykg4oCUIGJvcmRhIGFjY2VudCAobWVzbWEgZmFtw61saWEgZG8gYmFkZ2UpLFxuICAvLyBzaW5hbGl6YW5kbyBhIHNlbGXDp8OjbyBhdGl2YS4gQm9yZGEgcmVhbCArIGJveC1zaGFkb3cgbmEgY29yIGFjY2VudFxuICAvLyBwYXJhIHVtIGFuZWwgMnB4IGxpbXBvIGUgdW5pZm9ybWUuXG4gICYubWVudS1vcGVuIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEVzdGFkbyBcImhhcy1hY3RpdmVcIiDigJQgdXNhZG8gZW0gZmlsdHJvcyBxdWUgVMOKTSBmaWx0cm9zIGF0aXZvc1xuICAvLyBtZXNtbyBjb20gbyBtZW51IGZlY2hhZG8uIFNvYnJlc2NyZXZlIG8gw61jb25lIHBhcmEgYGZpbGxlZGAuXG4gICYuaGFzLWFjdGl2ZSAubWF0LWljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gIH1cblxuICAvLyBCYWRnZSBjb250YWRvciDigJQgbsO6bWVybyBvcGNpb25hbCBubyBjYW50byBzdXBlcmlvciBkaXJlaXRvXG4gIC8vIChleC46IG7CuiBkZSBmaWx0cm9zIGF0aXZvcykuIFNlbXByZSBhY2NlbnQgY29sb3IgcGFyYSBkZXN0YWNhci5cbiAgLy8gR2VvbWV0cmlhIHZpYSBtaXhpbiBjb21wYXJ0aWxoYWRvOyBwb3NpY2lvbmFtZW50byArIHNvbWJyYSBsb2NhaXMuXG4gIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGplbXMzLWNvdW50LWJhZGdlKCRhY2NlbnQtYmFja2dyb3VuZCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICByaWdodDogLTZweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxufVxuXG4vLyAtLS0tIERhcmstbW9kZSAtLS0tXG4vLyBTb2JlIG8gZMOtZ2l0byB+MXB4IGVtIHRvZG9zIG9zIGJhZGdlcyAoYmVsbCwgc2VnLCBjaGFpci1oZWFkZXIpIG5vXG4vLyBkYXJrLCB2aWEgYHBhZGRpbmctYm90dG9tYC4gUmVncmEgZ2xvYmFsIOKAlCB2aXZlIGFxdWkgKG7Do28gbm8gbWl4aW4pXG4vLyBwb3JxdWUgYC5kYXJrLXRoZW1lICZgIGRlbnRybyBkbyBtaXhpbiBzb2ZyZSBzY29waW5nIG5nY29udGVudCBkb1xuLy8gQW5ndWxhciBFbXVsYXRlZCBlIG7Do28gYmF0ZSBubyBib2R5LlxuLmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSxcbi5kYXJrLXRoZW1lIC5iZWxsLWJhZGdlLFxuLmRhcmstdGhlbWUgLnNlZy1iYWRnZSB7XG4gIC8vIFJlZHV6aXIgYGxpbmUtaGVpZ2h0YCAoZXJhIDE2cHggPSBoZWlnaHQpIGZheiBhIGxpbmUtYm94IGRvIHRleHRvXG4gIC8vIGVuY29saGVyIGUgZmljYXIgYW5jb3JhZGEgbm8gdG9wbyBkbyBjb250YWluZXIuIERpZ2l0IGRlc2NlIG1lbm9zXG4gIC8vID0gdmlzdWFsbWVudGUgc29iZSB+MnB4LiBgcGFkZGluZy1ib3R0b206IDJweGAgc296aW5obyBuw6NvIGZ1bmNpb25hXG4gIC8vIChib3JkZXItYm94ICsgbGluZS1oZWlnaHQ9aGVpZ2h0IGZhemVtIGEgbGluZS1ib3ggb3ZlcmZsb3cgb1xuICAvLyBjb250ZW50LWJveCwgZSBvIHRleHRvIGZpY2EgbmEgbWVzbWEgcG9zacOnw6NvKS4gYCFpbXBvcnRhbnRgXG4gIC8vIHBvcnF1ZSBhIHJlZ3JhIHNjb3BlZCBkbyBtaXhpbiAoYC51c2VyLW5vdGlmaWNhdGlvbnMgLmJlbGwtYmFkZ2VcbiAgLy8gW19uZ2NvbnRlbnQteHh4XWAgMCw0LDApIHNvYnJlcMO1ZSBlc3RhIGdsb2JhbCAwLDIsMC5cbiAgbGluZS1oZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLy8gT3ZlcnJpZGUgZXNwZWPDrWZpY28gZG8gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2VgIG5vIGRhcms6IGFxdWlcbi8vIG8gZMOtZ2l0byBERVNDRSAycHggKGVtIHZleiBkZSBzdWJpciBjb20gYSByZWdyYSBhY2ltYSkuIEFwbGljYWRvIG5vc1xuLy8gYmFkZ2VzIGRvcyBib3TDtWVzIGRlIGZpbHRybyBkZSBNaW5oYXMgU3VibWlzc8O1ZXMgZSBNaW5oYXMgUmV2aXPDtWVzLlxuLy8gUmVzdGF1cmEgbGluZS1oZWlnaHQgYW8gdmFsb3IgbmF0dXJhbCArIHBhZGRpbmctdG9wIHByYSBlbXB1cnJhclxuLy8gYSBsaW5lLWJveCAoZSBvIGTDrWdpdG8gZGVudHJvIGRlbGEpIDJweCBwcmEgYmFpeG8uXG4uZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlIHtcbiAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDAuNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG4gIC8vIENvciBkbyDDrWNvbmUg4oCUIGFudGVzIGZpY2F2YSBpbmRlZmluaWRhIGUgY2HDrWEgcHJhIHByZXRvIChoZXJkYWRvXG4gIC8vIGRvIGJvZHkgbm8gZGFyayksIGludmlzw612ZWwgc29icmUgYmcgZXNjdXJvLiBObyBjaGFpciBmdW5jaW9uYXZhXG4gIC8vIHBvciByZWdyYXMgYW5jZXN0cmFpcyBhZG1pbjsgbm9zIHVzb3MgZG8gYXV0b3IvcmV2aXNvciAoZXguOiBwYWluZWxcbiAgLy8gZGUgbm90aWZpY2HDp8O1ZXMpIG7Do28gY2hlZ2F2YS4gU2V0YXIgYXF1aSBmZWNoYSBvIGdhcCBnbG9iYWxtZW50ZS5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gIC5tYXQtaWNvbiB7IGNvbG9yOiBpbmhlcml0OyB9XG5cbiAgLy8gR3VhcmRhIGRlIGRpc2FibGVkIHRhbWLDqW0gbm8gZGFyayAocGFyIGRvIGd1YXJkIGxpZ2h0IGzDoSBlbSBjaW1hKS5cbiAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2VsZWNpb25hZG8gKG1lbnUgYWJlcnRvKSDigJQgYm9yZGEgYWNjZW50IGRvIERBUksgKCNGQkJGMjQsIGFtYmVyLTQwMCkuIEFudGVzXG4gIC8vIHJldXNhdmEgJGFjY2VudC1iYWNrZ3JvdW5kICgjN0MyRDEyLCBicmljay1yZWQgZG8gbGlnaHQpLCBxdWUgZmljYXZhIFwibXVkZHlcIiBlXG4gIC8vIHNlbSBjb250cmFzdGUgc29icmUgYSBzdXBlcmbDrWNpZSBlc2N1cmEuICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrIMOpIG8gdG9rZW4gZGVcbiAgLy8gYWNjZW50IHByw7NwcmlvIGRvIGRhcmsgKG1lc21vIGRvIGJhZGdlIGFiYWl4bykg4oaSIGFuZWwgbGltcG8gZSBsZWfDrXZlbC5cbiAgJi5tZW51LW9wZW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQmFkZ2Ug4oCUIG1lc21hIGZhbcOtbGlhIGFjY2VudCBkbyBkYXJrIChhbWJlcikuIFRleHRvIGVzY3VybyBwLyBjb250cmFzdGUgc29icmUgb1xuICAvLyBhbWJlciBjbGFybyAobm8gbGlnaHQgw6kgYnJhbmNvIHNvYnJlIGJyaWNrLXJlZCkuIFPDsyBzb2JyZXNjcmV2ZSBjb3JlcztcbiAgLy8gZ2VvbWV0cmlhIHZlbSBkbyBtaXhpbi5cbiAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIH1cbn1cblxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbiBgamVtczMtY291bnQtYmFkZ2VgIOKAlCBGT05URSDDmk5JQ0EgZGEgZ2VvbWV0cmlhIGRvcyBiYWRnZXNcbi8vIG51bcOpcmljb3MgZG8gYXBwIChjb250YWRvciBkZSBuw6NvLWxpZGFzLCBmaWx0cm9zIGF0aXZvcywgZXRjLikuXG4vL1xuLy8gVml2ZSBlbSBhcnF1aXZvIGRlZGljYWRvIChzZW0gZGVjbGFyYcOnw7VlcyBDU1MpIHBvcnF1ZSBAaW1wb3J0XG4vLyBTQVNTIGluY2x1aSBUVURPIGRvIGFycXVpdm8gaW1wb3J0YWRvLiBTZSBlc3RpdmVzc2UgZW1cbi8vIGBfaGVhZGVyLWljb24tYnV0dG9uLnNjc3NgIChjb21vIGVzdGF2YSBhbnRlcyksIHF1YWxxdWVyIGNvbXBvbmVudGVcbi8vIHF1ZSBpbXBvcnRhc3NlIHByYSB1c2FyIG8gbWl4aW4gYXJyYXN0YXJpYSBvIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uXG4vLyB7IGJhY2tncm91bmQ6IHdoaXRlIH1gIHBybyBzZXUgZXNjb3BvIOKAlCBjb2xpZGluZG8gY29tIGEgdmVyc8OjbyBnbG9iYWxcbi8vIHZpYSBDU1Mgc2NvcGVkIGRhIEFuZ3VsYXIgKGBfbmdjb250ZW50LSpgKSwgcXVlYnJhbmRvIG8gZGFyay1tb2RlLlxuLy9cbi8vIENvbnN1bWlkb3JlcyBhdHVhaXM6XG4vLyAgIOKAoiBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZWAgKGhlYWRlci1pY29uLWJ1dHRvbiwgY29yIGFjY2VudClcbi8vICAg4oCiIGAuYmVsbC1iYWRnZWAgKHVzZXItbm90aWZpY2F0aW9ucywgY29yIHdhcm5pbmcpXG4vLyAgIOKAoiBgLnNlZy1iYWRnZWAgKG5vdGlmaWNhdGlvbnMtY2VudGVyLCBjb3Igd2FybmluZylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGplbXMzLWNvdW50LWJhZGdlKCRiZy1jb2xvciwgJHRleHQtY29sb3I6ICNmZmZmZmYpIHtcbiAgLy8gR2VvbWV0cmlhICsgdGlwb2dyYWZpYSArIGNlbnRyYWxpemHDp8OjbyBhbGluaGFkYXMgYW9cbiAgLy8gYC5zaWRlYmFyLWl0ZW0tYmFkZ2VgIGRvIG1lbnUgbGF0ZXJhbCAoYXV0b3IvcmV2aXNvcik6XG4gIC8vICAgd2VpZ2h0IDYwMCwgcGFkZGluZyBgMCA1cHhgLCBjZW50cmFsaXphw6fDo28gdmlhXG4gIC8vICAgYGxpbmUtaGVpZ2h0OiAxNnB4ICsgdGV4dC1hbGlnbjogY2VudGVyYC4gQXNzaW0gb3MgNCBiYWRnZXMgZG9cbiAgLy8gICBhcHAgcmVuZGVyaXphbSBpZMOqbnRpY29zIGVtIGFsdHVyYSBlIGFsaW5oYW1lbnRvIGRvIGdseXBoLlxuICBtaW4td2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvLyBEYXJrLW1vZGU6IGNvcnJlw6fDo28gw7NwdGljYSB2aXZlIGVtIHJlZ3JhIEdMT0JBTCBmb3JhIGRvIG1peGluXG4gIC8vICh2aWRlIGBfaGVhZGVyLWljb24tYnV0dG9uLnNjc3NgKS4gTsOjbyBwb2RlIGZpY2FyIGFxdWkgcG9ycXVlXG4gIC8vIHF1YW5kbyBvIG1peGluIMOpIGluY2x1w61kbyBudW0gU0NTUyBkZSBjb21wb25lbnRlLCBvIEFuZ3VsYXJcbiAgLy8gRW11bGF0ZWQgYWRpY2lvbmEgYFtfbmdjb250ZW50LXh4eF1gIGEgVE9ET1Mgb3Mgc2VsZWN0b3JzLFxuICAvLyBpbmNsdXNpdmUgYC5kYXJrLXRoZW1lYCDigJQgZSBvIGJvZHkgKHF1ZSB0ZW0gYC5kYXJrLXRoZW1lYCkgbsOjb1xuICAvLyB0ZW0gZXNzZSBhdHJpYnV0bywgcXVlYnJhbmRvIG8gbWF0Y2guXG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubWF0LXRvb2x0aXAge1xuICAmLmNhcmRUb29sdGlwIHtcbiAgICBib3gtc2hhZG93OiAkdG9vbHRpcC1zaGFkb3c7XG5cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIH1cbn1cblxuLy8gVG9vbHRpcCBjdXN0b20gZG9zIHBpbGxzIGRlIGNyaXTDqXJpbyBkbyBDQUJFw4dBTEhPIGRlIHNjb3JlIChMaXN0YSBkZSBTdWJtaXNzw7VlcykuIFZpdmUgbm8gPGJvZHk+XG4vLyAoZm9yYSBkbyBDREsgb3ZlcmxheSksIGVudMOjbyBlc3RpbGl6YWRvIGFxdWkgZW0gZXNjb3BvIGdsb2JhbCDigJQgSUdVQUwgYW8gYmFsw6NvIGRvIG1hdC10b29sdGlwOlxuLy8gY2luemEgbm8gY2xhcm8sIGNsYXJvIG5vIGVzY3Vyby4gQ29udGXDumRvID0gbGVnZW5kYSBNVUxUSS1MSU5IQSAodMOtdHVsbyArIFwidmFsb3I6IGRlc2NyacOnw6NvXCIgcG9yXG4vLyBsaW5oYSwgY29tIFxcbik6IGB3aGl0ZS1zcGFjZTogcHJlLWxpbmVgIHByZXNlcnZhIGFzIHF1ZWJyYXM7IGB0ZXh0LWFsaWduOiBsZWZ0YCBwb3JxdWUgw6kgbGVnZW5kYS5cbi5zZy1jcml0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA5NywgOTcsIDAuOTIpO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uZGFyay10aGVtZSAuc2ctY3JpdC10b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuICBjb2xvcjogJGdyYXktOTAwO1xufVxuXG4vLyBEYXJrLW1vZGUgdG9vbHRpcHM6IGludmVydCBNYXRlcmlhbCdzIGRlZmF1bHQgZGFyayBiYWxsb29uIHRvIGEgbGlnaHRcbi8vIGJhbGxvb24gd2l0aCBkYXJrIHRleHQgc28gdG9vbHRpcHMgcmVtYWluIGxlZ2libGUgYWdhaW5zdCB0aGUgZGFyayBVSVxuLy8gY2hyb21lLiBMaXZlcyBhdCBib2R5IHNjb3BlIGJlY2F1c2UgbWF0LXRvb2x0aXAgaXMgcmVuZGVyZWQgaW4gdGhlIENES1xuLy8gb3ZlcmxheSBjb250YWluZXIgKHNpYmxpbmcgb2YgdGhlIGFwcCByb290LCBidXQgc3RpbGwgdW5kZXIgYm9keSB3aGVyZVxuLy8gLmRhcmstdGhlbWUgaXMgYXBwbGllZCkuXG4uZGFyay10aGVtZSAubWF0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICRncmF5LTkwMCAhaW1wb3J0YW50O1xufVxuIiwiLm5vdGlmaWNhdGlvbi1tZW51IHtcbiAgYnV0dG9uLm1hdC1tZW51LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBpbml0aWFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbWFpbi10aGVtZS1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAudGltZSB7XG4gICAgICBtYXJnaW4tdG9wOiAuNWVtO1xuXG4gICAgICBtYXQtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImFwcC1zaWRlYmFyIHtcbiAgbWF0LXNpZGVuYXYge1xuICAgIC5tYXQtbGlzdCAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycztcbiAgICB9XG5cbiAgICAubWF0LWxpc3QgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycztcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWljb24tY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5taW5pIHtcbiAgICBtYXQtc2lkZW5hdiB7XG4gICAgICAubWF0LWxpc3QgLm1hdC1saXN0LWl0ZW0gLm1hdC1saXN0LWl0ZW0tY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcztcbiAgICAgICAgcGFkZGluZzogMCA3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zaWRlbmF2IC5tYXQtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICB9XG59XG5cbmFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIHtcbiAgbWF0LXNpZGVuYXYge1xuICAgIC5tYXQtbGlzdCB7XG4gICAgICAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lbnUge1xuICAgICAgLm1hdC1kcmF3ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBtYXQtbGlzdCB7XG4gICAgICAgICAgJi5ib3R0b20tYWxpZ25lZCB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnOyAgICAgICAgLy8gamVtcy1zZWxlY3RlZC1jaGVjayAoY2hlY2sgU0Ytc3R5bGUgY29tcGFydGlsaGFkbylcbkBpbXBvcnQgJ2RyYWctaGFuZGxlJztcblxuLy8gQ2hyb21lIEdMT0JBTCBkbyBtYXQtbWVudSAocGFpbmVsICsgaXRlbnMgKyBzd2l0Y2hlcnMgZG8gdXNlci1tZW51IGNoYWlyKS5cbi8vIFJlZ3JhcyBQTEFOQVMgKHNlbSBgOjpuZy1kZWVwYCkgcGVsbyBNRVNNTyBtb3Rpdm8gasOhIGRvY3VtZW50YWRvIG5vIGJsb2NvXG4vLyBgLnZpZXctcHJvZmlsZS1tZW51YCBubyBmaW0gZGVzdGUgYXJxdWl2bzogbnVtIHN0eWxlc2hlZXQgR0xPQkFMIG8gYDo6bmctZGVlcGBcbi8vIHZpcmEgcHNldWRvIGludsOhbGlkbyDihpIgbyBicm93c2VyIGRlc2NhcnRhIGEgcmVncmE7IGEgw7puaWNhIGPDs3BpYSBxdWUgZnVuY2lvbmF2YVxuLy8gZXJhIElOSkVUQURBIHBvciB1bSBjb21wb25lbnRlIEVtdWxhdGVkIHF1ZSBpbXBvcnRhIGVzdGUgYXJxdWl2byAoYXZhdGFyLXByb2ZpbGVcbi8vIGV0Yy4pLCBwcmVzZW50ZSBlbSBxdWFzZSB0b2RhIHRlbGEg4oCUIE1BUyBuw6NvIG5vIHNoZWxsIGA/dmlld01vZGU9ZnVsbGBcbi8vIChyZW5kZXJpemEgc8OzIGA8cm91dGVyLW91dGxldD5gKSwgb25kZSBvIHBhaW5lbCBkbyBtYXQtbWVudSBwZXJkaWEgbyBwYWRkaW5nXG4vLyBsYXRlcmFsICg0cHjihpIwKS4gUGxhbmFzLCB2YWxlbSBTRU1QUkUgdmlhIGBfY29yZS5zY3NzYCwgbm9zIGRvaXMgbW9kb3MuXG4vLyAoQSBpbmRlbnRhw6fDo28gYSBzZWd1aXIgw6kgdmVzdMOtZ2lvIGRvIGFudGlnbyB3cmFwcGVyIGA6Om5nLWRlZXBgLilcbiAgICAubWF0LW1lbnUtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gKFJlbW92ZWQpIEV4cGVyaW1lbnRhbCBzaWRlYmFyIGZseW91dCBtYXQtbWVudSBzdHlsZXMuXG4gICAgLy8gVGhlIGZseW91dCBpcyBub3cgYSBjdXN0b20gYDxhc2lkZSBjbGFzcz1cImV4cGVyaW1lbnRhbC1mbHlvdXRcIj5gXG4gICAgLy8gZWxlbWVudCByZW5kZXJlZCBhdCB0aGUgLnNpZGViYXIgcm9vdCBieSBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXJgXG4gICAgLy8gKHNlZSBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzIGZvciBpdHMgc3R5bGluZykuIFRoZSBvbGRcbiAgICAvLyBgLm1hdC1tZW51LXBhbmVsLmV4cGVyaW1lbnRhbC1mbHlvdXQtbWVudWAgcnVsZSB0cmVlIHRoYXQgdXNlZCB0b1xuICAgIC8vIGxpdmUgaGVyZSB3YXMgZGVsZXRlZCB0byBhdm9pZCBmcmFtZXdvcmsgZmlnaHRzIChtYXQtbWVudSdzXG4gICAgLy8gIWltcG9ydGFudCBzaXppbmcsIENESyBvdmVybGF5IGlubGluZSBwb3NpdGlvbmluZywgYXV0by1jbG9zZSBvblxuICAgIC8vIGl0ZW0gY2xpY2spLiBUaGUgbGlnaHQvZGFyayB0aGVtZSBydWxlcyBmb3IgYC5leHBlcmltZW50YWwtZmx5b3V0YFxuICAgIC8vIGxpdmUgaW4gYF9jb2xvci1zY2hlbWUuc2Nzc2AuXG5cbiAgICAubWF0LW1lbnUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyAzMHB4IGNhc2EgYSBhbHR1cmEgZG9zIGl0ZW5zIGRvIHNpZGViYXIgZG8gY2hhaXJcbiAgICAgICAgLy8gKGAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbWApIOKAlCBvIGNvbWVudMOhcmlvIGFiYWl4byBqw6EgZGVjbGFyYXZhIGFcbiAgICAgICAgLy8gaW50ZW7Dp8OjbyAoXCJzYW1lIGRlZmluaXRpb25zIGFzIHRoZSBzdWJtZW51IGl0ZW1zIGluIHRoZSBjaGFpciBzaWRlYmFyXCIpLFxuICAgICAgICAvLyBtYXMgbyB2YWxvciBlc3RhdmEgZW0gMzZweC4gQWxpbmhhZG8uXG4gICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDJweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgIC8vIGBwYWRkaW5nLXRvcDogNHB4YCBmb2kgcmVtb3ZpZG86IGNvbSBgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXJgXG4gICAgICAgICAgICAvLyBubyBpdGVtLCBvIMOtY29uZSBKw4Egw6kgY2VudHJhZG8gdmVydGljYWxtZW50ZS4gTyBwYWRkaW5nIGVtcHVycmF2YSBvXG4gICAgICAgICAgICAvLyDDrWNvbmUgNHB4IHByYSBiYWl4bywgZGVzbG9jYW5kby1vIGVtIHJlbGHDp8OjbyBhbyByw7N0dWxvIOKAlCBkZXNhbGluaGFtZW50b1xuICAgICAgICAgICAgLy8gdmlzw612ZWwgcHJpbmNpcGFsbWVudGUgbm8gdXNlci1tZW51IChgLnRwYy11c2VyLW1lbnVgKSwgb25kZSBvcyBpdGVuc1xuICAgICAgICAgICAgLy8gY29udml2ZW0gY29tIHdpZGdldHMgcXVlIGrDoSBhbmNvcmFtIG8gw61jb25lIG5vIGNlbnRyby5cbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1hdC1kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFRQQyBjaGFpciBhcmVhIHVzZXIgbWVudSDigJQgdGV4dCBpdGVtcyBmb2xsb3cgdGhlIHNhbWUgZGVmaW5pdGlvbnMgYXNcbiAgICAvLyB0aGUgc3VibWVudSBpdGVtcyBpbiB0aGUgY2hhaXIgc2lkZWJhci4gVGhlIHRoZW1lICsgbGFuZ3VhZ2Ugcm93cyBhcmVcbiAgICAvLyBpbnRlbnRpb25hbGx5IGxlZnQgdG8gdGhlIGdsb2JhbCBkZWZhdWx0cyAodGhleSdyZSBpY29uLW9ubHkgYW5kIG5lZWRcbiAgICAvLyB0aGVpciBvd24gdHJlYXRtZW50IGxhdGVyKS5cbiAgICAvLyBTZWxldG9yIGNvYnJlIEFNQk9TOiBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgIChsZWdhZG8gbWF0LW1lbnUpXG4gICAgLy8gZSBgLnRwYy11c2VyLW1lbnVgIHN0YW5kYWxvbmUgKHBvcG92ZXItYmFzZWQsIEZhc2UgMeKAkzUpLlxuICAgIC8vIOKVkOKVkOKVkCBHZW9tZXRyaWEgZG9zIGl0ZW5zIGVtIGAudHBjLXVzZXItbWVudWAgLyBgLmNvbnRhaW5lci1vcHRpb25gIOKVkOKVkOKVkFxuICAgIC8vIEZPTlRFIMOaTklDQSBkZSBhbHR1cmEvcGFkZGluZy/DrWNvbmUgZG9zIG1lbnVzIEpFTVMzIG1vZGVybm9zICh1c2VyLW1lbnUsXG4gICAgLy8gXCIuLi5cIiBkb3MgYWN0aW9ucy1tZW51LWJ1dHRvbiwgYnJlYWRjcnVtYiwgc3VibWlzc2lvbi1saXN0LCB2aWV3LXByb2ZpbGUsXG4gICAgLy8gY29sb3ItcGlja2VyLCBsYW5kaW5nLCBldGMuKS4gQW50ZXMgZXNzYSBnZW9tZXRyaWEgdml2aWEgZW1cbiAgICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoZm9yYSBkbyBlc2NvcG8gZGVzc2UgYXJxdWl2bywgcXVlIGRldmlhIHNlciBzw7MgY29yKS5cbiAgICAvL1xuICAgIC8vIEJhc2UgPSAyNnB4IChkZW5zbywgY2FzYSBgLmplbXMzLXNlbGVjdC1wYW5lbGApLiBFeGNlw6fDo28gPSB1c2VyLW1lbnVcbiAgICAvLyA9IDI4cHggdmlhIGNsYXNzZSBkaXN0aW50aXZhIGAudXNlci1tZW51YCBubyB3cmFwcGVyIGRvIGF2YXRhci1wcm9maWxlLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gRXhjZcOnw6NvIHBybyB1c2VyLW1lbnUgKGF2YXRhci1wcm9maWxlKTogMjhweCDigJQgbWFpcyByZXNwaXJvIGVtIG1lbnVcbiAgICAvLyBsb25nbyBjaGVpbyBkZSBvcMOnw7Vlcy4gRXNwZWNpZmljaWRhZGUgKDAsMiwwKSBpZ3VhbCDDoCBiYXNlOyBhIGVzcGVjw61maWNhXG4gICAgLy8gdmVuY2UgcG9yIG9yZGVtIChkZWNsYXJhZGEgZGVwb2lzKS5cbiAgICAudHBjLXVzZXItbWVudS51c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gSWNvbiBnZW9tZXRyeSDigJQgY29tdW0gYSB0b2RvcyBvcyBtZW51cyBjb20gYC50cGMtdXNlci1tZW51YC9gLmNvbnRhaW5lci1vcHRpb25gLlxuICAgIC8vIFBlc28vRklMTCBhbmltYW0gbm8gaG92ZXIgKGVmZWl0byBkZSBcImFjZW5kZXJcIiBvIMOtY29uZSBkYSBvcMOnw6NvIHNvYiBvIGN1cnNvcikuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgICAvLyBTZW0gdHJhbnNpw6fDo286IG11ZGFuw6dhIGRlIHBlc28vZmlsbCBpbnN0YW50w6JuZWEgKGVzdGlsbyBtYWNPUykuXG4gICAgfVxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG4gICAgfVxuICAgIC8vIExlYWRpbmcgY29tIGZsYWcgZW1vamkgKGVtIHZleiBkZSBtYXQtaWNvbikg4oCUIGVzcGVsaGFyIGdlb21ldHJpYS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAuZmxhZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ05vdG8gQ29sb3IgRW1vamknLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUsXG4gICAgLnRwYy11c2VyLW1lbnUge1xuXG4gICAgICAgIC8vIFN1cHJpbWUgbyBlZmVpdG8gcmlwcGxlIGRvIE1hdGVyaWFsIGVtIFRPRE9TIG9zIG1hdC1tZW51LWl0ZW1zXG4gICAgICAgIC8vIGRvIHVzZXIgbWVudSDigJQgZmVlZGJhY2sgZGUgY2xpcXVlIGFxdWkgZmljYSBwb3IgY29udGEgZG9cbiAgICAgICAgLy8gaG92ZXIgYmcgKyBhw6fDo28gaW1lZGlhdGEgKHRyb2NhIGRlIHRlbWEvbGF5b3V0L2lkaW9tYSxcbiAgICAgICAgLy8gbmF2ZWdhw6fDo28pLiBPIHJpcHBsZSBuw6NvIGNvbWJpbmEgY29tIG8gcmVzdGFudGUgZG8gY2hhaXIgVUlcbiAgICAgICAgLy8gKGVzdGlsbyB0aXBvZ3LDoWZpY28vbWluaW1hbCDDoCBsYSBOb3Rpb24vTGluZWFyKS5cbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1yaXBwbGUsXG4gICAgICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUb3AgOHB4IG1hdGNoZXMgdGhlIGxhdGVyYWwgaW5zZXQgKHBhbmVsIDRweCArIGl0ZW0gbWFyZ2luIDRweCA9XG4gICAgICAgIC8vIDhweCkuIEJvdHRvbSB1c2VzIDVweCB0byBjb21wZW5zYXRlIGZvciB0aGUgcGVyLWl0ZW0gMXB4IG1hcmdpbi1cbiAgICAgICAgLy8gYm90dG9tIChzbyB0aGUgdmlzaWJsZSBzcGFjZSBiZWxvdyB0aGUgbGFzdCByb3cg4omIIDZweCwganVzdCB1bmRlclxuICAgICAgICAvLyB0aGUgOHB4IHRvcCksIHNpbmNlIGl0ZW1zIGRvbid0IGNhcnJ5IGEgbWFyZ2luLXRvcC5cbiAgICAgICAgcGFkZGluZzogOHB4IDRweCA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIDZweCBwYW5lbCBjb3JuZXJzIChHaXRIdWItc3R5bGUpIOKAlCBtb2Rlcm4gUFdBIHJhZGl1cyB3aXRob3V0XG4gICAgICAgIC8vIG1ha2luZyB0aGUgY2hyb21lIGZlZWwgXCJzb2Z0XCI7IG1hdGNoZXMgdGhlIDZweC1yYWRpdXMgb2YgdGhlXG4gICAgICAgIC8vIGlubmVyIGl0ZW0gcGlsbHMgZm9yIGEgY29oZXJlbnQgY29ybmVyIGZhbWlseS4gU2hhZG93IGxpdmVzIGluXG4gICAgICAgIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgICh0aGVtZS1hd2FyZSkuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gU2VjdGlvbiBkaXZpZGVycyDigJQga2VlcCB0aGVtIHZpc3VhbGx5IGNsZWFyIG9mIHRoZSBpdGVtIGhvdmVyXG4gICAgICAgIC8vIHBpbGxzIGFib3ZlL2JlbG93IHNvIHRoZSBncm91cHMgcmVhZCBhcyBkaXNjcmV0ZSBibG9ja3MuIExhdGVyYWxcbiAgICAgICAgLy8gbWFyZ2lucyBhcmUgTkVHQVRJVkUgNHB4IHNvIHRoZSBsaW5lIGVzY2FwZXMgdGhlIHBhbmVsJ3MgNHB4XG4gICAgICAgIC8vIGxlZnQvcmlnaHQgcGFkZGluZyBhbmQgcnVucyBlZGdlLXRvLWVkZ2UgYWNyb3NzIHRoZSBmdWxsIHBhbmVsXG4gICAgICAgIC8vIHdpZHRoIChpbnN0ZWFkIG9mIHNpdHRpbmcgaW5kZW50ZWQgbGlrZSB0aGUgaXRlbSBwaWxscyBhYm92ZS9iZWxvdykuXG4gICAgICAgIC5tYXQtZGl2aWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDZweCAtNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZWdyYXMgZGUgZ2VvbWV0cmlhIGRlIGAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbWAgYWdvcmFcbiAgICAgICAgLy8gdml2ZW0gbm8gZXNjb3BvIGA6Om5nLWRlZXBgIGRpcmV0byAoYWNpbWEpLCBwcmEgbsOjbyBkZXBlbmRlcmVtXG4gICAgICAgIC8vIGRhIGNsYXNzZSBgdHBjLXVzZXItbWVudWAgcHJvcGFnYXIgYXTDqSBvIHBhaW5lbC5cblxuICAgICAgICAvLyBDb21wYWN0IGxhbmd1YWdlIHN3aXRjaGVyIChmbGFnLW9ubHkgYnV0dG9ucykuIE5vIHJpZ2h0IG1hcmdpbiDigJRcbiAgICAgICAgLy8gZWFjaCBmbGFnIGlzIGNlbnRyZWQgaW5zaWRlIGl0cyA0NMOXMzIgY2VsbCwgbm8gbGFiZWwgZm9sbG93aW5nLlxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0gLmZsYWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnTm90byBDb2xvciBFbW9qaScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gVGhlbWUgc3dpdGNoZXIgcm93IOKAlCBjZW50ZXIgdGhlIHRocmVlIG9wdGlvbnMgYXMgYSB0aWdodCBjbHVzdGVyXG4gICAgICAgIC8vIChvdmVycmlkZSB0aGUgY29tcG9uZW50J3MgYGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbmAgKyBwZXItXG4gICAgICAgIC8vIGJ1dHRvbiBsYXRlcmFsIG1hcmdpbnMpIGFuZCBzdHJpcCB0aGUgZ2xvYmFsIG1hdC1tZW51LWl0ZW0gdmVydGljYWxcbiAgICAgICAgLy8gbWFyZ2luIHNvIHRoZSByb3cgaHVncyB0aGUgZGl2aWRlcnMgd2l0aG91dCBleHRyYSBwYWRkaW5nLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCxcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IDRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIEFjdGl2ZSBvcHRpb24g4oCUIGN1cnNvciBkZWZhdWx0IHPDsyBwcmEgY29tdW5pY2FyIHZpc3VhbG1lbnRlXG4gICAgICAgIC8vIHF1ZSBvIGNlbGwgbsOjbyDDqSBpbnRlcmF0aXZvIChhIGzDs2dpY2EgZGUgbm8tb3AgZXN0w6Egbm9cbiAgICAgICAgLy8gdGVtcGxhdGUgdmlhIGBzdG9wUHJvcGFnYXRpb25gICsgYGRpc2FibGVSaXBwbGVgKS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBgOm5vdCguLi4pYCBidW1wcyBzcGVjaWZpY2l0eSBwYXN0IHRoZSBhdmF0YXItcHJvZmlsZSBjb21wb25lbnQnc1xuICAgICAgICAvLyB2aWV3LWVuY2Fwc3VsYXRlZCBgOmZpcnN0LWNoaWxkYCAvIGA6bGFzdC1jaGlsZGAgbWFyZ2luIHJ1bGVzLlxuICAgICAgICAvLyBXaWRlciA0NMOXMzIgY2VsbHMgd2l0aCBhIDZweC1yYWRpdXMgcGlsbCDigJQgZXh0cmEgaG9yaXpvbnRhbCByb29tXG4gICAgICAgIC8vIGdpdmVzIHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGEgbW9yZSBzdWJzdGFudGlhbCBjaGlwIHdpdGhvdXQgcHVzaGluZ1xuICAgICAgICAvLyB0aGUgYnV0dG9ucyBhcGFydCB2aXN1YWxseS5cbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSxcbiAgICAgICAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW06bm90KC50cGMtbm8tc3VjaC1jbGFzcyksXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZW1lIHN3aXRjaGVyIGljb25zIChsaWdodC9kYXJrL3N5c3RlbSkuIE5vcm1hbGl6ZWQgdG8gdGhlXG4gICAgICAgIC8vIHN5c3RlbS13aWRlIGljb24tYXhpcyBsYWRkZXI6IGB3Z2h0IDMwMCAvIEZJTEwgMGAgYXQgcmVzdCDihpJcbiAgICAgICAgLy8gYHdnaHQgNDAwIC8gRklMTCAxYCB3aGVuIHRoZSBvcHRpb24gaXMgdGhlIGN1cnJlbnQgdGhlbWVcbiAgICAgICAgLy8gKGAuaGlnaGxpZ2h0LWJ1dHRvbmApLiBUaGUgRklMTCB0cmFuc2l0aW9uIGlzIHdoYXQgY2FycmllcyB0aGVcbiAgICAgICAgLy8gXCJzZWxlY3RlZFwiIGN1ZSBoZXJlIChyZXN0IG9mIHRoZSBjaGFpciBVSSBrZWVwcyBGSUxMIDAgYWx3YXlzLFxuICAgICAgICAvLyBidXQgc2VsZWN0aW9uIGluc2lkZSB0aGlzIHdpZGdldCBpcyBleGFjdGx5IHRoZSB1c2UtY2FzZSBmb3JcbiAgICAgICAgLy8gdGhlIGZpbGwgYXhpcyDigJQgc2FtZSBleGNlcHRpb24gd2UgbWFrZSBmb3IgdGhlIGZhdm9yaXRlIHN0YXIpLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbiAgICAgICAgICAgIC8vIFNlbSB0cmFuc2nDp8OjbzogbXVkYW7Dp2EgZGUgcGVzby9maWxsIGluc3RhbnTDom5lYSAoZXN0aWxvIG1hY09TKS5cbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAwO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBhY3RpdmUgdGhlbWUgYnV0dG9uIGlzIGFsc28gYFtkaXNhYmxlZF1gOyBmb3JjZSBmdWxsIG9wYWNpdHlcbiAgICAgICAgLy8gc28gdGhlIGZpbGxlZCBpY29uIHJlYWRzIGFzIGEgc2VsZWN0ZWQgc3RhdGUsIG5vdCBhIGRpbW1lZCBjb250cm9sLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuLy8gQmFycmEgZGUgcm9sYWdlbSBIT1JJWk9OVEFMIGZhbnRhc21hIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlLiBPIE1hdGVyaWFsIGTDoVxuLy8gYG92ZXJmbG93OiBhdXRvYCBUQU5UTyBubyBgLm1hdC1kaWFsb2ctY29udGFpbmVyYCBRVUFOVE8gbm8gYC5tYXQtZGlhbG9nLWNvbnRlbnRgLCBlXG4vLyBhcGxpY2EgYG1hcmdpbjogMCAtMjRweGAgbm8gY29udGVudCAoY29tIGJveC1zaXppbmcgYm9yZGVyLWJveCBnbG9iYWwsIG8gY29udGVudCBmaWNhXG4vLyA0OHB4IG1haXMgbGFyZ28gcXVlIGEgw6FyZWEgZG8gY29udGFpbmVyLCBlbmNvc3RhbmRvIG5vIHBhZGRpbmcpLiBPIGBvdmVyZmxvdy14OmhpZGRlbmBcbi8vIGRvIGNvbXBvbmVudGUgY29icmUgc8OzIG8gY29udGVudDsgbyBDT05UQUlORVIgY29udGludWF2YSBwb2RlbmRvIHJvbGFyIG5vIGVpeG8gWC4gQ29ydGFyXG4vLyBzw7MgbyBYIG5vIGNvbnRhaW5lciBlbGltaW5hIGEgZmFudGFzbWEgc2VtIGFmZXRhciBvIHNjcm9sbCB2ZXJ0aWNhbCBpbnRlcm5vIGRvIGNvbnRlw7pkby5cbi5lbWFpbC10ZW1wbGF0ZS1lZGl0LWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvLyBTdXBlcmbDrWNpZSBUSU5HSURBIChjaW56YS1wZWRyYSkgbm8gbGlnaHQsIHAvIG9zIGNhbXBvcyBicmFuY29zIFwiZWxldmFyZW1cIlxuICAgIC8vIChtYWlzIGNvbnRyYXN0ZS9wcm9mdW5kaWRhZGUgcXVlIG8gbW9kYWwgdG9kbyBicmFuY28pLiBEYXJrIHNvYnJlc2NyZXZlIGFiYWl4by5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG59XG5cbi8vIFN1cGVyZsOtY2llIGRvIG1vZGFsIGRlIGVkacOnw6NvIGRlIHRlbXBsYXRlIG5vIERBUksg4oCUIGVzY2FsYSBRVUVOVEUgZG8gSkVNUzNcbi8vIChlbSB2ZXogZG8gY2luemEgZnJpbyBwYWRyw6NvIGRvIE1hdGVyaWFsKSwgZXNjb3BhZGEgYW8gcGFuZWxDbGFzcyBkbyBkacOhbG9nby5cbi8vIE7DrXZlbCBcInN1cGVyZsOtY2llXCIgKCMyNjI2MjYpOyBpbnB1dHMgZmljYW0gcmVjdWFkb3MgKCMyMDIwMjApIGUgY2hpcHMgZWxldmFkb3Ncbi8vICgjMzQzMzJmKSwgZGVmaW5pZG9zIG5vcyByZXNwZWN0aXZvcyBjb21wb25lbnRlcy4gQm9yZGEgZGVzY29sYSBkbyBmdW5kbyBlc2N1cm8uXG4uZGFyay10aGVtZSAuZW1haWwtdGVtcGxhdGUtZWRpdC1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBQb3BvdmVyIGZsdXR1YW50ZSBkZSBidXNjYSBkZSBkZXN0aW5hdMOhcmlvIChhYmVydG8gcGVsbyBjaGlwIFwiK1wiKS4gQ29udGXDumRvXG4vLyB2aXZlIG5vIG92ZXJsYXkg4oaSIGVzdGlsb3MgZ2xvYmFpcy4gTyBhcHAtdXNlci1zZWFyY2ggZSBvIGJvdMOjbyBcIkFkaWNpb25hclwiXG4vLyBqw6Egc8OjbyB0ZW3DoXRpY29zOyBhcXVpIHPDsyBvIFwiY2FydMOjb1wiICsgcmV0ZW1hdGl6YXIgbyBjYW1wbyBkZSBidXNjYVxuLy8gKHByZXRvIHB1cm8gZG8gdXNlci1zZWFyY2gg4oaSIHJlY3VhZG8pLlxuLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgICAvLyBPIGBhcHAtdXNlci1zZWFyY2hgIHDDtWUgYC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcmAgZW1cbiAgICAvLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhclxuICAgIC8vIG9zIHZpemluaG9zIGVtIGBhbGlnbi1pdGVtczpjZW50ZXJgLiBEZW50cm8gZG8gcG9wb3ZlciBuw6NvIGjDoSB2aXppbmhvc1xuICAgIC8vIOKAlCBtYXMgbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIGVtIGNpbWEgZG8gaW5wdXQuIERldm9sdmVtb3MgYW8gZmx1eG8sXG4gICAgLy8gc2VtIHJlc2VydmFyIGVzcGHDp28gcXVhbmRvIG7Do28gaMOhIGhpbnQgKG1hdC1oaW50IGFwYXJlY2Ugc8OzIGVtIGVycm8pOlxuICAgIC8vICAg4oCiIHdyYXBwZXIgYHN0YXRpY2AgbWFzIGNvbGFwc2FkbyAobWluLWhlaWdodDowKSDihpIgc2VtIFwiYnVyYWNvXCIgYWJhaXhvXG4gICAgLy8gICDigKIgbyByZXNwaXJvIGRlIDRweCDDqSBkbyBwcsOzcHJpbyBgLm1hdC1oaW50YCwgcXVlIHPDsyBleGlzdGUgc2UgaG91dmVyXG4gICAgLy8gICAgIG1lbnNhZ2VtIOKAlCBhc3NpbSBvIHBvcG92ZXIgZmljYSBzaW3DqXRyaWNvIHF1YW5kbyBsaW1wby5cbiAgICBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC11c2VyLXNlYXJjaCAubWF0LWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbn1cbi5saWdodC10aGVtZSAucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXggeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxufVxuXG4vLyBTbGFzaCBtZW51IGRlIHZhcmnDoXZlaXMgKGVkaXRvciBkZSB0ZW1wbGF0ZSBkZSBlLW1haWwpIOKAlCBkcm9wZG93biBhbmNvcmFkb1xuLy8gYWJhaXhvIGRvIGNhbXBvIHZpYSBDREsgb3ZlcmxheTsgY29udGXDumRvIHZpdmUgbm8gb3ZlcmxheSAoZ2xvYmFsICsgdGhlbWUtYXdhcmUpLlxuLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LWhlaWdodDogMjgwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuXG4gICAgLy8gSXRlbSA9IFtjaGlwIGRhIHZhcmnDoXZlbF0gLSBleHBsaWNhw6fDo28sIG51bWEgbGluaGEgKGEgZXhwbGljYcOnw6NvIHF1ZWJyYVxuICAgIC8vIHNlIGZvciBsb25nYSkuIE8gY2hpcCDDqSBvIE1FU01PIGRvcyBlZGl0b3JlcyAoYC52dGUtY2hpcGApLlxuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgICAgICAgICAgICAgICAgIC8vIHZlbmNlIG8gZ2xvYmFsIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWBcbiAgICAgICAgcGFkZGluZzogNXB4IDhweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIENoaXAgZGEgdmFyacOhdmVsIChzZW0gXCLDl1wiIGFxdWkg4oaSIHBhZGRpbmcgZXF1aWxpYnJhZG8pLlxuICAgICAgICAudnRlLWNoaXAge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgfVxuICAgICAgICAudmFyLWRlc2MgeyBmbGV4OiAxIDEgYXV0bzsgbWluLXdpZHRoOiAwOyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICB9XG59XG4ubGlnaHQtdGhlbWUgLnZhcmlhYmxlLXNsYXNoLW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbiAgICB9XG59XG4uZGFyay10aGVtZSAudmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIC52YXJpYWJsZS1zbGFzaC1pdGVtIHtcbiAgICAgICAgLnZhci1kZXNjIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgIH1cbn1cblxuLy8gQ2hpcHMgZGUgdmFyacOhdmVsIGRvIGFwcC12YXJpYWJsZS10ZW1wbGF0ZS1lZGl0b3IuIEdMT0JBSVMgcG9ycXVlIG9zIGNoaXBzIHPDo29cbi8vIGNyaWFkb3MgdmlhIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgKHNlbSBvIGF0cmlidXRvIGRlIGVuY2Fwc3VsYcOnw6NvIGRvXG4vLyBjb21wb25lbnRlKSwgZW50w6NvIGVzdGlsb3MgY29tcG9uZW50LXNjb3BlZCBuw6NvIG9zIGFsY2Fuw6dhbS4gUMOtbHVsYVxuLy8gYG5vbWUgw5dgIGNvbSBib3TDo28gZGUgcmVtb8Onw6NvLlxuLnZ0ZS1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDAgNHB4IDAgOHB4O1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgLy8gRXNxdWVtYSBBWlVMIENMQVJPIChtYWlzIGNvbnRyYXN0ZSkuIFRleHRvL8OXID0gdG9rZW4gZGUgYXp1bCBkZSBwYXBlbFxuICAgIC8vICgkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IgIzExNDVDMiBsaWdodCAvICM1QzhFRjAgZGFyayk7IGZ1bmRvIGVcbiAgICAvLyBib3JkYSBlbSBhenVsIGNsYXJvIChUYWlsd2luZCBibHVlLTUwLzIwMCkgbm8gbGlnaHQgZSB0aW50YSBhenVsIG5vIGRhcmsuXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JmZGJmZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjtcbiAgICBjb2xvcjogJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAudnRlLWNoaXAtcmVtb3ZlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgNjksIDE5NCwgMC4xNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4udnRlLXJlYWRvbmx5IC52dGUtY2hpcC1yZW1vdmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIERlc3RhcXVlIGRvIFBSRVZJRVc6IGZ1bmRvIGF6dWwgY2xhcm8gYXRyw6FzIGRlIGNhZGEgdmFyacOhdmVsIGrDoSBzdWJzdGl0dcOtZGFcbi8vIChnZXJhZG8gcG9yIEpTIG5vIGVkaXRvciDihpIgZ2xvYmFsKS4gU2VtIGJvcmRhOyBzw7MgcmVhbGNlIGRvIHRleHRvLlxuLnZ0ZS1wcmV2aWV3LXZhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjBmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMCAycHg7XG59XG4uZGFyay10aGVtZSAudnRlLXByZXZpZXctdmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4zMCk7XG59XG5cbi5kYXJrLXRoZW1lIC52dGUtY2hpcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuNTUpO1xuICAgIGNvbG9yOiAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyaztcbiAgICAudnRlLWNoaXAtcmVtb3ZlOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5MiwgMTQyLCAyNDAsIDAuMzApOyB9XG59XG5cbi5tZW51LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAuZGlzYWJsZWQtYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWF0LWljb24ge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDJweCA1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLy8gTWVudSBkZSBWSVPDg08gZGUgcGVyZmlsIChwYXBlci1pbmZvKTogbyBpdGVtIFZJR0VOVEUgYXBhcmVjZSBcInNlbGVjaW9uYWRvXCIgZVxuLy8gZmljYSBOw4NPIGNsaWPDoXZlbCAoYFtkaXNhYmxlZF1gIG5vIHRlbXBsYXRlKS4gRGVzLWVzbWFlY2UgbyBkaW0gZG8gZGlzYWJsZWQgZVxuLy8gYXBsaWNhIG8gcmVhbGNlIGRvIGl0ZW0gYXR1YWwuXG4vLyBTRU0gYDo6bmctZGVlcGA6IG8gcGFpbmVsIGRvIG1hdC1tZW51IHZpdmUgbm8gT1ZFUkxBWSAobsOtdmVsIGJvZHkpLCBmb3JhIGRlXG4vLyBxdWFscXVlciBjb21wb25lbnRlLCBlbnTDo28gcHJlY2lzYSBkZSByZWdyYSBHTE9CQUwgcGxhbmEuIERlbnRybyBkZSA6Om5nLWRlZXAsXG4vLyBvIHN0eWxlcy5jc3MgZ2xvYmFsIGVtaXRpYSBgOjpuZy1kZWVwIC52aWV3LXByb2ZpbGUtbWVudeKApmAgKHBzZXVkbyBpbnbDoWxpZG8g4oaSXG4vLyByZWdyYSBkZXNjYXJ0YWRhIHBlbG8gYnJvd3NlcikgZSBvIHJlYWxjZSBzw7MgYXBhcmVjaWEgcXVhbmRvIGFsZ3VtIGNvbXBvbmVudGVcbi8vIHF1ZSBpbXBvcnRhIGVzdGUgYXJxdWl2byBlc3RhdmEgbmEgdGVsYSDigJQgbyBxdWUgTsODTyBvY29ycmUgbmEgcMOhZ2luYSBkbyBjaGFpci5cbi8vIE9ww6fDtWVzIFNFTSDDrWNvbmUgbMOtZGVyLiBSZXNlcnZhbSAyOHB4IMOgIGVzcXVlcmRhIHAvIG8gY2hlY2sgZG8gaXRlbSBhdHVhbFxuLy8gKG1lc21hIG3DqXRyaWNhIGRvIGBhcHAtamVtcy1zZWxlY3RgIC8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgKSwgZW50w6NvIG8gcsOzdHVsb1xuLy8gTsODTyBkZXNsb2NhIHF1YW5kbyBvIGNoZWNrIGFwYXJlY2Uvc29tZS4gYHBvc2l0aW9uOiByZWxhdGl2ZWAgYW5jb3JhIG9cbi8vIGA6OmJlZm9yZWAuIFJlZ3JhcyBQTEFOQVMgKHNlbSBgOjpuZy1kZWVwYCk6IG8gcGFpbmVsIHZpdmUgbm8gb3ZlcmxheSAoYm9keSkgZVxuLy8gbyBibG9jbyBgOjpuZy1kZWVwYCBhY2ltYSDDqSBkcm9wYWRvIG5hIHDDoWdpbmEgZG8gY2hhaXIgKHBzZXVkbyBnbG9iYWwgaW52w6FsaWRvKS5cbi8vIFByZWZpeG8gYC5tYXQtbWVudS1wYW5lbGAg4oaSIHNwZWNpZmljaXR5ICgwLDQsMCkgcC8gVkVOQ0VSIGEgcmVncmEgYmFzZSBkb3Ncbi8vIGl0ZW5zIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1cbi8vIHsgcGFkZGluZzogMCA4cHggIWltcG9ydGFudCB9YCwgKDAsMywwKSkg4oCUIHNlbSBpc3RvLCBvIHBhZGRpbmctbGVmdCBkZSA4cHggZGFcbi8vIGJhc2UgZ2FuaGEgcG9yIG9yZGVtIGRlIHNvdXJjZSBlIG8gcsOzdHVsbyBjb2xhIG5vIGNoZWNrIChhY2F2YWxhbWVudG8pLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4udHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG59XG4vLyBJdGVtIEFUVUFMOiBtYXJjYWRvIFPDkyBwZWxvIENIRUNLIMOgIEVTUVVFUkRBIChmb250ZSDDum5pY2E6IGBqZW1zLXNlbGVjdGVkLWNoZWNrYCxcbi8vIG8gbWVzbW8gZG8gc2VsZWN0IGdsb2JhbCkuIEZvcmEgbyBjaGVjaywgY29tcG9ydGEtc2UgY29tbyBvcyBkZW1haXMgaXRlbnMg4oCUXG4vLyBpbnRlcmF0aXZvOiByZWFsw6dhIG5vIDpob3ZlciBlIG1vc3RyYSBhIG3Do296aW5oYSAoY2xpY2FyIG5lbGUgw6kgbm8tb3ApLiBOw4NPIGZvcsOnYVxuLy8gbWFpcyBjdXJzb3Ivb3BhY2l0eS9jb2xvcjogZXJhbSByZW1lbmRvcyBkbyBgW2Rpc2FibGVkXWAgKGrDoSByZW1vdmlkbyksIGUgb1xuLy8gYGNvbG9yICFpbXBvcnRhbnRgIGFpbmRhIGF0cmFwYWxoYXJpYSBvIHRleHRvIGJyYW5jbyBkbyBob3ZlciBubyBtYWNPUy5cbi50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgamVtcy1zZWxlY3RlZC1jaGVjaygkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcik7XG59XG4uZGFyay10aGVtZSAudHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7ICAgLy8gc8OzIGEgY29yIG11ZGEgbm8gZGFya1xufVxuXG4vLyDilZDilZDilZAgSG92ZXIgZXN0aWxvIG1hY09TIOKAlCBzw7MgYmcgZGUgcm93cyBlc3BlY8OtZmljb3Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBJdGVtIGhvdmVyIGdlcmFsIChiYWNrZ3JvdW5kIEFjY2VudENvbG9yICsgdGV4dG8vw61jb25lL2NoZWNrIGJyYW5jb3MpIGZvaVxuLy8gY29uc29saWRhZG8gbm8gYmxvY28gW01BQy1TVFlMRV0gYWJhaXhvLiBBcXVpIFPDkyBmaWNhbSBvcyBtZW51cyBlc3BlY2lhaXNcbi8vIHF1ZSBwcmVjaXNhbSBiZyBhY2NlbnQgU0VNIHRvY2FyIG5vIGNvbnRlw7pkbyAoY2hpcHMgY29tIGlkZW50aWRhZGUgdmlzdWFsXG4vLyBwcsOzcHJpYSk6IHN0YXR1cy1tZW51LXJvdyBlIGdyb3VwLW1lbnUtcm93IChMaXN0YSBkZSBTdWJtaXNzw7VlcykuXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3cuYWN0aXZlLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuICAvLyBcIisgTm92byBHcnVwb1wiIOKAlCBuw6NvIMOpIGNoaXAsIHRlbSBgY29sb3JgIHBpbmFkbyBwZWxvIGAuZ3JvdXAtY2hpcC1tZW51LWJhc2ljYFxuICAvLyAoMCwxLDAgKyBuZ2NvbnRlbnQpOyBmb3LDp2EgYnJhbmNvIHByYSBjb250cmFzdGFyIGNvbSBvIGZ1bmRvIGF6dWwgZG8gcm93LlxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuZGFyay10aGVtZSB7XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93LmFjdGl2ZSxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93LmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCxcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlciAuZ3JvdXAtY2hpcC1tZW51LWFkZC1ncm91cCAuaWNvbixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilZDilZDilZAgQW5pbWHDp8OjbyBkZSBhYmVydHVyYSBkbyBwb3BvdmVyIOKAlCBwb3IgT1Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBNYWM6IGluc3RhbnTDom5lbyAocGFkcsOjbyBkbyBOU01lbnUg4oCUIG5hZGEgYXF1aSkuXG4vLyBMaW51eC9HVEsvS0RFIChlIGRlZmF1bHQgYG90aGVyYCk6IGZhZGUgKyBzY2FsZSAoMC444oaSMS4wKSwgMTIwbXMgZWFzZS1vdXQuXG4vLyAgIEVzdGlsbyB0cmFkaWNpb25hbCBkbyBHTk9NRS9HVEs0LiBPcmlnZW0gZG8gc2NhbGUgcmVzcGVpdGEgYC5vcGVucy11cGAuXG4vLyBXaW5kb3dzOiBmYWRlICsgc2xpZGUgdmVydGljYWwgKH44cHgsIGRpcmXDp8OjbyBvcG9zdGEgw6Agw6JuY29yYSksIDE4MG1zXG4vLyAgIGVhc2Utb3V0LiBBbGluaGEgYW8gRmx1ZW50IERlc2lnbiByZWFsICgxMC8xMSkg4oCUIG1lbnVzIGRvIFdpbmRvd3MgbsOjb1xuLy8gICBmYXplbSBcInBlcnNpYW5hXCIsIGZhemVtIGVzc2UgZmFkZStzbGlkZSBzdXRpbC4gU2VtIGVmZWl0byBhY3J5bGljIG5vXG4vLyAgIGZ1bmRvIOKAlCBvIHBhaW5lbCBwZXJtYW5lY2UgY29tIG8gbWVzbW8gYmcgZG8gcmVzdG8gZGEgVUkuXG4vLyBSZWdyYSBlbSBTQ1NTIEdMT0JBTCAobsOjbyBwYXNzYSBwb3IgdmlldyBlbmNhcHN1bGF0aW9uKS5cbjpyb290Om5vdChbZGF0YS1vcz1cIm1hY1wiXSk6bm90KFtkYXRhLW9zPVwid2luZG93c1wiXSkgLmplbXMtcG9wb3Zlci1wYW5lbCB7XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluIDEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbjpyb290W2RhdGEtb3M9XCJ3aW5kb3dzXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwge1xuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbi13aW4gMTgwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xufVxuOnJvb3RbZGF0YS1vcz1cIndpbmRvd3NcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5vcGVucy11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBqZW1zLXBvcG92ZXItaW4td2luLXVwO1xufVxuQGtleWZyYW1lcyBqZW1zLXBvcG92ZXItaW4td2luIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbi13aW4tdXAge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4vLyBBY2Vzc2liaWxpZGFkZSDigJQgcXVlbSBwcmVmZXJlIG1vdmltZW50byByZWR1emlkbywgc2VtIGFuaW1hw6fDo28gZW0gTkVOSFVNIFNPLlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuXG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gW01BQy1TVFlMRSDigJQgUkVNT1ZFUiBQUkEgUkVWRVJURVJdIEVzdGlsbyBtYWNPUy1saWtlIG5vcyBtZW51cy9kcm9wZG93bnMuXG4vLyBHYXRlIMO6bmljbzogYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIChjYXJpbWJhZG8gcG9yIGBiaW5kT3NDbGFzc1RvUm9vdCgpYCBlbVxuLy8gYGRldmljZS50c2AsIGNoYW1hZG8gbm8gYm9vdHN0cmFwIHBvciBgQmFzZUNvbXBvbmVudGApLiBUcm9jYXIgdmlhIERldlRvb2xzOlxuLy8gICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZGF0YXNldC5vcyA9ICd3aW5kb3dzJyAgIChvdSAnbGludXgnLydtYWMnKVxuLy9cbi8vIEVzY29wbzogaXRlbnMgZGUgVE9EQVMgYXMgZmFtw61saWFzIGRlIGRyb3Bkb3duIEpFTVMzIChkw6liaXRvIGNvbmhlY2lkbyDigJRcbi8vIHZlciBtZW3Ds3JpYSBgcHJvamVjdF9kZXNpZ25fc3lzdGVtX21pZ3JhdGlvbl9kZWJ0YCk6XG4vLyAgIOKAoiBwb3BvdmVyIGl0ZW1zIChtYXQtbWVudS1pdGVtLCBbcm9sZT1tZW51aXRlbV0sIGplbXMtc2VsZWN0LW9wdGlvbilcbi8vICAg4oCiIG1hdC1zZWxlY3QgLyBtYXQtYXV0b2NvbXBsZXRlICgubWF0LW9wdGlvbilcbi8vXG4vLyBDb21wb3J0YW1lbnRvOlxuLy8gICDigKIgRm9udCBzbW9vdGhpbmcgc3VicGl4ZWwgKG1hdGNoaW5nIHN0ZW1zIG1haXMgZ3Jvc3NvcyBkbyBzaXN0ZW1hKVxuLy8gICDigKIgSG92ZXIvYWN0aXZlIGJnID0gYEFjY2VudENvbG9yYCAoQ1NTIENvbG9yIEw1LCByZXNvbHZlIHBybyBhY2NlbnQgT1MpXG4vLyAgIOKAoiBUZXh0by/DrWNvbmUvY2hlY2sgcGludGFtIGJyYW5jbyBwcmEgY29udHJhc3RlXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLy8gRm9udCBzbW9vdGhpbmc6IG1hdGNoaW5nIG8gcmVuZGVyaW5nIG5hdGl2byBkb3MgbWVudXMgbWFjT1MgKHN1YnBpeGVsKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbiB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbn1cblxuLy8gSG92ZXIvYWN0aXZlIGJnICsgdGV4dG8vw61jb25lIGJyYW5jb3MuIGA6cm9vdFtkYXRhLW9zPVwibWFjXCJdYCBjb21wb3VuZCBjb21cbi8vIGR1cGxpY2HDp8OjbyBkZSBzZWxldG9yZXMgYmFzZSAoYC5tYXQtb3B0aW9uLm1hdC1vcHRpb25gLCBgLmplbXMtc2VsZWN0LW9wdGlvblxuLy8gLmplbXMtc2VsZWN0LW9wdGlvbmApIHNvYmUgc3BlY2lmaWNpdHkgcHJhIGJhdGVyIGFzIHJlZ3JhcyBjaGFpci1zdHlsZVxuLy8gZXhpc3RlbnRlcyAoYF9jb2xvci1zY2hlbWUuc2Nzc2AgMCw1LDAgZSAwLDYsMCkgc2VtIGAhaW1wb3J0YW50YCBhY3VtdWxhclxuLy8gbWFpcyBmdW5kby4gQ29tYmluYSBsaWdodCtkYXJrIGF1dG9tYXRpY2FtZW50ZSAoQWNjZW50Q29sb3IvQWNjZW50Q29sb3JUZXh0XG4vLyBqw6Egc8OjbyB0aGVtZS1hd2FyZSBwZWxvIE9TKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbS5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBBY2NlbnRDb2xvciAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBDb3IgYnJhbmNhIGNvYnJlIFRFWFQtQ09OVEVOVCArIMOtY29uZXMgKyBzcGFuIGludGVybm8gYC5tYXQtb3B0aW9uLXRleHRgLlxuLy8gKG8gY2FzY2FkZSBkbyBjb2xvciBkbyBpdGVtIHBvZGUgc2VyIHBlcmRpZG8gZW0gc3BhbnMgY29tIGNvbG9yIHByw7NwcmlvO1xuLy8gYXF1aSBnYXJhbnRpbW9zIGV4cGzDrWNpdG8uKVxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCBbcm9sZT1cIm1lbnVpdGVtXCJdOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3ZlciAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbjpob3ZlciAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWw6bm90KC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwpIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1vcHRpb24tdGV4dCxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSAubWF0LW9wdGlvbi10ZXh0IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hlY2sgZGEgb3DDp8OjbyBzZWxlY2lvbmFkYSAoYDo6YmVmb3JlYCBkbyBtaXhpbiBgamVtcy1zZWxlY3RlZC1jaGVja2AsIENTU1xuLy8gbWFzaykuIFVzYSBgYmFja2dyb3VuZC1jb2xvcmAgY29tbyBmaWxsIChOw4NPIGBjb2xvcmApLiBDb2JyZTpcbi8vICAg4oCiIGFwcC1qZW1zLXNlbGVjdDogYC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIG1hdC1zZWxlY3Q6IGAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6OmJlZm9yZWBcbi8vICAg4oCiIHZpZXctcHJvZmlsZS1tZW51IChhcHAtcG9wb3ZlciBjb20gaXMtY3VycmVudCk6IGAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OjpiZWZvcmVgXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uc2VsZWN0ZWQuYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbjpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6aG92ZXI6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkLm1hdC1hY3RpdmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5AbWl4aW4gc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wICgkY29tcG9uZW50LCAkc2VsZWN0b3IsICRwcm9wLCAkbGlnaHRWYWx1ZSwgJGRhcmtWYWx1ZSkge1xuICAgIC5saWdodC10aGVtZSB7XG4gICAgICAjeyRjb21wb25lbnR9ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICN7JHByb3B9OiAkbGlnaHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhcmstdGhlbWUge1xuICAgICAgI3skY29tcG9uZW50fSAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICN7JHByb3B9OiAkZGFya1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4vLyBDaGVjayBcInNlbGVjaW9uYWRvXCIgYW8gZXN0aWxvIFNGIFN5bWJvbHMgKG1hY09TKTogcXVhZHJhZG8gMTTDlzE0IGFuY29yYWRvIMOgXG4vLyBFU1FVRVJEQSBkYSBvcMOnw6NvIChhYnNvbHV0ZSArIHZlcnRpY2FsLWNlbnRlciksIGRlc2VuaGFkbyBwb3IgU1ZHLW1hc2sgZVxuLy8gcGludGFkbyB2aWEgYGJhY2tncm91bmQtY29sb3JgICh0aGVtZS1hd2FyZSBwZWxhIGNvciBwYXNzYWRhKS4gRm9udGUgw5pOSUNBIGRvXG4vLyBjaGVjayB1c2FkbyBubyBgYXBwLWplbXMtc2VsZWN0YCwgbm8gZmlsdHJvIGAuamVtczMtc2VsZWN0LXBhbmVsYCBlIG5vIG1lbnVcbi8vIHNlbGV0b3IgZGUgcGVyZmlsIChwYXBlci1pbmZvKS4gQSBvcMOnw6NvIHF1ZSByZWNlYmUgcHJlY2lzYSBkZVxuLy8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZSByZXNlcnZhciB+MjhweCBkZSBgcGFkZGluZy1sZWZ0YC4gTm8gZGFyaywgYmFzdGFcbi8vIHNvYnJlc2NyZXZlciBgYmFja2dyb3VuZC1jb2xvcmAgKGEgZ2VvbWV0cmlhL23DoXNjYXJhIG7Do28gbXVkYW0pLlxuQG1peGluIGplbXMtc2VsZWN0ZWQtY2hlY2soJGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJGluc2V0OiA4cHgpIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAkaW5zZXQ7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xufVxuIiwiYXBwLWN1c3RvbS1mb3JtIHtcbiAgYXBwLW11bHRpbGluZS10ZXh0LWlucHV0IHtcbiAgICBhcHAtY3VzdG9tLWZvcm0ge1xuICAgICAgbWF0LWZvcm0tZmllbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFwcC10YWJsZS1mb3JtLWZpZWxkcy1jb250YWluZXIge1xuICAgIGFwcC1jdXN0b20tZm9ybSB7XG4gICAgICBtYXQtZm9ybS1maWVsZCB7XG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyLFxuICAgICAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmV2ZW50LWFkbWluIHsgIFxuICBoMyAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgaDQgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgaDUgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gIGg2IC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxufSIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5tYXQtc25hY2stYmFyLWNvbnRhaW5lciB7XG5cbiAgJi5lcnJvcixcbiAgJi5ub3RpZmljYXRpb24sXG4gICYud2FybmluZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0cHggKyAkc2lkZW5hdi1hZG1pbi1taW5pLXdpZHRoO1xuICB9XG5cbiAgJi5lcnJvciB7XG4gICAgYmFja2dyb3VuZDogJGVycm9yLWludmFsaWQtY29sb3I7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiAgfVxuXG4gICYubm90aWZpY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tY29sb3I7XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmUyODk7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gIH1cbn0iLCIubWF0LWZhYiB7XG4gIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICB9XG59XG4iLCIucGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwO1xuXG4gIG1hdC1wYWdpbmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB0b3A6IHVuc2V0O1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5tYXQtcGFnaW5hdG9yLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4gICAgICAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4uc2hvdy1hbGwtc3VibWlzc2lvbnMge1xuICAubWF0LWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIC5wYXBlci1pbmZvIHtcbiAgICAgIC5tYWluIHtcbiAgICAgICAgPiAuY29sdW1ucyB7XG4gICAgICAgICAgbWFyZ2luOiAtMC43NXJlbSAtMC43NXJlbSAwIC0wLjc1cmVtO1xuXG4gICAgICAgICAgLnRpdGxlLXJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdlYnJlYWsge1xuICAgIGJyZWFrLWFmdGVyOiBhbHdheXM7XG4gIH1cbn1cblxuLnNob3ctYWxsLXN1Ym1pc3Npb25zLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktdGhlbWUtY29sb3I7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdoZWFkZXInO1xuQGltcG9ydCAnY29sb3JzJztcblxubWF0LWNhcmQge1xuICAvLyBib3gtc2hhZG93OiAwIDZweCA1cHggLTFweCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTEsIDAgLTFweCAxMHB4IDAgJGJsYWNrLWJhY2tncm91bmQtYWxwaGExICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDg2cHgpIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMTBweCAtMXB4ICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMSwgMCAtMXB4IDIwcHggMCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTE7XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyLXRleHR7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuXG4gIC8vIFN0eWxlIGV2ZW50cyBjYXJkc1xuICAmLmV2ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpub3QoW2NsYXNzKj0nI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9J10pe1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAuaG9yaXpvbnRhbC1hbGlnbntcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLndhcm5pbmcge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDAuNXJlbSAycmVtO1xuICAgICAgfVxuICAgICAgLndhcm5pbmcgKyAuaW5mb3JtYXRpb24ge1xuICAgICAgICB3aWR0aDogNjAlOyAvKiBvdmVycmlkZSAqL1xuICAgICAgfVxuXG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtYnJlYWt1cC13aWR0aCl7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmluZm9ybWF0aW9ue1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcm5pbmd7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAwLjVyZW0gMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob3Jpem9udGFsLWFsaWduIHtcbiAgICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC53YXJuaW5nLXB1YmxpYy1hdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFjay1ub3Qtb3Blbi1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGV4dGVuZCBoNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICB9XG5cbiAgICAuZmxvYXQtcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5sZWZ0LWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cbiAgfVxuXG4gICYuc3ViY29uZmVyZW5jZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYmFja2dyb3VuZDogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG5cbiAgJi5hZG1pbi1ldmVudCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIG1hdC1jYXJkLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtaGVhZGVyLWNvbG9yO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuXG4gICAgICBAZXh0ZW5kIGgyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuXG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcblxuICAgICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hdC1zcGlubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwO1xuXG4gICAgICAgIG1hdC1hY3Rpb24tcm93IHtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0YWJsZSB7XG5cbiAgICAgIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRldmVudC1jYXJkLWxpbmUtc2VwYXJhdG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYmFzZS1jYXJkIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIG1hdC1jYXJkLWhlYWRlciB7XG4gICAgICBAZXh0ZW5kIGgyO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgLmNsb3NlZC1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjpibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBtYXQtc3Bpbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWF0LWNhcmQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaXRsZSB3aXRoIEgzIHByb3BlcnRpZXNcbi5jYXJkLXRpdGxlIHtcbiAgQGV4dGVuZCBoMztcbiAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xufVxuXG4vLyBTdWJ0aXRsZSB3aXRoIEg0IHByb3BlcnRpZXNcbi5jYXJkLXN1YnRpdGxlIHtcbiAgQGV4dGVuZCBoNDtcbn1cblxuLy8gQ29udGVudCB3aXRoIEg1IHByb3BlcnRpZXNcbi5jYXJkLWNvbnRlbnQge1xuICBAZXh0ZW5kIGg1O1xufVxuXG5cbi5zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBAZXh0ZW5kIGgzO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjRyZW07XG4gIH1cbn1cbi8vIC5vcHRpb25zIHtcbi8vICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyB9XG5cbi8vIC5tYXQtc2xpZGUtdG9nZ2xlIHtcbi8vICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuLy8gfVxuXG4vLyAuY29sdW1uIHtcbi8vICAgcGFkZGluZy1ib3R0b206IDA7XG4vLyB9XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubmd4LW1hdC10aW1lcGlja2VyLXNwYWNlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1ZW07XG59XG5cbi8vIFJlc3Bpcm8gZW50cmUgYSDDumx0aW1hIGxpbmhhIGRvcyBkaWFzIGRvIGNhbGVuZMOhcmlvIGUgYSDDoXJlYSBkZSBob3Jhcy5cbi8vIEEgbGliIGRlc2VuaGEgdW1hIGxpbmhhIGRpdmlzw7NyaWEgdmlhIGA6OmJlZm9yZWAgbm8gdG9wbyBkbyBjb250YWluZXIg4oCUXG4vLyBlc2NvbmRlbW9zLlxuLy8gTGF5b3V0OiB0aW1lcGlja2VyIENFTlRSQUxJWkFETyBob3Jpem9udGFsbWVudGU7IG8gYm90w6NvIGRvIGZ1c28gZmx1dHVhXG4vLyBjb21vIGBwb3NpdGlvbjogYWJzb2x1dGVgIMOgIGRpcmVpdGEg4oCUIGxhcmd1cmEgdmFyacOhdmVsIGRlbGUgbsOjbyBlbXB1cnJhXG4vLyBvIGhvcmEvbWludXRvL3NldGFzIChxdWUgZmljYW0gZml4b3MgaW5kZXBlbmRlbnRlIGRvIGZ1c28gZXNjb2xoaWRvKS5cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC50aW1lLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7ICAgLy8gdmVuY2UgbyBgcGFkZGluZy10b3A6IDVweGAgZGEgbGliXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIEZhaXhhIMO6dGlsIG1haXMgZXN0cmVpdGEgcXVlIG8gcGFpbmVsIOKAlCBob3JhIGZpY2EgY2VudHJhZGEgbmVsYSBlIG9cbiAgLy8gZnVzbyBmaWNhIHByw7N4aW1vIMOgIGhvcmEgKG7Do28gY29sYWRvIG5hIGJvcmRhIGRpcmVpdGEgZG8gcGFpbmVsKS5cbiAgbWF4LXdpZHRoOiAyMjBweDtcblxuICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAubmd4LW1hdC10aW1lcGlja2VyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM1cHgpOyAgIC8vIGRlc2xvY2EgaG9yYS9taW51dG8vc2V0YXMgMzVweCBwcmEgZXNxdWVyZGFcbiAgfVxuXG4gIGFwcC10aW1lLXpvbmUtaW5wdXQsXG4gIC5jb250YWluZXItYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7ICAgICAgICAgICAgICAgICAgIC8vIDE1cHggcHJhIGVzcXVlcmRhIGVtIHJlbGHDp8OjbyDDoCBib3JkYSBkaXJlaXRhIGRhIGZhaXhhXG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi8vIEVucXVhbnRvIG8gcGFpbmVsIGRvIGRhdGVwaWNrZXIgZXN0aXZlciBcImxpbXBvXCIgKHNlbSBpbnRlcmHDp8Ojby9tdWRhbsOnYSksXG4vLyBvcyBib3TDtWVzIMOXIChjYW5jZWxhcikgZSDinJMgKGNvbmZpcm1hcikgZmljYW0gZGVzYWJpbGl0YWRvcyDigJQgbsOjbyBow6EgbyBxdWVcbi8vIHByZXNlcnZhci9kZXNjYXJ0YXIuIEEgY2xhc3NlIGAuaXMtY2xlYW4tcGlja2VyYCDDqSBzZXRhZGEgbm8gYC5jZGstb3ZlcmxheS1wYW5lYFxuLy8gcGVsbyBgb25DYWxlbmRhck9wZW5lZGAgZG8gY29tcG9uZW50ZSBlIMOpIHJlbW92aWRhIG5vIHByaW1laXJvIGNsaWNrIGRlbnRybyBkb1xuLy8gcGFpbmVsLiBTZW0gZXNzYSBmbGFnIG9zIGJvdMO1ZXMgZ2FuaGFtIGNvbXBvcnRhbWVudG8gbm9ybWFsLlxuLmNkay1vdmVybGF5LXBhbmUuaXMtY2xlYW4tcGlja2VyIC5hY3Rpb25zIGJ1dHRvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi8vIENlbnRyYWxpemHDp8OjbyB2ZXJ0aWNhbCBkb3MgZ2xpZm9zIMOXIGUg4pyTIGRlbnRybyBkb3MgYm90w7VlcyBkYSDDoXJlYSBgLmFjdGlvbnNgXG4vLyBkbyBwYWluZWwgZG8gZGF0ZXBpY2tlci4gTWF0ZXJpYWwgZGVmYXVsdCBkZWl4YSBgLm1hdC1idXR0b24td3JhcHBlcmAgY29tb1xuLy8gaW5saW5lLWJsb2NrICsgYC5tYXQtaWNvbmAgY29tIGBsaW5lLWhlaWdodGAgZGEgZm9udGUgKGJhc2VsaW5lLWFsaWduZWQpLFxuLy8gcXVlIGRlc2NlbnRyYWxpemEgdnMgYSBhbHR1cmEgZG8gYm90w6NvICgzNnB4KS4gRm9yw6dhIGZsZXgtY2VudGVyIG5hIGNhZGVpYS5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgbWF0LWljb24sXG4gIC5tYXQtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gUmVzcGlybyBkZSAycHggZW50cmUgb3MgYm90w7VlcyDDlyBlIOKcky5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbiArIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHggIWltcG9ydGFudDtcbn1cblxuLy8gQ2VudHJhbGl6YSBhIGR1cGxhIMOXIC8g4pyTIGhvcml6b250YWxtZW50ZSBubyBwYWluZWwgKGRlZmF1bHQgZGEgbGliIMOpIGZsZXgtZW5kKVxuLy8gKyBlc3Bhw6dvIGV4dHJhIGFjaW1hIHByYSBkYXIgcmVzcGlybyBlbnRyZSBvIHRpbWVwaWNrZXIgZSBvcyBib3TDtWVzIGRlIGHDp8Ojby5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDE3cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDE3cHggIWltcG9ydGFudDsgICAvLyBpZ3VhbCBhbyB0b3AgcHJhIHNpbWV0cmlhXG59XG5cbi8vIFNlbSB0cmFuc2nDp8OjbyBkZSBob3ZlciBub3MgYm90w7VlcyDDlyBlIOKckyDigJQgbXVkYW7Dp2EgZGUgZnVuZG8gaW5zdGFudMOibmVhLFxuLy8gbWFzIG8gZWZlaXRvIGRlIGhvdmVyIChiZykgZG8gTWF0ZXJpYWwgZmljYSBwcmVzZXJ2YWRvLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uLFxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uICoge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEhvdmVyIGRvIMOXIChjYW5jZWxhcikg4oCUIGZhbcOtbGlhIFwiYm90w6NvL21lbnVcIiBkbyBjaGFpciBVSTpcbi8vIGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCwgbWVzbW8gZG8gbWF0LW1lbnUtaXRlbSBlXG4vLyBicmVhZGNydW1iLiBWZW5jZSBvIGAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5YCBkbyBNYXRlcmlhbCAoZGVmYXVsdFxuLy8gY2luemEgdHJhbnNsw7pjaWRvKSBuZXV0cmFsaXphbmRvIG8gb3ZlcmxheS5cbi8vIGA6Zmlyc3QtY2hpbGRgID0gw5cgKHByZXBlbmQgZG8gYGFkZEJ1dHRvbkNsb3NlYCkuXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEJvdMOjbyDinJMgKGNvbmZpcm1hcikgRU5BQkxFRCDigJQgZmlsbCBhY2NlbnQgKyDDrWNvbmUgYnJhbmNvIChtZXNtYSBmYW3DrWxpYVxuLy8gZG9zIHByaW3DoXJpb3MgZG8gY2hhaXIgVUkpLiBPIMOXIChjYW5jZWxhcikgZmljYSBubyBmb3JtYXRvIFwic3Ryb2tlZFwiXG4vLyBuZXV0cm87IHPDsyBvIOKckyB2aXJhIFwicHJpbWFyeVwiLiBFc3RhZG8gZGlzYWJsZWQgKGZvcm0gbGltcG8g4oaSIGNsYXNzZVxuLy8gYC5pcy1jbGVhbi1waWNrZXJgIG5vIHBhbmUsIE9VIGBbZGlzYWJsZWRdYCBubyBib3TDo28gcXVhbmRvIG8gZm9ybSBlc3TDoVxuLy8gaW52w6FsaWRvKSBtYW50w6ltIG8gdmlzdWFsIG5ldXRyby9vcGFjbyBvcmlnaW5hbC5cbi8vIGA6bGFzdC1jaGlsZGAgPSDinJMgKG8gw5cgw6kgYHByZXBlbmRgYWRvIGFudGVzIHBlbG8gYGFkZEJ1dHRvbkNsb3NlYCkuXG4uY2RrLW92ZXJsYXktcGFuZTpub3QoLmlzLWNsZWFuLXBpY2tlcikgLmFjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIC5tYXQtaWNvbiB7IGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5jZGstb3ZlcmxheS1wYW5lOm5vdCguaXMtY2xlYW4tcGlja2VyKSAuYWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIENoYWlyIFVJIGFsaWdubWVudDogZGF0ZXBpY2tlci90aW1lcGlja2VyIHBvcHVwIHR5cG9ncmFwaHkuXG4vLyBQb3B1cCDDqSByZW5kZXJpemFkbyBlbSBgY2RrLW92ZXJsYXktY29udGFpbmVyYCBkaXJldG8gc29iIDxib2R5PiwgZm9yYVxuLy8gZG8gY29tcG9uZW50IGVuY2Fwc3VsYXRpb24g4oCUIHJ1bGVzIHByZWNpc2FtIHNlciBnbG9iYWlzLiBBbGluaGEgYXNcbi8vIGZvbnRlcyBkbyBwb3B1cCBjb20gbyByaXRtbyAxMy80MzAgZGEgcMOhZ2luYS5cbi8vIEJvcmRlci1yYWRpdXMgZG8gcG9wdXAgYWxpbmhhZG8gY29tIG8gcmVzdG8gZG8gY2hhaXIgVUkgKCRjaHJvbWUtcmFkaXVzKS5cbi8vIFBhZGRpbmcgcmVkdXppZG8gcHJhIGNvbXBhY3RhciAoTWF0ZXJpYWwgZGVmYXVsdCB0ZW0gfjhweCBubyAubWF0LWNhbGVuZGFyXG4vLyBxdWUgdml2ZSBkZW50cm8gZG8gLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQpLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDsgICAvLyBtZXNtYSBjb3IgZG9zIHBhaW7DqWlzIGRvIHNlbGVjdFxuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsgICAgICAvLyAycHggZGUgcmVzcGlybyBlbnRyZSBvIHBhaW5lbCBlIGEgY2FpeGFcbiAgbWFyZ2luLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7ICAgLy8gaWRlbSBxdWFuZG8gYWJyZSBwcmEgY2ltYVxuICAvLyBMYXJndXJhIGRvIHBvcHVwIGNvbXBhY3RhZGEg4oCUIE1hdGVyaWFsIGRlZmF1bHQgfjI5NnB4LiBDb21vIGEgY2FsZW5kYXJcbiAgLy8gdGFibGUgZm9pIHJlZHV6aWRhIHByYSAyMDBweCwgbyBwb3B1cCB0ZW0gZXNwYcOnbyBsYXRlcmFsIHNvYnJhbmRvO1xuICAvLyAyNTZweCBkZWl4YSBmb2xnYSBjb25mb3J0w6F2ZWwgc2VtIGRlc3BlcmTDrWNpby5cbiAgd2lkdGg6IDI1NnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAvLyBTb21icmEgdW5pZmljYWRhIGNvbSBvcyBwYWluw6lpcyBkbyBzZWxlY3QgKGxpZ2h0KTogZmlsdGVyIGVtIHZleiBkb1xuICAvLyBib3gtc2hhZG93IGRlZmF1bHQgTWF0ZXJpYWwgKHF1ZSB1c2EgZWxldmF0aW9uIG11aXRvIHBlc2FkYSkuXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuXG4gIC5tYXQtY2FsZW5kYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubWF0LWNhbGVuZGFyIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgLy8gSGVhZGVyIChtw6pzL2FubyArIGFycm93cykgc29iZSDigJQgcmVkdXogcGFkZGluZy10b3AgZG8gaGVhZGVyIHByYVxuICAvLyBjb2xhciBjb20gYSBib3JkYSBzdXBlcmlvciBkbyBwb3B1cC5cbiAgLm1hdC1jYWxlbmRhci1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEycHggMTJweCAwO1xuXG4gICAgLm1hdC1jYWxlbmRhci1jb250cm9scyB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb3TDtWVzIOKAuSDigLogIChwcmV2aW91cy9uZXh0IG1vbnRoKS4gQ29udGludWFtIHNlbmRvIGA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbj5gLFxuICAgIC8vIG1hcyBlc2NvbmRlbW9zIG8gY2hyb21lIE1hdGVyaWFsIChyaXBwbGUvZm9jdXMtb3ZlcmxheS9nbGlmbyBkZWZhdWx0KSBlXG4gICAgLy8gaW5qZXRhbW9zIFNWRyBjaGV2cm9uIHZpYSBgOjphZnRlcmAuIFJlc3VsdGFkbzogcGFyZWNlIHVtIGJvdMOjbyBIVE1MIHB1cm9cbiAgICAvLyBjb20gbyBtZXNtbyBwZXNvIHZpc3VhbCBkb3MgZ2xpZm9zIHNlY3VuZMOhcmlvcyAoJGljb24tbXV0ZWQgLyBob3ZlcikuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24sXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZCAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAvLyBPIE1hdGVyaWFsIGRlc2VuaGEgbyBjaGV2cm9uIHZpYSBgOjphZnRlcmAgbm8gUFLDk1BSSU8gYm90w6NvXG4gICAgICAvLyAodHJpw6JuZ3VsbyBDU1MgY29tIGJvcmRlciArIHRyYW5zZm9ybSkuIFplcmFtb3MgY29tcGxldGFtZW50ZVxuICAgICAgLy8gcHJhIGVsZSBuw6NvIGNvbXBldGlyIGNvbSBvIG5vc3NvIFNWRy1tYXNrIG5vIHdyYXBwZXIuXG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIgc3ZnLFxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciAubWF0LWljb24geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgICAgLy8gQ2hldnJvbiBTVkcgaW5saW5lIHZpYSBtYXNrIChtZXNtbyBwYWRyw6NvIGRvIGNoZXZyb24gZG8gc2VsZWN0KS5cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTYuNSAyIEwzIDUgTDYuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi41IDIgTDMgNSBMNi41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMy41IDIgTDcgNSBMMy41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00zLjUgMiBMNyA1IEwzLjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG5cbiAgICAvLyBDaHJvbWUgTWF0ZXJpYWwgZm9yYSDigJQgc2VtIHJpcHBsZS9mb2N1cy1vdmVybGF5IHF1ZSBkZWl4YXJpYW1cbiAgICAvLyBcImZsYXNoXCIgYW8gY2xpY2FyL2hvdmVyLlxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIC5tYXQtcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIC5tYXQtcmlwcGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBIb3ZlcjogXCJhY2VuZGVcIiAobWVzbWEgbGluZ3VhZ2VtIGRvIGNoZXZyb24gZG8gc2VsZWN0IGUgZG8gY2FsZW5kw6FyaW8pLlxuICAgIC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uOmhvdmVyLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBUb2RvcyBvcyByw7N0dWxvcyBkbyBjYWxlbmTDoXJpbyDigJQgcGVyw61vZG8gKG3DqnMvYW5vKSwgYm9keS1sYWJlbCAoRkVWL0pBTuKApiksXG4gICAgLy8gaGVhZGVyIChkaWFzIGRhIHNlbWFuYSkuIFBvbMOtdGljYSBzeXN0ZW0td2lkZSBgbm8tY2Fwc2Ag4oCUIG92ZXJyaWRlXG4gICAgLy8gYW8gTWF0ZXJpYWwgZGVmYXVsdCBlIGFvIHByw7NwcmlvIGB0ZXh0LXRyYW5zZm9ybWAgaW5saW5lIHZpYSBsaWdhdHVyZS5cbiAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24sXG4gICAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uICosXG4gICAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAgIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItY29udGVudCB7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7ICAgLy8gOHB4IGVtIHZvbHRhIOKAlCByZXNwaXJvIGRvIGhlYWRlciBubyB0b3BvICsgYmFzZSB1bmlmb3JtZSBwLyBvcyBzZWxldG9yZXMgZGUgYW5vL23DqnMuXG4gIH1cblxuICAvLyBMaW1pdGEgbGFyZ3VyYSBkYSB0YWJlbGEgcHJhIGVuY29saGVyIG8gZ2FwIGhvcml6b250YWwgZW50cmUgZGlhcy5cbiAgLy8gTWF0ZXJpYWwgZGVmYXVsdCBkZWl4YSBvIHRhYmxlIGVzdGljYXIgcHJhIDEwMCUgZG8gY29udGFpbmVyOyBjYWRhIHRkXG4gIC8vIHZpcmEgfjQwcHguIENvbSBtYXgtd2lkdGggMjQwcHggbyBjYWxlbmTDoXJpbyBmaWNhIHZpc3VhbG1lbnRlIGNvbXBhY3RvLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLy8gUmVzcGlybyBlbnRyZSBhIGxpbmhhIGRhcyBpbmljaWFpcyAoRCBTIFQuLi4pIGUgYSAxwqogbGluaGEgZG8gbcOqcyDigJRcbiAgLy8gOHB4IHZpYSBwYWRkaW5nLXRvcCBuYSBwcmltZWlyYSBsaW5oYSBkbyBib2R5IChhIGBoZWlnaHRgIG5vIGRpdmlkZXJcbiAgLy8gcG9kZSBuw6NvIGJhc3RhciBkZXBlbmRlbmRvIGRhIHRhYmVsYSkuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xuICB9XG5cblxuICAvLyBUaXBvZ3JhZmlhIGRvIHLDs3R1bG8gXCJKdW4uIGRlIDIwMjZcIiDigJQgaWd1YWwgYW8gY29udGXDumRvIGRhcyBjYWl4YXNcbiAgLy8gZGUgdGV4dG8gZG8gSkVNUzMgKDEzcHggLyA0MDAgLyAtMC4wMWVtIC8gY29yIGRvIGJvZHkgZG8gY2hhaXIgVUkpLlxuICAvLyBIb3ZlcjogZmFtw61saWEgXCJib3TDo28vbWVudVwiIGRvIGNoYWlyIFVJXG4gIC8vIChgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZGAsIG1lc21vIGRvIG1hdC1tZW51LWl0ZW0gZVxuICAvLyBkbyDDlyBkbyBkYXRlcGlja2VyKS4gTmV1dHJhbGl6YSBvIGAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5YCBkbyBNYXRlcmlhbC5cbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gICAgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7IG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpY29uLW11dGVkOyAgICAgICAgICAgICAgICAvLyBtdXRlZCwgbWFzIHZpc8OtdmVsIGVtIHF1YWxxdWVyIGJnXG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7ICAgICAgICAgICAgICAvLyBzZW0gYm9yZGEgYW8gcmVkb3IgZGFzIGluaWNpYWlzXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgZGVzZW5oYSB1bSBkaXZpZGVyIChgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcmApXG4gIC8vIGxvZ28gYWJhaXhvIGRhcyBpbmljaWFpcy4gQSBMSU5IQSBlbSBzaSAoYDo6YWZ0ZXJgKSBmaWNhIGVzY29uZGlkYS5cbiAgLy8gRXNwYcOnbyBlbnRyZSBoZWFkZXIgZSAxwqogbGluaGEgZG9zIGRpYXMgdmVtIHZpYSBgaGVpZ2h0YCBleHBsw61jaXRvXG4gIC8vIG5vIGA8dGg+YCBkaXZpZGVyIOKAlCBpbXVuZSBhIGBwYWRkaW5nOiAwICFpbXBvcnRhbnRgIGUgYW9cbiAgLy8gYGJvcmRlci1jb2xsYXBzZWAgZGEgdGFiZWxhLlxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gYC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbGAgw6kgbyByw7N0dWxvIFwiRkVWLlwiIHF1ZSBNYXRlcmlhbCByZW5kZXJpemFcbiAgLy8gY29tbyBjw6lsdWxhIGludmlzw612ZWwgbm8gaW7DrWNpbyBkYSBwcmltZWlyYSBzZW1hbmEgcGFyY2lhbC4gQ29tbyBvXG4gIC8vIGhlYWRlciBqw6EgbW9zdHJhIFwiRkVWLiBERSAyMDIxXCIsIGEgbGFiZWwgZGVudHJvIGRvIGJvZHkgw6kgcmVkdW5kYW50ZS5cbiAgLy8gRXNjb25kZXIgY29tIGB2aXNpYmlsaXR5OiBoaWRkZW5gIHByZXNlcnZhIG8gbGF5b3V0IGRvIGNvbHNwYW4gKGFcbiAgLy8gcHJpbWVpcmEgc2VtYW5hIHBhcmNpYWwgZmljYSBhbGluaGFkYSBjb3JyZXRhbWVudGUpIG1hcyBvY3VsdGEgbyB0ZXh0by5cbiAgLy8gTWF0ZXJpYWwgcmVuZGVyaXphIGVzc2UgYDx0ZD5gIGNvbW8gdW0gbGFiZWwvcGxhY2Vob2xkZXIgY29sc3BhbiBub1xuICAvLyBpbsOtY2lvIGRhIHByaW1laXJhIHNlbWFuYSBwYXJjaWFsLiBDb21vIG8gaGVhZGVyIGrDoSBtb3N0cmEgXCJGRVYuIERFIDIwMjFcIixcbiAgLy8gbyByw7N0dWxvIGFxdWkgw6kgcmVkdW5kYW50ZS4gWmVyYXIgYWx0dXJhL2ZvbnQvcGFkZGluZyBjb2xhcHNhXG4gIC8vIHZpc3VhbG1lbnRlIHNlbSBxdWVicmFyIG8gYWxpbmhhbWVudG8gZGFzIGNvbHVuYXMgKG8gY29sc3BhbiBjb250aW51YVxuICAvLyByZXNlcnZhbmRvIGNvbHVuYXMsIHPDsyBuw6NvIHRlbSBhbHR1cmEpLlxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTGluaGEgZGUgaW5pY2lhaXMgKEQgUyBUIFEuLi4pIHNlbSBwYWRkaW5nLWJvdHRvbSDigJQgTWF0ZXJpYWwgZGVmYXVsdFxuICAvLyBlbXB1cnJhIDhweCBhYmFpeG8gZGFzIGluaWNpYWlzIGFudGVzIGRhIGJvZHkgY29tZcOnYXIuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIE1hdGVyaWFsIGNvbXB1dGEgYWx0dXJhIHBvciByb3cgKHRhYmxlIGxheW91dCksIG7Do28gcG9yIGNlbGwuIFByYVxuICAvLyBjb21wYWN0YXIgbyBnYXAgZW50cmUgcm93cyBkZSBkaWFzIHByZWNpc2EgYXRhY2FyIG8gPHRyPiBkaXJldG8uXG4gIC5tYXQtY2FsZW5kYXItYm9keSB0ciB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwge1xuICAgIGhlaWdodDogMjZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICB0b3A6IDFweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIH1cblxuICAvLyBTZWxldG9yIGRlIEFOTyAodmlldyBcIm11bHRpLXllYXJcIikg4oCUIGEgY8OpbHVsYSBkZWZhdWx0ICgyNMOXMjQpIGZpY2FcbiAgLy8gcGVxdWVuYSBwcmEgYWJyaWdhciBcIjIwMjZcIi4gVmlyYSBQSUxMIGFsb25nYWRvIChsYXJndXJhIGNvbmZvcnTDoXZlbFxuICAvLyArIHJhZGl1cyBwaWxsKS4gSGVpZ2h0IG1hbnRpZGEuXG4gIG5neC1tYXQtbXVsdGkteWVhci12aWV3IHtcbiAgICAvLyBTZW0gbGluaGEgZGUgaW5pY2lhaXMgbmVzc2EgdmlldyDigJQgbyBgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcmBcbiAgICAvLyAoc3BhY2VyIGRlZmF1bHQgZG8gTWF0ZXJpYWwpIHZpcmEgdW1hIGZvbGdhIHN1cGVyaW9yIGluw7p0aWwuIFNvbWUuXG4gICAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICB3aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50OyAgIC8vIHBpbGwgKD0gaGVpZ2h0LzIpXG4gICAgfVxuICB9XG5cbiAgLy8gU2VsZXRvciBkZSBNw4pTICh2aWV3IFwieWVhclwiKSDigJQgbWVzbWEgaWRlaWE6IFwiamFuXCIsIFwiZmV2XCIuLi4gcHJlY2lzYW1cbiAgLy8gZGUgbWFpcyBsYXJndXJhIHF1ZSBhIGPDqWx1bGEgZGVmYXVsdC4gUGlsbCBpZMOqbnRpY28gYW8gZG8gYW5vLlxuICBuZ3gtbWF0LXllYXItdmlldyB7XG4gICAgLy8gSWRlbSDigJQgc2VtIGxpbmhhIGRlIGluaWNpYWlzLCBzcGFjZXIgbsOjbyBmYXogc2VudGlkby5cbiAgICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5uZ3gtbWF0LXRpbWVwaWNrZXIge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuXG4gIGlucHV0LFxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gQXByb3hpbWEgYXMgMyBsaW5oYXMgKOKWsiAvIGhvcmE6bWludXRvIC8g4pa8KSDigJQgTWF0ZXJpYWwgZMOhIDQwcHggZGUgYWx0dXJhXG4gIC8vIG5vIGBtYXQtaWNvbi1idXR0b25gICsgZXNwYcOnbyBkZSB0ZDsgcmVkdXppbW9zIGEgYWx0dXJhIGRvcyBhcnJvd3NcbiAgLy8gZSBvIHBhZGRpbmcgZG9zIHRkcyBwcmEgY29tcGFjdGFyIG8gYmxvY28uXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIEJvdMO1ZXMgZGUgc3BpbiAo4payIOKWvCkgU0VNIGNocm9tZSBNYXRlcmlhbCDigJQgcGFyZWNlbSBIVE1MIHB1cm8sXG4gIC8vIGlndWFsIGFvcyArL+KIkiBkbyBudW1iZXItaW5wdXQ6IHRyYW5zcGFyZW50ZSBlbSByZXBvdXNvLCBmaWxsIGRvIHRva2VuXG4gIC8vIG5vIGhvdmVyLCBnbGlmbyBcImFjZW5kZVwiIG5vIGhvdmVyLCBzZW0gcmlwcGxlL2ZvY3VzLW92ZXJsYXkuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZyAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gLm1hdC1yaXBwbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24gbWF0LWljb24sXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgfVxuICAvLyBXcmFwcGVyIGludGVybm8gZG8gbWF0LWZvcm0tZmllbGQgKGlucHV0IGRhIGhvcmEvbWludXRvKSDigJQgemVyYSBhc1xuICAvLyBtYXJnZW5zL3BhZGRpbmdzIGRlZmF1bHQgZG8gYC5tYXQtZm9ybS1maWVsZC13cmFwcGVyYCBxdWUgZW1wdXJyYW1cbiAgLy8gYXMgbGluaGFzIGRlIHNldGFzIHByYSBsb25nZS5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCDigJQgUFJFU0VUIEdMT0JBTCBkbyBkYXRlcGlja2VyIG5vIGVzdGlsb1xuLy8gZGEgY2FpeGEgZGUgZmlsdHJvIChhcHAtY3VzdG9tLXNlYXJjaCBgLmNoaXAtZXhwYW5kZWRgKS4gRk9OVEUgw5pOSUNBOiBlZGl0YXJcbi8vIGFxdWkgcmVmbGV0ZSBlbSBUT0RPUyBvcyB1c29zLiBPcHQtaW4gcG9yIGNsYXNzZTsgY29tYmluZSBjb20gb3MgaW5wdXRzIGRvXG4vLyBjb21wb25lbnRlIGNvbmZvcm1lIG8gY2FzbyAoZmxhZ3Mgc2VwYXJhZG9zKTpcbi8vXG4vLyAgIDxhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQgY2xhc3M9XCJmaWx0ZXItc3R5bGVkXCJcbi8vICAgICAgICBbbG9ja0Nsb3NlXT1cInRydWVcIiAgICAgICAgLy8gY2FsZW5kw6FyaW8gbW9kYWwgKHPDsyBmZWNoYSBwb3IgWC9jaGVjaylcbi8vICAgICAgICBbaW5saW5lVGltZVpvbmVdPVwidHJ1ZVwiICAgLy8gZ2xvYm8gKyB2aXN1YWxpemFkb3IgZGUgZnVzb3Mgbm8gY2FtcG9cbi8vICAgICAgICBbZW5hYmxlZFRpbWVab25lXT1cInRydWVcIiAuLi4+XG4vL1xuLy8gVHLDqnMgcGXDp2FzIGRvIHByZXNldDogKDEpIGEgQ0FJWEEgY29tIGRhdGEgPSAuZmlsdGVyLXN0eWxlZCAoZXN0ZSBibG9jbyk7XG4vLyAoMikgbyBTRUxFVE9SIGRlIGRhdGEgPSBwb3B1cCBkbyBjYWxlbmTDoXJpbyAoLm1hdC1jYWxlbmRhciwgasOhIGdsb2JhbCBhY2ltYSlcbi8vICsgbW9kYWwgdmlhIFtsb2NrQ2xvc2VdOyAoMykgbyBWSVNVQUxJWkFET1IgZGUgZnVzb3MgPSBnbG9ibyArIGFwcC1kaWFsb2ctdGltZXpvbmVcbi8vIHZpYSBbaW5saW5lVGltZVpvbmVdIChlc3RpbG8gZG8gZ2xvYm8gbm8gZmltIGRlc3RlIGJsb2NvKS5cbi8vXG4vLyBPIG1hdC1mb3JtLWZpZWxkIChhcHBlYXJhbmNlPW91dGxpbmUpIMOpIFwiYWNoYXRhZG9cIjogZXNjb25kZW1vcyBvIGNocm9tZSBkb1xuLy8gb3V0bGluZSArIGxhYmVsIGZsdXR1YW50ZSArIHN1YnNjcmlwdCwgZSBkZXNlbmhhbW9zIGEgY2FpeGEgZGlyZXRvIG5vXG4vLyBgLm1hdC1mb3JtLWZpZWxkLWZsZXhgLiBHbG9iYWwgKHNlbSA6Om5nLWRlZXApOiBvIGNvbXBvbmVudGUgw6kgRW11bGF0ZWQsIG1hc1xuLy8gZXN0YXMgcmVncmFzIHZpdmVtIG5vIHN0eWxlc2hlZXQgR0xPQkFMLCBlbnTDo28gYXRpbmdlbSBhcyBjbGFzc2VzIGludGVybmFzXG4vLyBzZW0gcHJlY2lzYXIgZGUgZW5jYXBzdWxhbWVudG8uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5hcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvLyBEZWZhdWx0IGBmbGV4OiAwIDAgYXV0b2AgKGNvbnRlw7pkbyBuYXR1cmFsKSBzw7MgZm9yYSBkbyBncmlkIEJ1bG1hLlxuICAvLyBDb20gYC5jb2x1bW5gLCBkZWl4YW1vcyBhcyByZWdyYXMgZGUgZmxleCBkbyBCdWxtYSAoYGZsZXg6IDEgMSAwYCBldGMuKVxuICAvLyBkb21pbmFyZW0g4oCUIHNlbsOjbyBvIGhvc3QgbsOjbyBjcmVzY2UgbmEgY29sdW5hIGUgb3MgaXJtw6NvcyBmaWNhbVxuICAvLyBkZXNhbGluaGFkb3MgKGNhc28gZGFzIERhdGFzIHZzIExvY2FsaXphw6fDo28pLlxuICAmOm5vdCguY29sdW1uKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI2MHB4OyAgICAgLy8gbGFyZ3VyYSBkZWZhdWx0IGZvcmEgZG8gZ3JpZFxuICB9XG5cbiAgLy8gbWF0LWZvcm0tZmllbGQgaW50ZXJubyBleHBhbmRlIHByYSBsYXJndXJhIGRvIGhvc3QuIFNlbSBpc3NvLCBxdWFuZG9cbiAgLy8gbyBjb25zdW1pZG9yIHBhc3NhIGBbd2lkdGhdPVwiJzIwMHB4J1wiYCAodmlhIEhvc3RCaW5kaW5nIGVtIC50cyksIG8gaG9zdFxuICAvLyBnYW5oYSAyMDBweCBtYXMgbyBmb3JtLWZpZWxkIGNvbnRpbnVhIGNvbnRlbnQtc2l6ZWQg4oaSIGNhaXhhIHZpc3VhbG1lbnRlXG4gIC8vIG7Do28gcmVzcGVpdGEgYSBsYXJndXJhIHNvbGljaXRhZGEuXG4gIC8vIE7Dg08gdXNhciBgPmAgcG9ycXVlIG8gdGVtcGxhdGUgdGVtIHVtIHdyYXBwZXIgYDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWlucHV0XCI+YFxuICAvLyBlbnRyZSBvIGhvc3QgZSBvIGBtYXQtZm9ybS1maWVsZGAg4oCUIGRlc2NlbmRlbnRlLCBuw6NvIGZpbGhvIGRpcmV0by5cbiAgLmRhdGVwaWNrZXItaW5wdXQgeyB3aWR0aDogMTAwJTsgfVxuICAubWF0LWZvcm0tZmllbGQgeyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiAwOyB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1pbi13aWR0aDogMDsgfVxuICAvLyBTdWJzY3JpcHQtd3JhcHBlciB2aXPDrXZlbCBlbSBBQlNPTFVURSBhYmFpeG8gZGEgY2FpeGEgcHJhIG1vc3RyYXJcbiAgLy8gbWF0LWVycm9yIHNlbSBlbXB1cnJhciBvIGxheW91dCAobWVzbWEgdMOpY25pY2EgZG8gX2Zvcm0tZmllbGQuc2NzcykuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAubWF0LWVycm9yIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAvLyBFc2NvbmRlIG1hdC1oaW50IChpbmNsdWluZG8gbyBgP2AgZG8gYFtoZWxwXWApIG5hIMOhcmVhIGRlIHN1YnNjcmlwdCBwcmFcbiAgLy8gbsOjbyBzb2JyZXBvciBkaXZpZGVycyBlbnRyZSBzZcOnw7Vlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlcixcbiAgLm1hdC1oaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC8vIEEgY2FpeGEg4oCUIGVzcGVsaGEgYC5jaGlwLWV4cGFuZGVkYDogMzZweCwgcmFkaXVzL2Z1bmRvL2JvcmRhIGRvcyB0b2tlbnNcbiAgLy8gY2hyb21lLiBQYWRkaW5nLUxFRlQgcmVkdXppZG8gYSA0cHggcHJhIGVuY29zdGFyIG8gYm90w6NvIGRvIGNhbGVuZMOhcmlvXG4gIC8vIHByw7N4aW1vIGRhIGJvcmRhIChvIGJvdMOjbyB0ZW0gaG92ZXIgYmcgcXVlIGFicmHDp2Egb3MgNHB4IHJlc3RhbnRlcyk7XG4gIC8vIHBhZGRpbmctcmlnaHQgc2VndWUgMTBweCBkbyBnYXAgbmF0dXJhbCDDoCBkaXJlaXRhLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDNweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICAvLyBDbGljayBlbSBRVUFMUVVFUiBwb250byBkbyBib3ggYWJyZSBvIHBpY2tlciAoaGFuZGxlciBub1xuICAgIC8vIGAuZGF0ZXBpY2tlci1pbnB1dGAgd3JhcHBlcikg4oCUIGN1cnNvciBgcG9pbnRlcmAgc2luYWxpemEgaXNzby5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gSG92ZXIvZm9jbyBpbnN0YW50w6JuZW9zIOKAlCBzZW0gdHJhbnNpw6fDo28gKGEgcGVkaWRvIGRvIHVzdcOhcmlvKS5cbiAgICAvLyBOZWNlc3PDoXJpbyBwcmEgbyBmbGV4IGNoYWluIHNocmlua2VhcjogYG92ZXJmbG93OiBoaWRkZW5gIGNsaXBhIG8gY29udGXDumRvXG4gICAgLy8gcXVlIHZhemEgYWzDqW0gZGEgYm9yZGEgZG8gYm94OyBgbWluLXdpZHRoOiAwYCBsaWJlcmEgbyBpdGVtIGZpbGhvIGRvIGZsZXhcbiAgICAvLyBwYWkgYSBlbmNvbGhlciBhYmFpeG8gZG8gdGFtYW5obyBkZSBjb250ZcO6ZG8uXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgLy8gSW5wdXQvbWFzayBpbnRlcm5vIHRhbWLDqW0gaGVyZGEgbyBwb2ludGVyIChyZWFkb25seSwgY2xpY2sgZGVsZWdhZG8pLlxuICAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5jb250YWluZXItZGF0ZS10aW1lLW1hc2sge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtaW5maXggeyBtaW4td2lkdGg6IDA7IH1cbiAgLl9jb250YWluZXItaW5wdXQgeyBtaW4td2lkdGg6IDA7IH1cblxuICAvLyBDYWxlbmTDoXJpbyA9IMONQ09ORS1HVUlBIMOAIEVTUVVFUkRBIChjb21vIG8gYGZpbHRlcl9hbHRgIGRvIGZpbHRybyk6IG1vdmlkb1xuICAvLyBwLyBhbnRlcyBkbyB0ZXh0byAoYG9yZGVyOiAtMWApLCBtdXRlZCwgMThweCwgc2VtIGNocm9tZSBkZSBtYXQtaWNvbi1idXR0b24uXG4gIC8vIE8gc3VmZml4IGRvIE1hdGVyaWFsIMOpIGBkaXNwbGF5OmJsb2NrYCAobGluZS1ib3ggMjNweCkgKyB0b2dnbGUgaW5saW5lIG5hXG4gIC8vIGJhc2VsaW5lIChhZnVuZGF2YSB+Ni41cHgpOyBmb3LDp2Ftb3MgZmxleC1jZW50ZXIgbmEgY2FkZWlhLiBNYXRlcmlhbCBhaW5kYVxuICAvLyBhcGxpY2EgYHBvc2l0aW9uOnJlbGF0aXZlOyB0b3A6NHB4YCBubyBzdWZmaXgg4oCUIHplcmFtb3MuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIG9yZGVyOiAtMTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gQm90w6NvIDI4w5cyOCDigJQgw6FyZWEgY2xpY8OhdmVsIHF1YWRyYWRhLCBob3ZlciBiZyBcImFicmHDp2FuZG9cIiBvIGdsaWZvLlxuICAgIC8vIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIGAubWF0LWJ1dHRvbi1iYXNlIHsgaGVpZ2h0OiAzNnB4IH1gXG4gICAgLy8gZG8gTWF0ZXJpYWwgKHNwZWNpZmljaXR5IGFsdGEgKyByZWdyYSBnbG9iYWwgZG8gYnV0dG9uIHsgaGVpZ2h0OiAzNnB4IH1cbiAgICAvLyBlbSBgX2J1dHRvbi5zY3NzYCkuXG4gICAgd2lkdGg6IDI4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcbiAgfVxuICAvLyBTZW0gZmlsbCBkZSBob3ZlciBubyBib3TDo28gZG8gY2FsZW5kw6FyaW8g4oCUIHPDsyBhIENPUiBkbyBnbGlmbyBtdWRhXG4gIC8vIChtZXNtYSBsaW5ndWFnZW0gZG9zICsv4oiSIGUgY2hldnJvbiBkbyBzZWxlY3Q6IG8gY29udGFpbmVyIGZpY2EgbGltcG8pLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1idXR0b24tcmlwcGxlLFxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtcmlwcGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gTyDDrWNvbmUgZGVmYXVsdCBkbyB0b2dnbGUgw6kgdW0gU1ZHIENIRUlPIChcImdyb3NzZWlyb1wiKS4gRXNjb25kZW1vcyBlXG4gIC8vIHJlbmRlcml6YW1vcyBvIGdsaWZvIEZJTk8gZG8gTWF0ZXJpYWwgU3ltYm9scyB2aWEgbGlnYXR1cmUgbm8gYDo6YWZ0ZXJgLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUtZGVmYXVsdC1pY29uLFxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIHN2ZyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnY2FsZW5kYXJfdG9kYXknO1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgIC8vIE1lc21hIGNvciBkbyBzdWItYm90w6NvIGRvIHNlbGVjdCDigJQgbXV0ZWQgZW0gcmVwb3VzbywgXCJhY2VuZGVcIiBubyBob3Zlci5cbiAgICAvLyBTZW0gb3BhY2l0eSAobyB0b2tlbiBqw6EgZW1idXRlIGEgYWxmYSBjb3JyZXRhKS5cbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gIH1cbiAgLy8gXCJBY2VuZGVcIiBubyBob3ZlciBkYSBDQUlYQSBFIGVucXVhbnRvIG8gcGFpbmVsIGRvIGNhbGVuZMOhcmlvIGVzdMOhIGFiZXJ0b1xuICAvLyAobyBtb3VzZSBtaWdyYSBwcm8gcGFpbmVsIGUgcGVyZGVyaWEgbyBob3ZlciDigJQgaWd1YWwgYW8gY2hldnJvbiBkbyBzZWxlY3RcbiAgLy8gcXVhbmRvIGAuaXMtb3BlbmApLiBDb2JyZSBgLnBpY2tlci1vcGVuYCAod3JhcHBlciBwcsOzcHJpbyksIGAubWF0LWZvY3VzZWRgXG4gIC8vIChNYXRlcmlhbCBkdXJhbnRlIG92ZXJsYXkpIGUgY2FpeGFzIGNvbSB2aXN1YWxpemFkb3IgZGUgZnVzbyBhYmVydG9cbiAgLy8gKGA6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pYCkuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAucGlja2VyLW9wZW4gLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlcjtcbiAgfVxuXG4gIC8vIFByZXNlcnZhIG8gaGFsbyAoYm94LXNoYWRvdykgZGEgY2FpeGEgZW5xdWFudG8gbyB2aXN1YWxpemFkb3IgZGUgZnVzb1xuICAvLyBlc3TDoSBhYmVydG8g4oCUIG8gbW91c2UgbWlncmEgcHJvIHBvcG92ZXIgZSBvIGA6aG92ZXJgIG5hdHVyYWwgc2UgcGVyZGUuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIMOBcmVhIGRvIHZhbG9yIOKAlCBzZW0gbyBib3JkZXItdG9wIGRvIG91dGxpbmU7IGxhcmd1cmEgbmF0dXJhbCAoYSBjYWl4YVxuICAvLyBhYnJhw6dhIG8gY29udGXDumRvIG51bWEgw7puaWNhIGxpbmhhLCBjb21vIG8gZmlsdHJvKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFZhbG9yICsgb2Zmc2V0IG51bWEgw7puaWNhIGxpbmhhLCBjZW50cmFsaXphZG9zLCBnYXAgZW54dXRvIChlcmEgMTVweCkuXG4gIC5fY29udGFpbmVyLWlucHV0IHtcbiAgICBnYXA6IDZweCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICAvLyBUaXBvZ3JhZmlhIElEw4pOVElDQSBhbyBgLmNoaXAtaW5wdXRgIGRvIGZpbHRybzogMTRweCAvIDQwMCAvIC0wLjAxZW0gLyBjb3JcbiAgLy8gZGUgY29ycG8gZG8gY2hhaXIgVUkgKG8gZGVmYXVsdCBkbyBjb21wb25lbnRlIMOpIDEzcHgvNDMwKS5cbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAvLyBJTVBPUlRBTlRFOiBgZmxleC1iYXNpczogYXV0b2AgKG7Do28gMCkg4oCUIHPDsyBhc3NpbSBhIHNvbWEgZG9zIGJhc2lzIG5vXG4gICAgLy8gYC5fY29udGFpbmVyLWlucHV0YCBleGNlZGUgYSBsYXJndXJhIGRpc3BvbsOtdmVsIHF1YW5kbyBow6EgY29udGXDumRvXG4gICAgLy8gZGVtYWlzLCBkaXNwYXJhbmRvIG8gc2hyaW5rIHBoYXNlIGRvIGZsZXguIENvbSBgYmFzaXM6IDBgLCBhIG1hc2tcbiAgICAvLyBnYW5oYXZhIGVzcGHDp28gc8OzIHZpYSBgZ3Jvd2AsIGUgbyBvZmZzZXQgKHF1ZSB0ZW0gc2hyaW5rIDk5OTkpIG51bmNhXG4gICAgLy8gZXJhIGFjaW9uYWRvIHByYSBjb2xhcHNhci4gYG1pbi13aWR0aDogMGAgbGliZXJhIG8gc2hyaW5rIGFiYWl4byBkZVxuICAgIC8vIG1pbi1jb250ZW50OyBgb3ZlcmZsb3c6IGhpZGRlbmAgKyBgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNgIGFwbGljYW1cbiAgICAvLyBcIi4uLlwiIGNvbW8gw7psdGltbyByZWN1cnNvIChhcMOzcyBvIG9mZnNldCBjb2xhcHNhcikuXG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgIC8vIHRleHQtb3ZlcmZsb3cgZXhpZ2UgY29udGV4dG8gZGUgYmxvY29cbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cbiAgLnBsYWNlaG9sZGVyLW1hc2sge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gIH1cbiAgLy8gT2Zmc2V0IGRlIHRpbWV6b25lIFJFQ1VBRE8g4oCUIHNlY3VuZMOhcmlvIGFvIHZhbG9yLlxuICAvLyBgZmxleDogMCA5OTk5IGF1dG9gICsgYG1pbi13aWR0aDogMGAgKyBgb3ZlcmZsb3c6IGhpZGRlbmA6IHF1YW5kbyBow6FcbiAgLy8gb3ZlcmZsb3cgbm8gYC5fY29udGFpbmVyLWlucHV0YCwgbyBvZmZzZXQgZW5jb2xoZSB+OTk5OXggbWFpcyByw6FwaWRvIHF1ZSBhXG4gIC8vIGRhdGEgKHF1ZSB0ZW0gYGZsZXgtc2hyaW5rOiAxYCkuIFJlc3VsdGFkbzogbyBgKFVUQy4uLilgIFwic29tZVwiIFBSSU1FSVJPXG4gIC8vIChsYXJndXJhIGNvbGFwc2EgYSAwLCBjb250ZcO6ZG8gw6kgY2xpcGFkbyksIGUgU8OTIERFUE9JUyDigJQgc2UgYWluZGEgYXNzaW1cbiAgLy8gbsOjbyBjb3ViZXIg4oCUIGEgZGF0YSB0cnVuY2EgY29tIFwiLi4uXCIuIFNlbSB0aHJlc2hvbGQgZW0gcHgsIHNlbSBjb250YWluZXJcbiAgLy8gcXVlcnk6IG8gcHLDs3ByaW8gbW90b3IgZGUgZmxleCBkZWNpZGUgY29tIGJhc2Ugbm8gb3ZlcmZsb3cgcmVhbC5cbiAgLm9mZnNldCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleDogMCA5OTk5IGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBWSVNVQUxJWkFET1IgZGUgZnVzb3MgKHJlYWQtb25seSwgW2lubGluZVRpbWVab25lXSkgw6AgZGlyZWl0YSBkbyB2YWxvcjpcbiAgLy8gZ2xvYm8gU1VUSUwgKG1lbm9yICsgb3BhY2l0eSBiYWl4YSArIHRyYcOnbyBmaW5vKSwgc2VtIGNocm9tZSBkZSBtYXQtaWNvbi1idXR0b24uXG4gIGFwcC1kaWFsb2ctdGltZXpvbmUuaW5saW5lLXR6LXZpZXdlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgIC8vIE8gPHNwYW4+IHdyYXBwZXIgZG8gYm90w6NvIMOpIGlubGluZSAoYmFzZWxpbmUpIOKGkiBqb2dhdmEgbyBnbG9ibyB+MS4zcHhcbiAgICAvLyBhY2ltYSBkbyBjZW50cm8uIEZsZXgtY2VudGVyIG5vIHdyYXBwZXIgYWxpbmhhLlxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNtYWxsZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAgIC5zbWFsbGVyLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtcmlwcGxlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlO1xuICAgIH1cbiAgICAuc21hbGxlci1idXR0b246aG92ZXIgLm1hdC1pY29uIHsgb3BhY2l0eTogMC43OyB9XG4gIH1cblxuICAvLyBIb3Zlci9mb2NvID0gbWVzbWEgbGluZ3VhZ2VtIGRvIGAuY2hpcC1leHBhbmRlZGAuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluLFxuICAvLyBQaWNrZXIgYWJlcnRvOiBtYW50w6ltIG8gYm94IGNvbSBvIGxvb2sgXCJzZWxlY3RlZFwiIG1lc21vIHNlIG8gZm9jbyBkb1xuICAvLyB0ZWNsYWRvIHRpdmVyIG1pZ3JhZG8gcHJvIG92ZXJsYXkgZG8gY2FsZW5kw6FyaW8uXG4gIC5waWNrZXItb3BlbiAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLyBEYXJrIG1vZGUg4oCUIGVzcGVsaGEgb3MgdG9rZW5zICotZGFyayBkYSBjYWl4YSBkZSBmaWx0cm8uXG4uZGFyay10aGVtZSBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gIH1cbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC5wbGFjZWhvbGRlci1tYXNrIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyLFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3Blbikge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgfVxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmZvY3VzLXdpdGhpbixcbiAgLnBpY2tlci1vcGVuIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgfVxuICAvLyBDb3IgZG8gZ2xpZm8gZG8gY2FsZW5kw6FyaW8gZW0gZGFyayDigJQgbXV0ZWQgZW0gcmVwb3VzbywgYWNlbmRlIG5vIGhvdmVyLlxuICAvLyBTZW0gZmlsbCBubyBib3TDo28gKG1lc21hIGxpbmd1YWdlbSBkb3Mgb3V0cm9zIGdsaWZvcyBzZWN1bmTDoXJpb3MpLlxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgfVxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpoYXMoLnR6LWdsb2JlLm1lbnUtb3BlbikgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLnBpY2tlci1vcGVuIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIGRvcyBib3TDtWVzIOKAuSDigLogZG8gY2FsZW5kw6FyaW8g4oCUIHZpdmVtIG5vIG92ZXJsYXkgcG9ydGFsbGFkb1xuLy8gKGZvcmEgZG8gaG9zdCBgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0YCksIHBvciBpc3NvIGVzY29wbyBnbG9iYWwuXG4uZGFyay10aGVtZSAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbixcbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24ge1xuICBjb2xvcjogJGljb24tbXV0ZWQtZGFyayAhaW1wb3J0YW50O1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gRGFyazogY29yIGRlIGZ1bmRvIGRvIG1pbmktcGFpbmVsIGRvIGRhdGVwaWNrZXIgaWd1YWwgw6AgZG9zIHBhaW7DqWlzIGRvXG4vLyBzZWxlY3QgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmtgKSDigJQgbWFudMOpbSBhIGxpbmd1YWdlbSBjb2VzYVxuLy8gZW50cmUgb3ZlcmxheXMuXG4uZGFyay10aGVtZSAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50OyAgIC8vIG1lc21hIFwiYm9yZGFcIiBkb3MgcGFpbsOpaXMgZG8gc2VsZWN0XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1lc21hIHNvbWJyYSBkZSBwYWluZWwgZG8gZGFya1xuXG4gIC8vIENvciBkbyByw7N0dWxvIFwiSnVuLiBkZSAyMDI2XCIgbm8gZGFyayDigJQgbWVzbWEgZG8gY29udGXDumRvIGRhcyBjYWl4YXMgZGUgdGV4dG8uXG4gIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG4gIH1cbiAgLy8gSW5pY2lhaXMgZG9zIGRpYXMgZGEgc2VtYW5hIChEIFMgVCBRLi4uKSBubyBkYXJrIOKAlCBtdXRlZCBjbGFyb1xuICAvLyAobyBkZWZhdWx0IGRvIE1hdGVyaWFsIGZpY2EgcHJldG8gcXVhc2UgaW52aXPDrXZlbCBzb2JyZSBhIGZvbGhhIGVzY3VyYSkuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHRoIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgfVxuXG4gIC8vIEJvdMO1ZXMgZGUgc3BpbiAo4payIOKWvCkgZG8gdGltZXBpY2tlciBubyBkYXJrIOKAlCBtdXRlZCBjbGFybzsgaG92ZXJcbiAgLy8gXCJhY2VuZGVcIiBjb20gZnVuZG8gZG8gdG9rZW4gZGFyay5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcmsgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBDb3IgZG8gZGlhL23DqnMvYW5vIFNFTEVDSU9OQURPIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTyB0ZW1hIHByZS1jb21waWxhZG8gYGluZGlnby1waW5rLmNzc2AgZG8gTWF0ZXJpYWwgcGludGFcbi8vIGAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1IH1gIChpbmRpZ28gZG9cbi8vIE1hdGVyaWFsKS4gTm9zc28gYWNjZW50IMOpIHN5c3RlbUJsdWUgKCMwMDdBRkYpIOKAlCBtYWlzIGNsYXJvL3Zpdm8uIEFxdWlcbi8vIHNvYnJlc2NyZXZlbW9zIHByYSBtYW50ZXIgaWRlbnRpZGFkZSB2aXN1YWwgZG8gSkVNUzMgbm8gY2FsZW5kw6FyaW8uXG4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBIb3Zlci9mb2NvIGVtIGPDqWx1bGEgTsODTyBzZWxlY2lvbmFkYSDigJQgdsOpdSBzdXRpbCBkbyBhY2NlbnQgKG1lc21hXG4vLyByZWNlaXRhIGRvIE1hdGVyaWFsLCBzw7MgdHJvY2EgbyBodWUpLiB+MTUlIG9wYWNpdHkgbWFudMOpbSBsZWdpYmlsaWRhZGVcbi8vIGRvIGRpYTsgbyBNYXRlcmlhbCBkZWZhdWx0IHVzYXZhIGEgbWVzbWEgJSBzb2JyZSBvIGluZGlnby5cbi5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmVcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYWNjZW50LWJhY2tncm91bmQsIDAuMTUpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3ZlclxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQtYmFja2dyb3VuZC1kYXJrLCAwLjIyKSAhaW1wb3J0YW50O1xufVxuLy8gXCJIb2plXCIgKGPDqWx1bGEgZG8gZGlhIGF0dWFsLCBjb250b3Jubykg4oCUIGluZGlnbyBwb3IgZGVmYXVsdDsgbW92ZSBwLyBhY2NlbnQuXG4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBSRVNFVCBHTE9CQUwgYC5maWx0ZXItc3R5bGVkYCBwYXJhIG9zIHdyYXBwZXJzIGBhcHAtdGV4dC1pbnB1dGAgZVxuLy8gYGFwcC1zZWxlY3QtaW5wdXRgIChlIHZhcmlhbnRlcyAtZmxhZy8tbGUgcXVlIGNvbXBhcnRpbGhhbSBvIHRlbXBsYXRlLWJhc2UpLlxuLy9cbi8vIE1lc21vIGNocm9tZSBkb3MgcGlja2VycyBKRU1TMyAoZGF0ZXBpY2tlciAvIG51bWJlci1pbnB1dCAvIHRocmVzaG9sZC1iYW5kKTpcbi8vIGNhaXhhIDM2cHgsIHJhZGl1cy9ib3JkZXIvYmcgZG9zIHRva2VucyBjaHJvbWUsIHNlbSB1bmRlcmxpbmUgb3Ugb3V0bGluZVxuLy8gTWF0ZXJpYWwgbGVnYWRvcy4gT3B0LWluIHBvciBjbGFzc2Ugbm8gaG9zdCDigJQgYXNzaW0gYSBtaWdyYcOnw6NvIMOpIGdyYWR1YWxcbi8vIChww6FnaW5hLWEtcMOhZ2luYSkgZSBmb3JtYXMgcmVhdGl2YXMvbmdNb2RlbC92YWxpZGF0b3JzIGNvbnRpbnVhbSBpbnRhY3Rvcy5cbi8vXG4vLyBVU086XG4vLyAgIDxhcHAtdGV4dC1pbnB1dCBjbGFzcz1cImZpbHRlci1zdHlsZWRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIC4uLi8+XG4vLyAgIDxhcHAtc2VsZWN0LWlucHV0IGNsYXNzPVwiZmlsdGVyLXN0eWxlZFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgLi4uLz5cbi8vXG4vLyBDb21iaW5lIGNvbSBgW3dpZHRoXT1cIic8bj4nXCJgIHF1YW5kbyBwcmVjaXNhciBkZSBsYXJndXJhIGZpeGEgKGRlZmF1bHRcbi8vIHZpcmEgbyBjb250ZcO6ZG8gbmF0dXJhbCDigJQgaG9zdCDDqSBgZGlzcGxheTogYmxvY2tgKS5cbi8vXG4vLyBOT1RBIOKAlCB2aWV3IGVuY2Fwc3VsYXRpb24gKGBmZWVkYmFja19hbmd1bGFyX3ZpZXdfZW5jYXBzdWxhdGlvbmApOiBlc3RlXG4vLyBhcnF1aXZvIMOpIEdMT0JBTCAoaW1wb3J0YWRvIGVtIGBfY29yZS5zY3NzYCkuIE7Do28gdGVudGUgcmVwbGljYXIgZXNzYXNcbi8vIHJlZ3JhcyBubyBzY29wZWQgc2NzcyBkbyBjb21wb25lbnRlIGNvbnN1bWlkb3I7IG8gQW5ndWxhciBkcm9wYVxuLy8gc2lsZW5jaW9zYW1lbnRlIHJlZ3JhcyBxdWUgdG9jYW0gaW50ZXJub3MgZG8gTWF0ZXJpYWwuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiVmaWx0ZXItc3R5bGVkLWJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIFdyYXBwZXIgaW50ZXJubyBnZXJhZG8gcGVsbyBhcHAtdGV4dC1pbnB1dCAoYGRpdi5udW1lcmljLWlucHV0YCkgZSBwZWxvc1xuICAvLyBhcHAtc2VsZWN0LWlucHV0Ly1mbGFnLy1sZSAoYGRpdi5zZWxlY3QtaW5wdXRgL2BkaXYuc2VsZWN0LWlucHV0LWxlYCkuXG4gIC8vIE8gYC50aS1kZXNjcmlwdGlvbmAgbW9yYSBERU5UUk8gZGVzc2Ugd3JhcHBlciAoaWd1YWwgYW8gYGR0LWRlc2NyaXB0aW9uYFxuICAvLyBkZW50cm8gZG8gYC5kYXRlcGlja2VyLWlucHV0YCkgcHJhIGVzY2FwYXIgZG8gcGFkZGluZyBkbyBgLmNvbHVtbmAgQnVsbWFcbiAgLy8gZG8gcGFpIOKAlCBlbnTDo28gw6kgbyBXUkFQUEVSIHF1ZSBnYW5oYSBgcG9zaXRpb246IHJlbGF0aXZlYCwgbsOjbyBvIGhvc3QuXG4gID4gLm51bWVyaWMtaW5wdXQsXG4gID4gZGl2LnNlbGVjdC1pbnB1dCxcbiAgPiBkaXYuc2VsZWN0LWlucHV0LWxlLFxuICA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgbWF0LWZvcm0tZmllbGQgeyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiAwOyB9XG5cbiAgLy8gWmVyYSBvIGNocm9tZSBsZWdhY3kvb3V0bGluZSBkbyBNYXRlcmlhbCDigJQgdmFtb3MgcGludGFyIGEgY2FpeGEgbsOzcyBtZXNtb3MuXG4gIC8vIEVzY29uZGUgdGFtYsOpbSBvIGAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcmAgKG8gbWF0LWxhYmVsIGZsdXR1YW50ZVxuICAvLyBpbnRlcm5vIGRvIE1hdGVyaWFsKSDigJQgdXNhbW9zIGxhYmVsIEVTVFJVVFVSQUwgZXh0ZXJubyAoLnRpLWRlc2NyaXB0aW9uKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IG1pbi13aWR0aDogMDsgfVxuICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtcGxhY2Vob2xkZXItcmVxdWlyZWQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTdWJzY3JpcHQtd3JhcHBlciAow6FyZWEgZGUgZXJyby9oaW50IGRvIE1hdGVyaWFsKSDigJQgcG9zaWNpb25hZG9cbiAgLy8gQUJTT0xVVE8gbG9nbyBhYmFpeG8gZGEgY2FpeGEsIHByYSBuw6NvIGVtcHVycmFyIG8gbGF5b3V0LiBTw7MgZmljYVxuICAvLyB2aXPDrXZlbCBxdWFuZG8gbyBmb3JtLWZpZWxkIGVzdMOhIGludsOhbGlkbyBFIHRvdWNoZWQvZGlydHkgKE1hdGVyaWFsXG4gIC8vIGrDoSBjb250cm9sYSBpc3NvIHZpYSBgbWF0LWZvcm0tZmllbGQtaW52YWxpZGApLlxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLy8gRXNjb25kZSBtYXQtaGludCAoaW5jbHVpbmRvIG8gYD9gIGRvIGBbaGVscF1gKSBuYSDDoXJlYSBkZSBzdWJzY3JpcHQgcHJhXG4gIC8vIG7Do28gc29icmVwb3IgZGl2aWRlcnMgZW50cmUgc2XDp8O1ZXMuIE8gc3Vic2NyaXB0IEFCU09MVVRFIGV4cMO1ZSBzw7NcbiAgLy8gZXJyb3Mg4oCUIGZlZWRiYWNrIGluZm9ybWF0aXZvIChgW2hlbHBdYCkgZGV2ZSBpciBlbSBvdXRybyBsdWdhci5cbiAgLm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlcixcbiAgLm1hdC1oaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLy8gTGFiZWwgRVNUUlVUVVJBTCBhY2ltYSBkYSBjYWl4YSDigJQgbWVzbW8gcGFkcsOjbyBkb3MgZGVtYWlzIHBpY2tlcnMgZ2xvYmFpc1xuICAvLyAoYC5kdC1kZXNjcmlwdGlvbmAgbm8gZGF0ZXBpY2tlciwgYC5uaS1kZXNjcmlwdGlvbmAgbm8gbnVtYmVyLWlucHV0KS5cbiAgLy8gUmVuZGVyaXphZG8gcGVsbyB0ZW1wbGF0ZSBkbyB3cmFwcGVyIChgPGxhYmVsICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAvLyBjbGFzcz1cInRpLWRlc2NyaXB0aW9uXCI+YCkgQU5URVMgZG8gbWF0LWZvcm0tZmllbGQuIFBvc2ljaW9uYW1lbnRvXG4gIC8vIEFCU09MVVRPIHNvYnJlIG8gaG9zdCAocXVlIHRlbSBgcG9zaXRpb246IHJlbGF0aXZlYCkuXG4gIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNDMwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAgIC8vIHBlcm1pdGUgbyBob3ZlciDihpIgbWF0VG9vbHRpcCAoYXBwT3ZlcmZsb3dUb29sdGlwKSBubyBsYWJlbFxuXG4gICAgLy8gTWFyY2Fkb3IgZGUgY2FtcG8gb2JyaWdhdMOzcmlvIChgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1tYXJrXCI+Kjwvc3Bhbj5gKS5cbiAgICAvLyBWZXJtZWxobyBpbnN0aXR1Y2lvbmFsICsgbWFyZ2luLWxlZnQgbcOtbmltbyDigJQgc2VndWUgY29udmVuw6fDo28gZG9cbiAgICAvLyBzaXN0ZW1hICh1c2FkYSB0YW1iw6ltIGVtIGAuamVtcy1zZWxlY3QtZGVzY3JpcHRpb25gKS5cbiAgICAucmVxdWlyZWQtbWFyayB7XG4gICAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQSBjYWl4YSB2aXPDrXZlbCDigJQgZ2VvbWV0cmlhL3Rva2VucyBpZ3VhaXMgYW9zIGRlbWFpcyBwaWNrZXJzIGRvIEpFTVMzLlxuICAvLyBgbWFyZ2luLXRvcDogMTZweGAgcmVzZXJ2YSBvIGVzcGHDp28gZG8gbGFiZWwtYWNpbWEgKGxhYmVsIGFic29sdXRvIG5vXG4gIC8vIHRvcG8gZGEgYC5tYXQtZm9ybS1maWVsZGApOyBtZXNtbyBvZmZzZXQgdXNhZG8gcGVsb1xuICAvLyBgLmR0LWRlc2NyaXB0aW9uICsgbWF0LWZvcm0tZmllbGRgIG5vIGRhdGVwaWNrZXIgZSBwZWxvXG4gIC8vIGAubmktZGVzY3JpcHRpb24gKyAubnVtYmVyLWlucHV0LWJveGAgbm8gbnVtYmVyLWlucHV0LlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtaW4taGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgLy8gSG92ZXIvZm9jbyBpbnN0YW50w6JuZW9zIOKAlCBzZW0gdHJhbnNpw6fDo28gKGEgcGVkaWRvIGRvIHVzdcOhcmlvKS5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFF1YW5kbyBow6EgYm90w6NvIGRlIGNvcGlhciBubyBzdWZmaXggKGBhcHAtdGV4dC1pbnB1dCBbY29weVZhbHVlXWApLFxuICAvLyB6ZXJhIG8gcGFkZGluZy1yaWdodCBwcm8gYm90w6NvIGZpY2FyIGZsdXNoIGNvbSBhIGJvcmRhIGRpcmVpdGEuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudGktY29weS1idG4pIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OyAgICAgICAgICAgICAvLyBjZW50cmFsaXphIG8gaW5wdXQgdmVydGljYWxtZW50ZSB2aWEgZmxleFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDsgICAgICAgLy8gb2N1cGEgdG9kYSBhIGFsdHVyYSBkbyBgLm1hdC1mb3JtLWZpZWxkLWZsZXhgXG4gIH1cblxuICAvLyBQcmVmaXgvc3VmZml4IGNvbSBhIE1FU01BIHRpcG9ncmFmaWEvYmFzZWxpbmUgZG8gaW5wdXQg4oCUIHZpc3VhbG1lbnRlXG4gIC8vIGNvbnTDrW51b3MgKGV4LjogcHJlZml4IGNvbSBhIFVSTC1iYXNlLCBpbnB1dCBjb20gbyBzbHVnIGRvIGV2ZW50bykuXG4gIC8vIGxpbmUtaGVpZ2h0IGZpeG8gaWTDqm50aWNvIGFvIGRvIGlucHV0ICsgZGlzcGxheTogaW5saW5lLWZsZXggKyBjZW50ZXJcbiAgLy8gYWxpZ25tZW50IGdhcmFudGVtIHF1ZSBwcmVmaXggZSBpbnB1dCBmaXF1ZW0gbm8gTUVTTU8gZWl4byB2ZXJ0aWNhbFxuICAvLyAoc2VtIGlzc28sIG8gbGVnYWN5IGFwbGljYSB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgY29tIHRyYW5zZm9ybVxuICAvLyBwcsOzcHJpbyBkbyBwcmVmaXgsIHF1ZSBkZXNhbGluaGEgbGV2ZW1lbnRlKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCxcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gVGV4dG8gZG8gcHJlZml4L3N1ZmZpeCBzZWxlY2lvbsOhdmVsIGNvbSBjdXJzb3IgZGUgdGV4dG8uIE1hdGVyaWFsIHBvclxuICAgIC8vIGRlZmF1bHQgdXNhIGB1c2VyLXNlbGVjdDogbm9uZWAgZW0gcHJlZml4L3N1ZmZpeCAoZXNwZXJhbmRvIMOtY29uZXMpO1xuICAgIC8vIGFxdWkgZm9yw6dhbW9zIHRleHRvLWxpa2UgcHJhIHVzdcOhcmlvIHBvZGVyIGRlc3RhY2FyIGUgY29waWFyIG8gdHJlY2hvLlxuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIGN1cnNvcjogdGV4dDtcbiAgfVxuXG4gIC8vIElucHV0IGNvbSBsaW5lLWhlaWdodCBmaXhvIGlkw6pudGljbyBhbyBwcmVmaXgvc3VmZml4LiBgIWltcG9ydGFudGBcbiAgLy8gcHJhIHZlbmNlciBvIGBtYXJnaW4tdG9wOiAtMC4wNjI1ZW1gIGUgYHZlcnRpY2FsLWFsaWduOiBib3R0b21gIHF1ZVxuICAvLyBvIE1hdGVyaWFsIGxlZ2FjeSBhcGxpY2Egbm8gYC5tYXQtaW5wdXQtZWxlbWVudGAgKHF1ZSB0ZW0gbWVzbWFcbiAgLy8gZXNwZWNpZmljaWRhZGUgcXVlIGEgbm9zc2EgcmVncmEpLiBTZW0gYWx0dXJhIGZpeGEgcHJhIGRlaXhhciBvIGZsZXhcbiAgLy8gZG8gaW5maXggY2VudHJhbGl6YXIgbyBpbnB1dC5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUaXBvZ3JhZmlhIGRvIElOUFVUL1NFTEVDVCDigJQgYWxpbmhhIGNvbSBgLmNoaXAtaW5wdXRgIGRvIGZpbHRyb1xuICAvLyAoMTQvNDAwLy0wLjAxZW0pIHVzYWRhIG5vcyBkZW1haXMgcHJlc2V0cyBkbyBzaXN0ZW1hLlxuICAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jbyDigJQgTUVTTUEgbGluZ3VhZ2VtIGRvIGBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuZmlsdGVyLXN0eWxlZGBcbiAgLy8gKGUgZG8gYC5jaGlwLWV4cGFuZGVkYCk6IGhvdmVyIGdhbmhhIHJpbmcgMXB4IG5hIGJvcmRhLWFjdGl2ZTsgZm9jb1xuICAvLyBtYW50w6ltIG8gcmluZyBtYXMgdHJvY2EgYSBjb3IgcGVsbyBhY2NlbnQuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG4gICYubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gRXN0YWRvIGludsOhbGlkbyDigJQgYm9yZGEgdmVybWVsaGEgKHNlbSBvIFwicmluZ1wiIGRlIGVycm8gZ3Jvc3NvIGRvIE1hdGVyaWFsKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICB9XG5cbiAgLy8gRXN0YWRvIERFU0FCSUxJVEFETyAoZXguOiBzZWxlY3QgZGUgZmlsdHJvIHNlbSBvcMOnw7VlcyBwcmEgbW9zdHJhcik6IGNhaXhhXG4gIC8vIGFwZW5hcyBlc21hZWNpZGEuIGBwb2ludGVyLWV2ZW50czogbm9uZWAgbmEgY2FpeGEgw6kgbyBwdWxvIGRvIGdhdG8g4oCUIHNlbVxuICAvLyBldmVudG9zIGRlIG1vdXNlIG8gYDpob3ZlcmAgTlVOQ0EgZGlzcGFyYSwgZW50w6NvIG8gc3ViLWJvdMOjbyBkbyBjaGV2cm9uIG7Do29cbiAgLy8gXCJhY2VuZGVcIiwgbsOjbyBhcGFyZWNlIGN1cnNvciBibG9xdWVhZG8gZSBuZW5odW0gcmVhbGNlIGVzY2FwYS4gTyBzZWxlY3QgasOhXG4gIC8vIGVzdMOhIGRlc2FiaWxpdGFkbyAobmFkYSBwcmEgY2xpY2FyKSwgZW50w6NvIHplcmFyIHBvaW50ZXItZXZlbnRzIMOpIHNlZ3Vyby5cbiAgLy8gTyBNYXRlcmlhbCBtYXJjYSBvIGBtYXQtZm9ybS1maWVsZGAgY29tIGAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWRgLlxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIExhYmVsIGVzbWFlY2lkbyBqdW50byBxdWFuZG8gYSBjYWl4YSBlc3TDoSBkZXNhYmlsaXRhZGEuIE8gYC50aS1kZXNjcmlwdGlvbmBcbiAgLy8gw6kgaXJtw6NvIEFOVEVSSU9SIGRvIG1hdC1mb3JtLWZpZWxkIChmb3JhIGRvIGFsY2FuY2UgZGUgY29tYmluYXRvciBjb211bSksXG4gIC8vIGVudMOjbyBkZXRlY3RhbW9zIG8gZXN0YWRvIHBlbG8gd3JhcHBlciBjb20gYDpoYXMoKWAuXG4gID4gZGl2OmhhcygubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogdGV4dC1pbnB1dCAoaW5wdXQgc2ltcGxlcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5hcHAtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBpbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlIChpbnB1dCArIG1hdC1hdXRvY29tcGxldGUpIOKUgOKUgOKUgOKUgFxuLy8gRXN0ZW5kZSBUZXh0SW5wdXRDb21wb25lbnQg4oCUIGhlcmRhIGBkZXNjcmlwdGlvbmAgZSB2aXN1YWwgZGUgaW5wdXQuXG5hcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBtdWx0aWxpbmUtdGV4dC1pbnB1dCAodGV4dGFyZWEpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGlmZXJlbnRlIGRvcyBkZW1haXM6IGFsdHVyYSBuw6NvLWZpeGEgKGNyZXNjZSBjb20gYFtyb3dzXWApLiBSZXVzYSBhXG4vLyBjYWl4YSBjaHJvbWUgbWFzIGxpYmVyYSBoZWlnaHQgYXV0by9taW4taGVpZ2h0LlxuYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcblxuICAvLyBXcmFwcGVyIGxvY2FsIGVzcGVjw61maWNvIGRvIG11bHRpbGluZSAoYGRpdi5tdWx0aWxpbmUtdGV4dC1pbnB1dGApLlxuICA+IC5tdWx0aWxpbmUtdGV4dC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gQm94IGFicmHDp2EgbyB0ZXh0YXJlYSDigJQgc2VtIGFsdHVyYSBmaXhhIG5lbSBtaW4taGVpZ2h0IHByw7NwcmlvIChvIG1pbiDDqVxuICAvLyBkbyB0ZXh0YXJlYSk7IHBhZGRpbmcgdmVydGljYWwgbWFudMOpbSBvIHJlc3Bpcm8gaW50ZXJuby4gYG1hcmdpbjogMGBcbiAgLy8gc29icmVzY3JldmUgbyBgbWFyZ2luOiAxNnB4IDAgMGAgaGVyZGFkbyBkbyBiYXNlIHByZXNldCAocXVlIHJlc2VydmFyaWFcbiAgLy8gZXNwYcOnbyBwcm8gbGFiZWwtYWNpbWEgYWJzb2x1dG8g4oCUIG7Do28gdXNhZG8gbm8gbXVsdGlsaW5lIHBhZHLDo28pLlxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggMTBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gUXVhbmRvIEjDgSBkZXNjcmlwdGlvbiBsYWJlbCAoYC50aS1kZXNjcmlwdGlvbmApLCByZXN0YXVyYSBhIHJlc2VydmEgZGVcbiAgLy8gMTZweCBubyB0b3BvIHByYSBxdWUgbyBsYWJlbCBhYnNvbHV0byBuw6NvIGZpcXVlIHNvYnJlcG9zdG8gYW8gdGV4dGFyZWEuXG4gICY6aGFzKD4gLm11bHRpbGluZS10ZXh0LWlucHV0ID4gLnRpLWRlc2NyaXB0aW9uKSAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgZG8gaW5maXgtZmxleCBoZXJkYWRvIGRvIGJhc2UgcHJlc2V0IChuZWNlc3PDoXJpbyBwcm8gYWxpbmhhbWVudG9cbiAgLy8gcHJlZml4K2lucHV0IG5vIHRleHQtaW5wdXQpLiBQcm8gbXVsdGlsaW5lLCB0ZXh0YXJlYSDDqSBvIMO6bmljbyBmaWxobyBlXG4gIC8vIHF1ZXJlbW9zIHF1ZSBlbGUgXCJmaXF1ZSBjb2xhZG9cIiBubyB0b3BvIGRvIGJveCwgc2VtIGNlbnRyYWxpemHDp8OjbyBvdVxuICAvLyBzdHJldGNoIHF1ZSBjcmlhIGdhcCBhY2ltYSBkbyB0ZXh0by5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRleHRhcmVhIGF1dG8tY3Jlc2NlIHZpYSBgY2RrVGV4dGFyZWFBdXRvc2l6ZWAg4oCUIGByZXNpemU6IG5vbmVgIGRlc2xpZ2FcbiAgLy8gbyBoYW5kbGUgbWFudWFsIGRvIGJyb3dzZXIgKENESyBhanVzdGEgc296aW5obyBhbyBjb250ZcO6ZG8pLiBgb3ZlcmZsb3c6XG4gIC8vIGhpZGRlbmAgaW1wZWRlIHNjcm9sbGJhciDigJQgYSBjYWl4YSBTRU1QUkUgbW9zdHJhIHRvZG8gbyB0ZXh0by5cbiAgLy8gQSBhbHR1cmEgTcONTklNQSDDqSBjb250cm9sYWRhIHBlbG8gYFtjZGtBdXRvc2l6ZU1pblJvd3NdYCBubyB0ZW1wbGF0ZVxuICAvLyAoY29uc3VtaWRvcmVzIHBhc3NhbSBgcm93cz1cIk5cImApIOKAlCBOw4NPIHVzYXIgQ1NTIGBtaW4taGVpZ2h0YCBhcXVpXG4gIC8vIChjYXVzYSBkb3VibGUtbWluIGNvbSBvIENESyBlIGEgY2FpeGEgY3Jlc2NlIGVycmFkbykuXG4gIHRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgICAgICAgLy8gQ0RLIGF1dG9zaXplIG1lZGUgZW0gY29udGVudC1ib3g7IHNlbSBpc3RvIGJvcmRhK3BhZGRpbmcgcG9kZW0gY2xpcGFyXG4gICAgLy8gbGluZS1oZWlnaHQgZXhwbMOtY2l0byAoMS41ID0gZXNwYcOnYW1lbnRvIHJlc3BpcsOhdmVsIGRlIGxlaXR1cmEpIOKAlFxuICAgIC8vIGBub3JtYWxgIGNhdXNhIG8gYGNka1RleHRhcmVhQXV0b3NpemVgIGEgc3ViLW1lZGlyIG8gc2Nyb2xsSGVpZ2h0XG4gICAgLy8gKGJyb3dzZXJzIHJldG9ybmFtIHVtIHZhbG9yIHF1ZSBkaWZlcmUgYWxndW5zIHB4IGRvIGFsdHVyYSByZWFsLFxuICAgIC8vIGNsaXBhbmRvIGEgw7psdGltYSBsaW5oYSkuIFZhbG9yIG51bcOpcmljbyDDqSBkZXRlcm1pbsOtc3RpY28uXG4gICAgLy8gYCFpbXBvcnRhbnRgIHNvYnJlc2NyZXZlIG8gYGxpbmUtaGVpZ2h0OiAxYCBkbyBiYXNlIHByZXNldCAocXVlIMOpXG4gICAgLy8gcHJvIGFsaW5oYW1lbnRvIHByZWZpeCtpbnB1dCBubyBpbmxpbmUgaW5wdXQpLlxuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgICAvLyBQYWRkaW5nLWJvdHRvbSAycHggPSBidWZmZXIgcHJhIGNvYnJpciBhcnJlZG9uZGFtZW50b3MgZG8gYXV0b3NpemVcbiAgICAvLyBxdWUgYWluZGEgYXNzaW0gY29ydGFtIGEgw7psdGltYSBsaW5oYSBlbSBhbGd1bnMgYnJvd3NlcnMvZm9udGVzLlxuICAgIHBhZGRpbmc6IDAgMCAycHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilIDilIDilIAgVmFyaWFudDogc2VsZWN0LWlucHV0IChjb21ibyBib3gpIGUgdmFyaWFudGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUmVmaW5hZG8gMjAyNi0wNiBwcmEgcHV4YXIgbGluZ3VhZ2VtIE5BVElWQSBkZSBzZWxlY3QgZG8gbWFjT1MvV2luZG93czpcbi8vICAgMS4gQmcgZGEgY2FpeGEgbWFpcyBTVVRJTCAoc2VtaS10cmFuc3BhcmVudGUsIGVzdGlsbyBOU1BvcFVwQnV0dG9uKS5cbi8vICAgMi4gQ2hldnJvbiBEVVBMTyAo4oeFIHVwK2Rvd24pIGNvbW8gbm8gbWFjT1MuXG4vLyAgIDMuIFNVQi1CT1TDg08gdmlzdWFsIMOgIGRpcmVpdGEgKGxldmUgYmcgKyBib3JkZXItbGVmdCkgY29tbyBXaW5kb3dzLlxuLy8gICA0LiBFc3RhZG9zIGRlIGZvY28vaG92ZXIgcGVybWFuZWNlbSBpbnRhY3RvcyAoYWNjZW50KSDigJQgc8OzIG8gcmVzdG8gbXVkYS5cbmFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbmFwcC1zZWxlY3QtaW5wdXQtZmxhZy5maWx0ZXItc3R5bGVkLFxuYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkIHtcbiAgQGV4dGVuZCAlZmlsdGVyLXN0eWxlZC1ib3g7XG5cbiAgLy8gMSkgQmcgc2VtaS10cmFuc3BhcmVudGUgc29icmUgbyBjYW52YXMg4oCUIGZsdXR1YSBzdXRpbCwgZXN0aWxvIG1hY09TLlxuICAvLyAgICBNYW50w6ltIGxlZ2liaWxpZGFkZSBkbyB0ZXh0byAoYm9yZGEgY29udGludWEgZGVmaW5pbmRvIG8gYm94KS5cbiAgLy8gICAg4pqgIE7Dg08gc29icmVzY3JldmVyIGBkaXNwbGF5YC9gYWxpZ24taXRlbXNgIGRvIGAubWF0LXNlbGVjdC12YWx1ZWAgb3VcbiAgLy8gICAgYC5tYXQtc2VsZWN0LXRyaWdnZXJgIOKAlCBNYXRlcmlhbCBsZWdhY3kgdXNhIGBkaXNwbGF5OiB0YWJsZS1jZWxsYCBub1xuICAvLyAgICB2YWx1ZTsgdHJvY2FyIHAvIGZsZXggZmF6IG8gdGV4dG8gc3VtaXIuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpO1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgMTEgdXNhIGBkaXNwbGF5OiBpbmxpbmUtdGFibGVgIG5vIGAubWF0LXNlbGVjdC10cmlnZ2VyYCAoY29tXG4gIC8vIHZhbHVlL2Fycm93IGNvbW8gdGFibGUtY2VsbHMpLiBJc3NvIGltcGVkZSBvIHdyYXBwZXIgZG8gYXJyb3cgZGVcbiAgLy8gcmVzcGVpdGFyIGBhbGlnbi1zZWxmYCBlIHRyYXZhIGEgYWx0dXJhIGRhIHJvdyBuYSBkbyB0ZXh0by4gRm9yw6dhbW9zXG4gIC8vIEZMRVggbm8gdHJpZ2dlciBlIGBkaXNwbGF5OiBibG9jazsgZmxleDogMSAxIGF1dG9gIG5vIHZhbHVlIHByYVxuICAvLyBwcmVzZXJ2YXIgbyByZW5kZXJpbmcgZG8gdGV4dG8gKGVsbGlwc2lzKSDigJQgc2VtIHF1ZWJyYXIgb1xuICAvLyBgPG1hdC1zZWxlY3QtdmFsdWUtdGV4dD5gLCBxdWUgZXJhIG8gbW90aXZvIG9yaWdpbmFsIGRlIG1hbnRlciBvXG4gIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGwgbm8gdmFsdWUuXG4gIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWF0LXNlbGVjdC12YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC8vIDMpIFN1Yi1ib3TDo28gZG8gY2hldnJvbiDigJQgUVVBRFJBRE8gY29tIGNhbnRvcyA0cHggKGlkw6pudGljbyBhb1xuICAvLyAgICBgYXBwLWplbXMtc2VsZWN0YCkuIEJnIHZpYSB0b2tlbiBgJHN1cmZhY2UtcmFpc2VkYCAoaGFybW9uaXphIGNvbVxuICAvLyAgICBvIHJlc3RvIGRvIGNoYWlyIFVJKS4gTWFyZ2VtIG5lZ2F0aXZhIDhweCBwdXhhIG8gc3ViLWJvdMOjbyBwcmFcbiAgLy8gICAgfjJweCBkYSBib3JkYSBkaXJlaXRhIGRvIGJveCAocGFkZGluZy1yaWdodCBkbyBmbGV4IMOpIDEwcHgpLlxuICAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlOyAgIC8vIG1lc21hIGNvciBkYSBib3JkYSBkYSBjYWl4YTsgZXN0w6F0aWNhXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAgICAgICAgICAgICAgICAgICAgLy8gXCJzb21lXCIgbmEgY2FpeGE7IGhvdmVyIGRhIGNhaXhhIHByZWVuY2hlXG4gICAgLy8gWmVyYSBsaW5lLWhlaWdodCArIHRyYW5zZm9ybSBoZXJkYWRvcyBkbyBNYXRlcmlhbCDigJQgZXZpdGEgb2Zmc2V0XG4gICAgLy8gdmVydGljYWwgZmFudGFzbWEgZGVudHJvIGRvIGPDrXJjdWxvLlxuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBIb3ZlciBkYSBDQUlYQSBFIG1lbnUgYWJlcnRvIChtYXQtZm9jdXNlZCDihpIgbWF0LXNlbGVjdCBjb20gcGFpbmVsIGFiZXJ0bylcbiAgLy8g4oaSIHN1Yi1ib3TDo28gZ2FuaGEgZmlsbCBkbyB0b2tlbiBlIG8gY2hldnJvbiBcImFjZW5kZVwiIChjb3IgbWFpcyBlc2N1cmEvY2xhcmEpLlxuICAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyLFxuICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LFxuICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3ZlcjtcbiAgfVxuXG4gIC8vIDIpIENoZXZyb24gRFVQTE8gKHVwK2Rvd24pIOKAlCBTRiBTeW1ib2wgYGNoZXZyb24udXAuY2hldnJvbi5kb3duYCBlbVxuICAvLyAgICBwZXNvIGAubWVkaXVtYC4gQ29yIHZpYSBgVUlDb2xvci5zZWNvbmRhcnlMYWJlbGAgZGEgQXBwbGVcbiAgLy8gICAgKGxpZ2h0OiByZ2JhKDYwLDYwLDY3LDAuNjApIC8gZGFyazogcmdiYSgyMzUsMjM1LDI0NSwwLjYwKSkuXG4gIC8vICAgIFRhbWFuaG8gfjEww5cxMnB0IG1lZGlkbyBlbSBwcmludHMgZG8gU3lzdGVtIFNldHRpbmdzLlxuICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvLyBNYXRlcmlhbCBhcGxpY2EgYHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKWAgbm8gYXJyb3cgcC8gY29tcGVuc2FyXG4gICAgLy8gbyB0cmnDom5ndWxvIENTUy1ib3JkZXIgb3JpZ2luYWwuIENvbW8gdXNhbW9zIFNWRyBtYXNrLCBvIHRyYW5zZm9ybVxuICAgIC8vIHPDsyBkZXNjZW50cmFsaXphIOKAlCB6ZXJhbW9zLlxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAnIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCAxMCAxMic+PHBhdGggZD0nTTIgNCBMNSAxIEw4IDQnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48cGF0aCBkPSdNMiA4IEw1IDExIEw4IDgnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzEyJyB2aWV3Qm94PScwIDAgMTAgMTInPjxwYXRoIGQ9J00yIDQgTDUgMSBMOCA0JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PHBhdGggZD0nTTIgOCBMNSAxMSBMOCA4JyBmaWxsPSdub25lJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIHtcbiAgYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyAgIC8vIHN1dGlsIGVtIGRhcmtcbiAgICB9XG4gICAgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIsXG4gICAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcms7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LFxuICAgIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgICB9XG4gICAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1bG1hIGAuY29sdW1uYCBkZWZhdWx0IHRlbSBgcGFkZGluZzogMC43NXJlbWAgKDEycHgpLiBQcm9zIHdyYXBwZXJzXG4vLyBkZSBmb3JtdWzDoXJpbyBkbyBKRU1TMyByZWR1emltb3MgcHJhIDZweCDihpIgZ3JhZGUgbWFpcyBjb21wYWN0YSwgY29tXG4vLyBtZW5vcyBcImFyXCIgZW50cmUgYXMgY2FpeGFzLiBWYWxlIHRhbnRvIHByb3Mgd3JhcHBlcnMgY29tIGAuZmlsdGVyLXN0eWxlZGBcbi8vIHF1YW50byBwcm9zIHF1ZSB1c2FtIGBbd2lkdGhdYCAobnVtYmVyLWlucHV0LCBkYXRldGltZXBpY2tlcikuXG5hcHAtdGV4dC1pbnB1dC5jb2x1bW4sXG5hcHAtc2VsZWN0LWlucHV0LmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQtZmxhZy5jb2x1bW4sXG5hcHAtc2VsZWN0LWlucHV0LWxlLmNvbHVtbixcbmFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlLmNvbHVtbixcbmFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5jb2x1bW4sXG5hcHAtbnVtYmVyLWlucHV0LmNvbHVtbixcbmFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5jb2x1bW4sXG5hcHAtamVtcy1zZWxlY3QuY29sdW1uIHtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4vLyBNb2JpbGUgKOKJpDc2OHB4KTogZm9yw6dhIG9zIHdyYXBwZXJzIEpFTVMzIGEgc2UgY29tcG9ydGFyZW0gY29tb1xuLy8gYmxvY2sgMTAwJSB3aWR0aCwgdmVuY2VuZG8gbyBgZGlzcGxheTogaW5saW5lLWZsZXhgIGhlcmRhZG8gZG8gcHJlc2V0XG4vLyAocXVlIHRlbSBtYWlvciBlc3BlY2lmaWNpZGFkZSBxdWUgbyBgLmNvbHVtbiB7IGRpc3BsYXk6IGJsb2NrIH1gIEJ1bG1hXG4vLyBubyBtb2JpbGUpLiBTZW0gaXNzbywgb3MgY2FtcG9zIG7Do28gY29sYXBzYW0gcHJhIHZlcnRpY2FsIG5vIGNlbHVsYXIuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBhcHAtdGV4dC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQuY29sdW1uLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuY29sdW1uLFxuICBhcHAtc2VsZWN0LWlucHV0LWxlLmNvbHVtbixcbiAgYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuY29sdW1uLFxuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuY29sdW1uLFxuICBhcHAtbnVtYmVyLWlucHV0LmNvbHVtbixcbiAgYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmNvbHVtbixcbiAgYXBwLWplbXMtc2VsZWN0LmNvbHVtbiB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIE92ZXJsYXlzIGRvcyBkcm9wZG93bnMgKG1hdC1zZWxlY3QsIG1hdC1hdXRvY29tcGxldGUsIGRhdGVwaWNrZXIpIOKAlFxuLy8gcmVuZGVyaXphZG9zIGZvcmEgZG8gaG9zdCBwZWxvIENESyBPdmVybGF5LCBwb3J0YW50byBhIHJlZ3JhIMOpIEdMT0JBTFxuLy8gKG7Do28gcG9kZSBzZXIgc2NvcGVhZGEgcGVsbyBob3N0KS4gMXB4IGRlIHJlc3Bpcm8gZW50cmUgYSBib3JkYSBpbmZlcmlvclxuLy8gZGEgY2FpeGEgZSBvIHRvcG8gZG8gcGFpbmVsLCBwcmEgbsOjbyBwYXJlY2VyIFwiY29sYWRvXCIgbm8gaW5wdXQuXG4ubWF0LXNlbGVjdC1wYW5lbCxcbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLFxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAxcHg7XG59XG5cbi8vIENhbGVuZMOhcmlvIGRvIGRhdGVwaWNrZXI6IHF1YW5kbyBvIENESyBwb3NpY2lvbmEgQUNJTUEgKHNlbSBlc3Bhw6dvXG4vLyBlbWJhaXhvKSwgbyBgbWFyZ2luLXRvcGAgYWNpbWEgw6kgaXJyZWxldmFudGUg4oCUIHPDsyBgbWFyZ2luLWJvdHRvbWAgY3JpYVxuLy8gbyByZXNwaXJvIGVudHJlIGEgYm9yZGEgaW5mZXJpb3IgZG8gY2FsZW5kw6FyaW8gZSBhIHN1cGVyaW9yIGRhIGNhaXhhLlxuLy8gMnB4IChhIHBlZGlkbyBkbyB1c3XDoXJpbykg4oCUIGBtYXJnaW4tdG9wOiAxcHhgIGNvbnRpbnVhIGFwbGljYWRvIHByYVxuLy8gYWJlcnR1cmEgcGFkcsOjbyAocHJhIGJhaXhvKS5cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4vLyBtYXQtYXV0b2NvbXBsZXRlIGFiZXJ0byBBQ0lNQSBkbyBjYW1wbzogbyBDREsgcMO1ZSBhIGNsYXNzZSBgbWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1hYm92ZWBcbi8vIG5vIGAuY2RrLW92ZXJsYXktcGFuZWAuIEHDrSBhIGJvcmRhIElORkVSSU9SIGRvIHBhaW5lbCBlbmNvc3RhIG5vIHRvcG8gZGEgY2FpeGEgZSBjb2JyZSBhXG4vLyBib3JkYSBhenVsIGRvIGlucHV0LiBgbWFyZ2luLWJvdHRvbTogMXB4YCBhZmFzdGEgbyBwYWluZWwgMXB4IHByYSBjaW1hLCByZXZlbGFuZG8gbyBhenVsXG4vLyAobyBgbWFyZ2luLXRvcDogMXB4YCBnbG9iYWwgc8OzIHZhbGUgcHJhIGFiZXJ0dXJhIHByYSBiYWl4bykuIEVzY29wbyBuYSBidXNjYSBkZSB1c3XDoXJpb3MuXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1hYm92ZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG59XG5cbi8vIENocm9tZSBkb3MgcGFpbsOpaXMgZGUgZHJvcGRvd24gKG1hdC1zZWxlY3QgLyBtYXQtYXV0b2NvbXBsZXRlKSB2ZW0gZG9cbi8vIHByZXNldCBjb21wYXJ0aWxoYWRvIGAuamVtczMtc2VsZWN0LXBhbmVsYCBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYC4gT3Ncbi8vIHdyYXBwZXJzIGAuZmlsdGVyLXN0eWxlZGAgKGFwcC1zZWxlY3QtaW5wdXQsIC1mbGFnLCAtbGUpIGFwbGljYW0gZXNzZVxuLy8gcGFuZWxDbGFzcyBhdXRvbWF0aWNhbWVudGUgdmlhIG5nT25Jbml0IOKAlCBvIGNvbnN1bWVyIG7Do28gcHJlY2lzYSBwYXNzYXJcbi8vIG5hZGEuIEFxdWkgTsODTyByZWRlZmluaW1vcyBnbG9iYWxtZW50ZSBgLm1hdC1zZWxlY3QtcGFuZWxgIHBvcnF1ZSBpc3NvXG4vLyBhZmV0YSBtZW51cyBmb3JhIGRvIHBhZHLDo28gSkVNUzMgKEFuZ3VsYXIgTWF0ZXJpYWwgcHVyb3MsIGNoaXAtbWVudXMgZXRjLikuXG5cbi8vIERhcmsgdGhlbWUg4oCUIHBhcmVpYSBvcyB0b2tlbnMgKi1kYXJrIGRlIGNhZGEgcHJvcHJpZWRhZGUgcGludGFkYS5cbi5kYXJrLXRoZW1lIHtcbiAgYXBwLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWZsYWcuZmlsdGVyLXN0eWxlZCxcbiAgYXBwLXNlbGVjdC1pbnB1dC1sZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5maWx0ZXItc3R5bGVkLFxuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgfVxuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICB9XG4gICAgLm1hdC1pbnB1dC1lbGVtZW50LFxuICAgIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgfVxuICAgIC50aS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAgIH1cbiAgICAmLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAgIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgYXBwLXVzZXItc2VhcmNoIGVtIE9WRVJMQVkgKHBvcG92ZXIvZGnDoWxvZ28pOiBjb250w6ltIG8gaGludCBuYSBjYWl4YSDilIDilIDilIDilIDilIDilIBcbi8vIE8gYGFwcC11c2VyLXNlYXJjaGAgcMO1ZSBvIGAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJgIGVtXG4vLyBgcG9zaXRpb246IGFic29sdXRlYCAoc2VtIHRvcC9sZWZ0KSBwcmEgYSDDoXJlYSBkZSBoaW50IG7Do28gZGVzYWxpbmhhciB2aXppbmhvc1xuLy8gaW5saW5lIChhbGlnbi1pdGVtczpjZW50ZXIpIG5vcyBGT1JNVUzDgVJJT1MgZGUgcMOhZ2luYS4gTWFzIG51bSBvdmVybGF5IGZsdXR1YW50ZVxuLy8gbyB3cmFwcGVyIGFic29sdXRlIHBvdXNhIEZPUkEgZGEgY2FpeGEg4oCUIG8gaGludCBcIk5lbmh1bSB1c3XDoXJpbyBlbmNvbnRyYWRvXCJcbi8vIGFwYXJlY2lhIHNvbHRvIGFiYWl4byBkbyBwb3BvdmVyLiBDb21vIG9zIHVzb3MgaW5saW5lIGNvbSBhbGluaGFtZW50byB2aXZlbSBlbVxuLy8gcMOhZ2luYXMgKG7Do28gZW0gb3ZlcmxheXMpLCBkZXZvbHZlbW9zIG8gc3Vic2NyaXB0IGFvIGZsdXhvIEdMT0JBTE1FTlRFIHAvIHRvZG9cbi8vIHVzZXItc2VhcmNoIGRlbnRybyBkZSBgLmNkay1vdmVybGF5LXBhbmVgLiBTb2x1w6fDo28gw7puaWNhIChzZW0gZml4ZXMgcG9yIHDDoWdpbmEpOlxuLy8gc3Vic3RpdHVpIG9zIHBhdGNoZXMgcG9udHVhaXMgdGlwbyBgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlcmAuXG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4uY2RrLW92ZXJsYXktcGFuZSBhcHAtdXNlci1zZWFyY2ggLm1hdC1oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3JzIGZvciBzdWJtaXNzaW9uIGFuZCByZXZpZXcuXG4kc3VibWlzc2lvbi1iZzogcmdiYSgwLCAwLCAwLCAuMSk7XG4kcmV2aWV3LWJnOiByZ2JhKDAsIDAsIDAsIC4xKTtcblxuLy8vXG4vLyBDbGFzcyBkZWZpbml0aW9ucyBmb3Igc3VibWlzc2lvbiBhbmQgcmV2aWV3IHN0YXR1cywgY29uc2lkZXJpbmcgb3B0aW9uYWwgYmFja2dyb3VuZC1maWxsIGFuZCBsaW5rcy5cbi8vL1xuXG4ucGFwZXJCYWNrZ3JvdW5kIHsgLy8gQ2xhc3MgZm9yIHRvZ2dsaW5nIGJhY2tncm91bmQgT04gYW5kIE9GRi5cbiAgLy8gQ29yIGJhc2UgZG8gdGV4dG8gbm8gQ09OVEFJTkVSIChoZXJkYWRhKSwgbsOjbyBkaXJldG8gbm9zIHNwYW5zL3NtYWxscy4gQW50ZXNcbiAgLy8gYHNwYW46bm90KC5tYXQtYnV0dG9uLXdyYXBwZXIpLCBzbWFsbCB7IGNvbG9yOiAkYmxhY2stMTAwMCB9YCBmb3LDp2F2YSAjMDMwMzAzIGVtIFRPRE9cbiAgLy8gc3Bhbi9zbWFsbCBpbnRlcm5vIGUgQVRST1BFTEFWQSBhIGNvciBwcsOzcHJpYSBkZSBjb21wb25lbnRlcyAoZXguOiBhcHAtZmlsZS1waWxsLFxuICAvLyBkZXNjcmnDp8OjbykuIENvbW8gY29yIGhlcmRhZGEsIGVsZW1lbnRvcyBzZW0gY29yIHByw7NwcmlhIHBlZ2FtIGEgYmFzZTsgY29tcG9uZW50ZXNcbiAgLy8gbWFudMOqbSBhIGRlbGVzLiBWYWxvciA9ICMzNzM3MzQgKGNvciBiYXNlIGRlIHRleHRvIGRvIHNpc3RlbWEpLCBuw6NvIG8gIzAzMDMwMyBhbnRlcmlvci5cbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyazogdHJvY2EgcHJvIGFjY2VudC1kYXJrIChhbWJlci00MDApLiBQYWRyw6NvIGRlIHRvZGEgY2hhaXIgVUk6XG4gIC8vIGFjY2VudCBtdWRhIGVudHJlIHRlbWFzLiBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBhcyByZWdyYXNcbiAgLy8gbGlnaHQgYWNpbWEgKHRhbWLDqW0gY29tIGAhaW1wb3J0YW50YCkuXG4gIC5kYXJrLXRoZW1lICYge1xuICAgIGEsIC5mYS1maWxlLXBkZiwgLmZhLXVwbG9hZCB7XG4gICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdWJtaXNzaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibWlzc2lvbi1iZztcbiAgfVxuXG4gIC5yZXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXZpZXctYmc7XG4gIH1cblxuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgLy8gcGFkZGluZzogNHB4IDEwcHggIWltcG9ydGFudDtcbiAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9LCAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbi8vICAgICAgICBhIHtcbi8vICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMil9ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7bnRoKCRjb250ZW50LCAxKX0gIWltcG9ydGFudDtcblxuICAgICAgICAubWF0LWljb24uc3RhdHVzLWljb24ge1xuICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHB1YmxpY2F0aW9uLXN0YXR1cyk7XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo286IGZ1bmRvIENMQVJPIChsaWdodGVuIGRhIGNvciBkbyBzdGF0dXMpICsgYm9yZGEgRVNDVVJBXG4gIC8vIGRvIG1lc21vIHRvbSAoZGFya2VuKS4gU29icmVzY3JldmUgbyBiZyBjaGVpbyBkbyBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZFxuICAvLyBzw7Mgbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykg4oCUIG8gZmlsbCBkZSBjYXJkL2xpbmhhIGNvbnRpbnVhIG5hIGNvciBjaGVpYS5cbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRzdGF0dXMtbGlzdCkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30ucGFwZXItc3RhdHVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gw41jb25lIG5vIG1lc21vIHRvbSBlc2N1cm8gZGEgYm9yZGEuXG4gICAgICAgIC5tYXQtaWNvbi5zdGF0dXMtaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSBlbnRyZSBvcyBkb2lzIHNpc3RlbWFzIGRlIHN0YXR1cyAoYW1ib3NcbiAgLy8gcHJlZW5jaGlkb3Mg4oCUIGJvbSBjb250cmFzdGUpOiBzdWJtaXNzw6NvID0gUElMTCBzdXBlci1hcnJlZG9uZGFkbztcbiAgLy8gcmV2aXPDo28gPSBSRVTDgk5HVUxPLiBFc2NvcG8gbm8gY2hpcCAoLnBhcGVyLXN0YXR1cykuIFByw6ktYXRlbnRpdm8uXG4gICYuc3VibWlzc2lvbi5wYXBlci1zdGF0dXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5yZXZpZXcucGFwZXItc3RhdHVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc3RhdHVzQmFja2dyb3VuZCB7XG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkc3RhdHVzLWxpc3QpIHtcbiAgICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30uaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgwLCAwLCAwLCAuMykgO1xuXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuXG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC5ib3JkZXJCYWNrZ3JvdW5kIHtcbiAgICAgICAgICAmLmJvcmRlckNvbG9yQmFja2dyb3VuZCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG5cbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0cmluZyB7XG4gICAgICAgICAgLy8gY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgLy8gZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYWcgZGUgcmV2aXPDo28gbW9iaWxlOiBmdW5kbyBjbGFybyAobGlnaHRlbikgKyBib3JkYSBlc2N1cmEgKGRhcmtlbikuXG4gIEBtaXhpbiBnZW5lcmF0ZS1zdGF0dXMtcmV2aWV3LWJvcmRlcigkc3RhdHVzLWxpc3QpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgJi4jeyRzdGF0dXN9Lmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgMzAlKSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIMONY29uZSBubyBtZXNtbyB0b20gZXNjdXJvIGRhIGJvcmRhLlxuICAgICAgICAubWF0LWljb24uaWNvbiB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnN1Ym1pc3Npb24ge1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG4gIH1cblxuICAmLnJldmlldyB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHJldmlldy1zdGF0dXMpO1xuICAgIEBpbmNsdWRlIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRyZXZpZXctc3RhdHVzKTtcbiAgfVxuXG4gIC8vIERpZmVyZW5jaWHDp8OjbyBkZSBGT1JNQSAobW9iaWxlKTogc3VibWlzc8OjbyA9IFBJTEw7IHJldmlzw6NvID0gUkVUw4JOR1VMTy5cbiAgLy8gQW1ib3MgY29tIMOtY29uZS5cbiAgJi5zdWJtaXNzaW9uLmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgfVxuICAmLnJldmlldy5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFN1Ym1pc3Npb24gRm9ybSBBbnN3ZXJzXG4uc3VibWlzc2lvbi1mb3JtLWl0ZW0ge1xuICBwIHtcbiAgICAuZmllbGQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG4gIH1cbn1cbiIsIiAgLy8gTUQzIGJvZHktc21hbGwgKDEycHggLyA0MDAgLyAxNnB4IGxpbmUtaGVpZ2h0IC8gKzAuMDI1cmVtIHRyYWNraW5nKS5cbiAgLmxlZ2VuZCwgLmNhcHRpb24ge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNXJlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcGFkZGluZzogMC4yNWVtO1xuICAgICAgbWFyZ2luOiAwIDAuMjVlbTtcblxuICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIOKUgOKUgCBBdmlzbyAvIGVzdGFkbyBkZSBww6FnaW5hIChOT1RJQ0UpIOKAlCBkZWZpbmnDp8OjbyDDmk5JQ0EgZSBnbG9iYWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZW5zYWdlbnMgaW5mb3JtYXRpdmFzIC8gZXN0YWRvcyB2YXppb3MgYW8gbG9uZ28gZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvXG4vLyAocmV2aXPDtWVzIG7Do28gbGliZXJhZGFzLCBzZW0gbWVuc2FnZW5zIG5hIGRpc2N1c3PDo28sIHByYXpvIGRlIGNvbmZlcsOqbmNpYSBuw6NvXG4vLyBkZWZpbmlkbywgc2VtIHJlZ3JhcyBkZSBhcnF1aXZvLCBldGMuKS4gVE9ET1MgY29tZcOnYW0gY29tIG8gw61jb25lIGBpbmZvYCBlXG4vLyBjb21wYXJ0aWxoYW0gYWxpbmhhbWVudG8gKMOgIGVzcXVlcmRhKSwgY29yLCBwZXNvIGUgdGFtYW5obyBkYSBmb250ZS5cbi8vXG4vLyBVc28gbm8gdGVtcGxhdGUgKG8gw61jb25lIMOpIE1hdGVyaWFsIFN5bWJvbHMgcG9yIGxpZ2FkdXJhIOKAlCBzZW0gTWF0SWNvbk1vZHVsZSk6XG4vLyAgIDxwIGNsYXNzPVwicGFnZS1ub3RpY2VcIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5pbmZvPC9zcGFuPlxuLy8gICAgIDxzcGFuPnt7ICdjaGF2ZS5pMThuJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbi8vICAgPC9wPlxuLnBhZ2Utbm90aWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgIC8vIDEzcHhcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcblxuICAgIC8vIMONY29uZSBsw61kZXIgKGluZm8pLiBgLm1hdC1pY29uYCB0YW1iw6ltIGNvYmVydG8gcC8gcXVlbSBqw6EgdXNhIDxtYXQtaWNvbj4uXG4gICAgPiAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgICA+IC5tYXQtaWNvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbi5kYXJrLXRoZW1lIC5wYWdlLW5vdGljZSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgb3BhY2l0eTogMC43OyAgIC8vIG1lc21hIGxldmV6YSBkYSBtZW5zYWdlbSBkZSByZWZlcsOqbmNpYSAocmVidXR0YWwpIG5vIGRhcmtcbn1cbiIsIi5ob21lIHtcbiAgLnVzZXItZGFzaGJvYXJkLCAuc3VibWlzc2lvbnMsIC5yZXZpZXdzLCAuZXZlbnRzLCAubXlldmVudHMsIC5jb21taXR0ZWVzIHtcbiAgICAubWFpbi10aXRsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1pUGhvbmU4cGx1cy1wb3J0cmFpdC13aWR0aCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudnNwYWNlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIH1cbiAgfVxuICAuc3VibWlzc2lvbnMsIC5yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uYWRtaW4ge1xuICAuZXZlbnQtYWRtaW4gLnN1YmNvbmZlcmVuY2Vze1xuICAgIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJtYXJrZG93biB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbiRibG9jay1oZWlnaHQ6IDYwcHg7XG4kb3B0aW9ucy13aWR0aDogMjEwcHg7XG4kZmlsdGVycy13aWR0aDogMTIwcHg7XG5cbi5tYWlue1xuICAgICYtaGVhZGVyIHtcbiAgICAgICAgLy8gcGFkZGluZzogMC4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLy8gQW5jaG9yIHBhcmEgYC5wYWdlLWZpbHRlci1yb3dgIHF1YW5kbyBlbGEgdml2ZSBkZW50cm8gZG8gaGVhZGVyXG4gICAgICAgIC8vIChtb2RvIFwiY2hpcCBjZW50cmFsaXphZG8gbm8gaGVhZGVyXCIpLiBBIHJvdyB2aXJhIGFic29sdXRhbWVudGVcbiAgICAgICAgLy8gY2VudHJhbGl6YWRhIG5vIGVpeG8gWCwgaW5kZXBlbmRlbnRlIGRhIGxhcmd1cmEgZGUgdGl0bGUvb3B0aW9ucy5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC8vIFJlY3VvIGVzcXVlcmRvIHBhZHLDo28gZG8gdMOtdHVsbyDigJQgaGlzdG9yaWNhbWVudGUgcHJlc2VudGUgZW1cbiAgICAgICAgICAgIC8vIFN1Ym1pc3PDtWVzICh2aWEgY2FzY2FkZSBpbmRpcmV0YSk7IGV4cGzDrWNpdG8gYXF1aSBwcmEgdmFsZXJcbiAgICAgICAgICAgIC8vIGVtIHRvZGFzIGFzIHDDoWdpbmFzIGNvbSBlc3NlIGhlYWRlciAoYXV0b3IvcmV2aXNvcikuXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjb250ZW50O1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5maWx0ZXJBbmRPcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoKSB7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAub3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubm90aWZ5LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUXVhbmRvIGjDoSBjaGlwLXNlYXJjaCBkZW50cm8gZG8gLm9wdGlvbnMgKGFwZW5hcyBuYXMgNSBww6FnaW5hc1xuICAgICAgICAgICAgLy8gYXV0b3IvcmV2aXNvciksIHRyb2NhIHBhcmEgbGF5b3V0IGhvcml6b250YWwg4oCUIHRvZ2dsZXMgKyBjaGlwXG4gICAgICAgICAgICAvLyBmaWNhbSBsYWRvIGEgbGFkbyBlbSB2ZXogZGUgZW1waWxoYWRvcyB2ZXJ0aWNhbG1lbnRlLiBPIHJlc3RvXG4gICAgICAgICAgICAvLyBkbyBhcHAgKGNoYWlyIGFkbWluIGV0YykgbWFudMOpbSBmbGV4LWNvbHVtbiBkbyBsZWdhZG8uXG4gICAgICAgICAgICAmOmhhcyhhcHAtY3VzdG9tLXNlYXJjaCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgMC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlsdGVyTGFiZWwge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICAuYWN0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICBoZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOjAgMC4yNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKSB7XG4gICAgICAgICAgICAubWFpbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgfVxuXG4gICAgLy8gRmlsdHJvIGNlbnRyYWxpemFkbyBubyBoZWFkZXIgKG1vZG8gYWx3YXlzT3BlbikuIFVzYSBwb3NpdGlvbjphYnNvbHV0ZVxuICAgIC8vIHBhcmEgZ2FyYW50aXIgY2VudHJhbGl6YcOnw6NvIHZpc3VhbCBleGF0YSwgaWdub3JhbmRvIGFzIGxhcmd1cmFzXG4gICAgLy8gYXNzaW3DqXRyaWNhcyBkZSBgLm1haW4tdGl0bGVgIChlc3F1ZXJkYSkgZSBgLmZpbHRlckFuZE9wdGlvbnNgIChkaXJlaXRhKS5cbiAgICAmLWhlYWRlciA+IC5wYWdlLWZpbHRlci1yb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAvLyBBY2ltYSBkb3MgZGVtYWlzIGZsZXggaXRlbXMgcHJhIG7Do28gZmljYXIgY29iZXJ0by5cbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5zZXBhcmF0b3Ige1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBociB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgLy8gd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLXdpZHRoLXNtKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWR9KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kfSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcC13aWR0aC1zbSkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtfSkpKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldH0pKSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS13aWR0aCkge1xuICAgICAgICAgICAgLy8gd2lkdGg6IGNhbGMoMTAwdncgKyAoMiAqICgjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGV9KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGV9KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gMDtcbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlciDigJQgbGluaGEgaG9yaXpvbnRhbCBlbnRyZSBzZcOnw7VlcyBhZGphY2VudGVzLlxuLy8gUGFkcsOjbyBjaGFpciBVSSB1c2FkbyBlbSB0b2RhcyBhcyBww6FnaW5hcyBjb20gbcO6bHRpcGxhcyAuc2VjdGlvblxuLy8gKGNoZWNrbGlzdCwgcmV2aWV3cy1jb25maWd1cmF0aW9uLCBldGMuKS4gQm9yZGVyLXRvcCBjb2xvciB2aWFcbi8vIGBfY29sb3Itc2NoZW1lLnNjc3NgICh0aGVtZS1hd2FyZTogJGNocm9tZS1ib3JkZXItbGlnaHQvZGFyaykuXG4vL1xuLy8gYHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnRgIHNvYnJlc2NyZXZlIG8gYC5zZWN0aW9uIHsgcGFkZGluZy10b3A6IDBcbi8vICFpbXBvcnRhbnQgfWAgZm9yw6dhZG8gcG9yIGBfY2FyZC5zY3NzYC4gYG1hcmdpbi10b3A6IDFyZW1gIGTDoSByZXNwaXJvXG4vLyBhY2ltYSBkbyBkaXZpZGVyLlxuLy9cbi8vIENvYnJlIHRhbWLDqW0gY29tYmluYcOnw7VlcyBjb20gYC5yb3ctbWRgICh3cmFwcGVyIGRlIHN1Yi1zZWN0aW9uc1xuLy8gc2lkZS1ieS1zaWRlKSB1c2FkbyBlbSByZXZpZXdzLWNvbmZpZ3VyYXRpb24uXG4uc2VjdGlvbiArIC5zZWN0aW9uLFxuLnNlY3Rpb24gKyAucm93LW1kLFxuLnJvdy1tZCArIC5zZWN0aW9uIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgbWFyZ2luLXRvcDogMC4zcmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5zdWJzZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgIH1cbn1cblxuLnN1YnN1YnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbn1cblxuLy8gU29tYnJhIGluZmVyaW9yIG5hIHRvb2xiYXIgKG5hdmJhciBhdXRvci9yZXZpc29yKSBBUEVOQVMgbmEgcMOhZ2luYSBkZVxuLy8gc3VibWlzc8OjbyAocGFwZXItaW5mbywgbW9udGFkYSB2aWEgYXBwLXN1Ym1pc3Npb24tdmlldykuIFJlZ3JhIEdMT0JBTCBjb21cbi8vIGA6aGFzKClgIHBvcnF1ZSBhIG5hdmJhciBlIG8gY29udGXDumRvIHPDo28gc3Viw6Fydm9yZXMgSVJNw4NTIHNvYiBgLmhvbWVgXG4vLyAoYDpob3N0LWNvbnRleHRgIHPDsyBhbGNhbsOnYSBhbmNlc3RyYWlzLCBuw6NvIGlybcOjb3MpLiBTw7MgY2FzYSBuYSDDoXJlYSBgLmhvbWVgXG4vLyAoYXV0b3IvcmV2aXNvcikg4oCUIGEgcm90YSBhZG1pbiB1c2Egb3V0cm8gc2hlbGwsIGVudMOjbyBhIGFkbWluIG7Do28gw6kgYWZldGFkYS5cbi5ob21lOmhhcygucGFnZS1jb250ZW50IGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4vLyBEYXJrIG1vZGU6IHNvbWJyYSBwcmV0YSBzb2JyZSBmdW5kbyBlc2N1cm8gcHJlY2lzYSBtYWlzIG9wYWNpZGFkZVxuLy8gcHJhIGFuY29yYXIgdmlzdWFsbWVudGUgKGEgbWVzbWEgMC4xOCBkbyBsaWdodCBzb21lIG5vIGRhcmspLlxuLmRhcmstdGhlbWUgLmhvbWU6aGFzKC5wYWdlLWNvbnRlbnQgYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4vLyBTb21icmEgUEVSTUFORU5URSBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyAoYnJlYWRjcnVtYikgZG8gVFBDIENoYWlyIGVucXVhbnRvIGFcbi8vIHDDoWdpbmEgZGUgc3VibWlzc8OjbyBlc3TDoSBhYmVydGEg4oCUIGVtIGxheW91dCBNT0RFUk5PIChgLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWRgKVxuLy8gT1UgQU1QTE8gKGAud2lkZS1tb2RlYCksIG1hcyBOw4NPIG5vIGNsw6Fzc2ljby1uw6NvLWFtcGxvLiBBIGJhcnJhIFZJU8ONVkVMIMOpIG9cbi8vIGAuZXZlbnQtYnJlYWRjcnVtYmAgKHBvc2l0aW9uOiBmaXhlZCk7IG8gaG9zdCBgYXBwLWV2ZW50LWJyZWFkY3J1bWJgIHPDs1xuLy8gcmVzZXJ2YSAzNnB4IGVtIGZsdXhvIOKAlCBwb3IgaXNzbyBhIHNvbWJyYSB2YWkgbm8gZWxlbWVudG8gaW50ZXJubywgbsOjbyBubyBob3N0XG4vLyAoc2Vuw6NvIGZpY2EgYXRyw6FzIGRhIGJhcnJhLCBpbnZpc8OtdmVsKS5cbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4vLyBEYXJrIG1vZGU6IHNvbWJyYSBwcmV0YSBwcmVjaXNhIG1haXMgb3BhY2lkYWRlIEUgMiBjYW1hZGFzIHByYVxuLy8gYW5jb3JhciBzb2JyZSBmdW5kbyBlc2N1cm8gKG1lc21hIHTDqWNuaWNhIGRhcyBiYXJyYXMgYXV0b3IvcmV2aXNvcikuXG4uZGFyay10aGVtZSAuc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi8vIFNvbWJyYSBuYSBib3JkYSBESVJFSVRBIGRvIHNpZGViYXIgbW9kZXJubywgbmFzIHDDoWdpbmFzIEZVTEwtQkxFRUQgKHN1Ym1pc3PDo28gZVxuLy8gY2VydGlmaWNhZG8gZGUgYXByZXNlbnRhw6fDo28pLCBvbmRlIG8gY29udGXDumRvIHZhaSBkZSBwb250YSBhIHBvbnRhIGUgcHJlY2lzYSBkZXNzYVxuLy8gc29tYnJhIHByYSBzZSBzZXBhcmFyIGRvIG1lbnUuXG4vL1xuLy8gw4kgdW1hIGBib3gtc2hhZG93YCBOQSBQUsOTUFJJQSBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyYCDigJQgbsOjbyBtYWlzIHVtIHBzZXVkbyBgOjphZnRlcmBcbi8vIGZpeG8gYW5jb3JhZG8gZW0gYGxlZnQ6IHZhcigtLWV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRoKWAuIE1vdGl2bzogbyBwc2V1ZG8gU0FMVEFWQSBhb1xuLy8gYWJyaXIvY29sYXBzYXIgKHVtYSBgdHJhbnNpdGlvbmAgTsODTyByZWFnZSBhIG11ZGFuw6dhIGRlIGN1c3RvbSBwcm9wZXJ0eSBuw6NvLXJlZ2lzdHJhZGEpLFxuLy8gZW5xdWFudG8gbyBgd2lkdGhgIGRvIHNpZGViYXIgYW5pbWF2YSDihpIgbyBcImVmZWl0byBkZSBkb2lzIHBhaW7DqWlzXCIuIENvbW8gYSBib3gtc2hhZG93IGZhelxuLy8gcGFydGUgZGEgY2FpeGEgZG8gc2lkZWJhciwgZWxhIGFjb21wYW5oYSBvIGB3aWR0aGAgbmEgYW5pbWHDp8OjbyBERSBHUkHDh0EsIHNpbmNyb25pemFkYS5cbi8vXG4vLyBPIGBjbGlwLXBhdGhgIHJlY29ydGEgYSBzb21icmEgQUNJTUEgZGEgYmFzZSBkbyBicmVhZGNydW1iIChtZXNtbyBwb250byBxdWUgbyBgdG9wYCBkb1xuLy8gcHNldWRvIGFudGlnbyksIHByYSBlbGEgbsOjbyBjcnV6YXIvY29icmlyIGEgYmFycmEgZGUgbmF2ZWdhw6fDo28uIE8gcG9sw61nb25vIG1hbnTDqW0gVE9ETyBvXG4vLyBjb250ZcO6ZG8gZG8gc2lkZWJhciAoZGVudHJvIGRlIGAwIDAg4oaSIDEwMCUg4oaSIGJvdHRvbWApOyBzw7MgYSBzb21icmEg4oCUIHF1ZSBmaWNhIEFMw4lNIGRlXG4vLyBgMTAwJWAsIMOgIGRpcmVpdGEg4oCUIMOpIHJlY29ydGFkYSBubyB0cmVjaG8gZG8gdG9wbyAoY2xpcC1wYXRoIHJlY29ydGEgYm94LXNoYWRvdykuIEFcbi8vIGBib3JkZXItcmlnaHRgIChkaXZpc29yIGRlIDFweCkgZG8gc2lkZWJhciBwZXJtYW5lY2UsIGRlZmluaWRhIMOgIHBhcnRlLlxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpub3QoLndpZGUtbW9kZSk6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOm5vdCgud2lkZS1tb2RlKTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgICBib3gtc2hhZG93OiA2cHggMCAxMHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgIDAgMCxcbiAgICAgICAgMTAwJSAwLFxuICAgICAgICAxMDAlIGNhbGModmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpICsgMzZweCksXG4gICAgICAgIGNhbGMoMTAwJSArIDI0cHgpIGNhbGModmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpICsgMzZweCksXG4gICAgICAgIGNhbGMoMTAwJSArIDI0cHgpIDEwMCUsXG4gICAgICAgIDAgMTAwJVxuICAgICk7XG59XG5cbi8vIENvbnRyb2xlcyBkZSBwdWJsaWNhw6fDo286IGEgcMOhZ2luYSB0ZXJtaW5hIG5hcyBBQkFTIOKAlCBlLCBkZW50cm8gZGVsYXMsIG5hXG4vLyBiYXJyYSBkZSBjb25maXJtYcOnw6NvLCBxdWUgasOhIHRlbSByZXNwaXJvIHByw7NwcmlvLiBPIGBwYWRkaW5nLWJvdHRvbWAgcXVlIG9cbi8vIGNhbnZhcyBhcGxpY2EgcG9yIHBhZHLDo28gKGBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzYCkgc29icmEgYXF1aS5cbi8vXG4vLyBBIHJlZ3JhIHZpdmUgQVFVSSwgZSBuw6NvIG5vIFNDU1MgZGEgcMOhZ2luYSwgcG9yIGRvaXMgbW90aXZvcyBxdWUgc2Ugc29tYW06IGFcbi8vIGN1c3RvbSBwcm9wZXJ0eSBwcmVjaXNhIHNlciBlc2NyaXRhIG5vIE1FU01PIGVsZW1lbnRvIHF1ZSBhIGNvbnNvbWUgKGVsYXNcbi8vIGhlcmRhbSBkZSBjaW1hIHBhcmEgYmFpeG8sIGUgbyBgLm1hdC1zaWRlbmF2LWNvbnRlbnRgIMOpIEFOQ0VTVFJBTCBkYSBww6FnaW5hKSxcbi8vIGUgcmVncmEgcXVlIGF0cmF2ZXNzYSBjb21wb25lbnRlcyB0ZW0gZGUgc2VyIGdsb2JhbCDigJQgbm8gU0NTUyBkZSB1bVxuLy8gY29tcG9uZW50ZSBjb20gZW5jYXBzdWxhbWVudG8gZW11bGFkbywgbyBzZWxldG9yIGdhbmhhcmlhIG8gYXRyaWJ1dG8gZGVcbi8vIGVuY2Fwc3VsYW1lbnRvIGUgbsOjbyBjYXNhcmlhIGNvbSB1bSBlbGVtZW50byBkZSBmb3JhLiAxcHggZW0gdmV6IGRlIDAgZXZpdGFcbi8vIGNvbGFwc28gZGUgbWFyZ2VtIGVudHJlIG8gw7psdGltbyBmaWxobyBlIG8gY2FudmFzLlxuLm1hdC1zaWRlbmF2LWNvbnRlbnQ6aGFzKGFwcC1ldmVudC1wdWJsaWNhdGlvbikge1xuICAgIC0tY2FudmFzLXBhZGRpbmctYm90dG9tOiAxcHg7XG59XG5cbi8vIFDDoWdpbmEgZGUgc3VibWlzc8OjbzogZnVuZG8gY2luemEgY29icmluZG8gVE9ETyBvIGNvbnRhaW5lciBkZSBzY3JvbGwgKGxhdGVyYWlzXG4vLyBFIHJvZGFww6kpLiBTdWJzdGl0dWkgbyBhbnRpZ28gZnVsbC1ibGVlZCBwb3IgbWFyZ2VtIG5lZ2F0aXZhIChmcsOhZ2lsIG5vIGNoYWlyKS5cbi8vXG4vLyBBdXRvcjogbyBjb250YWluZXIgw6kgYC5wYWdlLWNvbnRlbnRgLlxuLnBhZ2UtY29udGVudDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG59XG4vLyBDaGFpcjogemVyYSBvIHBhZGRpbmcgbGF0ZXJhbCBkbyBjb250ZW50IChwYXBlci1pbmZvIHByZWVuY2hlIGRlIHBvbnRhIGEgcG9udGEpLlxuLy8gWmVyYSB0YW1iw6ltIG8gcGFkZGluZy1CT1RUT00gKDhweCBkZWZhdWx0IGRvIE1hdGVyaWFsIG5vIG1hdC1zaWRlbmF2LWNvbnRlbnQpOlxuLy8gZWxlIHNvbWF2YSBhbyBndXR0ZXIgZGUgMjRweCBkbyBwYXBlci1pbmZvLCBkZWl4YW5kbyBvIHbDo28gaW5mZXJpb3IgKDMycHgpXG4vLyBtYWlvciBxdWUgbyBzdXBlcmlvciAoMjRweCkuIE8gcGFwZXItaW5mbyBqw6EgZm9ybmVjZSBzZXUgcHLDs3ByaW8gZ3V0dGVyLlxubWF0LXNpZGVuYXYtY29udGVudDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLy8gQ2hhaXI6IHBpbnRhIGRlIGNpbnphIFRPREEgYSBwaWxoYSBkbyBNYXRlcmlhbCBkcmF3ZXIgKGNvbnRlbnQgKyBjb250YWluZXIsIG5vc1xuLy8gMiBuw612ZWlzIGFuaW5oYWRvcykuIGAuc2lkZWJhciDigKZgICgwLDMsMCkgKyBgIWltcG9ydGFudGAgVkVOQ0UgbyBiZyBkbyB0ZW1hXG4vLyAoX2NvbG9yLXNjaGVtZS5zY3NzOiBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLm1hdC1zaWRlbmF2LWNvbnRlbnRgID0gYnJhbmNvLFxuLy8gbWVzbWEgZXNwZWNpZmljaWRhZGUgMCwxLDEgcXVlIGEgbWluaGEgcmVncmEgYW50aWdhIHBlcmRpYSBwb3Igb3JkZW0pIGUgb1xuLy8gYCNmYWZhZmFgIGRlZmF1bHQgZG8gTWF0ZXJpYWwgbm8gYC5tYXQtZHJhd2VyLWNvbnRhaW5lcmAuIMOJIG8gcXVlIGZhbHRhdmEgcHJhXG4vLyBtYXRhciBhIGZhaXhhIGJyYW5jYSBkbyByb2RhcMOpIChvIHBhZGRpbmctYm90dG9tIGJyYW5jbyBhYmFpeG8gZG8gY29udGXDumRvKS5cbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnNjcm9sbCBib3VuY2UgKG1hY09TIHRyYWNrcGFkKSByZXZlbGEgbyBiZyBkbyBgPGh0bWw+YCAocXVlbSByb2xhIGVtXG4vLyBhZG1pbikuIE8gdGVtYSBkZWZpbmUgYGh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpIHsgYmFja2dyb3VuZDogd2hpdGUgfWBcbi8vIGUgYGh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSkgeyBiYWNrZ3JvdW5kOiBibGFjayB9YFxuLy8gKF9jb2xvci1zY2hlbWUuc2NzczozNDQsMzQ4IOKAlCBlc3BlY2lmaWNpZGFkZSAwLDEsMikuIFByYSB2ZW5jZXIsIGNhc2Ftb3Ncbi8vIG8gcGFkcsOjbyBkYSBww6FnaW5hIGRlIHN1Ym1pc3PDo28gbG9nbyBhY2ltYSAobGluaGFzIDQzNy00NDIpOiBkdXBsYVxuLy8gYDpoYXNgICh0ZW1hICsgcMOhZ2luYSB2MikgPSBlc3BlY2lmaWNpZGFkZSAwLDEsMy4gQ29yIGRhcmsgPSBNRVNNT1xuLy8gYCRhZG1pbi1iYWNrZ3JvdW5kLWRhcmtgIChibGFjaykgcXVlIG8gcGFwZXItaW5mbyB1c2EgY29tbyBjYW52YXMg4oCUXG4vLyBjb25zaXN0w6puY2lhIGNvbSBhIGZvbGhhIGAjMjAyMDIwYCAoZWxldmFkYSkgcXVlIGZpY2Egdmlzw612ZWwgYWNpbWEuXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuLy8gU3RpY2t5IGRhIGJhcnJhIGRlIG1ldGFkYWRvcyBubyBjaGFpcjogbyBzY3JvbGxlciByZWFsIMOpIG8gYGh0bWxgLCBtYXMgYSBwaWxoYVxuLy8gYG1hdC1zaWRlbmF2LWNvbnRlbnRgL2Bjb250YWluZXJgIChvdmVyZmxvdyBhdXRvL2hpZGRlbikgaW50ZXJjZXB0YSBvXG4vLyBgcG9zaXRpb246IHN0aWNreWAgU0VNIHJvbGFyIChxdWVtIHJvbGEgw6kgbyBodG1sKS4gQ29tbyBlc3NhcyBjYW1hZGFzIG7Do29cbi8vIHJvbGFtLCB0b3JuYW1vcyBgb3ZlcmZsb3c6IHZpc2libGVgIHPDsyBuZXNzYSBww6FnaW5hIOKAlCBhc3NpbSBvIHN0aWNreSBzZSBwcmVuZGVcbi8vIGFvIGBodG1sYCAoc2VtIGNyaWFyIGJhcnJhIGRlIHJvbGFnZW0gaW50ZXJuYSwgYW8gY29udHLDoXJpbyBkbyBoYWNrIGFudGlnbykuXG4vLyBPIGBbc2Nyb2xsPW5vXWAgKG92ZXJmbG93OmNsaXApIE7Dg08gaW50ZXJjZXB0YSBzdGlja3ksIGVudMOjbyBmaWNhIGNvbW8gZXN0w6EuXG4uc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBcIkRhbsOnYXJcIiBubyBmaW0gZGEgcMOhZ2luYSAoY2hhaXIsIG1vZG8gdmlzw6NvKTogbyB2aWRybyBmb3NjbyBzdGlja3lcbi8vIChgLnBhcGVyLXNoZWV0OmhhcygubWV0YS1jYXJkLnN0dWNrKTo6YmVmb3JlYCwgY29tIGBtYXJnaW4tYm90dG9tYCBORUdBVElWTykgZmF6IG9cbi8vIGNvbnRlw7pkbyBhY2ltYSBtdWRhciBkZSBhbHR1cmEgZHVyYW50ZSBvIHNjcm9sbDsgbyBTQ1JPTEwgQU5DSE9SSU5HIGRvIENocm9tZVxuLy8gcmVhanVzdGEgbyBzY3JvbGxUb3AgZSBlbnRyYSBlbSBsb29wIG5hIGJhc2UgKG9uZGUgbsOjbyBow6EgYmFycmEgZmx1dHVhbnRlIGVzdGVuZGVuZG9cbi8vIG8gZmltIOKAlCBwb3IgaXNzbyBuw6NvIG9jb3JyZSBlbSBlZGnDp8OjbykuIENvbW8gbyBzY3JvbGxlciDDqSBvIGBodG1sYCwgZGVzbGlnYW1vcyBvXG4vLyBhbmNob3JpbmcgZGVsZSBTw5MgbmVzdGEgcMOhZ2luYSAocmVjdXJzbyBtZW5vcjsgbyBjb250ZcO6ZG8gbGF6eSBjYXJyZWdhIGFiYWl4byBkYVxuLy8gZG9icmEsIGVudMOjbyBuw6NvIHBlcmRlIG5hZGEgcGVyY2VwdMOtdmVsKS5cbmh0bWw6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG59XG4vLyBNZXNtbyBtb3Rpdm8gbmEgVmlzw6NvIGRlIENhbGVuZMOhcmlvOiBvIGNhbGVuZMOhcmlvIMOpIHJlbmRlcml6YWRvIGludGVpcm8gbm9cbi8vIGZsdXhvIGRhIHDDoWdpbmEgKHF1ZW0gcm9sYSDDqSBvIGBodG1sYCkgZSBhIGxpbmhhIGRlIGRpYXMgZGEgc2VtYW5hIHVzYVxuLy8gYHBvc2l0aW9uOiBzdGlja3lgIHBhcmEgZmljYXIgZml4YSBubyB0b3BvLiBTZW0gbGliZXJhciBvIG92ZXJmbG93IGRlc3Rhc1xuLy8gY2FtYWRhcywgbyBzdGlja3kgw6kgaW50ZXJjZXB0YWRvIHBvciBlbGFzIOKAlCBxdWUgbsOjbyByb2xhbSDigJQgZSBhIGxpbmhhIHNvbWVcbi8vIGFvIHJvbGFyIGEgcMOhZ2luYS5cbi5zaWRlYmFyOmhhcyhhcHAtY2FsZW5kYXItdmlldykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1jYWxlbmRhci12aWV3KSAubWF0LWRyYXdlci1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vLyBMaXN0YXIgUHJvZ3JhbWE6IG8gZnVuZG8gZW0gdm9sdGEgZGEgZm9saGEgdXNhIGEgTUVTTUEgY29yIGRhIGZvbGhhLCBlIGVzc2Fcbi8vIGNvciDDqSBkZWZpbmlkYSBudW0gbHVnYXIgc8OzIOKAlCBgLS1wcm9ncmFtLXBhcGVyYCwgbmEgZm9saGEgZG8gcHJvZ3JhbWFcbi8vIChgcHJvZ3JhbS1zaGVldC5jc3MudHNgLCBpbmpldGFkYSBlbnF1YW50byBhIHRlbGEgZXN0w6EgbW9udGFkYSkuIEFxdWkgYXBlbmFzXG4vLyBMRU1PUyBhIHZhcmnDoXZlbDsgbsOjbyByZXBldGlyIG8gdmFsb3IuIFZhbGUgbm9zIGRvaXMgdGVtYXMsIGRlIHByb3DDs3NpdG86IG9cbi8vIHByb2dyYW1hIMOpIHBhcGVsLCBuw6NvIHNlZ3VlIGNsYXJvL2VzY3Vyby4gUGludGFyIHPDsyBvIGBtYXQtc2lkZW5hdi1jb250ZW50YFxuLy8gZGVpeGFyaWEgZmFpeGEgbm8gcm9kYXDDqSwgZGHDrSBvIGAubWF0LWRyYXdlci1jb250YWluZXJgIGp1bnRvLlxuLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmFtLXBhcGVyLCAjZmZmZmZmKSAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnNjcm9sbCBlbMOhc3RpY286IHF1ZW0gcm9sYSDDqSBvIGBodG1sYCwgZSDDqSBvIGZ1bmRvIGRlbGUgcXVlIGFwYXJlY2UgYW9cbi8vIHB1eGFyIGFsw6ltIGRvIHRvcG8vZmltLiBQcmVjaXNhIENBU0FSIGEgZm9ybWEgZG8gc2VsZXRvciBkbyB0ZW1hXG4vLyAoYGh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSlgLCAwLDEsMSDigJQgbyBgOmhhcygpYCBoZXJkYSBhIGVzcGVjaWZpY2lkYWRlIGRvXG4vLyBhcmd1bWVudG8gbWFpcyBlc3BlY8OtZmljbyk6IHNlbSBvIGBib2R5Ljx0ZW1hPmAgYXF1aSwgYSBtaW5oYSByZWdyYSBmaWNhcmlhXG4vLyBlbSAwLDAsMiBlIG8gcHJldG8gZG8gdGVtYSBlc2N1cm8gdmVuY2VyaWEsIGFwYXJlY2VuZG8gbmFzIHBvbnRhcy5cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSksXG5odG1sOmhhcyhib2R5LmRhcmstdGhlbWUpOmhhcyhhcHAtZXZlbnQtcHJvZ3JhbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyYW0tcGFwZXIsICNmZmZmZmYpO1xufVxuLy8gTW9kbyBlc2N1cm8uXG4uZGFyay10aGVtZSAucGFnZS1jb250ZW50OmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRlbnQsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIC5tYXQtc2lkZW5hdi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gT3ZlcnNjcm9sbCBlbMOhc3RpY28gKG1hY09TIHJ1YmJlci1iYW5kKTogbyBzY3JvbGxlciBSRUFMIMOpIG8gYGh0bWxgIGUgbyBmdW5kb1xuLy8gZGVsZSDDqSBwcm9wYWdhZG8gcHJvIGNhbnZhcyAoYSDDoXJlYSBxdWUgYXBhcmVjZSBhbyBwdXhhciBhbMOpbSBkbyB0b3BvL2ZpbSkuIE9cbi8vIHRlbWEgcGludGEgYGh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpYCBkZSBicmFuY28gKF9jb2xvci1zY2hlbWUuc2NzczozNDQsXG4vLyBlc3BlY2lmaWNpZGFkZSAwLDEsMikuIEVzcGVsaGFtb3MgZXNzZSBwYWRyw6NvICsgYSBjb25kacOnw6NvIGRhIHDDoWdpbmEgZGVcbi8vIHN1Ym1pc3PDo28gKDAsMSwzKSBwcmEgVkVOQ0VSIGUgZGVpeGFyIG8gY2FudmFzIGNpbnphLiBWYWxlIGF1dG9yIGUgY2hhaXIuXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBDZXJ0aWZpY2FkbyBkZSBhcHJlc2VudGHDp8OjbyAoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSk6IE1FU01PIGZ1bGwtYmxlZWRcbi8vIGNpbnphIGRhIHDDoWdpbmEgZGUgc3VibWlzc8OjbyBhY2ltYS4gQ29tbyDDqSBPVVRSTyBzZWxlY3RvciBkZSBjb21wb25lbnRlLCBhc1xuLy8gcmVncmFzIGA6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpYCBuw6NvIG8gYWxjYW7Dp2FtIOKAlCBlc3BlbGhhbW9zIGFxdWkgcC8gYXV0b3Jcbi8vIChgLnBhZ2UtY29udGVudGApIGUgY2hhaXIgKGBtYXQtc2lkZW5hdi1jb250ZW50YC9gLnNpZGViYXJgIGRyYXdlciksIGxpZ2h0K2RhcmssXG4vLyArIG8gY2FudmFzIGRvIGBodG1sYCAob3ZlcnNjcm9sbCkgKyBgb3ZlcmZsb3c6IHZpc2libGVgIG5vIHNoZWxsIChzZW7Do28gYVxuLy8gU09NQlJBIGdyYW5kZSBkYSBmb2xoYSBkbyBjZXJ0aWZpY2FkbyDDqSByZWNvcnRhZGEgcGVsYSBwaWxoYSBkbyBkcmF3ZXIsIGRvXG4vLyBtZXNtbyBqZWl0byBxdWUgYSBzdWJtaXNzw6NvIHByZWNpc2Eg4oCUIGEgZm9saGEgZmF6IHNuYXAtdG8tZml0LCBudW5jYSByb2xhKS5cbi8vIEVzcGVjaWZpY2lkYWRlIGBhcHAtaG9tZSAuaG9tZSAucGFnZS1jb250ZW50YCAoMCwyLDEpICsgYCFpbXBvcnRhbnRgIHAvIFZFTkNFUiBvXG4vLyB0b2tlbiBicmFuY28gZG8gYF9jb2xvci1zY2hlbWUuc2NzczoyNDU5YCAobWVzbWEgZXNwZWNpZmljaWRhZGUsIG1hcyAhaW1wb3J0YW50KS5cbi8vIFNlbSBpc3NvLCBvIGAuY2VydGlmaWNhdGUtcGFnZWAgcGludGEgYSDDoXJlYSB2aXPDrXZlbCBkZSBjaW56YSwgbWFzIG8gYC5wYWdlLWNvbnRlbnRgXG4vLyBhdHLDoXMgY29udGludWEgYnJhbmNvIChhcGFyZWNlIG5vcyBzbGl2ZXJzL2dhcCkuXG5hcHAtaG9tZSAuaG9tZSAucGFnZS1jb250ZW50OmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gQSBuYXZiYXIgw6kgZml4ZWQgZSBvIGAucGFnZS1jb250ZW50YCBjb21lw6dhIGVtIGB0b3A6IG5hdmJhciArIDNweGAgKGhvbWUuc2Nzcylcbi8vIOKGkiBzb2JyYSB1bWEgZmFpeGEgZGUgM3B4IGF0csOhcyBkZWxhIG1vc3RyYW5kbyBvIGZ1bmRvIGRvIGAuaG9tZWAgKHF1ZSBvIHRva2VuXG4vLyBgX2NvbG9yLXNjaGVtZS5zY3NzOjI0NTdgIHBpbnRhIGRlIEJSQU5DTyBjb20gIWltcG9ydGFudCkuIMOJIGEgbGluaGEgYnJhbmNhLlxuLy8gYGFwcC1ob21lIC5ob21lYCAoMCwxLDEpICsgIWltcG9ydGFudCB2ZW5jZSBvIHRva2VuLlxuYXBwLWhvbWUgLmhvbWU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTAgIWltcG9ydGFudDtcbn1cbm1hdC1zaWRlbmF2LWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxuLy8gU2hlbGwgTsODTyByZWNvcnRhIOKGkiBhIHNvbWJyYSBkYSBmb2xoYSBkZXN2YW5lY2Ugbm8gY2luemEgKGVzcGVsaGEgYXMgbGluaGFzXG4vLyBkYSBzdWJtaXNzw6NvIGFjaW1hKS4gVmFsZSBhdXRvciAoYC5wYWdlLWNvbnRlbnRgKSBlIGNoYWlyIChkcmF3ZXIpLlxuLnBhZ2UtY29udGVudDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSksXG4uc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1kcmF3ZXItY29udGFpbmVyLFxuLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBPIGFkbWluLWV2ZW50LXNpZGViYXIgZW1icnVsaGEgbyByb3V0ZXItb3V0bGV0IG51bSBgPGRpdiBzY3JvbGw9XCJub1wiXG4vLyBzdHlsZT1cIm92ZXJmbG93OiBjbGlwXCI+YCAocC8gc3RpY2t5IGRlIHDDoWdpbmEgaW50ZXJuYSBuw6NvIHZhemFyKS4gTyBjZXJ0aWZpY2Fkb1xuLy8gZmF6IHNuYXAtdG8tZml0IGUgZW5jb3N0YSBuYSBib3JkYSDihpIgZXNzZSBjbGlwIGNvcnRhIGEgc29tYnJhIGRhIGZvbGhhLlxuLy8gRGVzdHJhdmFtb3MgU8OTIHAvIG8gY2VydGlmaWNhZG8gKG7Do28gdGVtIHN0aWNreSBuZW0gcm9sYSkuIGBvdmVyZmxvdzogY2xpcGAgw6lcbi8vIElOTElORSDihpIgcHJlY2lzYSBkZSBgIWltcG9ydGFudGAgcC8gdmVuY2VyLlxuW3Njcm9sbD1cIm5vXCJdOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1ob21lIC5ob21lIC5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtaG9tZSAuaG9tZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xufVxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIFNvbWJyYXMgZG8gY2hyb21lIG5vIGNlcnRpZmljYWRvIOKAlCBNRVNNQVMgZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvIChuYXZiYXIgZG9cbi8vIGF1dG9yL3Jldmlzb3IsIGJyZWFkY3J1bWIgZG8gY2hhaXIsIGUgYm9yZGEgZGlyZWl0YSBkbyBtZW51IGxhdGVyYWwgbW9kZXJubyksXG4vLyBlc3BlbGhhZGFzIGRvIGJsb2NvIGA6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpYCBhY2ltYS4gVmVyIGFxdWVsZSBibG9jbyBwLyBvXG4vLyByYWNpb25hbCBkZSBjYWRhIHTDqWNuaWNhLiBBIG5hdmJhciBOw4NPIHRlbSBzb21icmEgcHLDs3ByaWEgKG8gZGVmYXVsdCDDqSBzw7MgdW1cbi8vIGJvcmRlci1ib3R0b20gcMOhbGlkbyBkZSAkY2hyb21lLWJvcmRlci1saWdodCkg4oCUIGEgZWxldmHDp8OjbyDDqSBzZW1wcmUgcG9yLXDDoWdpbmEuXG4uaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIC8vIE5ldXRyYWxpemEgbyBib3JkZXItYm90dG9tIHDDoWxpZG8gKCNFN0U1RTQpIGRvIGBfY29sb3Itc2NoZW1lLnNjc3NgIOKAlCBjb250cmFcbiAgICAvLyBhIHNvbWJyYSBlbGUgdmlyYSB1bWEgbGluaGEgY2xhcmEuIEEgc2VwYXJhw6fDo28gZmljYSBzw7MgbmEgc29tYnJhLiBgIWltcG9ydGFudGBcbiAgICAvLyBwLyB2ZW5jZXIgbyB0b2tlbiAocXVlIHRhbWLDqW0gdXNhICFpbXBvcnRhbnQpLlxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAuaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuLmRhcmstdGhlbWUgLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uZGFyay10aGVtZSAuc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpLFxuICAgICAgICAgICAgICAgIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLy8gKEEgc29tYnJhIGRhIGJvcmRhIGRpcmVpdGEgZG8gc2lkZWJhciBwYXJhIGBhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlYCBhZ29yYSDDqSBhIG1lc21hXG4vLyAgYGJveC1zaGFkb3dgICsgYGNsaXAtcGF0aGAgZGEgc3VibWlzc8OjbyDigJQgdmVyIGEgcmVncmEgY29tYmluYWRhIGFjaW1hLiBPIHBzZXVkbyBgOjphZnRlcmBcbi8vICBxdWUgc2FsdGF2YSBmb2kgcmVtb3ZpZG8uKVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgcG9ydHJhaXQg4oCUIGJvZHkgb2Zmc2V0IHBybyBib3R0b20gbmF2XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBIG5hdmJhciBlbSBtb2JpbGUgcG9ydHJhaXQgZmljYSBlbSBEVUFTIHBhcnRlczogdG9wIG1pbmkgYmFyICg0OHB4LCBhaW5kYVxuLy8gbm8gZmx1eG8gZGVmYXVsdCkgKyBib3R0b20gbmF2ICg2NHB4ICsgc2FmZS1hcmVhLCBgcG9zaXRpb246IGZpeGVkYCkuIE9cbi8vIGJvdHRvbSBuYXYgc29icmVww7VlIG8gZmluYWwgZG8gY29udGXDumRvIOKAlCByZXNlcnZhbW9zIHBhZGRpbmctYm90dG9tIG5vIGJvZHlcbi8vIHByYSBuaW5ndcOpbSBmaWNhciBlc2NvbmRpZG8gZW1iYWl4byBkZWxlLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg2NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDApKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIFBvcnRyYWl0IOKAlCBUT1AgbWluaSBiYXIgKyBCT1RUT00gcHJpbWFyeSBuYXYgKHJlZ3JhcyBHTE9CQUlTKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVml2ZSBBUVVJIChhcnF1aXZvIGdsb2JhbCwgc2VtIHNjb3BpbmcgQW5ndWxhcikgZSBOw4NPIGVtXG4vLyBgbmF2YmFyLmNvbXBvbmVudC5zY3NzYCBwb3JxdWUgcXVhbmRvIG8gQW5ndWxhciBFbXVsYXRlZCBzY29wYSBhIHJlZ3JhLFxuLy8gYWRpY2lvbmEgYFtfbmdjb250ZW50LXh4eF1gIGEgVE9ET1Mgb3Mgc2ltcGxlIHNlbGVjdG9ycyDigJQgaW5jbHVzaXZlXG4vLyBgaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXWAuIENvbW8gYDxodG1sPmAgbsOjbyB0ZW0gZXNzZSBhdHJpYnV0byxcbi8vIG8gc2VsZXRvciBOVU5DQSBjYXNhIGUgYXMgcmVncmFzIG7Do28gYXBsaWNhbS4gRXN0ZSDDqSBvIG1lc21vIHRpcG8gZGUgYnVnXG4vLyBxdWUgYXBhcmVjZSBjb20gYC5kYXJrLXRoZW1lYCBzY29waW5nIGVtIFNDU1MgZGUgY29tcG9uZW50ZS5cbi8vXG4vLyBBcnF1aXRldHVyYTpcbi8vICAg4oCiIFRvcCBtaW5pIGJhciAoYSBwcsOzcHJpYSBgLm5hdmJhcmAsIGFsdHVyYSA0OHB4KSDihpIgbG9nbyArIHJpZ2h0LWNvbnRhaW5lclxuLy8gICAgIChzZWFyY2gsIGhlbHAsIG5vdGlmLCBhdmF0YXIpLiBgLm5hdmJhci1pdGVtc2Agc2FpIGRvIGZsdXhvIGRhcXVpLlxuLy8gICDigKIgQm90dG9tIG5hdiAoYSBgLm5hdmJhci1pdGVtc2AgcHJvbW92aWRhIGEgYHBvc2l0aW9uOiBmaXhlZGApIOKGklxuLy8gICAgIGFwZW5hcyBvcyA1IG5hdiBpdGVtcyBwcmltw6FyaW9zLiA2NHB4ICsgc2FmZS1hcmVhIGRvIGlQaG9uZS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICAvLyBUb3AgbWluaSBiYXIg4oCUIGZvcsOnYSB0b3AgcG9zaXRpb24gKG92ZXJyaWRlIGRhcyBgQG1lZGlhIG1heC13aWR0aGBcbiAgICAvLyBxdWUgY29sb2NhdmFtIGEgbmF2YmFyIGludGVpcmEgbm8gYm90dG9tKS5cbiAgICB0b3A6IHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAvLyBOYXYgaXRlbXMgc2FpIGRvIGZsdXhvIGRvIHRvcCBiYXIgZSB2aXJhIGJhcnJhIFBSw5NQUklBIG5vIGJvdHRvbS5cbiAgICAvLyBgIWltcG9ydGFudGAgbmEgcG9zaXRpb24vYm90dG9tL2xlZnQvcmlnaHQvaGVpZ2h0IHBvcnF1ZSBhcyByZWdyYXNcbiAgICAvLyBzY29wZWQgZG8gY29tcG9uZW50ZSBgbmF2YmFyLmNvbXBvbmVudC5zY3NzYCB0w6ptIG1lc21hXG4gICAgLy8gc3BlY2lmaWNpdHkgZSBjYXJyZWdhbSBERVBPSVMg4oCUIHNlbSAhaW1wb3J0YW50IG8gYHBvc2l0aW9uOlxuICAgIC8vIHJlbGF0aXZlYCBiYXNlIGRvIGNvbXBvbmVudGUgdmVuY2lhLlxuICAgIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBPUEFDTyBleHBsw61jaXRvIOKAlCBtZXNtYSBjb3IgZGEgbmF2YmFyIGRlc2t0b3BcbiAgICAgICAgLy8gKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCDigJQgdG9rZW4gZ2xvYmFsIGRvIGNocm9tZSkuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICB6LWluZGV4OiAzMDtcblxuICAgICAgICAvLyBJbmRpY2F0b3IgKyB1bmRlcmxpbmUgQ09NUEFSVElMSEFET1MgY29tIG8gZGVza3RvcCDigJQgbWVzbWEgSlMsXG4gICAgICAgIC8vIG1lc21hIENTUyBiYXNlIGRvIG5hdmJhci5jb21wb25lbnQuc2Nzcy4gTyBKUyBhcG9udGEgcHJhXG4gICAgICAgIC8vIC5tYXQtaWNvbiBlbSBtb2JpbGUtcG9ydHJhaXQsIGVudMOjbyBhIHDDrWx1bGEgZGVzbGl6YSBubyB0YW1hbmhvXG4gICAgICAgIC8vIGRvIMOtY29uZS4gT3ZlcnJpZGVzIG1vYmlsZSBhYmFpeG8gKHRyYXDDqXppbyBpbnZlcnRpZG8gZG9cbiAgICAgICAgLy8gdW5kZXJsaW5lIHByYSBlbGUgXCJhYnJpciBwcmEgYmFpeG9cIiBubyB0b3BvIGRvIHBpbGwpLlxuICAgICAgICAubmF2YmFyLWl0ZW1zLXVuZGVybGluZSB7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMnB4IDAsIGNhbGMoMTAwJSAtIDJweCkgMCwgMTAwJSAxMDAlLCAwIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWRhIGl0ZW0gb2N1cGEgMS81IGRhIGxhcmd1cmEgdmlhIGZsZXgg4oCUIGRpc3RyaWJ1acOnw6NvIHVuaWZvcm1lLlxuICAgICAgICBhcHAtc2lkZWJhci1pdGVtIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICAvLyBCb3R0b20tbmF2IG1vYmlsZSDDqSBGTEFUIOKAlCBzZW0gYm9yZGVycywgc2VtIGJnIG5vIGhvdmVyLCBzZW1cbiAgICAgICAgLy8gcmFkaXVzIGRlIGNoaXAuIEVzdGFkbyBhdGl2byA9IHPDsyBjb3IgYWNjZW50ICsgw61jb25lIGZpbGxlZFxuICAgICAgICAvLyAocGFkcsOjbyBpT1MvQW5kcm9pZCkuICFpbXBvcnRhbnQgdmVuY2UgbyBsYXlvdXQgZGVza3RvcCBwaWxsLlxuICAgICAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBBIHJlZ3JhIC5zZWxlY3RlZCBhbnRpZ2EgKHRyYW5zcGFyZW50KSBmb2kgUkVNT1ZJREEg4oCUIGNvbmZsaXRhdmFcbiAgICAgICAgLy8gY29tIG8gYmcgYWNjZW50IHRpbnQgcXVlIGFwbGljYW1vcyBubyBUaWVyIDEgKGJsb2NvIGFiYWl4bykuXG4gICAgICAgIC8vIFNvbWUgY29tIG8gdW5kZXJsaW5lIGFjY2VudCBkbyBpdGVtIGF0aXZvIOKAlCBlc3RhZG8gYXRpdm8gasOhXG4gICAgICAgIC8vIMOpIHNpbmFsaXphZG8gcGVsYSBjb3IgZG8gdGV4dG8vw61jb25lIHZpYSBfY29sb3Itc2NoZW1lLnNjc3MuXG4gICAgICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjo6YmVmb3JlLFxuICAgICAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIERhcms6IGJvcmRlci10b3AgZG8gYm90dG9tIG5hdiBtdWRhIHByYSB0b2tlbiBkYXJrLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgUG9saW1lbnRvIFRpZXIgMSArIDIgKG5hdmJhcilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbXBsZW1lbnRhIG8gYmxvY28gYW50ZXJpb3IuIEFkacOnw7Vlczpcbi8vICAgVDEuMSBMb2dvIHRvcC1sZWZ0IHJlc3RhdXJhZG9cbi8vICAgVDEuMiDDjWNvbmVzIGRvIHJpZ2h0LWNvbnRhaW5lciBlbXB1cnJhZG9zIHByYSBkaXJlaXRhXG4vLyAgIFQxLjMgRXN0YWRvIGF0aXZvIGRvIGJvdHRvbSBuYXYgY29tIGJnIGFjY2VudCB0aW50ICsgdG9wIGJhciAzcHhcbi8vICAgVDEuNCBJY29uIHNpemUgMjJweCBubyBib3R0b20gbmF2XG4vLyAgIFQyLjUgOmFjdGl2ZSB0YXAgZmVlZGJhY2sgKGJnIGFvIHRvY2FyKVxuLy8gICBUMi42IExhYmVsIDExcHggKyBtYWlzIHJlc3Bpcm8gZW50cmUgw61jb25lIGUgbGFiZWxcbi8vICAgVDIuNyBDb250ZW50IGd1dHRlciBsYXRlcmFsIDE24oaSMTJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYXBwLW5hdmJhciB7XG4gICAgLy8gVDEuMSDigJQgTG9nbyB2b2x0YSBhIGFwYXJlY2VyIG5vIHRvcC1sZWZ0LiBTb2JyZXNjcmV2ZSBvXG4gICAgLy8gYGRpc3BsYXk6IG5vbmVgIEUgYHdpZHRoOiAwcHhgIGRvIGBAbWVkaWEgbWF4LXdpZHRoYCBkbyBjb21wb25lbnQuXG4gICAgLm5hdmJhciBhLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDAgNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC8vIE7Dg08gdXNhIGA+YCAoZGlyZWN0IGNoaWxkKSBwb3JxdWUgbm8gSFRNTCBvIGltZyB2aXZlIGRlbnRybyBkZVxuICAgIC8vIGA8cGljdHVyZT5gIChncmFuZGNoaWxkIGRhIGFuY2hvcikuIERlc2NlbmRlbnRlIMOpIG8gcXVlIGNhc2EuXG4gICAgLm5hdmJhciBhLmxvZ28gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5uYXZiYXIgYS5sb2dvIHBpY3R1cmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFQxLjIg4oCUIGAuc3BhY2VyYCAoZW50cmUgbmF2LWl0ZW1zIGUgcmlnaHQtY29udGFpbmVyKSBzb21lO1xuICAgIC8vIHJpZ2h0LWNvbnRhaW5lciBmaWNhIGFuY29yYWRvIMOgIGRpcmVpdGEgY29tIG1hcmdpbi1sZWZ0IGF1dG8uXG4gICAgLm5hdmJhciAuc3BhY2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi8vIEJvdHRvbSBuYXYg4oCUIE1hdGVyaWFsIDMgRXhwcmVzc2l2ZSArIEFkYXB0aXZlIGxhYmVscy5cbi8vICAg4oCiIENlbGwgYmcgdG90YWxtZW50ZSBUUkFOU1BBUkVOVEUgKGVyYSB0aW50IGF6dWwgbm8gY2VsbCBpbnRlaXJvKS5cbi8vICAg4oCiIEluZGljYXRvciBiYXIgU1VQRVJJT1IgUkVNT1ZJRE8gKGVyYSAzcHggYWNjZW50IG5vIHRvcG8pLlxuLy8gICDigKIgU2VsZWNpb25hZG86IFDDjUxVTEEgYWNjZW50IGFicmHDp2FuZG8gU8OTIG8gw61jb25lICsgw61jb25lIEZJTExFRFxuLy8gICAgIChNYXRlcmlhbCBTeW1ib2xzIHZhcmlhdGlvbiBGSUxMPTEpICsgbGFiZWwgYWNjZW50IGJvbGQuXG4vLyAgIOKAoiBOw6NvLXNlbGVjaW9uYWRvOiBzw7Mgw61jb25lIG1haW9yICgyNnB4KSwgU0VNIGxhYmVsIOKAlCBsYWJlbCByZXNlcnZhZGFcbi8vICAgICB2aWEgdmlzaWJpbGl0eTpoaWRkZW4gcHJhIG7Do28gcHVsYXIgYWx0dXJhIG5hIHRyb2NhLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBDb250YWluZXIgZG8gw61jb25lIHZpcmEgbyBcImhpdGJveFwiIGRhIHDDrWx1bGEuIFVzYW1vcyBwYWRkaW5nXG4gICAgICAgIC8vIHZlcnRpY2FsIG1lbm9yIHByYSBkZWl4YXIgcmVzcGlybyBwcm8gbGFiZWwgYXRpdm8uXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gUDMg4oCUIEhvdmVyL3ByZXNzZWQuIFDDrWx1bGEgZXNjdXJlY2UgfjItMyUgbm8gdG9xdWUvaG92ZXIuXG4gICAgICAgIC8vIEFwbGljYSBlbSAubWF0LWljb24gKG7Do28gbm8gYnV0dG9uKSBwb3JxdWUgYSBww61sdWxhIFZJVkUgbm9cbiAgICAgICAgLy8gLm1hdC1pY29uIChiZyBjb20gcGFkZGluZytib3JkZXItcmFkaXVzKS5cbiAgICAgICAgLy8gVGFwIGZlZWRiYWNrIFNVVElMOiBiZyBsZXZlIG5vIEJPVMODTyAobsOjbyBubyDDrWNvbmUpIGR1cmFudGVcbiAgICAgICAgLy8gbyB0b3F1ZSDigJQgbsOjbyB0aW50YSBhIGNvciBkbyDDrWNvbmUsIHPDsyBhIMOhcmVhIGFvIHJlZG9yLlxuICAgICAgICAvLyBGYWRlIHLDoXBpZG8gcHJhIHNlbnNhw6fDo28gZGUgXCJmbGFzaCB0w6F0aWxcIi5cbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dDtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDBtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFAyIOKAlCBCYWRnZSBtZW5vciAoMTRweCBlbSB2ZXogZGUgMTZweCkgKyBib3JkYSBicmFuY2EgMS41cHhcbiAgICAvLyAgICAgIHByYSBcImRlc2NvbGFyXCIgZG8gZnVuZG8vcMOtbHVsYS4gQXVtZW50YSB0cmFuc2Zvcm0gWSBwcmEgZmljYXJcbiAgICAvLyAgICAgIG1haXMgY29sYWRvIG5hIGJvcmRhIHN1cGVyaW9yIGRvIMOtY29uZS5cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLnNpZGViYXItaXRlbS1iYWRnZSB7XG4gICAgICAgIG1pbi13aWR0aDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMXB4IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDdweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5zaWRlYmFyLWl0ZW0tYmFkZ2VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTRweCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAuc2lkZWJhci1pdGVtLWJhZGdlIHtcbiAgICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLy8gUXVlYnJhIG8gc3RhY2tpbmcgY29udGV4dCBkbyBgYXBwLXNpZGViYXItaXRlbWAgKHF1ZSBlcmEgej0xKSDigJRcbiAgICAvLyBjb20gYHotaW5kZXg6IGF1dG9gLCBvIGJhZGdlIGVzY2FwYSBwcm8gY29udGV4dG8gcGFpIChgLm5hdmJhci1pdGVtc2ApXG4gICAgLy8gZSBwb2RlIGlyIHByYSB6PTMgKGFjaW1hIGRhIGxpbmhhIGFjY2VudCwgej0yKS4gQSBib3JkYSBkbyBib3TDo29cbiAgICAvLyBjb250aW51YSBubyBmbHV4byBuYXR1cmFsLCBBQkFJWE8gZGEgbGluaGEgYWNjZW50ICh6PTIpLiBPbmx5LWJhZGdlLXVwLFxuICAgIC8vIGJvcmRlci1zdGlsbC1kb3duLlxuICAgIGFwcC1zaWRlYmFyLWl0ZW0ge1xuICAgICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gw41DT05FIGRlZmF1bHQ6IHDDrWx1bGEgR0hPU1QgKGJnIGNpbnphIHVsdHJhLXN1dGlsKSBlbSBUT0RPUy5cbiAgICAvLyBDcmlhIFwiZ3JpZCB1bmlmb3JtZVwiIOKAlCB0b2RvcyBvcyBpdGVucyBwYXJlY2VtIGNvbnRpZG9zLCBhdGl2b1xuICAgIC8vIHZzLiBpbmF0aXZvIHNlIGRpc3Rpbmd1ZSBwZWxvIHRpbnQgYWNjZW50LCBuw6NvIHBlbGEgcHJlc2Vuw6dhXG4gICAgLy8gZGUgY29udGFpbmVyLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAvLyBNYXRjaCB2aXN1YWwgZG8gZGVza3RvcDogc8OzIGJvcmRhIG5vIGluYXRpdm87IHNlbGVjdGVkIGdhbmhhXG4gICAgICAgIC8vIHNvbWJyYSAocmVncmEgYWJhaXhvKS4gU2VtIGJnIHRpbnQsIHNlbSB1bmRlcmxpbmUuXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIC8vIENvciArIG9wYWNpZGFkZSBoZXJkYWRhcyBkbyBjb2xvci1zY2hlbWUgKG1lc21hIGRvcyDDrWNvbmVzXG4gICAgICAgIC8vIG5vIGRlc2t0b3ApLiBTZW0gb3BhY2l0eSA8IDEgYXF1aSDigJQgZGVza3RvcCBuw6NvIGRpbW1hLlxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyBGSUxMIDEgc2VtcHJlIOKAlCDDrWNvbmVzIGRvIGJvdHRvbSBuYXYgZW0gbW9iaWxlIHPDo28gZmlsbGVkXG4gICAgICAgIC8vIChtYWlzIG1hc3NhIHZpc3VhbCwgbGVpdHVyYSBpbnN0YW50w6JuZWEgZW0gdG9xdWUpLlxuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ0ZJTEwnIDEsICd3Z2h0JyA0MDAsICdvcHN6JyAyNCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIExBQkVMIGRlZmF1bHQ6IHNlbXByZSBWSVPDjVZFTCAoZXZpdGEgcmVjb25oZWNpbWVudG8gdHJ1bmNhZG8gc8OzXG4gICAgLy8gcGVsbyDDrWNvbmUsIGVzcGVjaWFsbWVudGUgcG9ycXVlIG9zIMOtY29uZXMgYXF1aSB0w6ptIGNvcmVzIGRlIG1hcmNhXG4gICAgLy8gcXVlIG7Do28gc2UgcHJlc3RhbSBhIHNlcmVtIGxpZG9zIGNvbW8gXCJlc3RhZG9cIikuXG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5sYWJlbC1zaG9ydCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEVzdGFkbyBBVElWTyDigJQgcGlsbCBhY2NlbnQgKyBmaWxsZWQgKyBsYWJlbCB2aXPDrXZlbC5cbiAgICAvLyBgLnNlbGVjdGVkLnNlbGVjdGVkYCAoZHVwbGljYWRvKSBidW1wbyBzcGVjaWZpY2l0eSBwcmEgdmVuY2VyIG9cbiAgICAvLyBgLm5hdmJhcltfbmdjb250ZW50LSpdIC5uYXZiYXItaXRlbXNbX25nY29udGVudC0qXSAuc2lkZWJhci1pdGVtXG4gICAgLy8gLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWRgIGRvIGNvbXBvbmVudCAoMCw3LDAgcGVsbyBuZ2NvbnRlbnQpLlxuICAgIC8vIFNlbGVjdGVkOiBwaWxsIGJyYW5jbyArIGFjY2VudCBsaW5lIHbDqm0gZG8gYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYFxuICAgIC8vICsgYC5uYXZiYXItaXRlbXMtdW5kZXJsaW5lYCAoSlMgc2hhcmVkIGNvbSBkZXNrdG9wLCBhbmltYSBlbnRyZSBpdGVucykuXG4gICAgLy8gQXF1aSBzw7MgbmV1dHJhbGl6YW1vcyBvIGdob3N0IHBpbGwgZGEgLm1hdC1pY29uICh0cmFuc3BhcmVudGUpLFxuICAgIC8vIG1hbnRlbmRvIG8gw61jb25lIG9wYWNvLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZC5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLy8gQmcgKyBib3JkZXIgaGVyZGFtIGRvIGVzdGFkbyBkZWZhdWx0ICh0cmFuc3BhcmVudGUgKyBib3JkYVxuICAgICAgICAgICAgLy8gY2hyb21lKS4gTWF0Y2ggZGVza3RvcDogc2VsZWN0ZWQgTsODTyBlc2NvbmRlIGJvcmRhIG5lbVxuICAgICAgICAgICAgLy8gbXVkYSBiZyBkbyBwcsOzcHJpbyBib3TDo28gKG8gaW5kaWNhdG9yIGJyYW5jbyB2aXZlIG51bVxuICAgICAgICAgICAgLy8gZWxlbWVudG8gc2VwYXJhZG8gYXRyw6FzIOKAlCAubmF2YmFyLWl0ZW1zLWluZGljYXRvcikuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIERhcms6IHPDsyBhanVzdGUgZGUgYm9yZGVyLWNvbG9yIHByYSBjaHJvbWUtYm9yZGVyLWRhcmsgKG1lc21vIHBhZHLDo29cbi8vIGRvIHNpZGViYXItaXRlbSBjb21wb25lbnQgZW0gYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICB9XG4gICAgLy8gU2VsZWN0ZWQgZW0gZGFyazogc2VtIGJnIGV4dHJhIG5vIC5tYXQtaWNvbi4gTWF0Y2ggZGVza3RvcCDigJRcbiAgICAvLyBvIHBpbGwgYnJhbmNvL2VzY3VybyB2ZW0gZG8gYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYCAoc2hhcmVkKS5cbn1cblxuLy8gRGFyazogaG92ZXIvYWN0aXZlIGRhIHDDrWx1bGEgKyBib3JkYSBkbyBiYWRnZSBubyBiZyBlc2N1cm8uXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgTWVsaG9yaWFzIFRpZXIgQi9DL0QvRSArIEEgcGFyY2lhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSB7XG4gICAgLy8gQi4gU2FmZS1hcmVhLWluc2V0LXRvcCDigJQgcmVzcGVpdGEgbyBub3RjaCBkZSBpUGhvbmUgLyBzdGF0dXMgYmFyXG4gICAgLy8gICAgQW5kcm9pZC4gVG9wIGJhciBzb2JlIHByYSBmb3JhIGRhIMOhcmVhIFwiY2xpY8OhdmVsXCIgZG8gbm90Y2ggZVxuICAgIC8vICAgIGF1bWVudGEgYWx0dXJhIHByYSBjb21wZW5zYXIuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSkgIWltcG9ydGFudDtcbiAgICAgICAgLy8gVHJhbnNwYXJlbnRlIOKAlCBvIGdsYXNzIGRvIC5tYWluLWhlYWRlciAocXVlIGNvYnJlIFRPRE8gb1xuICAgICAgICAvLyB0b3BvLCBub3RjaCBpbmNsdcOtZG8pIMOpIHF1ZW0gdmlzdWFsbWVudGUgcmVwcmVzZW50YSBhIHRvcCBiYXIuXG4gICAgICAgIC8vIFPDkyBiZyDigJQgTkFEQSBkZSBiYWNrZHJvcC1maWx0ZXIvdHJhbnNmb3JtL2ZpbHRlciBhcXVpLCBzZW7Do29cbiAgICAgICAgLy8gdmlyYSBjb250YWluaW5nIGJsb2NrIGUgcXVlYnJhIG8gYHBvc2l0aW9uOiBmaXhlZGAgZGEgYm90dG9tXG4gICAgICAgIC8vIG5hdiAoYC5uYXZiYXItaXRlbXNgIHNvYmUgcHJhIGRlbnRybyBkbyB0b3BvKS5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEMuIEJvdHRvbSBuYXYgY29tIHNvbWJyYSBzdXRpbCDigJQgZMOhIHNlbnNhw6fDo28gZGUgY2FtYWRhIGVsZXZhZGFcbiAgICAvLyAgICBzb2JyZSBvIGNvbnRlw7pkbyAocGFkcsOjbyBpT1MvQW5kcm9pZCkuIFN1YnN0aXR1aSBhIGJvcmRlci10b3BcbiAgICAvLyAgICBwbGFuYSBwb3IgdW1hIHNvbWJyYSBzdXBlcmlvciAyLWNhbWFkYXMuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KSxcbiAgICAgICAgICAgICAgICAgICAgMCAtM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICB9XG5cbiAgICAvLyBELiBMb2dvLCBzZWFyY2gsIGhlbHAsIGJlbGwg4oCUIFRPRE9TIG9jdWx0b3Mgbm8gdG9wby4gU2VhcmNoLFxuICAgIC8vICAgIGhlbHBkZXNrIGUgbm90aWZpY2HDp8O1ZXMgbWlncmFtIHBybyBtZW51IGRvIHVzdcOhcmlvIChkw6liaXRvXG4gICAgLy8gICAgZGUgdGVtcGxhdGUg4oCUIGFpbmRhIG7Do28gbW92aWRvcywgYXBlbmFzIG9jdWx0b3MgYXF1aSkuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIGEubG9nbyxcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnNwYWNlcixcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyLFxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbixcbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBPIGAucmlnaHQtbmF2YmFyLWNvbnRhaW5lcmAgaW50ZWlybyBzb21lIG5vIHRvcG8g4oCUIHRvZG9zIG9zIMOtY29uZXNcbiAgICAvLyAoc2VhcmNoL2hlbHAvYmVsbC9hdmF0YXIgZG8gdG9wbykgZXN0w6NvIG9jdWx0b3MgaW5kaXZpZHVhbG1lbnRlLlxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBBdmF0YXIgbW9iaWxlIOKAlCA2wrogc2xvdCBERU5UUk8gZGEgLm5hdmJhci1pdGVtcyAodmlzw612ZWwgc8OzIGFxdWkpLlxuICAgIC8vIERlc2xvY2EgYSBmaWxhIGRlIHNpZGViYXItaXRlbXMgNHB4IHByYSBkaXJlaXRhICh2aXN1YWwgYmFsYW5jZSkuXG4gICAgLy8gTyBhdmF0YXIgKG1vYmlsZS11c2VyLW1lbnUtc2xvdCkgY29tcGVuc2EgY29tIG1hcmdpbi1sZWZ0OiAtNHB4IHByYVxuICAgIC8vIG7Do28gZGVzbG9jYXIganVudG8g4oCUIHPDsyBvcyDDrWNvbmVzIGFuZGFtLlxuICAgIC8vIERlc2xvY2EgNHB4IHByYSBkaXJlaXRhIHZpYSBtYXJnaW4gKE7Dg08gdHJhbnNmb3JtIOKAlCB0cmFuc2Zvcm0gY3JpYVxuICAgIC8vIHN0YWNraW5nIGNvbnRleHQgZSBwcmVuZGUgbyBiYWRnZSwgaW1wZWRpbmRvLW8gZGUgc3ViaXIgYWNpbWEgZGFcbiAgICAvLyBsaW5oYSBhY2NlbnQpLiBNYXJnaW4tbGVmdCBubyBwcmltZWlybywgbWFyZ2luLXJpZ2h0IGFqdXN0YWRvIG5vXG4gICAgLy8gw7psdGltbzsgb3UgYXBlbmFzIHBhZGRpbmdnIG5hIG5hdmJhci1pdGVtcyBwcmEgZW1wdXJyYXIgdG9kb3MuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgICB9XG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMgLm1vYmlsZS11c2VyLW1lbnUtc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy8gU29iZSBtYWlzIHF1ZSBvcyBvdXRyb3Mg4oCUIG8gYXZhdGFyICgzNsOXMzYpIMOpIG1haW9yIHF1ZSBvIHBpbGxcbiAgICAgICAgLy8gZG8gw61jb25lICh+MzIgYWx0byksIGVudMOjbyBwcmVjaXNhIGNvbWXDp2FyIG1haXMgYWx0byBwcmEgcXVlIG9cbiAgICAgICAgLy8gY2VudHJvIHZpc3VhbCBiYXRhIGNvbSBhIFwibGluaGEgZG9zIMOtY29uZXNcIiAobsOjbyBjb20gYSBsaW5oYVxuICAgICAgICAvLyBkb3MgbGFiZWxzKS5cbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGZsZXg6IDAgMCA1NnB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIC5tb2JpbGUtdXNlci1tZW51LXNsb3QgLnVzZXItbWVudS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyAubW9iaWxlLXVzZXItbWVudS1zbG90IC51c2VyLW1lbnUtcGhvdG8ge1xuICAgICAgICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gQ2FudG9zIGFycmVkb25kYWRvcyDigJQgbWVzbW8gJGNocm9tZS1yYWRpdXMgZG8gYXZhdGFyIGRlc2t0b3AuXG4gICAgICAgIC8vIEEgcmVncmEgZG8gZGVza3RvcCBtaXJhIGAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAudXNlci1tZW51LXBob3RvYFxuICAgICAgICAvLyBlIG7Do28gcGVnYSBlc3NlIG5vdm8gc2xvdC5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLy8gRS4gR3V0dGVyIGxhdGVyYWwgZG9zIGNhcmRzIG1haXMgYXBlcnRhZG8gZW0gbW9iaWxlIHBvcnRyYWl0LlxuICAgIC8vICAgIEFwcm92ZWl0YSBhIGxhcmd1cmEgZXN0cmVpdGEgZG8gdmlld3BvcnQgKG1haXMgZXNwYcOnbyBwcm9cbiAgICAvLyAgICBjb250ZcO6ZG8pLiBBcGxpY2Egbm8gc2hlbGwgcGFkcsOjbyBgLnBhZ2UtY29udGVudGAuXG4gICAgLy8gICAgVGFtYsOpbTogYHotaW5kZXg6IGF1dG9gIGRlcnJ1YmEgbyBzdGFja2luZyBjb250ZXh0IHF1ZVxuICAgIC8vICAgIHByZW5kZXJpYSBvIGAubWFpbi1oZWFkZXJgICh6PTMyKSBhYmFpeG8gZGEgbmF2YmFyICh6PTMxKSxcbiAgICAvLyAgICB0b3JuYW5kbyBvIGZpbHRybyBpbnZpc8OtdmVsIG5vIHRvcG8uXG4gICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgLy8gaG9tZS5zY3NzIGVtcHVycmEgLnBhZ2UtY29udGVudCBwcmEgYmFpeG8gKHRvcDogbmF2YmFyKzMrY2hyb21lKVxuICAgICAgICAvLyDigJQgZW0gbW9iaWxlLXBvcnRyYWl0IG8gb2Zmc2V0IHZpdmUgbm8gLm1haW4tYm9keSwgYXF1aSB6ZXJhLlxuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gaG9tZS5zY3NzIGFwbGljYSBwYWRkaW5nLWJvdHRvbTogbmF2YmFyLWhlaWdodCsyOCAoPTgzcHgpIGVtXG4gICAgICAgIC8vIGlQaG9uZTgtcG9ydHJhaXQg4oCUIGxlZ2FkbyBkYSBib3R0b20tYmFyIGFudGlnYS4gTyBub3NzbyBib2R5XG4gICAgICAgIC8vIGrDoSByZXNlcnZhIDMyK3NhZmUgcHJhIGJvdHRvbSBuYXYsIGVudMOjbyBhcXVpIHplcmEgcHJhIG7Do29cbiAgICAgICAgLy8gZHVwbGljYXIgZm9sZ2EuXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQS4gRlVTw4NPIG5hdmJhciArIG1haW4taGVhZGVyIGVtIFVNQSBsaW5oYSBzw7MuXG4gICAgLy8gICAgTGF5b3V0OiBbZmlsdHJvIGRhIHDDoWdpbmEgY2VudHJhbGl6YWRvXSBbYXZhdGFyICh1c2VyLW1lbnUpXS5cbiAgICAvLyAgICBPIGAubWFpbi1oZWFkZXJgIGRhIHDDoWdpbmEgw6kgUE9TSUNJT05BRE8gc29icmUgYSBmYWl4YSBkYVxuICAgIC8vICAgIG5hdmJhciAodG9wPTAgKyBzYWZlLWFyZWEpIGUgdmlyYSBvIGRvbm8gdmlzdWFsIGRvIHRvcG8uXG4gICAgLy8gICAgVGl0bGUgZGEgcMOhZ2luYSBzb21lIChib3R0b20gbmF2IGrDoSBzaW5hbGl6YSBhIHDDoWdpbmEgYXRpdmEpLlxuICAgIC8vICAgIHJpZ2h0OiA2MHB4IHJlc2VydmEgZXNwYcOnbyBwcm8gYXZhdGFyIHF1ZSBjb250aW51YSBubyBuYXZiYXIuXG4gICAgLy8gSGVhZGVyIGVtIG1vYmlsZS1wb3J0cmFpdCDigJQgVU0gw7puaWNvIGJsb2NvIGRlIHJlZ3Jhcy4gRXNwZWNpZmljaWRhZGVcbiAgICAvLyBhbHRhICg2IGNsYXNzZXMpIHByYSB2ZW5jZXIgbyBgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50YCBkb1xuICAgIC8vIGV2ZW50cy5jb21wb25lbnQuc2NzcyBjb21waWxhZG8gY29tIDMgYXR0cnMgYF9uZ2NvbnRlbnRgIChzcGVjIDAsNiwwKS5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDQ4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gcGFkZGluZy10b3AgY29tcGVuc2EgbyBub3RjaCDigJQgZmlsdHJvIGZpY2EgYWJhaXhvIGRlbGUuXG4gICAgICAgIHBhZGRpbmc6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSAxMnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgLy8gw5pOSUNBIGxheW91dCByZWdyYSDigJQgZmxleC1jZW50ZXIuIEFudWxhIG8gZ3JpZCBoZXJkYWRvLlxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBHbGFzcyArIHplcm8gc29tYnJhIChnbGFzcyByZWFsIHZpdmUgbm8gOjpiZWZvcmUpLlxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiBjYWxjKCN7JG5hdmJhci16LWluZGV4fSArIDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICAvLyBDYW1hZGEgZGUgYmx1ciBjb20gbcOhc2NhcmEgZ3JhZGllbnRlLiBGaWNhIEFUUsOBUyBkbyBjb250ZcO6ZG8gZG9cbiAgICAvLyBoZWFkZXIgKGZpbHRlciBjaGlwKSBwb3JxdWUgYSBvcmRlbSBubyBET00gKDo6YmVmb3JlIGFudGVzIGRlXG4gICAgLy8gZmlsaG9zIHJlYWlzKSBlIG8gcG9pbnRlci1ldmVudHM6bm9uZSBnYXJhbnRlbSBxdWUgbsOjbyBpbnRlcmNlcHRlXG4gICAgLy8gaW50ZXJhw6fDo28uXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAvLyBUaW50IGVtIGdyYWRpZW50ZTogdG9wbyBjb20gNTAlIGRlIG9wYWNpZGFkZSBicmFuY2EsIHJvZGFww6lcbiAgICAgICAgLy8gMTAwJSB0cmFuc3BhcmVudGUuIENvbWJpbmFkbyBjb20gbyBtYXNrIChtZXNtbyBwZXJmaWwpIGTDoSB1bVxuICAgICAgICAvLyBmYWRlIGR1cGxvIHN1YXZlIOKAlCBubyByb2RhcMOpIHNvbWUgdGFudG8gbyB0aW50IHF1YW50byBvIGJsdXIuXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKSAhaW1wb3J0YW50O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KSBzYXR1cmF0ZSgxMTUlKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCkgc2F0dXJhdGUoMTE1JSk7XG4gICAgICAgIC8vIE3DoXNjYXJhOiBvcGFjYSBubyB0b3BvIChibHVyIGNoZWlvKSDihpIgdHJhbnNwYXJlbnRlIG5vIGZpbVxuICAgICAgICAvLyAoYmx1ciB6ZXJvKS4gTWF0Y2ggaU9TL21hY09TIHRyYW5zbHVjZW50IG5hdi5cbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDAwIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgfVxuICAgIC8vIE92ZXJyaWRlIGRvIGV2ZW50cy5jb21wb25lbnQuc2NzcyBxdWUgYXBsaWNhIGJveC1zaGFkb3cgZW0gaXMtc2Nyb2xsZWQuXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyLmlzLXNjcm9sbGVkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8vIChBbnRlczogYDo6YmVmb3JlIHsgZGlzcGxheTogbm9uZSB9YCBwcmEgZGVzbGlnYXIgYSBleHRlbnPDo28gZGUgYmdcbiAgICAvLyAgZG8gZXZlbnRzLnNjc3MuIEFnb3JhIHJlYXByb3ZlaXRhbW9zIG8gOjpiZWZvcmUgcHJvIGdsYXNzIGdyYWRpZW50LFxuICAgIC8vICBlbnTDo28gTsODTyBlc2NvbmRlbW9zIG1haXMuIEEgcmVncmEgZG8gZ2xhc3MgZmljYSBubyBibG9jbyBBLilcblxuICAgIC8vIFRpdGxlIGRhIHDDoWdpbmEgc29tZSDigJQgYm90dG9tIG5hdiBqw6EgbW9zdHJhIHF1YWwgcMOhZ2luYSBlc3TDoSBhdGl2YS5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLm1haW4tdGl0bGUsXG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5wYWdlLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gRmlsdHJvIMOpIG8gw7puaWNvIGZpbGhvIHZpc8OtdmVsLiBTZW0gZ3JpZC1jb2x1bW4sIHNlbSBqdXN0aWZ5LXNlbGYuXG4gICAgLy8gQ29tbyBvIHBhaSDDqSBmbGV4LWNlbnRlciwgbyBmaWx0cm8gY2VudHJhbGl6YSBhdXRvbWF0aWNhbWVudGUuXG4gICAgLy8gbWF4LXdpZHRoIGxpbWl0YSBhIGxhcmd1cmEgw7p0aWw7IG1hcmdpbiBhdXRvIGZvcsOnYSBjZW50cmFsaXphw6fDo29cbiAgICAvLyBjYXNvIG91dHJvcyBpcm3Do29zIGFwYXJlw6dhbS5cbiAgICAvLyBTaHJpbmstdG8tZml0OiBmaWx0cm8gc8OzIG9jdXBhIGEgbGFyZ3VyYSBuYXR1cmFsIGRvIGNoaXAgKH4yODBweCkuXG4gICAgLy8gU2VtIHdpZHRoOiAxMDAlLCBzZW0gbWF4LXdpZHRoLiBPIGZsZXgtY2VudGVyIGRvIC5tYWluLWhlYWRlclxuICAgIC8vIGNlbnRyYWxpemEgYSBjYWl4YSBpbnRlaXJhIGF1dG9tYXRpY2FtZW50ZS4gU2UgYWxndW0gZGlhIG8gY2hpcFxuICAgIC8vIGZpY2FyIG11aXRvIGxhcmdvLCBjYXAgY29tIG1heC13aWR0aC5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLnBhZ2Utc2VhcmNoLWZpbHRlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG4gICAgLm1haW4taGVhZGVyLm1haW4taGVhZGVyIC5wYWdlLXNlYXJjaC1maWx0ZXIgYXBwLWN1c3RvbS1zZWFyY2gge1xuICAgICAgICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgYXBwLWN1c3RvbS1zZWFyY2gg4oCUIGRlc2lnbiBnbG9iYWwgbW9iaWxlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIC8vIEFwbGljYSBlbSBUT0RBUyBhcyBpbnN0w6JuY2lhcyBkbyBjb21wb25lbnRlIGVtIG1vYmlsZS1wb3J0cmFpdCxcbiAgICAvLyBuw6NvIHPDsyBubyBoZWFkZXIgKDEwIGNhbGxlcnMgYWRtaW4gdGFtYsOpbSBoZXJkYW0gcXVhbmRvL3NlIG8gYXBwXG4gICAgLy8gZm9yIHVzYWRvIGVtIG1vYmlsZSkuXG4gICAgLy8g4oCiIEVzY29uZGUgbyBhdGFsaG8gXCIvXCIgKG7Do28gZmF6IHNlbnRpZG8gZW0gdG9xdWUpXG4gICAgLy8g4oCiIEJvcmRlci1yYWRpdXMgYXJyZWRvbmRhZG8gZG9zIGRvaXMgbGFkb3MgKHBpbGwgc2hhcGUpXG4gICAgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkLFxuICAgIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcbiAgICAgICAgICAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb3TDo28gZGUgZmlsdHJvIChgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyYCkgYW8gbGFkbyBkb1xuICAgIC8vIGNoaXAg4oCUIGVtIG1vYmlsZSBkZXZlIHRlciBtZXNtYSBiZyBlIHNvbWJyYSBkbyBjaGlwIHByYSBwYXJlY2VyZW1cbiAgICAvLyBcImlybcOjb3NcIi4gQmcgPSBgJGFkbWluLWJhY2tncm91bmRgIChvIE1FU01PIGRvIGAuY2hpcC1leHBhbmRlZGAgZW1cbiAgICAvLyBfY29sb3Itc2NoZW1lLnNjc3Mg4oCUIGNvbSBgYWx3YXlzT3BlbmAgbyBjaGlwIHZpc8OtdmVsIMOpIG8gZXhwYW5kaWRvLFxuICAgIC8vIG7Do28gbyB0cmlnZ2VyIGNvbGFwc2FkbyksIHNvbWJyYSBpZMOqbnRpY2EuXG4gICAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgICAgICAgICAgICAgIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTYpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gLm1haW4tYm9keSBvZmZzZXQgPSBzw7MgbmF2YmFyICg0OCArIHNhZmUtYXJlYSkgKyBmb2xnYSAoOHB4KS5cbiAgICAvLyBTZW0gZXNwYcOnbyBleHRyYSBwcm8gaGVhZGVyIOKAlCBlbGUgYWdvcmEgdml2ZSBERU5UUk8gZGEgZmFpeGFcbiAgICAvLyBkYSBuYXZiYXIuXG4gICAgLm1haW4tYm9keSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDQ4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkpICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIFJlc2VydmEgcHJvIGJvdHRvbSBuYXYg4oCUIGFxdWkgZSBuw6NvIG5vIGJvZHkgcG9ycXVlIC5ob21lXG4gICAgICAgIC8vIChhbmNlc3Rvcikgw6kgaGVpZ2h0OjEwMHZoICsgb3ZlcmZsb3cgdmlzaWJsZSwgbyBxdWUgZmF6IG9cbiAgICAgICAgLy8gcGFkZGluZyBkbyBib2R5IHNlciBcImVuZ29saWRvXCIgcXVhbmRvIG9zIGNhcmRzIG92ZXJmbG93YW0uXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDY0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBDLWRhcms6IHNvbWJyYSBtYWlzIGludGVuc2EgcHJhIHZlbmNlciBiZyBlc2N1cm8gKyBiZyBvcGFjby5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggNXB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgICAgICAgICAwIC02cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMzUpICFpbXBvcnRhbnQ7XG59XG5cbi8vIEdsYXNzIGRhcms6IG5hdmJhciB0cmFuc3BhcmVudGUgKyB0aW50IGRvIGhlYWRlciBlbSAjMjAyMDIwIChtZXNtYVxuLy8gY29yIGRhIC5uYXZiYXIgZG8gZGVza3RvcCBkYXJrID0gJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKS5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLy8gRGFyayBkbyBmaWx0ZXIgYnV0dG9uIOKAlCBgJGFkbWluLWJhY2tncm91bmQtZGFya2AsIHBhcmVhbmRvIG9cbi8vIGAuY2hpcC1leHBhbmRlZGAgZGFyayAobWVzbW8gcGFyIGxpZ2h0L2RhcmsgZGEgcmVncmEgYWNpbWEpLlxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlcixcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5tYWluLWhlYWRlci5tYWluLWhlYWRlcjo6YmVmb3JlLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLm1haW4taGVhZGVyLm1haW4taGVhZGVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMzIsIDMyLCAzMiwgMC41KSAwJSwgcmdiYSgzMiwgMzIsIDMyLCAwKSAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgUG9ydHJhaXQg4oCUIE1lbnUgZG8gdXN1w6FyaW8gY29tbyBCT1RUT00gU0hFRVRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE8gcG9wb3ZlciBkbyBhdmF0YXIgKGAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZWApIMOpXG4vLyBwb3J0YWRvIHBybyA8Ym9keT4g4oCUIHJlZ3JhcyBnbG9iYWlzIGNhc2FtLiBFbSBtb2JpbGUtcG9ydHJhaXQgZWxlIGRlaXhhIGRlXG4vLyBzZXIgcG9wb3ZlciBhbmNvcmFkbyBlIHZpcmEgYm90dG9tIHNoZWV0OiBzb2JlIGRvIHJvZGFww6ksIG9jdXBhIGEgbGFyZ3VyYVxuLy8gdG9kYSwgY2FudG9zIHN1cGVyaW9yZXMgYXJyZWRvbmRhZG9zLCBoYW5kbGUgYmFyIG5vIHRvcG8sIHNjcmltIGF0csOhcy5cbi8vIERlc2t0b3AgZSB0YWJsZXRzIE7Dg08gcmVjZWJlbSBlc3NhcyByZWdyYXMg4oCUIG8gcG9wb3ZlciBhbmNvcmFkbyBub3JtYWxcbi8vIGNvbnRpbnVhIHZhbGVuZG8gbMOhLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLy8gQW51bGEgdHJhbnNmb3JtIGlubGluZSBzZXRhZG8gcGVsbyBgcG9zaXRpb24oKWAgZG8gcG9wb3ZlciDigJQgc2hlZXQgZmljYVxuICAgIC8vIGZpeG8gbm8gcm9kYXDDqSwgbsOjbyBhbmNvcmFkbyBhbyB0cmlnZ2VyLlxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgLy8gQWx0dXJhIFZBUknDgVZFTCDigJQgY3Jlc2NlIGNvbSBvIGNvbnRlw7pkby4gQ2FwIGVtIDkydmggc8OzIGNvbW9cbiAgICAvLyBzYWx2YWd1YXJkYSAoZXguOiBpZGlvbWFzIGZ1dHVyb3MgYXVtZW50YW0gZGVtYWlzIG8gbWVudSkuXG4gICAgLy8gYGhlaWdodDogYXV0b2AgKyBtYXggY2FwID0gc2hlZXQgYWNvbXBhbmhhIG8gbsO6bWVybyBkZSBpdGVucy5cbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiA5MnZoICFpbXBvcnRhbnQ7XG4gICAgLy8gT3ZlcmZsb3cgUkVESVJFQ0lPTkFETyBwcm8gYC50cGMtdXNlci1tZW51YCAoY2hpbGQpIOKAlCBzZSBvXG4gICAgLy8gc2Nyb2xsIGZpY2FyIG5vIHNoZWV0LCBvIGJyb3dzZXIgaGlqYWNrYSBvIGdlc3RvIGRlIGFycmFzdGFyXG4gICAgLy8gcHJhIGJhaXhvIGNvbW8gc2Nyb2xsIGludGVybm8gZSBlbWl0ZSBwb2ludGVyY2FuY2VsLCBtYXRhbmRvXG4gICAgLy8gbWV1IGRyYWctdG8tY2xvc2UuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgLy8gdG91Y2gtYWN0aW9uOiBub25lIGltcGVkZSBxdWFscXVlciBoaWphY2sgZG8gYnJvd3NlciBzb2JyZSBnZXN0b3NcbiAgICAvLyBubyBzaGVldC4gTyBzY3JvbGwgdml2ZSBubyBmaWxobywgY29tIHBhbi15IGF0aXZvIGzDoS5cbiAgICB0b3VjaC1hY3Rpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAvLyBCZyBkbyBzaGVldCDigJQgbWVzbWEgY29yIGRvIGAudHBjLXVzZXItbWVudWAgKHZpYVxuICAgIC8vIGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCkuIE8gc2hlZXQgdGVtIHBhZGRpbmctdG9wIHBybyBoYW5kbGVcbiAgICAvLyBiYXI7IHNlbSBiZyBwcsOzcHJpbywgZXNzYSBmYWl4YSBmaWNhcmlhIHRyYW5zcGFyZW50ZSBlIG1vc3RyYXJpYVxuICAgIC8vIG8gc2NyaW0vcMOhZ2luYSBhdHLDoXMuXG4gICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgICAvLyBDYW50b3MgYXJyZWRvbmRhZG9zIHPDsyBubyB0b3BvIChzZW5zYcOnw6NvIGRlIFwic2hlZXQgc3ViaW5kb1wiKS5cbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gICAgLy8gSGFuZGxlIGJhciB2aXN1YWwg4oCUIGdyaXAgY2luemEgY2VudHJhbGl6YWRvIG5vIHRvcG8uXG4gICAgcGFkZGluZy10b3A6IDE4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkgKyAxMnB4KSAhaW1wb3J0YW50O1xuICAgIC8vIFNvbWJyYSBwcmEgZGVzY29sYXIgZG8gYmcgYXRyw6FzLlxuICAgIGJveC1zaGFkb3c6IDAgLTZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcbiAgICAvLyBBbmltYSBlbnRyYWRhIOKAlCBzb2JlIGRlIGJhaXhvLlxuICAgIGFuaW1hdGlvbjogbW9iaWxlLXVzZXItc2hlZXQtaW4gMjQwbXMgY3ViaWMtYmV6aWVyKC4yLCAuOCwgLjIsIDEpO1xufVxuLy8gSGFuZGxlIGJhciAoZ3JpcCkgdmlhIDo6YmVmb3JlIOKAlCBwZXF1ZW5vIHBpbGwgY2luemEgbm8gdG9wbyBkbyBzaGVldC5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZTo6YmVmb3JlLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG4vLyBCZyBkbyBzaGVldCBlbSBkYXJrIOKAlCB1c2EgYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgKG1lc21hIGNvclxuLy8gZG8gLnRwYy11c2VyLW1lbnUgZGFyaykuXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBTY3JpbSBhdHLDoXMgZG8gc2hlZXQ6IGVzY3VyZWNlIG8gYXBwIHBhcmEgc2luYWxpemFyIHF1ZSBvIHNoZWV0IMOpIG1vZGFsLlxuLy8gVXNhbW9zIGA6aGFzKClgIHByYSBzw7MgYXBsaWNhciBxdWFuZG8gbyBzaGVldC1jYW5kaWRhdGUgZXN0w6EgYWJlcnRvIG5vIGJvZHkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHk6aGFzKC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUpIC5qZW1zLXBvcG92ZXItYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC40MikgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IG1vYmlsZS11c2VyLXNjcmltLWluIDI0MG1zIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIG1vYmlsZS11c2VyLXNoZWV0LWluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cbn1cbkBrZXlmcmFtZXMgbW9iaWxlLXVzZXItc2NyaW0taW4ge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMCwgMjAsIDApOyB9XG4gICAgdG8gICB7IGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMC40Mik7IH1cbn1cblxuLy8gU2Nyb2xsIGxvY2s6IGVucXVhbnRvIG8gc2hlZXQgZXN0aXZlciBhYmVydG8sIGEgcMOhZ2luYSBkZSBmdW5kbyBuw6NvIHJvbGEuXG4vLyBPIHNoZWV0IHRlbSBzZXUgcHLDs3ByaW8gb3ZlcmZsb3cgaW50ZXJubywgZW50w6NvIGNvbnRpbnVhIHNjcm9sbMOhdmVsLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXTpoYXMoLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSksXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdOmhhcygubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlKSBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG4vLyBTaGVldDogc2VtIHRvdWNoLWFjdGlvbiBnbG9iYWwg4oCUIG8gbGlzdGVuZXIgSlMgY29udHJvbGEgZHJhZyB2cyBzY3JvbGxcbi8vIChwcmV2ZW50RGVmYXVsdCBubyBkcmFnLCBkZWl4YSBicm93c2VyIGhhbmRsZWFyIHNjcm9sbCBmb3JhIGRhIGdyaXAgem9uZSkuXG5cbi8vIEl0ZW5zL2Jsb2NvcyBleGNsdXNpdm9zIGRvIHNoZWV0IG1vYmlsZSDigJQgb2N1bHRvcyBlbSBxdWFscXVlciBkZW5zaWRhZGVcbi8vIHF1ZSBOw4NPIHNlamEgbW9iaWxlLXBvcnRyYWl0LiBDb2JyZSBoZWFkZXIgZG8gdXN1w6FyaW8sIGxhYmVscyBkZSBzZcOnw6NvLFxuLy8gZSBvcyAzIGl0ZW5zIG1pZ3JhZG9zIGRvIHRvcG8gKHNlYXJjaC9oZWxwL25vdGlmaWNhdGlvbnMpLiBObyBkZXNrdG9wXG4vLyBvcyAzIGJvdMO1ZXMgdml2ZW0gbm8gYC5yaWdodC1uYXZiYXItY29udGFpbmVyYCwgZW50w6NvIHJlcGV0aS1sb3Mgbm9cbi8vIG1lbnUgZGVza3RvcCBzZXJpYSByZWR1bmTDom5jaWEuXG4vLyBOdWNsZWFyOiBib2R5IGFuY2VzdG9yICsgY2xhc3MgdHJpcGxpY2FkYSDigJQgdmVuY2UgcXVhbHF1ZXIgcmVncmFcbi8vIGludGVybmEgZG8gQW5ndWxhciBNYXRlcmlhbC5cbmJvZHkgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ubW9iaWxlLW9ubHktbWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG4vLyBDaHJvbWUtY29sbGFwc2VkIChkZXNrdG9wIGFwZXJ0YWRvKTogc2VhcmNoL2hlbHAvYmVsbCBkbyB0b3BvIHNvbWVtIOKAlFxuLy8gbWlncmFtIHBybyBtZW51IGRvIGF2YXRhciAobWVzbW8gcGFkcsOjbyBtb2JpbGUtcG9ydHJhaXQpLlxuaHRtbFtkYXRhLWNocm9tZS1jb2xsYXBzZWQ9XCJ0cnVlXCJdIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXIsXG5odG1sW2RhdGEtY2hyb21lLWNvbGxhcHNlZD1cInRydWVcIl0gYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uLFxuaHRtbFtkYXRhLWNocm9tZS1jb2xsYXBzZWQ9XCJ0cnVlXCJdIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vLyBPcG9zdG86IGl0ZW5zIHF1ZSBzw7MgZXhpc3RlbSBubyBkZXNrdG9wIChleC46IENvcGlhciBKRU1TIElEIOKAlCBlbVxuLy8gbW9iaWxlIG8gSUQgasOhIGFwYXJlY2Ugbm8gaGVhZGVyIGRvIHNoZWV0KS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keSAuZGVza3RvcC1vbmx5LW1lbnUtaXRlbS5kZXNrdG9wLW9ubHktbWVudS1pdGVtLmRlc2t0b3Atb25seS1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8g4pSA4pSAIExpbmhhIGRlIGHDp8O1ZXMgcsOhcGlkYXMgZG8gYXZhdGFyLW1lbnUgKGNocm9tZS1jb2xsYXBzZWQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2VhcmNoIC8gaGVscGRlc2sgLyBiZWxsIHZpcmFtIHVtYSBsaW5oYSBjb252ZW5jaW9uYWwgZGUgbWF0LW1lbnUtaXRlbVxuLy8gKHBhZHLDo28gYGNvbnRhaW5lci10aGVtZWApIG5vIHRvcG8gZG8gbWVudSwgc8OzIHF1YW5kbyBhIG5hdmJhciBhcGVydGEuXG4vLyBFbSBtb2JpbGUtcG9ydHJhaXQgdXNhLXNlIG8gYG1vYmlsZS1xdWljay1hY3Rpb25zYCBqw6EgZXhpc3RlbnRlLlxuYm9keSAuY2hyb21lLWNvbGxhcHNlZC1vbmx5LmNocm9tZS1jb2xsYXBzZWQtb25seS5jaHJvbWUtY29sbGFwc2VkLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbmh0bWxbZGF0YS1jaHJvbWUtY29sbGFwc2VkPVwidHJ1ZVwiXSBib2R5IC5jaHJvbWUtY29sbGFwc2VkLW9ubHkuY2hyb21lLWNvbGxhcHNlZC1vbmx5LmNocm9tZS1jb2xsYXBzZWQtb25seSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5IC5jaHJvbWUtY29sbGFwc2VkLW9ubHkuY2hyb21lLWNvbGxhcHNlZC1vbmx5LmNocm9tZS1jb2xsYXBzZWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLy8g4pSA4pSAIEHDp8O1ZXMgcsOhcGlkYXMgbGFkbyBhIGxhZG8gKG1vYmlsZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTZWFyY2ggLyBoZWxwZGVzayAvIG5vdGlmaWNhw6fDtWVzIHJlbmRlcmFtIGNvbW8gMyDDrWNvbmVzIGVtIHJvdywgc2VtXG4vLyBsYWJlbHMuIFdyYXBwZXIgYG1vYmlsZS1xdWljay1hY3Rpb25zYCBzw7MgZXhpc3RlIGVtIG1vYmlsZS1wb3J0cmFpdFxuLy8gKGdhdGUgLm1vYmlsZS1vbmx5LW1lbnUtaXRlbSkuXG4vLyBMYXlvdXQgY2FzYSBjb20gLmNvbnRhaW5lci10aGVtZSAobGluaGEgZGUgZXNjb2xoYSBkZSB0ZW1hKSDigJQgY2x1c3RlclxuLy8gY2VudHJhbGl6YWRvLCBnYXAgNHB4LCBjZWxscyA0NMOXMzIuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAwICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA0cHggIWltcG9ydGFudDtcbn1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWJ0biB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWJ0biAubWF0LWljb24ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgMzAwLCAnRklMTCcgMDtcbn1cbi8vIEZsYWdzIOKAlCBtZXNtYXMgZGltZW5zw7VlcyBkb3Mgw61jb25lcywgbWFzIG8gZW1vamkgdml2ZSBudW0gPHNwYW4+LlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtZmxhZyAuZmxhZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4vLyBEaXZpc29yIHZlcnRpY2FsIGVudHJlIHF1aWNrIGFjdGlvbnMgZSBmbGFncy5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNnB4O1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1kaXZpZGVyLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWRpdmlkZXIge1xuICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIOKUgOKUgCBDbGVhbnVwIGRvIC50cGMtdXNlci1tZW51IGRlbnRybyBkbyBzaGVldCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEtpbGwgZG8gZHJvcC1zaGFkb3cgZSBkbyBib3JkZXItcmFkaXVzIGludGVybm8g4oCUIG8gc2hlZXQgasOhIMOpIG9cbi8vIFwiY29udGFpbmVyIHZpc3VhbFwiLCBvIG1lbnUgaW50ZXJubyBkZXZlIGZsdWlyIHNlbSBzb21icmEgcHLDs3ByaWEgbmVtXG4vLyBjYW50b3MgYXJyZWRvbmRhZG9zIGV4dHJhcy5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLnRwYy11c2VyLW1lbnUge1xuICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAvLyBTY3JvbGwgZG8gY29udGXDumRvIHZpdmUgQVFVSSAobsOjbyBubyBzaGVldCkg4oCUIHNoZWV0IGZpY2EgY29tXG4gICAgLy8gdG91Y2gtYWN0aW9uOiBub25lIHBybyBkcmFnLXRvLWNsb3NlLCBlIGVzdGUgY29udGFpbmVyIGN1aWRhXG4gICAgLy8gZG8gc2Nyb2xsIGNvbSBwYW4teSBuYXR1cmFsIGRvIGJyb3dzZXIuXG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLy8g4pSA4pSAIEhlYWRlciBkbyBzaGVldCBtb2JpbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAubW9iaWxlLXVzZXItaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHggMTJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgICAgICAvLyB0b3VjaC1hY3Rpb246IG5vbmUg4oCUIG8gaGVhZGVyIGRvIHVzdcOhcmlvIMOpIHBhcnRlIGRhIGdyaXAgem9uZTtcbiAgICAgICAgLy8gc2VtIGlzc28gbyBicm93c2VyIGludGVycHJldGEgbyBnZXN0byBjb21vIHNjcm9sbCBkZSAudHBjLXVzZXItbWVudVxuICAgICAgICAvLyAocXVlIHRlbSBwYW4teSkgZSBjYW5jZWxhIG5vc3NvIGRyYWctdG8tY2xvc2UuXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtYXZhdGFyIHtcbiAgICAgICAgZmxleDogMCAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbWFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtaWQge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgU2VjdGlvbiBsYWJlbHMgKEHDp8O1ZXMgcsOhcGlkYXMgLyBDb250YSAvIEFwYXLDqm5jaWEgLyBTb2JyZSkg4pSA4pSAXG4gICAgLm1vYmlsZS1zZWN0aW9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTRweCAyMHB4IDRweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgLy8gUmVzZXRhIGhvdmVyL2ZvY3VzIGRvIG1hdC1tZW51LWl0ZW0gcXVlIGhlcmRhcmlhbS5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBEZXN0cnVjdGl2ZSAoU2Fpcikg4oCUIHZlcm1lbGhvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIC5tb2JpbGUtZGVzdHJ1Y3RpdmUtaXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZDY0NTUwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tb2JpbGUtZGVzdHJ1Y3RpdmUtaXRlbSAubWF0LWljb24ge1xuICAgICAgICBjb2xvcjogI2Q2NDU1MCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gRGFyayB2YXJpYW50cyDigJQgYm9yZGVyLCB0ZXh0b3MuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSxcbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSB7XG4gICAgLm1vYmlsZS11c2VyLWhlYWQgeyBib3JkZXItYm90dG9tLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrOyB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtYXZhdGFyIHsgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW5hbWUgeyBjb2xvcjogJGNvbnRlbnQtY29sb3ItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLW1haWwgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWlkIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgIC5tb2JpbGUtc2VjdGlvbi1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbn1cblxuLy8gTGF5b3V0IGRvcyBpdGVucyBkZW50cm8gZG8gc2hlZXQg4oCUIG1haXMgcmVzcGlybywgdGlwb2dyYWZpYSBsZXZlbWVudGUgbWFpb3Jcbi8vIHF1ZSBvIG1hdC1tZW51LWl0ZW0gcGFkcsOjbyBkbyBkZXNrdG9wICh0b3VjaCB0YXJnZXRzIGlPUyDiiaUgNDRweCkuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAudHBjLXVzZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIH1cbiAgICAvLyBDYWRhIGxpbmhhIGRvIG1lbnUgKG1hdC1tZW51LWl0ZW0gcHJlc2VydmFkbywgc8OzIGVzcGHDp2FtZW50byBtYWlvcikuXG4gICAgLm1hdC1tZW51LWl0ZW0sIFttYXQtbWVudS1pdGVtXSB7XG4gICAgICAgIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgICBbbWF0LW1lbnUtaXRlbV0gLm1hdC1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIE92ZXJmbG93IG1lbnUgZG8gaGFtYnVyZ2VyIGRhIG5hdmJhciDigJQgaXRlbXMgcmVuZGVyaXphZG9zIG5vIGJvZHlcbi8vIChtYXQtbWVudSBwb3J0YWxlZCkuIE8gdGVtcGxhdGUgYXBsaWNhIGAuaXMtbmF2LXZpc2libGVgIG5vcyBpdGVtc1xuLy8gcXVlIEFJTkRBIGFwYXJlY2VtIG5hIG5hdiAobsOjbyBhYnNvcnZpZG9zKTsgcmVncmEgYWJhaXhvIGVzY29uZGVcbi8vIGVzdGVzIGRvIG1lbnUgcHJhIGV2aXRhciByZWR1bmTDom5jaWEuXG4vLyBTZWxlY3RvciBjaGFpbmEgLm1hdC1tZW51LXBhbmVsICsgLm5hdi1vdmVyZmxvdy1taSBwcmEgdmVuY2VyIG9cbi8vIGAubmF2LW92ZXJmbG93LW1pIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50IH1gIGRvIGJsb2NvIGRlIGxheW91dC5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmlzLW5hdi12aXNpYmxlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyB2MiBcIlZlciB0b2RhcyBhcyBzdWJtaXNzw7Vlc1wiIGF0aXZhOiB6ZXJhIG8gcGFkZGluZyBsYXRlcmFsIGRvXG4vLyBtYXQtc2lkZW5hdi1jb250ZW50IHByYSBxdWUgbyBjaW56YSBkYSBww6FnaW5hIChgYXBwLWV4cG9ydC1zdWJtaXNzaW9uc2Bcbi8vIHRlbSBiZyBjaW56YSBubyBob3N0KSBwcmVlbmNoYSBlZGdlLXRvLWVkZ2UuIFNlbSBpc3NvIHJlc3RhcmlhbSBmYWl4YXNcbi8vIGJyYW5jYXMgZGUgfjIxcHggZW50cmUgYSBmb2xoYSBlIG8gc2lkZWJhci9ib3JkYSBkaXJlaXRhLlxuYm9keS5leHBvcnQtc3VibWlzc2lvbnMtYWN0aXZlIC5tYXQtc2lkZW5hdi1jb250ZW50IHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi8vIGAtLWNvbnRlbnQtbGVmdC1vZmZzZXRgOiBkaXN0w6JuY2lhIGRvIENBTlZBUyAow6FyZWEgZGUgY29udGXDumRvKSDDoCBib3JkYVxuLy8gZXNxdWVyZGEgZG8gdmlld3BvcnQuIFZhcmlhIHBvciBtb2RvIGRvIHNoZWxsLiDDiSBjb25zdW1pZGEgcGVsYSBiYXJyYVxuLy8gZmx1dHVhbnRlIGRvIGBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zYCAoZSBzdWEgYmFuZGEgZGUgYmx1cikgcHJhXG4vLyBjZW50cmFsaXphciBzb2JyZSBvIGNhbnZhcyBlbSB2ZXogZG8gdmlld3BvcnQsIGFkYXB0YW5kbyBhb3MgMyBtb2Rvcy5cbi8vICAgTW9kZXJuIG5hcnJvdzogY2FudmFzIGNvbWXDp2EgZGVwb2lzIGRhIGBleHBlcmltZW50YWwtc2lkZWJhcmAgKDI0MHB4IGRlZmF1bHQpLlxuLy8gICBNb2Rlcm4gd2lkZTogICBzaWRlYmFyIG9jdWx0byAoMHB4KS5cbi8vICAgQ2xhc3NpYzogICAgICAgZXhwZXJpbWVudGFsICsgYWN0aXZpdHktYmFyICsgYWRtaW4tc3VibWVudS5cbi8vIERlZmluaWRhcyBubyBib2R5IFBSQSBHQVJBTlRJUiBoZXJhbsOnYSBwcmEgcXVhbHF1ZXIgZGVzY2VuZGVudGUgZGEgdjIsXG4vLyBtZXNtbyBzZSBvIGAuc2lkZWJhcmAgZG8gYWRtaW4tZXZlbnQtc2lkZWJhciBuw6NvIGZvciBhbmNlc3RyYWwgZGlyZXRvLlxuLy8gYDpoYXMoKWAgY2FzYSBxdWFscXVlciBlc3RhZG8gZGUgbW9kZSBkZW50cm8gZG8gYm9keS5cbmJvZHk6aGFzKC5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpKSB7XG4gICAgLS1jb250ZW50LWxlZnQtb2Zmc2V0OiB2YXIoLS1leHBlcmltZW50YWwtc2lkZWJhci13aWR0aCwgI3skZXhwZXJpbWVudGFsLXNpZGViYXItd2lkdGh9KTtcbn1cbmJvZHk6aGFzKC5zaWRlYmFyLndpZGUtbW9kZSkge1xuICAgIC0tY29udGVudC1sZWZ0LW9mZnNldDogMHB4O1xuICAgIC8vIFdpZGUtbW9kZTogbyBicmVhZGNydW1iIGNvbGFwc2EgKDpob3N0IGhlaWdodDowICsgYmFycmEgdHJhbnNsYWRhXG4gICAgLy8gZm9yYSBkbyB2aWV3cG9ydCkg4oCUIG7Do28gcmVzZXJ2YSBhbHR1cmEuIEEgYmFycmEgZmx1dHVhbnRlIGRhIHYyIHVzYVxuICAgIC8vIGVzc2EgdmFyIHByYSBjYWxjdWxhciBzZXUgdG9wOyBlbSB3aWRlLW1vZGUgZmljYSAwLlxuICAgIC0tYnJlYWRjcnVtYi1yZXNlcnZlZC1oZWlnaHQ6IDBweDtcbn1cbmJvZHk6aGFzKC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCk6bm90KC53aWRlLW1vZGUpKSB7XG4gICAgLy8gQ2xhc3NpYzogYC5tYXQtc2lkZW5hdi1jb250YWluZXIuY29udGVudCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQgfWBcbiAgICAvLyAoYWRtaW4tZXZlbnQtc2lkZWJhciBsaW5oYSB+MjA5MCkgemVyYSBvIG9mZnNldCBkbyBvdXRlcjsgc8OzIG8gSU5ORVJcbiAgICAvLyBgLm1hdC1zaWRlbmF2LWNvbnRlbnQgeyBtYXJnaW4tbGVmdDogdmFyKC0tYWRtaW4tc3VibWVudS13aWR0aCkgfWBcbiAgICAvLyBjb250YS4gYC5jbGFzc2ljLXN1Ym1lbnVgIMOpIGZpeGVkLXBvc2l0aW9uIMOgIGVzcXVlcmRhIGNvbSBlc3NhIG1lc21hXG4gICAgLy8gbGFyZ3VyYSDihpIgY2FudmFzIGNvbWXDp2EgZW0gYWRtaW4tc3VibWVudS13aWR0aCwgbmFkYSBtYWlzLlxuICAgIC0tY29udGVudC1sZWZ0LW9mZnNldDogdmFyKC0tYWRtaW4tc3VibWVudS13aWR0aCwgI3skYWRtaW4tc3VibWVudS13aWR0aH0pO1xuICAgIC8vIENsYXNzaWMgdG9wIGNocm9tZTogYnJlYWRjcnVtYiBjb21wYWN0byAoMjYpICsgdG9vbGJhciBob3Jpem9udGFsICg1NSkgPSA4MS5cbiAgICAtLWJyZWFkY3J1bWItcmVzZXJ2ZWQtaGVpZ2h0OiBjYWxjKCN7JGNsYXNzaWMtYnJlYWRjcnVtYi1oZWlnaHR9ICsgI3skY2xhc3NpYy10b29sYmFyLWhlaWdodH0pO1xufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIFBhaW5lbCBcInZhemlvXCIgZGFzIHDDoWdpbmFzIGRlIGxpc3RhIGRvIGF1dG9yL3Jldmlzb3IgKFN1Ym1pc3PDtWVzLFxuLy8gUmV2aXPDtWVzLCBTZXNzw7VlcyBxdWUgY29vcmRlbm8sIFRQQ3MsIFB1YmxpY2HDp8O1ZXMsIENvb3JkZW5hw6fDo28pLlxuLy8gQ2FydMOjbyBvdXRsaW5lIHRyYWNlamFkbyArIHTDrXR1bG8gKyBtZW5zYWdlbSwgY2VudHJhbGl6YWRvLlxuLmVtcHR5LXBhZ2UtcGFuZWwge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG87XG4gICAgcGFkZGluZzogMi41cmVtIDIuNXJlbSAycmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuYm9keS5kYXJrLXRoZW1lIC5lbXB0eS1wYWdlLXBhbmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi5lbXB0eS1wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuYm9keS5kYXJrLXRoZW1lIC5lbXB0eS1wYWdlLXRpdGxlIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLmVtcHR5LXBhZ2UtbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcbn1cblxuLy8gVXRpbGlkYWRlIGdsb2JhbCDigJQgZXNjb25kZSBTRU0gY29sYXBzYXIgbGF5b3V0IChncmlkIDMtc2xvdCBkbyBoZWFkZXJcbi8vIGRlIHDDoWdpbmFzIGNvbnRpbnVhIGFsaW5oYWRvKS4gVXNhZG8gbm8gYC5wYWdlLXNlYXJjaC1maWx0ZXJgIHF1YW5kb1xuLy8gYSBww6FnaW5hIG7Do28gdGVtIGNvbnRlw7pkbyAobmFkYSBwcmEgZmlsdHJhcikuXG4uaXMtaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtaW5wdXQg4oCUIGlucHV0IGRlIHRleHRvIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgFxuLy8gTWVzbW8gcGFkcsOjbyBkbyBgLmplbXMzLW5hdGl2ZS1jaGVja2JveGA6IGVzY2FwYSBkb3Mgd3JhcHBlcnMgTWF0ZXJpYWwsXG4vLyByZXNwaXJhIG9zIHRva2VucyBkbyBzaXN0ZW1hLCBjb21wb3J0YS1zZSBjb21vIGNvbnRyb2xlIFwiY2hhaXItbGV2ZWxcIlxuLy8gKG1lc21hIGFsdHVyYSAkY29udHJvbC1oZWlnaHQgZG9zIGRlbWFpcykuXG4vL1xuLy8gVVNPOlxuLy8gICA8bGFiZWwgY2xhc3M9XCJqZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWxcIj5cbi8vICAgICBSw7N0dWxvXG4vLyAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtaW5wdXRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4vLyAgIDwvbGFiZWw+XG4vL1xuLy8gRXN0YWRvczogOmZvY3VzIChib3JkZXIgY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgKyBoYWxvKSwgOmRpc2FibGVkLFxuLy8gOmludmFsaWQuYXJpYS1pbnZhbGlkPXRydWUgKGJvcmRhIHZlcm1lbGhhKS4gRGFyayBwYXJlYWRvLlxuXG4uamVtczMtbmF0aXZlLWlucHV0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgIC8vIFRleHRhcmVhOiBtZXNtYSBjYWl4YSwgbWFzIGNyZXNjZSBlbSBhbHR1cmEgKG1pbi1oZWlnaHQgfjQgbGluaGFzKS5cbiAgICAmLmplbXMzLW5hdGl2ZS1pbnB1dC0tdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoI3skY29udHJvbC1oZWlnaHR9ICogMyk7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgICAvLyBDaHJvbWUgcGFyZWFkbyBhbyBgYXBwLWplbXMtc2VsZWN0YCAoYC5qZW1zLXNlbGVjdC10cmlnZ2VyYCk6XG4gICAgLy8gbWVzbWEgYm9yZGVyLWNvbG9yLCBtZXNtbyBiZywgbWVzbWEgd2VpZ2h0IOKAlCBhc3NpbSBvcyBjb250cm9sZXNcbiAgICAvLyBhbGluaGFtIHZpc3VhbG1lbnRlIGxhZG8gYSBsYWRvIG5vIG1lc21vIGZvcm11bMOhcmlvLlxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMDBtcyBlYXNlLW91dCwgYm94LXNoYWRvdyAxMDBtcyBlYXNlLW91dDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7IH1cblxuICAgIC8vIEhvdmVyOiBoYWxvIGNpbnphIChtZXNtbyBkbyBgLmplbXMtc2VsZWN0LXRyaWdnZXJgKS5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCg6Zm9jdXMpOm5vdChbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEZvY3VzIChzZWxlY3RlZCk6IGJvcmRhICsgaGFsbyBhenVpcyAoYWNjZW50KS4gQ2FzYSBjb20gb1xuICAgIC8vIGAuamVtcy1zZWxlY3QtdHJpZ2dlcmAgZW0gZXN0YWRvIDpmb2N1cy9pcy1vcGVuLlxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICB9XG59XG5cbi5qZW1zMy1uYXRpdmUtaW5wdXQtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgLnJlcXVpcmVkLW1hcmsge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cblxuLmplbXMzLW5hdGl2ZS1pbnB1dC1lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtaW4taGVpZ2h0OiAxZW07XG59XG5cbi8vIExheW91dCBsYWJlbCAoZXNxdWVyZGEpICsgZXJybyAoZGlyZWl0YSwgYWxpbmhhZG8gYW8gZmltIGRvIGNhbXBvKVxuLy8gbnVtYSBtZXNtYSBsaW5oYSBBQ0lNQSBkbyBpbnB1dC4gVXNhIGZsZXggKyBnYXA7IGVycm8gcmVzZXRhIG9cbi8vIGBtYXJnaW4tdG9wYCBkbyBibG9jbyBpbmxpbmUgcHJhIGZpY2FyIG5hIG1lc21hIGJhc2VsaW5lIGRvIGxhYmVsLlxuLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbHJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuXG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbCB7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQtZXJyb3IgeyBtYXJnaW4tdG9wOiAwOyB0ZXh0LWFsaWduOiByaWdodDsgfVxufVxuXG5ib2R5LmRhcmstdGhlbWUge1xuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQge1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgICAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG4gICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cyk6bm90KFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7IGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7IH1cbiAgICB9XG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cbiAgICAuamVtczMtbmF0aXZlLWlucHV0LWVycm9yIHsgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrOyB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8g4pSA4pSA4pSAIC5qZW1zMy1uYXRpdmUtYnV0dG9uIOKAlCBib3TDo28gTkFUSVZPIGVzdGlsaXphZG8gZG8gSkVNUzMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZXNtbyBwYWRyw6NvIGRvIGAuamVtczMtbmF0aXZlLWlucHV0YCBlIGAuamVtczMtbmF0aXZlLWNoZWNrYm94YDpcbi8vIGV2aXRhIG8gd3JhcHBlciBNYXRlcmlhbCAobWF0LWZsYXQtYnV0dG9uLCBtYXQtcmFpc2VkLWJ1dHRvbiBldGMuKSxcbi8vIHJlc3BpcmEgb3MgdG9rZW5zIGRvIGNoYWlyIFVJLlxuLy9cbi8vIFVTTzpcbi8vICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtYnV0dG9uIGplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnlcIj5FbnRyYXI8L2J1dHRvbj5cbi8vICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJqZW1zMy1uYXRpdmUtYnV0dG9uIGplbXMzLW5hdGl2ZS1idXR0b24tLXNlY29uZGFyeVwiPkNhbmNlbGFyPC9idXR0b24+XG4vL1xuLy8gVmFyaWFudGVzOiAtLXByaW1hcnkgKGFjY2VudCBmaWxsZWQpLCAtLXNlY29uZGFyeSAoY2hyb21lIHN0cm9rZWQpLFxuLy8gLS1kYW5nZXIgKHZlcm1lbGhvIGZpbGxlZCwgYcOnw7VlcyBkZXN0cnV0aXZhcykuXG5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWluLXdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8vIGBmZWVkYmFja19ub19ob3Zlcl90cmFuc2l0aW9uYDogaG92ZXIgw6kgaW5zdGFudMOibmVvIG5vIEpFTVMzLlxuICAgIC8vIGB0cmFuc2l0aW9uYCBzw7MgZW0gZm9jdXMtdmlzaWJsZSAobXVkYW7Dp2EgZGUgZXN0YWRvLCBuw6NvIGhvdmVyKS5cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbn1cblxuLy8gUHJpbWFyeSDigJQgYWNjZW50IGZpbGxlZC5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC45NCk7IH1cbiAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IGZpbHRlcjogYnJpZ2h0bmVzcygwLjg4KTsgfVxufVxuYm9keS5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAjMGExYTJlO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIFNlY29uZGFyeSDigJQgY2hyb21lIHN0cm9rZWQuXG4uamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpOyB9XG59XG5ib2R5LmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOyB9XG59XG5cbi8vIERhbmdlciDigJQgYcOnw6NvIGRlc3RydXRpdmEgKGV4Y2x1aXIsIGRlc2NhcnRhcikuIE1lc21vIHBlc28gdmlzdWFsIGRvXG4vLyBgLS1wcmltYXJ5YCwgdHJvY2FuZG8gbyBhY2NlbnQgcGVsbyB2ZXJtZWxobyBpbnN0aXR1Y2lvbmFsLlxuLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTQpOyB9XG4gICAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC44OCk7IH1cbn1cbmJvZHkuZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrO1xuICAgIGNvbG9yOiAjMmEwYTBhO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG59XG5cbi8vIE1vZGlmaWNhZG9yIGAtLWJsb2NrYCDigJQgbGFyZ3VyYSAxMDAlIGRhIGNvbHVuYSAoZm9ybSBzdWJtaXQgZW0gY2FyZFxuLy8gdmVydGljYWwsIHRpcG8gc2lnbmluKS5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiIsIi5zbWFsbC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubWF0LWhlYWRlci1yb3cge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1zdGF0dXMsIC5tYXQtY29sdW1uLWV2ZW50LCAubWF0LWNvbHVtbi10cmFja0ZpbGVOYW1lLCAubWF0LWNvbHVtbi1kZWFkbGluZSwgLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLXN0YXR1cyB7XG4gICAgICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLWV2ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1yb3cge1xuICAgICAgICAubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY2VsbDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLXN0YXR1cywgLm1hdC1jb2x1bW4tZXZlbnQsIC5tYXQtY29sdW1uLXRyYWNrRmlsZU5hbWUsIC5tYXQtY29sdW1uLWRlYWRsaW5lLCAubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQubWF0LWNvbHVtbi1zdGF0dXMge1xuICAgICAgICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5tYXQtY29sdW1uLWV2ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyLnVwY29taW5nIC5tYXQtY29sdW1uLWRlYWRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgyNTUsIDE2NSwgMCwgLjUpO1xuICAgIH1cblxuICAgIHRyLmxhdGUgLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKDE2NSwgNDIsIDQyLCAuNSk7XG4gICAgfVxuXG4gICAgJi5sZWdlbmQge1xuICAgICAgICAudXBjb21pbmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgyNTUsIDE2NSwgMCwgLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhdGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogUkdCQSgxNjUsIDQyLCA0MiwgLjUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG50YWJsZSB7XG4gICAgJi5zaW1wbGUtdGFibGV7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICBcbiAgICAgICAgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICBcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtbGluZS1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIFxuICAgICAgICAgICYubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSwgJi5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuanVzdGlmeS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkLCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0aDpsYXN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgdHIge1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIFxuICAgIFxuICAgICAgICB0Zm9vdCB0ZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gICAgXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuZmxleGVkIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgXG4gICAgICAgICAgbWF0LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLm5vLWxpbmUge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5uby1yaWdodC1saW5le1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tYm90dG9tLWxpbmV7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tcGFkZGluZyB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG50YWJsZSB7XG4gICAgJi5oaWdobGlnaHQtdGFibGUge1xuICAgICAgICAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgICAgIFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwcHggMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIFxuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgcGFkZGluZzogMCAuNWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgPiB0ciwgdGZvb3QgPiB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgXG4gICAgICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgIHRkOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRkOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZC5tYXQtZm9vdGVyLWNlbGx7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGZvb3Qge1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTb3J0IGhlYWRlciAoTWF0ZXJpYWwpOiBhIMOhcmVhIGNsaWPDoXZlbCBwLyBvcmRlbmFyIMOpIEFQRU5BUyBvIHTDrXR1bG8gZGEgY29sdW5hLFxuLy8gTsODTyBhIGPDqWx1bGEgaW50ZWlyYS4gTyBgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXJgIFBSRUVOQ0hFIGEgY8OpbHVsYSAoZmxleCBibG9jayArXG4vLyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyKSwgZW50w6NvIHJlc3RyaW5naXIgbyBwb250ZWlybyBhIGVsZSBuw6NvIGJhc3RhLiBJbmVydGl6YW1vcyBvXG4vLyBgPHRoPmAgKyBvIGNvbnRhaW5lciBlIHJlYXRpdmFtb3Mgc8OzIG8gQ09OVEXDmkRPIChgLm1hdC1zb3J0LWhlYWRlci1jb250ZW50YCA9IG8gdMOtdHVsbyxcbi8vIGRpbWVuc2lvbmFkbyBwZWxvIHRleHRvKSBlIGEgc2V0YS4gTyBjbGlxdWUgbm8gdMOtdHVsbyBib3JidWxoYSBhdMOpIG8gbGlzdGVuZXIgZG8gdGguXG4vLyBHbG9iYWw6IHZhbGUgcC8gYSB0YWJlbGEgcGFkcsOjbyAoLmplbXMzLXRhYmxlKSBlIGEgZGEgTGlzdGEgZGUgU3VibWlzc8O1ZXMuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5tYXQtc29ydC1oZWFkZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1jb250ZW50LFxuICAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gdGFibGUge1xuLy8gICAgICYuc2ltcGxlLXRhYmxle1xuLy8gICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWJhY2tncm91bmQtY29sb3I7XG4vLyAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbi8vICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbi8vICAgICAgICAgdGgge1xuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbi8vICAgICAgICAgICBmb250LXNpemU6IDAuODByZW07XG4vLyAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbi8vICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIHRoLCB0ZCB7XG4vLyAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIFxuLy8gICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWxpbmUtY29sb3I7XG4vLyAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICAgICAgICAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gICAgXG4gICAgXG4vLyAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuLy8gICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cbi8vICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4vLyAgICAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICBcbi8vICAgICAgICAgICAmLm1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSwgJi5tYXQtY2VsbDpsYXN0LW9mLXR5cGUge1xuLy8gICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuLy8gICAgICAgICAgIH1cblxuLy8gICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuLy8gICAgICAgICAgICAgc3BhbiB7XG4vLyAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbi8vICAgICAgICAgICAgIH1cblxuLy8gICAgICAgICAgICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4vLyAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgdGg6Zmlyc3QtY2hpbGQsIHRkOmZpcnN0LWNoaWxkIHtcbi8vICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgdGg6bGFzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZCB7XG4vLyAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIHRib2R5IHRkIHtcbi8vICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4vLyAgICAgICAgIH1cbiAgICBcbiAgICBcbi8vICAgICAgICAgdGZvb3QgdGQge1xuLy8gICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgIFxuLy8gICAgICAgICAgIGJ1dHRvbiB7XG4vLyAgICAgICAgICAgICBtYXJnaW46IDAuNXJlbTtcbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLmZsZXhlZCB7XG4vLyAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcbi8vICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIFxuLy8gICAgICAgICAgIG1hdC1pY29uIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5uby1saW5lIHtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAubm8tcmlnaHQtbGluZXtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLWJvdHRvbS1saW5le1xuLy8gICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLXBhZGRpbmcge1xuLy8gICAgICAgICAgIHBhZGRpbmc6IDA7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICAubWF0LWljb24tYnV0dG9uIHtcbi8vICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuLy8gICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuXG4vLyAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4vLyAgICAgICAgICAgICBhIHtcbi8vICAgICAgICAgICAgICAgICBjb2xvcjpibGFjaztcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4vLyAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8gICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbi8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbi8vICAgICAgICAgICAgIC5tYXQtaWNvbiB7XG4vLyAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuamVtczMtdGFibGUg4oCUIFRBQkVMQSBQQURSw4NPIGRvIEpFTVMzIChyZWZlcsOqbmNpYTogdGFiZWxhIGRhIExpc3RhIGRlXG4vLyBTdWJtaXNzw7VlcykuIEZ1bmNpb25hIHRhbnRvIGNvbSBNYXRlcmlhbCAoYDx0YWJsZSBtYXQtdGFibGU+YCkgcXVhbnRvXG4vLyBjb20gYDx0YWJsZT5gIEhUTUwgcHVybyDigJQgYmFzdGEgYSBjbGFzc2UuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZVwiPiAuLi4gPC90YWJsZT5cbi8vICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCIuLi5cIiBjbGFzcz1cImplbXMzLXRhYmxlXCI+IC4uLiA8L3RhYmxlPlxuLy9cbi8vIFVzZSBgbWF0LXRhYmxlYCBhcGVuYXMgcXVhbmRvIHByZWNpc2FyIGRvcyByZWN1cnNvcyBkbyBNYXRlcmlhbFxuLy8gKHNvcnQsIHBhZ2luYXRpb24sIHN0aWNreSBjb2x1bW5zLCB2aXJ0dWFsaXphdGlvbikuIFByYSB0YWJlbGFzXG4vLyBlc3TDoXRpY2FzL3NpbXBsZXMsIEhUTUwgcHVybyDDqSBvIHN1ZmljaWVudGUgZSBtYWlzIGxldmUuXG4vL1xuLy8gQ2FyYWN0ZXLDrXN0aWNhczpcbi8vICAg4oCiIEhlYWRlciB0cmFuc3BhcmVudGUsIHNlbSBib3JkYTsgdGlwb2xvZ2lhIDEycHggLyA1MDAgLyBzZW50ZW5jZSBjYXNlIC9cbi8vICAgICBjb3IgYHJnYmEoMCwwLDAsLjU0MSlgICg9IGRlZmF1bHQgYC5tYXQtaGVhZGVyLWNlbGxgIGRvIE1hdGVyaWFsKS5cbi8vICAg4oCiIExpbmhhcyBkZSBjb250ZcO6ZG8gY29tIGZ1bmRvIGNpbnphIChgJGdyYXktMTI1YCksIHN1cG9ydGFuZG8gZGFyayBtb2RlLlxuLy8gICDigKIgU2VwYXJhZG9yIGVudHJlIGPDqWx1bGFzID0gZ2FwIHRyYW5zcGFyZW50ZSAoYm9yZGVyLXNwYWNpbmcgMXB4KSDigJQgc2VtXG4vLyAgICAgYm9yZGFzIGludGVybmFzOyBvIFwicmVzcGlyb1wiIGVudHJlIGNvbHVuYXMvbGluaGFzIHJldmVsYSBhIHDDoWdpbmEgYXRyw6FzLlxuLy8gICDigKIgQ2FudG9zIGFycmVkb25kYWRvcyAoNnB4KSBuYSBwcmltZWlyYSBlIMO6bHRpbWEgdGQgZGUgY2FkYSBsaW5oYS5cbi8vICAg4oCiIENvbnRlw7pkbyAxM3B4IC8gNDAwIC8gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yYCAoIzM3MzczNCkg4oCUXG4vLyAgICAgYSBhbHR1cmEgZGEgbGluaGEgdmVtIFPDkyBkbyBwYWRkaW5nIGludGVybm8gKGAwLjVlbSArIDJweGApLlxuLy9cbi8vIE9zIGAhaW1wb3J0YW50YCBleGlzdGVtIHByYSB2ZW5jZXIgKDEpIHJlZ3JhcyBNYXRlcmlhbCBjb20gbWVzbWFcbi8vIGVzcGVjaWZpY2lkYWRlIGNhcnJlZ2FkYXMgYW50ZXMgKGJvcmRlci1zcGFjaW5nLCByb3cgaGVpZ2h0KSBlICgyKSByZWdyYXNcbi8vIGdsb2JhaXMgYW50aWdhcyBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCAoYHNpbXBsZS10YWJsZSB0aGAgY29sb3IpLiBRdWFuZG8gYVxuLy8gYC5zaW1wbGUtdGFibGVgIGZvciBhcG9zZW50YWRhLCBwb2RlbW9zIGxpbXBhciBvcyBkbyBoZWFkZXIuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG50YWJsZS5qZW1zMy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gYCFpbXBvcnRhbnRgIHZlbmNlIG8gYC5tYXQtdGFibGUgeyBiYWNrZ3JvdW5kOiB3aGl0ZSB9YCBkbyB0ZW1hIGRvXG4gICAgLy8gQW5ndWxhciBNYXRlcmlhbCAobWVzbWEgZXNwZWNpZmljaWRhZGU7IE1hdGVyaWFsIGNvc3R1bWEgY2FycmVnYXJcbiAgICAvLyBkZXBvaXMsIGVudMOjbyBzZW0gYCFpbXBvcnRhbnRgIG8gYnJhbmNvIHZlbmNlKS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYHRhYmxlLm1hdC10YWJsZSB7IGJvcmRlci1zcGFjaW5nOiAwIH1gXG4gICAgLy8gaW5qZXRhZG8gcGVsbyBNYXRlcmlhbCAobWVzbWEgZXNwZWNpZmljaWRhZGU7IE1hdGVyaWFsIGNhcnJlZ2EgcHJpbWVpcm8pLlxuICAgIGJvcmRlci1zcGFjaW5nOiAxcHggMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAvLyBNYXRlcmlhbCBmaXhhIGB0ci5tYXQtaGVhZGVyLXJvdyB7IGhlaWdodDogNTZweCB9YCBlIGB0ci5tYXQtcm93IHsgaGVpZ2h0OiA0OHB4IH1gO1xuICAgIC8vIHNvbHRhbW9zIHByYSBhbHR1cmEgc2VndWlyIG8gcGFkZGluZyBpbnRlcm5vIChtZXNtYSBlc3RyYXTDqWdpYSBkYSB2MikuXG4gICAgLy8gUHJhIEhUTUwgcHVybyBvIGA8dHI+YCBqw6Egw6kgYGhlaWdodDogYXV0b2AgcG9yIGRlZmF1bHQg4oCUIHJlZ3JhIMOpIG5vLW9wLlxuICAgIHRyLm1hdC1oZWFkZXItcm93LFxuICAgIHRyLm1hdC1yb3cge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBIZWFkZXIg4oCUIE1hdGVyaWFsIChgLm1hdC1oZWFkZXItY2VsbGApIG91IEhUTUwgcHVybyAoYHRoYCkuXG4gICAgdGgsXG4gICAgdGgubWF0LWhlYWRlci1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgcGFkZGluZzogMnB4IDAuNXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBMaW5oYXMgZGUgY29udGXDumRvIOKAlCBNYXRlcmlhbCAoYC5tYXQtY2VsbGApIG91IEhUTUwgcHVybyAoYHRkYCkuXG4gICAgLy8gQWx0dXJhIGRhIGxpbmhhID0gcGFkZGluZyBpbnRlcm5vICsgY29udGXDumRvLCBzZW0gYGxpbmUtaGVpZ2h0YCBleHBsw61jaXRvXG4gICAgLy8gKGhlcmRhIGRvIGRlZmF1bHQgZG8gbmF2ZWdhZG9yKS4gVmVydGljYWwgY29tcGFjdG8gKDJweCkgw6kgbyBQQURSw4NPIGRhXG4gICAgLy8gdGFiZWxhIEpFTVMzIOKAlCB0b2RvcyBvcyBjb25zdW1pZG9yZXMgKHBlb3BsZS10YWJsZSwgZXZlbnQtdHJhY2tzLFxuICAgIC8vIGV2ZW50LXNldHRpbmdzLWVtYWlsKSB1c2F2YW0gZXNzYSBhbHR1cmEsIGVudMOjbyBlbGEgdml2ZSBhcXVpIGUgbsOjbyBlbVxuICAgIC8vIG92ZXJyaWRlcyBsb2NhaXMuIEhvcml6b250YWwgbWFudMOpbSA4LjVweCAocmVzcGlybyBlbnRyZSBjb2x1bmFzKS5cbiAgICB0ZCxcbiAgICB0ZC5tYXQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEyNTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAycHggOC41cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuamVtczMtdGFibGUtbnVtYmVyaW5nIOKAlCBtb2RpZmllciBwcmEgY29sdW5hIGRlIG51bWVyYcOnw6NvIGRlIGxpbmhhcy5cbiAgICAvLyBBcGxpY2FkbyBubyA8dGg+IGUgPHRkPiBkYSBjb2x1bmEgZG8gw61uZGljZTogY8OpbHVsYSB0cmFuc3BhcmVudGUsIHNlbVxuICAgIC8vIGFycmVkb25kYW1lbnRvLCB0aXBvZ3JhZmlhIGxldmUgKDEyLzQzMCkuIEEgMsKqIGNvbHVuYSAobmV4dCBzaWJsaW5nKVxuICAgIC8vIGFzc3VtZSBvIHJhZGl1cyBlc3F1ZXJkbyBkbyBcImNhcmRcIiBkYSBsaW5oYSDigJQgZGHDrSBvIMOtbmRpY2UgZmljYVxuICAgIC8vIHZpc3VhbG1lbnRlIEZPUkEgZGEgbGluaGEtY2FyZCwgY29tbyB1bSBtYXJjYWRvciBkaXNjcmV0byDDoCBlc3F1ZXJkYS5cbiAgICAvLyBDb25zdW1pZG9yIGRlaXhhIG8gPHRoPiB2YXppbyAoc2VtIHTDrXR1bG8pOyBDU1MgasOhIGNvbXBhY3RhIG8gZXNwYcOnby5cbiAgICB0aC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLFxuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZy5tYXQtaGVhZGVyLWNlbGwsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBRdWFuZG8gYSAxwqogY29sdW5hIMOpIG51bWVyYcOnw6NvLCBhIDLCqiBwYXNzYSBhIHJlY2ViZXIgbyByYWRpdXMgZXNxdWVyZG8uXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQsXG4gICAgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQubWF0LWNlbGwge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG59XG5cbi8vIERhcmsgbW9kZTogbnVtYmVyaW5nIHNlZ3VlIGEgY29yIGRlIHRleHRvIGxldmVsLTIgZXNjdXJhLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUge1xuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZyxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGguamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1oZWFkZXItY2VsbCxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcubWF0LWNlbGwge1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICB9XG59XG5cbi8vIC5qZW1zMy10YWJsZS1ob3ZlciDigJQgbW9kaWZpZXIgb3B0LWluIHByYSB0YWJlbGFzIGludGVyYXRpdmFzIChsaW5oYVxuLy8gY2xpY8OhdmVsKS4gQ29udG9ybm8gZGUgaG92ZXIgKDJweCkgYW8gcmVkb3IgZGEgbGluaGEgdmlhIGEgdMOpY25pY2EgQ0FOw5ROSUNBXG4vLyBgOjpiZWZvcmVgIChzZXBhcmFkb3IgdmVydGljYWwpICsgYDo6YWZ0ZXJgIChjb250b3Jubykg4oCUIGEgTUVTTUEgZGEgTGlzdGEgZGVcbi8vIFN1Ym1pc3PDtWVzIC8gcGVvcGxlLXRhYmxlLiAoYm94LXNoYWRvdyBmYWxoYTogbyBiZyBvcGFjbyBkYSBjw6lsdWxhIHZpemluaGFcbi8vIHBpbnRhIFBPUiBDSU1BIGRhIHNvbWJyYSBubyBnYXAg4oaSIGNvbnRvcm5vIFwiY29ydGFkb1wiLiBPIGA6OmFmdGVyYCwgYWNpbWEgZG9cbi8vIGA6OmJlZm9yZWAgbmEgcGlsaGEsIHBhc3NhIFBPUiBDSU1BIGRhcyBwb250YXMgZG8gc2VwYXJhZG9yIOKGkiBsaW5oYSBjb250w61udWEuKVxuLy9cbi8vIEdlbmVyYWxpemEgcG9yIE1BUkNBRE9SRVMg4oCUIGEgdGFiZWxhIHPDsyBkZWNsYXJhIHN1YSBlc3RydXR1cmEgZSBvIGNvbnRvcm5vIHNlXG4vLyBhZGFwdGEgw6BzIGNvbHVuYXMgZGUgQ09OVEXDmkRPLCBzZW0gY8OzZGlnbyBwb3IgdGFiZWxhOlxuLy8gICDigKIgYC5qZW1zMy10YWJsZS1udW1iZXJpbmdgIOKGkiBjb2x1bmEgYXV4aWxpYXIgZGUgbsO6bWVybyAoMcKqLCBmb3JhIGRvIFwiY2FyZFwiKS5cbi8vICAg4oCiIGAuamVtczMtdGFibGUtc2VsZWN0YWJsZWAg4oaSIGNvbHVuYSBzZWxldG9yICjDumx0aW1hLCBmb3JhIGRvIFwiY2FyZFwiKS5cbi8vIENvbSBpc3NvLCBcIjHCqi/Dumx0aW1hIGNvbHVuYSBkZSBjb250ZcO6ZG9cIiAocXVlIHJlY2ViZW0gYXMgYm9yZGFzIGVzcXVlcmRhL1xuLy8gZGlyZWl0YSkgc8OjbyBkZXJpdmFkYXMgZXN0cnV0dXJhbG1lbnRlLCBjb2JyaW5kbyB0b2RhcyBhcyBjb21iaW5hw6fDtWVzLlxuLy8gKE1lbcOzcmlhOiBmZWVkYmFja190YWJsZV9ob3Zlcl9zZXBhcmF0b3JfdGVjaG5pcXVlLilcbi8vXG4vLyBGdW5jaW9uYSBjb20gTWF0ZXJpYWwgKGB0ZC5tYXQtY2VsbGApIEUgY29tIGA8dGFibGU+YCBIVE1MIFBVUk86IG9zIHNlbGV0b3Jlc1xuLy8gbWlyYW0gYHRkYCAocXVlIGNvYnJlIGFtYm9zKSwgZW50w6NvIHRhYmVsYXMgcHVyYXMgZ2FuaGFtIG8gbWVzbW8gaG92ZXIvc2VwYXJhZG9yXG4vLyBzw7MgYWRpY2lvbmFuZG8gYSBjbGFzc2Ug4oCUIHNlbSByZXBsaWNhciBhIHJlY2VpdGEgcG9yIGNvbXBvbmVudGUuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZSBqZW1zMy10YWJsZS1ob3ZlclwiPiAuLi4gPC90YWJsZT5cbnRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICAvLyBTZW0gZ2FwIGhvcml6b250YWwg4oCUIG8gc2VwYXJhZG9yIGVudHJlIGNvbHVuYXMgcGFzc2EgYSBzZXIgZGVzZW5oYWRvIHBvclxuICAgIC8vIGA6OmJlZm9yZWAgKGNvbSBnYXAsIG8gY29udG9ybm8gZG8gaG92ZXIgZmljYXZhIFwiY29ydGFkb1wiKS4gTWFudMOpbSBzw7Mgb1xuICAgIC8vIGdhcCB2ZXJ0aWNhbCBkZSAxcHggZW50cmUgbGluaGFzLiBNZXNtYSBlc3BlY2lmaWNpZGFkZSBkbyBgLmplbXMzLXRhYmxlYFxuICAgIC8vIGJhc2U7IHZlbmNlIHBvciB2aXIgZGVwb2lzIG5vIGFycXVpdm8uXG4gICAgYm9yZGVyLXNwYWNpbmc6IDAgMXB4ICFpbXBvcnRhbnQ7XG5cbiAgICB0Ym9keSB0cixcbiAgICB0ci5tYXQtcm93IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFJlc2VydmEgZG8gY29udG9ybm8gKGA6OmFmdGVyYCwgYm9yZGEgdHJhbnNwYXJlbnRlIOKGkiBzZW0gbGF5b3V0LXNoaWZ0KSBlXG4gICAgLy8gw6JuY29yYSAoYHBvc2l0aW9uOiByZWxhdGl2ZWApIGVtIFRPREEgY8OpbHVsYSBkZSBjb250ZcO6ZG8gKGV4Y2x1aSBhXG4gICAgLy8gbnVtZXJhw6fDo28gYXV4aWxpYXIsIHF1ZSBmaWNhIGZvcmEgZG8gXCJjYXJkXCIgZGEgbGluaGEpLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlcGFyYWRvciB2ZXJ0aWNhbCBlbnRyZSBjb2x1bmFzIGRlIGNvbnRlw7pkbyDigJQgZW0gdG9kYXMgRVhDRVRPIGEgw7psdGltYVxuICAgIC8vIChjdWphIGJvcmRhIGRpcmVpdGEgasOhIMOpIG8gY29udG9ybm8gZGEgbGluaGEpLiBDb3IgPSBiZyBkbyBwYWluZWwgKHJldmVsYVxuICAgIC8vIG8gXCJnYXBcIikuIE8gY29tYm8gY29tIGAuamVtczMtdGFibGUtc2VsZWN0YWJsZWAgcmVtb3ZlIG8gc2VwYXJhZG9yIGRhXG4gICAgLy8gcGVuw7psdGltYSAocXVlIHZpcmEgYSDDumx0aW1hIGNvbHVuYSBkZSBjb250ZcO6ZG8pLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gMcKqIGNvbHVuYSBkZSBjb250ZcO6ZG8g4oaSIHJlc2VydmEgYm9yZGEgZXNxdWVyZGEuIFNlbSBudW1lcmHDp8OjbzogYSAxwqogdGQ7XG4gICAgLy8gY29tIG51bWVyYcOnw6NvOiBhIHRkIGxvZ28gYXDDs3MgZWxhLlxuICAgIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIMOabHRpbWEgY29sdW5hIGRlIGNvbnRlw7pkbyDihpIgcmVzZXJ2YSBib3JkYSBkaXJlaXRhIChjYXNvIFNFTSBzZWxldG9yOyBvXG4gICAgLy8gY29tYm8gc2VsZWN0YWJsZSBtb3ZlIGlzc28gcHJhIHBlbsO6bHRpbWEpLlxuICAgIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIEVzdGFkbyBIT1ZFUjogY29sb3JlIG8gY29udG9ybm8gKGNpbnphKSDilIDilIBcbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0cjpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBFU0NVUkVDRSBhIGPDqWx1bGE6IHbDqXUgcHJldG8gdHJhbnNsw7pjaWRvIGNvbW8gRlVORE8gZG8gdGQuIENvbW9cbiAgICAvLyBhIGPDqWx1bGEgcGludGEgU09CUkUgcXVhbHF1ZXIgY29yIGRhIGxpbmhhIChpbmNsdXNpdmUgY29yIGRlIHN0YXR1cyksIG9cbiAgICAvLyB2w6l1IG1pc3R1cmEgY29tIG8gcXVlIGVzdMOhIGVtYmFpeG8g4oCUIHNlbSBwcmVjaXNhciBzYWJlciBhIGNvciBvcmlnaW5hbC5cbiAgICAvLyBgIWltcG9ydGFudGAgdmVuY2UgcmVncmFzIGRlIGNvciBjaGVpYSAoZXguOiBjZWxsLWJnIHNldGFkbyB2aWFcbiAgICAvLyBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS4gTWVzbWEgdMOpY25pY2EgdXNhZGFcbiAgICAvLyBlbSBgc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MmAuXG4gICAgLy9cbiAgICAvLyBTb2JyZSBvIGA6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKWA6IGVzcGVsaGEgRVhBVEFNRU5URSBvIHBhZHLDo29cbiAgICAvLyBkYXMgYm9yZGFzIGRlIGhvdmVyIGFjaW1hIOKAlCBxdWFuZG8gaMOhIG1vZGlmaWVyIHNlbGVjdGFibGUsIGEgw7psdGltYVxuICAgIC8vIGNvbHVuYSDDqSBvIGNoZWNrYm94IGRlIHNlbGXDp8OjbyBcImZvcmEgZG8gY2FyZFwiIGUgTsODTyByZWNlYmUgbmVuaHVtXG4gICAgLy8gY2hyb21lIGRlIGhvdmVyIChib3JkYSBvdSB2w6l1KS4gQSByZWdyYS1pcm3DoyBwcmEgc2VsZWN0YWJsZSBlc3TDoSBsb2dvXG4gICAgLy8gYWJhaXhvIGUgZXhjbHVpIGA6bGFzdC1vZi10eXBlYCBubyBzZWxldG9yLlxuICAgICY6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKSB7XG4gICAgICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSxcbiAgICAgICAgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0LCAkdGFibGUtaG92ZXItdmVpbC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSksXG4gICAgICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQsICR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuamVtczMtdGFibGUtc2VsZWN0YWJsZSDigJQgbW9kaWZpZXIgb3B0LWluIHByYSB0YWJlbGFzIGNvbSBsaW5oYXNcbi8vIHNlbGVjaW9uw6F2ZWlzLiBDb252ZW7Dp8Ojbzpcbi8vICAg4oCiIMOabHRpbWEgY29sdW5hIChtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIikgPSBjaGVja2JveCwgY8OpbHVsYSB0cmFuc3BhcmVudGVcbi8vICAgICBmb3JhIGRvIFwiY2FyZFwiIGRhIGxpbmhhIChtZXNtYSBsw7NnaWNhIHZpc3VhbCBkYSBudW1lcmHDp8OjbyDDoCBlc3F1ZXJkYSkuXG4vLyAgIOKAoiBIZWFkZXIgZGEgY29sdW5hID0gY2hlY2tib3ggbWFzdGVyIHByYSBtYXJjYXIvZGVzbWFyY2FyIHRvZGFzLlxuLy8gICDigKIgTGluaGFzIHNlbGVjaW9uYWRhcyBnYW5oYW0gY2xhc3NlIGAuaXMtc2VsZWN0ZWRgIG5hIDx0cj4g4oaSIGJvcmRhXG4vLyAgICAgYWNjZW50IGNvbG9yIChjb250b3JubyBwZXJzaXN0ZW50ZSkuXG4vL1xuLy8gICA8dGFibGUgY2xhc3M9XCJqZW1zMy10YWJsZSBqZW1zMy10YWJsZS1zZWxlY3RhYmxlXCI+XG4vLyAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj4gLi4uIDwvbmctY29udGFpbmVyPlxuLy8gICAgIDx0ciAqbWF0Um93RGVmPVwiLi4uXCIgW2NsYXNzLmlzLXNlbGVjdGVkXT1cInIuc2VsZWN0ZWRcIj48L3RyPlxuLy8gICA8L3RhYmxlPlxudGFibGUuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgLy8gw5psdGltYSBjb2x1bmEgKHNlbGVjdCkgPSB0cmFuc3BhcmVudGUsIGZvcmEgZG8gXCJjYXJkXCIuIFNlbSByYWRpdXMuXG4gICAgdGg6bGFzdC1vZi10eXBlLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsXG4gICAgdGQ6bGFzdC1vZi10eXBlLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tib3hlcyAobWFzdGVyIG5vIGhlYWRlciArIGRlIGxpbmhhKSBlbmNvbGhpZG9zIChzY2FsZSAwLjgpIGUgY2VudHJhZG9zLlxuICAgIHRoOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcixcbiAgICB0aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcixcbiAgICB0ZDpsYXN0LW9mLXR5cGUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBQZW7Dumx0aW1hIGNvbHVuYSBhc3N1bWUgbyByYWRpdXMgZGlyZWl0byBkbyBcImNhcmRcIiAoYSDDumx0aW1hIHZpcm91IHNlbGV0b3IpLlxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMiksXG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4gICAgLy8gU2VsZWNpb25hZG8gKHBlcnNpc3RlbnRlKSDigJQgY29udG9ybm8gYWNjZW50IHZpYSBgOjphZnRlcmAgKG1lc21hIHTDqWNuaWNhIGRvXG4gICAgLy8gaG92ZXI7IHJlcXVlciBgLmplbXMzLXRhYmxlLWhvdmVyYCBwLyBhIHJlc2VydmEgZG8gcHNldWRvKS4gQWNlaXRhXG4gICAgLy8gYC5pcy1zZWxlY3RlZGAgZSBgLnNlbGVjdGVkYC4gYDpub3QoOmxhc3Qtb2YtdHlwZSlgIGV4Y2x1aSBvIHNlbGV0b3I7IMO6bHRpbWFcbiAgICAvLyBjb2x1bmEgZGUgY29udGXDumRvID0gcGVuw7psdGltYSB0ZCAoYDpudGgtbGFzdC1vZi10eXBlKDIpYCkuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG59XG5cbi8vIENvbWJvIGhvdmVyICsgc2VsZWN0YWJsZTogbyBzZWxldG9yICjDumx0aW1hIHRkKSDDqSB0cmFuc3BhcmVudGUsIGZvcmEgZG8gY2FyZDtcbi8vIGEgw7psdGltYSBjb2x1bmEgZGUgQ09OVEXDmkRPIHZpcmEgYSBwZW7Dumx0aW1hIChgOm50aC1sYXN0LW9mLXR5cGUoMilgKS5cbnRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUge1xuICAgIHRkOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTo6YmVmb3JlIHsgY29udGVudDogbm9uZTsgfVxuICAgIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0ZWQgKyBob3ZlcjogYm9yZGEgZGlyZWl0YSBQUkVTRVJWQSBhY2NlbnQgKHNlbSBpc3NvLCBhIHJlZ3JhIGRlXG4gICAgLy8gaG92ZXIgYWNpbWEgc29icmVzY3JldmlhIG8gYWNjZW50IGRvIHNlbGVjdGVkIOKAlCBgdHIuc2VsZWN0ZWQ6aG92ZXJgIHZlbmNlXG4gICAgLy8gcG9yIHNwZWNpZmljaXR5IGRlIDEgY2xhc3NlIGEgbWFpcyBxdWUgYHRyOmhvdmVyYCkuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuLy8gRGFyayDigJQgY29udG9ybm8gZG8gaG92ZXIgZW0gYnJhbmNvIHRyYW5zbMO6Y2lkby5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICAvLyBTZXBhcmFkb3IgdmVydGljYWwgbm8gZGFyayA9IE1FU01BIGNvciBkbyBnYXAgaG9yaXpvbnRhbCAoY2FudmFzIGF0csOhcyBkYVxuICAgIC8vIHRhYmVsYSwgJGFkbWluLWJhY2tncm91bmQtZGFyaykuIE5vIGxpZ2h0IHVzYSBvIGJnIGNsYXJvIGRvIHBhaW5lbDsgbm8gZGFya1xuICAgIC8vIG8gdmFsb3IgY2xhcm8gdmlyYXZhIGxpbmhhIGJyYW5jYSwgZW50w6NvIHVzYW1vcyBvIGNhbnZhcyBlc2N1cm8gcC8gdmVydGljYWxcbiAgICAvLyBlIGhvcml6b250YWwgZmljYXJlbSBpZMOqbnRpY29zLlxuICAgIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHI6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuXG59XG5cbi8vIERhcmsgaG92ZXIgdmVpbCDigJQgZXNjcml0byBzZW0gbmVzdGluZyBgJmAgcHJhIGRlaXhhciBzZWxlY3RvciBleHBsw61jaXRvXG4vLyAoZSBldml0YXIgc3VycHJlc2FzIGNvbSBhIHJlZ3JhIGFjaW1hKS4gTWVzbWEgZGl2aXPDo28gZG8gbGlnaHQ6IHNlbGVjdGFibGVcbi8vIEVYQ0xVSSBgOmxhc3Qtb2YtdHlwZWAgcHJhIG7Do28gcGludGFyIG8gY2hlY2tib3ggXCJmb3JhIGRvIGNhcmRcIi5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyOm5vdCguamVtczMtdGFibGUtc2VsZWN0YWJsZSkgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpLFxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXI6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKSB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCR0YWJsZS1ob3Zlci12ZWlsLWRhcmssICR0YWJsZS1ob3Zlci12ZWlsLWRhcmspICFpbXBvcnRhbnQ7XG59XG5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSxcbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyLmplbXMzLXRhYmxlLXNlbGVjdGFibGUgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtZGFyaywgJHRhYmxlLWhvdmVyLXZlaWwtZGFyaykgIWltcG9ydGFudDtcbn1cblxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdGVkICsgaG92ZXI6IGJvcmRhIERJUkVJVEEgcHJlc2VydmEgYWNjZW50LWRhcmsuXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxufVxuXG4vLyBEYXJrIOKAlCBzZWxlY3RlZCArIGhvdmVyOiB0b3AvYm90dG9tICsgbGVmdCBwcmVzZXJ2YW0gYWNjZW50LWRhcmsgKHNlbVxuLy8gaXNzbyBvIGhvdmVyIGRhcmsgYWNpbWEgdmVuY2UgbyBzZWxlY3RlZCBkYXJrLCBwZXJkZW5kbyBvIGFjY2VudCBlbVxuLy8gdG9kb3Mgb3MgbGFkb3Mgdmlzw612ZWlzKS5cbi5kYXJrLXRoZW1lIHRhYmxlLmplbXMzLXRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbn1cblxuLy8gLmplbXMzLXRhYmxlLWFjdGlvbiDigJQgw61jb25lIGNsaWPDoXZlbCBzaW1wbGVzIHByYSBjb2x1bmFzIGRlIGHDp8OjbyBkZW50cm9cbi8vIGRlIHVtYSBgLmplbXMzLXRhYmxlYC4gU2VtIGNocm9tZSBkbyBNYXRlcmlhbCAoc2VtIDQww5c0MCwgc2VtIHJpcHBsZSxcbi8vIHNlbSBmdW5kbyksIGFwZW5hcyBvIMOtY29uZS4gRnVuY2lvbmEgZW0gYDxhPmAgKHJvdXRlckxpbmspIGUgYDxidXR0b24+YFxuLy8g4oCUIGVtIGA8YnV0dG9uPmAgemVyYW1vcyBvIGNocm9tZSBuYXRpdm8gKyBvIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWBcbi8vIGdsb2JhbCBlIG8gYHBhZGRpbmdgL2BiYWNrZ3JvdW5kYCBoZXJkYWRvcy5cbi5qZW1zMy10YWJsZS1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICRncmF5LTUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgLy8gT3ZlcnJpZGVzIHF1YW5kbyBvIGNvbnN1bWlkb3IgdXNhIGA8YnV0dG9uPmAg4oCUIG5ldXRyYWxpemEgZGVmYXVsdHNcbiAgICAvLyBuYXRpdm9zIGRvIG5hdmVnYWRvciBlIGEgcmVncmEgZ2xvYmFsIGBidXR0b24geyBoZWlnaHQ6IDM2cHggfWAuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC8vIFBhZGRpbmcgY3JpYSBhIFwiYWxtb2ZhZGFcIiBkbyBob3ZlciBjaXJjdWxhciBzZW0gbXVkYXIgYSBwb3Npw6fDo28gZG9cbiAgICAvLyDDrWNvbmUgKGUgc2VtIGFmZXRhciBvIGxheW91dCBlbnRyZSBlc3RhZG9zKS5cbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8vIEFjZWl0YSBvIMOtY29uZSBjb21vIGA8bWF0LWljb24+YCBPVSBjb21vIGA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5gXG4gICAgLy8gKG8gZ2xpZm8gw6kgbyBtZXNtbzogYSBjbGFzc2Ugw6kgZ2xvYmFsIGVtIGBfZm9udHMtbG9jYWwuc2Nzc2ApLiBPIHNwYW4gZXZpdGFcbiAgICAvLyBpbnN0YW5jaWFyIHVtIGNvbXBvbmVudGUgQW5ndWxhciBwb3IgbGluaGEgZGEgdGFiZWxhLlxuICAgIG1hdC1pY29uLFxuICAgIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgfVxufVxuLmRhcmstdGhlbWUgLmplbXMzLXRhYmxlLWFjdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICB9XG4gICAgJjphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpOyB9XG59XG5cbi8vIERhcmsgbW9kZSDigJQgZnVuZG8gYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgZSB0ZXh0byBjbGFybyxcbi8vIGFsaW5oYWRvIGFvcyBjYXJkcyBhdXRvci9yZXZpc29yIG5vdm9zLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUge1xuICAgIHRoLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQsXG4gICAgdGQubWF0LWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ0hJUCBkZSBUw5NQSUNPIChleGliacOnw6NvLCByZWFkLW9ubHkpIOKAlCBkZWZpbmnDp8OjbyDDmk5JQ0EgZ2xvYmFsLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQaWxsIGVzdMOhdGljbyBxdWUgcm90dWxhIHVtIHTDs3BpY28uIFVzYWRvIGVtOlxuLy8gICAtIExpc3RhIGRlIFN1Ym1pc3PDtWVzIChgc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiA+IC5zdWJtaXNzaW9uLXRvcGljc2ApXG4vLyAgIC0gSmFuZWxhIFwiUGVzcXVpc2FyIHBvciBpbnRlcmVzc2VcIiAoYGZpbmQtcmV2aWV3ZXJzLWJ5LWludGVyZXN0YClcbi8vXG4vLyBPIGNoaXAgRURJVMOBVkVMIGRlIGdlc3TDo28gZGUgdMOzcGljb3MgKGBldmVudC10b3BpY3NgOiBob3ZlciwgZHJhZyxcbi8vIGlzLWluYWN0aXZlLCBwYXJlbnQpIMOpIE9VVFJPIGRlc2lnbiDigJQgZmljYSBlc2NvcGFkbyBubyBjb21wb25lbnRlLCBOw4NPIG1pZ3Jhci5cbi50b3BpYy1jaGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1pbi1oZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgICAgICAgICAgICAgICAgICAgIC8vIHBpbGwsIGNvbW8gbyBtYXQtY2hpcCBkZWZhdWx0XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1jYXJkLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29udGVudC1jb2xvcjtcbn1cbiIsIi8vIENhcmQgZG8gcG9wb3ZlciBkbyB0aHJlc2hvbGQgYmFuZCBkYSBjb2x1bmEgU3BhbiAoTGlzdGEgZGUgU3VibWlzc8O1ZXMpLlxuLy9cbi8vIEdMT0JBTCBkZSBwcm9ww7NzaXRvIChuw6NvIG5vIHNjc3MgZG8gY29tcG9uZW50ZSkuIE8gcG9wb3ZlciDDqSBwb3J0YWRvIHBybyA8Ym9keT4gZSBhXG4vLyB0YWJlbGEgKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyKSDDqSBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZDogdW1hIHJlZ3JhXG4vLyBgLmRhcmstdGhlbWUgLnNwYW4tdGhyZXNob2xkLXBvcGAgZXNjcml0YSBubyBzY3NzIGRvIGNvbXBvbmVudGUgY29tcGlsYSBjb21vXG4vLyBgLmRhcmstdGhlbWVbX25nY29udGVudC14XSAuc3Bhbi10aHJlc2hvbGQtcG9wW19uZ2NvbnRlbnQteF1gIOKAlCBlIGNvbW8gYSBjbGFzc2Vcbi8vIGBkYXJrLXRoZW1lYCBtb3JhIG5vIDxib2R5PiAocXVlIE7Dg08gdGVtIG8gYXRyaWJ1dG8gX25nY29udGVudCksIG8gc2VsZXRvciBkYXJrIG51bmNhXG4vLyBjYXNhIOKGkiBvIGNhcmQgZmljYXZhIHNlbXByZSBjbGFybywgbWVzbW8gZW0gZGFyayBtb2RlLiBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgXG4vLyB0YW1iw6ltIG7Do28gcmVzb2x2ZSBwb3JxdWUgbyBjYXJkIMOpIHBvcnRhZG8gcHJhIEZPUkEgZG8gaG9zdCBkYSB0YWJlbGEuIFNlbVxuLy8gZW5jYXBzdWxhbWVudG8gKGFxdWkpLCBgLmRhcmstdGhlbWUgLnNwYW4tdGhyZXNob2xkLXBvcGAgY2FzYSBvIDxib2R5PiBub3JtYWxtZW50ZS5cbi8vIChtZW3Ds3JpYSBmZWVkYmFja19hbmd1bGFyX3ZpZXdfZW5jYXBzdWxhdGlvbilcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi5zcGFuLXRocmVzaG9sZC1wb3Age1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0zMDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgICAgICAgICAgICAgIC8vID0gJGNocm9tZS1yYWRpdXMgKGRlIF92YXJpYWJsZXMsIG7Do28gaW1wb3J0YWRvIGFxdWkpXG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMyKTtcbiAgcGFkZGluZzogMTJweCAxNHB4IDRweDsgICAgICAgICAgLy8gYm90dG9tIG1lbm9yOiBvIGJhbmQgasOhIHJlc2VydmEgMzBweCBwLyBzZXRhcy92YWxvcmVzXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzM3MzczNDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuc3Bhbi10aHJlc2hvbGQtcG9wIHtcbiAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuXG4gIC5zcGFuLXRocmVzaG9sZC1wb3BfX3RpdGxlIHtcbiAgICBjb2xvcjogJGNvbnRlbnQtY29sb3ItZGFyaztcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgZGEgbWluaS10YWJlbGEgZGUgbm90YXMgKGNvbHVuYSBcIk5vdGFzIGluZGl2aWR1YWlzXCIpLiBHTE9CQUwgcG9ycXVlIGFnb3JhIG9cbi8vIENBQkXDh0FMSE8gdml2ZSBubyA8dGg+IGRvIHBhaSAoc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MikgZSBhIEPDiUxVTEEgbnVtIGNvbXBvbmVudGUtZmlsaG9cbi8vIChhcHAtc2NvcmUtY2VsbCwgT25QdXNoKS4gRGFyayB2aWEgYC5kYXJrLXRoZW1lYCAoZXJhIDpob3N0LWNvbnRleHQgbm8gY29tcG9uZW50ZSBFbXVsYXRlZCkuXG5cbi8vIFBFUkYgZGUgcmVzaXplL3Njcm9sbDogYGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0b2AgZmF6IG8gYnJvd3NlciBQVUxBUiBvIGxheW91dC9wYWludCBkYXNcbi8vIG1pbmktdGFiZWxhcyBxdWUgZXN0w6NvIEZPUkEgZGEgdmlld3BvcnQuIFNlbSBpc3RvLCBhIHRhYmVsYSAobGF5b3V0IGF1dG9tw6F0aWNvKSByZS1tZWRpYSBhc1xuLy8gfjE5NCBtaW5pLXRhYmVsYXMgZGUgbm90YXMgYSBjYWRhIGV2ZW50byBkZSByZXNpemUg4oaSIHJlYXJyYW5qbyBsZW50by4gQ29tIGlzdG8sIHPDsyBhcyB2aXPDrXZlaXNcbi8vIHPDo28gbWVkaWRhcy9waW50YWRhcy4gQSBsYXJndXJhIMOpIEVTVMOBVkVMICh0b2RhcyBhcyBtaW5pLXRhYmVsYXMgdMOqbSBhIG1lc21hIGxhcmd1cmEgZml4YSksIGVudMOjb1xuLy8gYSBjb2x1bmEgbsOjbyBcInB1bGFcIjsgYSBhbHR1cmEgZGFzIGZvcmEgZGEgdGVsYSB1c2EgYSBlc3RpbWF0aXZhIGBhdXRvYCAobGVtYnJhZGEgYXDDs3MgYSAxwqpcbi8vIHJlbmRlcml6YcOnw6NvIGRlIGNhZGEgdW1hKSwgcG9kZW5kbyBkYXIgdW0gbGV2ZSByZWZsb3cgbm8gMcK6IHNjcm9sbCBhdMOpIHNlcmVtIG1lZGlkYXMuXG5hcHAtc2NvcmUtY2VsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50LXZpc2liaWxpdHk6IGF1dG87XG4gIGNvbnRhaW4taW50cmluc2ljLXNpemU6IGF1dG8gNDAwcHggYXV0byA3MnB4OyAgIC8vIGZhbGxiYWNrIHPDsyBhdMOpIGNhZGEgY8OpbHVsYSByZW5kZXJpemFyIDHDl1xuICAvLyBjb250ZW50LXZpc2liaWxpdHkgZW1idXRlIFBBSU5UIGNvbnRhaW5tZW50IChyZWNvcnRhIGFvIGJveCwgY29tbyBvdmVyZmxvdzpoaWRkZW4pLiBBIHNvbWJyYVxuICAvLyBwb3IgbGluaGEgcHJvamV0YS1zZSB+NHB4IHByYSBmb3JhIGRvIGJveCAoYWJhaXhvIGRhIMO6bHRpbWEgbGluaGEsIGFjaW1hIGRhIHByaW1laXJhKSDihpIgc2VyaWFcbiAgLy8gcmVjb3J0YWRhLiBFc3RhIGZvbGdhIHZlcnRpY2FsIGTDoSBlc3Bhw6dvIHByYSBzb21icmEgY2FiZXIgREVOVFJPIGRvIGJveCBlIG7Do28gc2VyIGNvcnRhZGEuXG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4uc2NvcmUtZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdC8vIHN0cmV0Y2ggbm9zIGRvaXMgZWl4b3M6IGNhZGEgY8OpbHVsYSBQUkVFTkNIRSBhIGxhcmd1cmEgRSBhIEFMVFVSQSBkYSBzdWEgw6FyZWEgbm8gZ3JpZFxuXHQvLyAobyBmdW5kbyBjaW56YSBjb2JyZSBhIGPDqWx1bGEgaW50ZWlyYSwgaW5jbHVzaXZlIGFzIFZBWklBUyDigJQgcmV2aXPDo28gaW5jb21wbGV0YSwgc3RhdHVzXG5cdC8vIGRvIHJvZGFww6kpOyBvIGNvbnRlw7pkbyDDqSBjZW50cmFsaXphZG8gcG9yIGRlbnRybyAodGV4dC1hbGlnbiArIGxpbmUtaGVpZ2h0IC8gZmxleCkuXG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xuXHQvLyBMaW5oYXMgc2VwYXJhZGFzIHBvciAxcHggdHJhbnNwYXJlbnRlIChyb3ctZ2FwIOKGkiBhIGNvciBkYSBsaW5oYSBhcGFyZWNlIGVudHJlIGVsYXMpO1xuXHQvLyBDT0xVTkFTIGFkamFjZW50ZXMgKGNvbHVtbi1nYXAgMCksIGRpdmlkaWRhcyBwb3IgdW0gOjpiZWZvcmUgZGUgMXB4IOKAlCBNRVNNQSB0w6ljbmljYSBkYVxuXHQvLyB0YWJlbGEgcHJpbmNpcGFsIChib3JkZXItc3BhY2luZyAwIDFweCkuIEFzc2ltIG8gY29udG9ybm8gZGUgaG92ZXIgKDo6YWZ0ZXIgaW5zZXQ6MCkgZmljYVxuXHQvLyBjb250w61udW8gcG9ycXVlIGFzIGPDqWx1bGFzIHNlIFRPQ0FNIChzZW0gZ2FwIGhvcml6b250YWwgcC8gY29ydGFyIGEgYm9yZGEpLlxuXHRyb3ctZ2FwOiAxcHg7XG5cdGNvbHVtbi1nYXA6IDA7XG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdC8vIENhZGEgTElOSEEgZGEgbWluaS10YWJlbGEgw6kgdW0gXCJwaWxsXCIgYXJyZWRvbmRhZG86IGEgMcKqIGPDqWx1bGEgZGEgbGluaGEgYXJyZWRvbmRhIMOgXG5cdC8vIGVzcXVlcmRhICguc2ctcmwpIGUgYSDDumx0aW1hIMOgIGRpcmVpdGEgKC5zZy1ycikg4oCUIG1hcmNhZGFzIG5vIEhUTUwgcG9ycXVlIG8gbsK6IGRlXG5cdC8vIGNyaXTDqXJpb3Mgw6kgdmFyacOhdmVsIChuw6NvIGTDoSBwcmEgbWlyYXIgcG9yIG50aC1jaGlsZCkuXG5cdC5zZy1ybCB7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyB9XG5cdC5zZy1yciB7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH1cblxuXHQvLyBXcmFwcGVyIGRlIExJTkhBOiBjYWl4YSByZWFsIHZpYSBgc3ViZ3JpZGAgKGFzIGPDqWx1bGFzIHNlZ3VlbSBhbGluaGFkYXMgw6BzIGNvbHVuYXMgZG8gZ3JpZFxuXHQvLyBwYWkpLCBwcmEgYSBsaW5oYSB0ZXIgY2FpeGEgcHLDs3ByaWEgZSBhY2VpdGFyIHVtIGJveC1zaGFkb3cgUE9SIExJTkhBLiBQZXJtaXRlIG8gOmhvdmVyIG5hXG5cdC8vIGxpbmhhIGludGVpcmEuIFPDsyBjb3Jwby9yb2RhcMOpLlxuXHQuc2ctcm93IHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHRcdC8vIEFsdHVyYSB1bmlmb3JtZSA9IMOtY29uZSBkZSBzdGF0dXMgKDE2cHgpICsgMXB4IGFjaW1hICsgMXB4IGFiYWl4by4gU2VtIGlzdG8sIGEgbGluaGFcblx0XHQvLyBcImNvbnZpZGFkb1wiIChzw7Mgw61jb25lLCBzZW0gbsO6bWVyb3MpIGZpY2EgbWVub3IgcXVlIGFzIGxpbmhhcyBjb20gdGV4dG8uIE8gcGlsbCAoMTZweClcblx0XHQvLyBjZW50cmFsaXphZG8gbmEgY8OpbHVsYSBlc3RpY2FkYSBnYXJhbnRlIG8gMXB4IGRlIGZvbGdhIGVtIGNpbWEgZSBlbWJhaXhvLlxuXHRcdG1pbi1oZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQvLyBDb20gXCJDb2xvcmlyIGxpbmhhcyBjb20gc3RhdHVzXCIgTElHQURPLCBjYWRhIEPDiUxVTEEgw6kgY2luemEgKGNvbnRyYXN0ZSBjb250cmEgYSBsaW5oYVxuXHQvLyBjb2xvcmlkYSkuIENvbSBvIHRvZ2dsZSBERVNMSUdBRE8sIGEgbGluaGEgKGB0ci5uby1zdGF0dXMtY29sb3JgKSDDqSBicmFuY2Eg4oaSIGEgbWluaS10YWJlbGFcblx0Ly8gYWNvbXBhbmhhIGUgZmljYSBicmFuY2EgKG92ZXJyaWRlIGxvZ28gYWJhaXhvKS4gQXMgY8OpbHVsYXMgdml2ZW0gc29iIC5zZy1yb3cgKGNvcnBvL3JvZGFww6kpO1xuXHQvLyBvIGNhYmXDp2FsaG8gKC5zY29yZS1ncmlkLWhlYWQpIGZpY2EgZGUgZm9yYS4gYHBvc2l0aW9uOnJlbGF0aXZlYCBhbmNvcmEgbyA6OmFmdGVyIGRvIGNvbnRvcm5vLlxuXHQmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93ID4gKiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuZGFyay10aGVtZSAmIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG5cblx0XHQvLyBDb250b3JubyBkZSBob3ZlciDigJQgTUVTTUEgdMOpY25pY2EgZGEgdGFiZWxhIHByaW5jaXBhbDogOjphZnRlciBjb20gYm9yZGEgdG9wL2JvdHRvbSBlbVxuXHRcdC8vIHRvZGEgY8OpbHVsYSAobGVmdCBuYSAxwqogLnNnLXJsLCByaWdodCBuYSDDumx0aW1hIC5zZy1yciksIHRyYW5zcGFyZW50ZSBwb3IgcGFkcsOjby5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGluc2V0OiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogaW5oZXJpdDtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQvLyBTZXBhcmFkb3IgZGUgQ09MVU5BICg6OmJlZm9yZSksIGNvbW8gbmEgdGFiZWxhIHByaW5jaXBhbDogbGluaGEgMXB4IMOgIGRpcmVpdGEgZGUgY2FkYVxuXHRcdC8vIGPDqWx1bGEgKG1lbm9zIGEgw7psdGltYSAuc2ctcnIpLiBGaWNhIEFCQUlYTyBkbyA6OmFmdGVyIOKGkiBvIGNvbnRvcm5vIGRlIGhvdmVyIHBhc3NhIHBvciBjaW1hLlxuXHRcdCY6bm90KC5zZy1ycik6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdC5kYXJrLXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cblx0XHR9XG5cdFx0Ji5zZy1ybDo6YWZ0ZXIgeyBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cdFx0Ji5zZy1ycjo6YWZ0ZXIgeyBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXHR9XG5cblx0Ly8gXCJDb2xvcmlyIGxpbmhhcyBjb20gc3RhdHVzXCIgREVTTElHQURPIChhbmNlc3RyYWwgYHRyLm5vLXN0YXR1cy1jb2xvcmApOiBubyB0ZW1hIGNsYXJvIGEgbGluaGFcblx0Ly8gw6kgYnJhbmNhLCBlbnTDo28gYSBtaW5pLXRhYmVsYSBhY29tcGFuaGEg4oCUIGPDqWx1bGFzIGJyYW5jYXMgZW0gdmV6IGRvIGNpbnphIGRlIGNvbnRyYXN0ZS4gRmljYVxuXHQvLyBBTlRFUyBkbyBibG9jbyBkZSBob3ZlciBwcmEgbyBob3ZlciAobWVzbWEgZXNwZWNpZmljaWRhZGUsIG9yZGVtIGRlIGZvbnRlKSBjb250aW51YXIgdmVuY2VuZG8uXG5cdC8vIE5vIGRhcmssIGFzIGxpbmhhcyBcInNlbSBzdGF0dXNcIiBzw6NvIHBsYW5hcyBlc2N1cmFzIOKGkiBtYW50ZW1vcyBvIGZ1bmRvIGVzY3VybyBkYXMgY8OpbHVsYXMuXG5cdC5uby1zdGF0dXMtY29sb3IgJjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdyA+ICoge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0LmRhcmstdGhlbWUgJiB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazsgfVxuXHR9XG5cblx0Ly8gU29tYnJhIFBPUiBMSU5IQSAobmEgY2FpeGEgLnNnLXJvdyksIG5vcyBRVUFUUk8gbGFkb3Mg4oCUIFNFTVBSRSwgaW5kZXBlbmRlbnRlIGRlIFwiQ29sb3JpciBsaW5oYXNcblx0Ly8gY29tIHN0YXR1c1wiLiBBcMOzcyBvIGZpeCBkbyBwYWRkaW5nLCBhIGNhaXhhIGRhIGxpbmhhID09IGPDqWx1bGFzLCBlbnTDo28gYSBzb21icmEgYWJyYcOnYSBhIGxpbmhhXG5cdC8vIHRhbnRvIGNvbSBDb2xvcmlyIE9GRiAoY8OpbHVsYXMgYnJhbmNhcykgcXVhbnRvIE9OIChjw6lsdWxhcyBjaW56YS9jb2xvcmlkYXMpLCBzZW0gZGVzY29sYXIuXG5cdC8vIERhcms6IGxpbmhhcyBwbGFuYXMg4oaSIHNlbSBzb21icmEgKHNvbWJyYSBlc2N1cmEgc29tZSBubyBmdW5kbyBlc2N1cm8pLlxuXHQmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93IHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG5cdFx0LmRhcmstdGhlbWUgJiB7IGJveC1zaGFkb3c6IG5vbmU7IH1cblx0fVxuXG5cdC8vIEhPVkVSIGRhIExJTkhBICh2aWEgLnNnLXJvdyBkaXNwbGF5OmNvbnRlbnRzKTogY2xhcmVpYSBhcyBjw6lsdWxhcyArIHJldmVsYSBvIGNvbnRvcm5vXG5cdC8vIGNpbnphIChyZ2JhIC4yNSkg4oCUIG1lc21vIGRlc3RhcXVlIGRhcyBsaW5oYXMgZGEgdGFiZWxhIHByaW5jaXBhbC5cblx0Jjpub3QoLnNjb3JlLWdyaWQtaGVhZCkgLnNnLXJvdzpob3ZlciA+ICoge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwO1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHRcdH1cblx0XHQmLnNnLXJsOjphZnRlciB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cdFx0Ji5zZy1ycjo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblx0XHQuZGFyay10aGVtZSAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcblx0XHRcdH1cblx0XHRcdCYuc2ctcmw6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblx0XHRcdCYuc2ctcnI6OmFmdGVyIHsgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cdFx0fVxuXHR9XG5cblx0Ly8gYD4gKjpub3QoLnNnLXJvdylgID0gZmlsaG9zIGRpcmV0b3MgZG8gZ3JpZCBRVUUgTsODTyBTw4NPIGxpbmhhIChhcyBwaWxscyBkbyBDQUJFw4dBTEhPKS4gQ29tIG9cblx0Ly8gc3ViZ3JpZCwgYXMgYC5zZy1yb3dgIHPDo28gZmlsaGFzIGRpcmV0YXMgZG8gYC5zY29yZS1ncmlkYDsgc2VtIG8gYDpub3QoLnNnLXJvdylgLCBlc3NlIHBhZGRpbmdcblx0Ly8gY2HDrWEgTkEgTElOSEEsIGRlaXhhbmRvIGEgY2FpeGEgOHB4IG1haXMgbGFyZ2EgcXVlIGFzIGPDqWx1bGFzICg0cHgvbGFkbykg4oaSIGJyYW5jby9zb21icmEgYWzDqW1cblx0Ly8gZGFzIGPDqWx1bGFzIGUgYm9yZGEgZGUgaG92ZXIgXCJwYXJhIGRlbnRyb1wiLiBPIHBhZGRpbmcgcmVhbCBkYXMgY8OpbHVsYXMgdmVtIHBvciBgLnNnLXJvdyA+ICpgLlxuXHQ+ICo6bm90KC5zZy1yb3cpLCAuc2ctcm93ID4gKiB7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIDRweDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyOyAgICAgIC8vIGNvbnRlw7pkbyBjZW50cmFsaXphZG8gbmEgY8OpbHVsYSBlc3RpY2FkYVxuXHR9XG5cblx0Ly8gUmV2aXNvcjogYWxpbmhhZG8gw6AgZXNxdWVyZGEgKMOpIGEgY29sdW5hIFwibGFyZ2FcIi9mbGV4w612ZWwpLlxuXHQuc2ctcmV2aWV3ZXIge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQvLyBDw6lsdWxhIGRvIHN0YXR1czogZmljYSBjaW56YSAodmlhIGA+ICpgKSBlIGNlbnRyYWxpemEgbyBwaWxsIHBlcXVlbm8gcG9yIGRlbnRyby5cblx0LnNnLXN0YXR1cy1jZWxsIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cblxuXHRhIHsgY29sb3I6IGluaGVyaXQ7IH1cblx0LnNnLWhpZGRlbi1leWUgeyBmb250LXNpemU6IDEycHg7IGRpc3BsYXk6IGlubGluZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5cdC8vIFN0YXR1cyBkZSBjYWRhIHJldmlzw6NvOiBQSUxMIHPDsyBjb20gw61jb25lICh0ZXh0byB2YWkgcHJvIHRvb2x0aXApLiBDb3JlcyA9IG1lc21hcyBkb1xuXHQvLyBjaGlwIGRlIHJldmlzw6NvIChtYXBhICRyZXZpZXctc3RhdHVzOiBiZyBjbGFybyArIGJvcmRhL8OtY29uZSBlc2N1cm9zIHAvIGNvbnRyYXN0ZSksXG5cdC8vIHZpYSBAZWFjaCBsb2NhbCAobyBtaXhpbiByZXZpZXctY2hpcC1jb2xvcnMgdml2ZSBudW0gcGFydGlhbCBuw6NvIGltcG9ydGFkbyBhcXVpKS5cblx0LnNnLXN0YXR1cyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHQvLyBRdWFkcmFkbzogbGFyZ3VyYSA9IGFsdHVyYSBmaXhhcyAoc2VtIHBhZGRpbmcgaG9yaXpvbnRhbCwgcXVlIGRlaXhhdmEgcmV0YW5ndWxhcikuXG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0bWF0LWljb24ge1xuXHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHR3aWR0aDogOXB4O1xuXHRcdFx0aGVpZ2h0OiA5cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogOXB4O1xuXHRcdH1cblxuXHRcdEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRyZXZpZXctc3RhdHVzIHtcblx0XHRcdCYuI3skc3RhdHVzfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTtcblx0XHRcdFx0Y29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuXHRcdFx0XHRtYXQtaWNvbiB7IGNvbG9yOiBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIExpbmhhIGRlIG3DqWRpYXM6IGRlc3RhY2FkYSBzw7MgcGVsbyBwZXNvIGRhIGZvbnRlLiBKw6Egw6kgc2VwYXJhZGEgZGFzIHJldmlzw7VlcyBwZWxvIGdhcFxuXHQvLyBkZSAxcHggdHJhbnNwYXJlbnRlIOKAlCBzZW0gZmlsZXRlL2JvcmRhIChlcmEgcmVzcXXDrWNpbyBkbyBlc3RpbG8gYW50aWdvLCB2aXJhdmEgdW1hXG5cdC8vIGxpbmhhIGVzY3VyYSBwb3IgY8OpbHVsYSkuXG5cdC5zZy1mb290IHtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHR9XG5cblx0Ly8gUsOzdHVsbyBcIkF2Zy5cIiAoMcKqIGPDqWx1bGEgZG8gcm9kYXDDqSk6IGFsaW5oYWRvIMOgIERJUkVJVEEg4oCUIGVuY29zdGEgbm9zIHZhbG9yZXMgZGFzXG5cdC8vIGNvbHVuYXMgZGUgbm90YSwgbW9zdHJhbmRvIG91IG7Do28gYSBjb2x1bmEgUmV2aXNvciAoZWxhIMOpIGFic29ydmlkYSBwb3Igc3Bhbj0yIG5vIEhUTUwpLlxuXHQuc2ctZm9vdC5zZy1ybCB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cbn1cblxuLy8gQ2FiZcOnYWxobyBkbyBncmlkIChtaWdyYWRvIHByYSBsaW5oYSBkZSB0w610dWxvcyk6IHNlbSBmdW5kbyBicmFuY28gYXRyw6FzIChmaWNhIHNvYnJlIGFcbi8vIGJhcnJhIGRlIHTDrXR1bG9zKSwgZW50w6NvIHVzYSBhIGNvciBkZSB0w610dWxvIHRoZW1lLWF3YXJlIGUgZGVpeGEgb3MgcsOzdHVsb3MgcXVlYnJhcmVtXG4vLyBsaW5oYSAoZW0gdmV6IGRlIGNvcnRhciksIGrDoSBxdWUgYSBjb2x1bmEgw6kgZXN0cmVpdGEuXG4uc2NvcmUtZ3JpZC5zY29yZS1ncmlkLWhlYWQge1xuXHQvLyBCb3R0b20tYWxpbmhhIG9zIHTDrXR1bG9zIGRhcyBjb2x1bmFzIGRlIHJldmlzw6NvIG5hIGJhc2UgZG8gZ3JpZCAocXVlIGrDoSBmaWNhIG5hIGJhc2Vcblx0Ly8gZG8gYHRoYCB2aWEgdmVydGljYWwtYWxpZ246IGJvdHRvbSkg4oaSIHRvZG9zIG9zIHTDrXR1bG9zLCBtZXNtbyBvcyBxdWUgcXVlYnJhbSBlbSB2w6FyaWFzXG5cdC8vIGxpbmhhcywgZW5jb3N0YW0gbmEgYmFzZSBlIGZpY2FtIG5hIE1FU01BIGxpbmhhIGRvcyBkZW1haXMgdMOtdHVsb3MgZGUgY29sdW5hIGRhIHRhYmVsYS5cblx0YWxpZ24taXRlbXM6IGVuZDtcblxuXHQ+ICoge1xuXHRcdGNvbG9yOiAkdGFibGUtaGVhZGVyLWNvbG9yO1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR0ZXh0LW92ZXJmbG93OiBjbGlwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdH1cblx0LmRhcmstdGhlbWUgJiA+ICogeyBjb2xvcjogJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrOyB9XG5cblx0Ly8gQ2FiZcOnYWxobyBkZSBjcml0w6lyaW86IHPDsyBhIElOSUNJQUwgbnVtIHBpbGwgY2luemEgKGRlc2NyacOnw6NvIGNvbXBsZXRhIG5vIHRvb2x0aXApLFxuXHQvLyBlbSB2ZXogZG8gcsOzdHVsbyBpbnRlaXJvLiBBIGPDqWx1bGEgZG8gZ3JpZCBzw7MgY2VudHJhL2JvdHRvbS1hbGluaGEgbyBwaWxsLlxuXHQuc2ctY3JpdC1oZWFkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHQuc2ctY3JpdC1waWxsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdG1pbi13aWR0aDogMS4yNXJlbTtcblx0XHRoZWlnaHQ6IDEuMjVyZW07XG5cdFx0cGFkZGluZzogMCA0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTIwMDtcblx0XHRjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDAuNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cblx0LmRhcmstdGhlbWUgJiAuc2ctY3JpdC1waWxsIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuXHRcdGNvbG9yOiAkY29udGVudC1jb2xvci1kYXJrO1xuXHR9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpw6Fsb2dvcyAobWF0LWRpYWxvZylcbi8vXG4vLyBgbXktY3VzdG9tLWRpYWxvZy1jbGFzc2Agw6kgdW0gYHBhbmVsQ2xhc3NgIHVzYWRvIHBvciB2w6FyaW9zIGNvbXBvbmVudGVzXG4vLyAocGFwZXItaW5mbywgZGVsZXRlZC1zdWJtaXNzaW9ucywgcGFwZXItcmV2aWV3LWFjdGlvbnMsIGV2ZW50LXB1YmxpY2F0aW9uLFxuLy8gZGnDoWxvZ29zIGRlIHNlc3PDo28gZGEgVmlzw6NvIGRlIENhbGVuZMOhcmlv4oCmKS4gQSByZWdyYSB2aXZpYSBudW0gYDo6bmctZGVlcGBcbi8vIHNlbSBgOmhvc3RgIGRlbnRybyBkbyBTQ1NTIGRhIFZpc8OjbyBkZSBDYWxlbmTDoXJpbyDigJQgb3Ugc2VqYSwgc8OzIGV4aXN0aWFcbi8vIGVucXVhbnRvIGFxdWVsZSBjb21wb25lbnRlIGVzdGl2ZXNzZSBuYSB0ZWxhLiBDb21vIG8gcGFpbmVsIGRvIGRpw6Fsb2dvIMOpXG4vLyByZW5kZXJpemFkbyBubyBvdmVybGF5IChmb3JhIGRlIHF1YWxxdWVyIGNvbXBvbmVudGUpLCBvIGx1Z2FyIGRlbGEgw6kgYXF1aS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubXktY3VzdG9tLWRpYWxvZy1jbGFzcyB7XG4gIG1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEacOhbG9nbyBkZSBzZXNzw6NvIChWaXPDo28gZGUgQ2FsZW5kw6FyaW8pOiBmdW5kbyBCUkFOQ08uIE8gY2luemEgY2xhcm8gZG9zXG4vLyBtZW51cyAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRgKSDDqSBhIGNvciBkbyBQQUlORUwgZGFzIGFiYXMg4oCUIHF1ZSDDqSBvXG4vLyBkZWZhdWx0IGRvIGBhcHAtY2hhaXItdGFic2Ag4oCULCBlbnTDo28gbyBtb2RhbCBwcmVjaXNhIGNvbnRyYXN0YXIgY29tIGVsZS5cbi8vXG4vLyBgcGFuZWxDbGFzc2AgUFLDk1BSSU86IG8gYG15LWN1c3RvbS1kaWFsb2ctY2xhc3NgIMOpIGNvbXBhcnRpbGhhZG8gY29tIG91dHJvc1xuLy8gZGnDoWxvZ29zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZXNzaW9uLWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbn1cblxuLmRhcmstdGhlbWUgLnNlc3Npb24tZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXJkIGVtIEFSUkFTVEUgbmEgYWJhIFwiU3VibWlzc8O1ZXMgVjJcIiBkbyBkacOhbG9nbyBkZSBzZXNzw6NvLlxuLy9cbi8vIFJlZ3JhIEdMT0JBTCBwb3IgbmVjZXNzaWRhZGU6IG8gQ0RLIGluc2VyZSBvIHByZXZpZXcgbnVtIHBvbnRvIGZvcmEgZG9cbi8vIGNvbXBvbmVudGUgKGBnZXRQcmV2aWV3SW5zZXJ0aW9uUG9pbnRgIOKGkiBib2R5L292ZXJsYXkgY29udGFpbmVyKSwgZW50w6NvXG4vLyBgOmhvc3QgOjpuZy1kZWVwYCBkbyBjb21wb25lbnRlIG7Do28gbyBhbGNhbsOnYS5cbi8vXG4vLyBTZW0gYHRyYW5zZm9ybWAgYXF1aTogbyBDREsgdXNhIGVzc2EgcHJvcHJpZWRhZGUgcGFyYSBwb3NpY2lvbmFyIG8gcHJldmlld1xuLy8gc29iIG8gY3Vyc29yOyBxdWFscXVlciB2YWxvciBub3NzbyBicmlnYXJpYSBjb20gbyBhcnJhc3RlLlxuLy9cbi8vIE8gYHotaW5kZXhgIE7Dg08gw6kgZGVmaW5pZG8gYXF1aTogbyBDREsgbyBlc2NyZXZlIElOTElORSBubyBwcmV2aWV3IChkZWZhdWx0XG4vLyAxMDAwKSwgZSBlc3RpbG8gaW5saW5lIHZlbmNlIHJlZ3JhIGRlIGNsYXNzZS4gTyBhanVzdGUgZXN0w6Egbm8gcHJvdmlkZXJcbi8vIGBDREtfRFJBR19DT05GSUdgIGRvIGNvbXBvbmVudGUgZG8gZGnDoWxvZ28g4oCUIHNlbSBlbGUgbyBjYXJkIGZpY2F2YSBhdHLDoXMgZG9cbi8vIGAuY2RrLW92ZXJsYXktY29udGFpbmVyYCAoZm9yw6dhZG8gYSAyMDEwIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgKSBlIHN1bWlhXG4vLyBkdXJhbnRlIG8gYXJyYXN0ZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGdlb21ldHJpYSBlIGEgVElQT0dSQUZJQSBJTlRFUk5BUyBwcmVjaXNhbSBzZXIgcmVzdGF0ZWQgYXF1aTogbyBjbG9uZSBmaWNhXG4vLyBmb3JhIGRvIGVuY2Fwc3VsYW1lbnRvIGRvIGNvbXBvbmVudGUsIGVudMOjbyBhcyByZWdyYXMgYDpob3N0IDo6bmctZGVlcGAgZG9cbi8vIGRpw6Fsb2dvIG7Do28gbyBhbGNhbsOnYW0gKG1lc21hIHNpdHVhw6fDo28gasOhIGRvY3VtZW50YWRhIHBhcmEgbyBwcmV2aWV3IGRvIG1lbnVcbi8vIGxhdGVyYWwgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2ApLiBTZW0gaXN0bywgdMOtdHVsbyBlIGF1dG9yZXMgc2FlbSBjb2xhZG9zIG51bWFcbi8vIGxpbmhhIHPDsywgc2VtIGEgY29sdW5hIGRvIGAuc3Vicy12Mi1ib2R5YC5cbi5zdWJzLXYyLWl0ZW0uY2RrLWRyYWctcHJldmlldyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDNweCAwO1xuXG4gIC8vIE8gY2xvbmUgw6kgY3JpYWRvIGEgcGFydGlyIGRvIGNhcmQgc29iIG8gY3Vyc29yIChlbSBob3ZlciksIGVudMOjbyBvIFwieFwiXG4gIC8vIHZpcmlhIHZpc8OtdmVsIOKAlCBkdXJhbnRlIG8gYXJyYXN0ZSBhIGHDp8OjbyDDqSByZW9yZGVuYXIsIG7Do28gcmVtb3Zlci5cbiAgLnN1YnMtdjItcmVtb3ZlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5zdWJzLXYyLWNhcmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIC8vIEVsZXZhw6fDo28gbWFpb3IgcXVlIGEgZG8gY2FyZCBlbSByZXBvdXNvIOKAlCBvIGNhcmQgXCJkZXNjb2xhXCIgZGEgbGlzdGEuXG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgb3BhY2l0eTogMC45NztcbiAgfVxuXG4gIC8vIEZhbcOtbGlhIGhlcmRhZGEgZG8gPGJvZHk+IChHZWlzdCkg4oCUIG7Do28gZml4YW1vcyBhcXVpIHBvcnF1ZSBgJGZvbnQtZmFtaWx5YFxuICAvLyBtb3JhIGVtIGBfdGhlbWUuc2Nzc2AsIHF1ZSBlbWl0ZSB1bSB0ZW1hIE1hdGVyaWFsIGludGVpcm8gc2UgaW1wb3J0YWRvLlxuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAuc3Vicy12Mi1vcmRlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG5cbiAgLnN1YnMtdjItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC5zdWJzLXYyLXRpdGxlLFxuICAuc3Vicy12Mi1hdXRob3JzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICB9XG5cbiAgLnN1YnMtdjItdGl0bGUgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbiAgLnN1YnMtdjItYXV0aG9ycyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuc3Vicy12Mi1pdGVtLmNkay1kcmFnLXByZXZpZXcge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcblxuICAuc3Vicy12Mi1jYXJkIHtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuICB9XG5cbiAgLnN1YnMtdjItb3JkZXIsXG4gIC5zdWJzLXYyLWF1dGhvcnMgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29ubmVjdGVkIGJ1dHRvbiBncm91cCAoc2VnbWVudGVkKSDigJQgR0xPQkFMXG4vL1xuLy8gRm9udGUgw5pOSUNBIGRvIGVzdGlsbyBkYSBww61sdWxhLiBBbnRlcyBleGlzdGlhbSBxdWF0cm8gY8OzcGlhcyBwcmF0aWNhbWVudGVcbi8vIGlkw6pudGljYXM6IGBhZG1pbi1ldmVudHMtc2VnYCAoYWRtaW4vZXZlbnRzKSwgYG5vdGlmLXNjb3BlYFxuLy8gKG5vdGlmaWNhdGlvbnMtY2VudGVyKSwgYC5zZWdgIChhcHAtc2VnbWVudGVkLWNvbnRyb2wpIGUgbyBncnVwbyBkZSBuYXZlZ2HDp8Ojb1xuLy8gZGEgVmlzw6NvIGRlIENhbGVuZMOhcmlvLiBWZXIgW1tmZWVkYmFja19zZWdtZW50ZWRfbm90X3N3aXRjaF1dLlxuLy9cbi8vIFVzbzpcbi8vICAgPGRpdiBjbGFzcz1cInNlZ1wiIHJvbGU9XCJncm91cFwiPlxuLy8gICAgIDxidXR0b24gY2xhc3M9XCJzZWctYnRuXCIgW2NsYXNzLmlzLWFjdGl2ZV09XCLigKZcIj7igKY8L2J1dHRvbj5cbi8vICAgPC9kaXY+XG4vL1xuLy8gYGlzLWFjdGl2ZWAgw6kgc8OzIHBhcmEgU0VMRcOHw4NPIGVudHJlIG9ww6fDtWVzIGV4Y2x1ZGVudGVzLiBHcnVwb3MgZGUgQcOHw4NPXG4vLyAoZXguOiBBbnRlcmlvci9Ib2plL1Byw7N4aW1vKSB1c2FtIGFzIG1lc21hcyBjbGFzc2VzIHNlbSBgaXMtYWN0aXZlYC5cbi8vXG4vLyBTZW0gYHRyYW5zaXRpb25gOiBob3ZlciBubyBKRU1TMyDDqSBpbnN0YW50w6JuZW8gKHZlciBgZmVlZGJhY2tfbm9faG92ZXJfdHJhbnNpdGlvbmApLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZWcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlZy1idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgcGFkZGluZzogMCAxNHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXI6bm90KC5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQ1KTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLy8gVmFyaWFudGUgw41DT05FOiBzZWdtZW50byBjb20gdW0gZ2xpZm8gKE1hdGVyaWFsIFN5bWJvbCBvdSBTVkcpIG5vIGx1Z2FyIGRvIHRleHRvLlxuLy8gTUFJUyBDT01QQUNUQSBxdWUgYSB2YXJpYW50ZS10ZXh0byDigJQgbyDDrWNvbmUgKDE4cHgpIG7Do28gcHJlY2lzYSBkYSBtZXNtYSBmb2xnYVxuLy8gcXVlIHVtYSBwYWxhdnJhOiBhbHR1cmEgMjQgKHZzIDI4KSBlIHBhZGRpbmcgbGF0ZXJhbCA3ICh2cyAxMCkgZW54dWdhbSBvIGVzcGHDp29cbi8vIEFPIFJFRE9SIGRvIMOtY29uZSBzZW0gdG9jYXIgbm8gdGFtYW5obyBkZWxlLiBPIMOtY29uZSBoZXJkYSBhIGNvciBkbyBib3TDo29cbi8vIChpbmNsdWkgbyByZWFsY2UgZGUgYC5pcy1hY3RpdmVgKS4gw5puaWNvIHRvZ2dsZS3DrWNvbmUgZG8gYXBwIMOpIG8gZGUgbGF5b3V0IGRhc1xuLy8gcmV2aXPDtWVzLCBlbnTDo28gYSBjb21wYWN0YcOnw6NvIG7Do28gYWZldGEgb3MgdG9nZ2xlcyBkZSB0ZXh0by5cbi5zZWctYnRuLS1pY29uIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAwIDdweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSB7XG4gIC5zZWcge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxuXG4gIC5zZWctYnRuIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcblxuICAgICY6aG92ZXI6bm90KC5pcy1hY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmFyaWFudGUgREVTTElaQU5URSAob3B0LWluIHZpYSBgLnNlZy5pcy1zbGlkaW5nYCArIGA8c3BhbiBjbGFzcz1cInNlZy10aHVtYlwiPmApLlxuLy9cbi8vIEVtIHZleiBkZSBvIGZ1bmRvIHNhbHRhciBlbnRyZSBzZWdtZW50b3MsIHVtIMOaTklDTyB0aHVtYiBjaW56YSBkZXNsaXphIOKAlCBvXG4vLyBzZWdtZW50byBhdGl2byBuw6NvIHBpbnRhIG8gcHLDs3ByaW8gZnVuZG8sIHF1ZW0gcGludGEgw6kgbyB0aHVtYiAodHJhbnNpw6fDo28gc8OzXG4vLyBubyBgdHJhbnNmb3JtYCwgZW50w6NvIMOpIG8gw7puaWNvIG1vdmltZW50bzsgaG92ZXIgY29udGludWEgaW5zdGFudMOibmVvKS5cbi8vIEEgZ2VvbWV0cmlhIHZlbSBkbyB0ZW1wbGF0ZTogbGFyZ3VyYSA9IDEgc2VnbWVudG8sIGB0cmFuc2xhdGVYKDEwMCUgw5cgw61uZGljZSlgLlxuLy8gQXNzdW1lIHNlZ21lbnRvcyBkZSBsYXJndXJhIGlndWFsICh1c28gYXR1YWw6IHRvZ2dsZSBkZSBsYXlvdXQgZGFzIHJldmlzw7Vlcyxcbi8vIHPDsyDDrWNvbmVzKS4gVmVyIFtbZmVlZGJhY2tfc2VnbWVudGVkX25vdF9zd2l0Y2hdXSDigJQgbyBwYWRyw6NvIHNlZ3VlIGluc3RhbnTDom5lby5cbi8vXG4vLyBDb2xvY2FkbyBERVBPSVMgZG8gYmxvY28gYC5kYXJrLXRoZW1lYCBkZSBwcm9ww7NzaXRvOiBgLnNlZy5pcy1zbGlkaW5nXG4vLyAuc2VnLWJ0bi5pcy1hY3RpdmVgIGVtcGF0YSBlbSBlc3BlY2lmaWNpZGFkZSBjb20gYC5kYXJrLXRoZW1lIC5zZWctYnRuLmlzLWFjdGl2ZWAsXG4vLyBlbnTDo28gYSBvcmRlbSBkZSBvcmlnZW0gw6kgcXVlIGRlY2lkZSBvIGZ1bmRvIHRyYW5zcGFyZW50ZSBub3MgZG9pcyB0ZW1hcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2VnLmlzLXNsaWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gw41jb25lcyBhY2ltYSBkbyB0aHVtYjsgbyBhdGl2byBkZWl4YSBvIHRodW1iIHNlciBvIGZ1bmRvLlxuICAuc2VnLWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnNlZy1idG4uaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAvLyBTZW0gcmVhbGNlIGRlIGZ1bmRvIG5vIGhvdmVyOiBvIMO6bmljbyBmZWVkYmFjayDDqSBvIHRodW1iIGRlc2xpemFuZG8uXG4gIC8vICgwLDQsMCkgZSBkZXBvaXMgZG8gYmxvY28gYC5kYXJrLXRoZW1lYCDihpIgdmVuY2UgYSByZWdyYSBkZSBob3ZlciBnbG9iYWxcbiAgLy8gbm9zIGRvaXMgdGVtYXMuXG4gIC5zZWctYnRuOmhvdmVyOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnNlZy10aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGJvdHRvbTogMnB4O1xuICBsZWZ0OiAycHg7XG4gIHotaW5kZXg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRhcmstdGhlbWUgLnNlZy10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnNlZy10aHVtYiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSElQIGRlIHN0YXR1cyBkYSBTVUJNSVNTw4NPIOKAlCBkZWZpbmnDp8OjbyDDum5pY2EuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzYWRvIGVtOlxuLy8gICAtIEZpbHRybyBkZSBzdGF0dXMgbm8gcGFpbmVsIGRlIE1pbmhhcyBzdWJtaXNzw7Vlc1xuLy8gICAgIChgc3VibWlzc2lvbnMuY29tcG9uZW50LnNjc3MgPiBsYWJlbCBzcGFuYClcbi8vICAgLSBQw61sdWxhIGRlIHN0YXR1cyBkYSBzdWJtaXNzw6NvIG5vIG5vdm8gY2FyZCBkZSBNaW5oYXMgc3VibWlzc8O1ZXNcbi8vICAgICAoYHN1Ym1pc3Npb25zLmNvbXBvbmVudC5zY3NzID4gLnNuYy1zdGF0dXNgKVxuLy9cbi8vIE8gY2hpcCBkZSBSRVZJU8ODTyAocmFkaXVzIDNweCwgbGlnaHRlbi9kYXJrZW4pIHRlbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gZGlzdGludGEgZSBmaWNhIGVtIGByZXZpZXdzLmNvbXBvbmVudC5zY3NzYCDigJQgTsODTyBtaWdyYXIgcHJhIGPDoS5cblxuLy8gLS0tLSBUb2tlbnMgZ2VvbcOpdHJpY29zIC8gdGlwb2dyw6FmaWNvcyAtLS0tXG4kc3VibWlzc2lvbi1jaGlwLXdpZHRoOiAgICAgICAgIDk2cHg7ICAgLy8gZXJhIDEwNHB4IOKAlCBmb2xnYSByZWR1emlkYSAow61jb25lIE1hdGVyaWFsIG1haXMganVzdG8pXG4kc3VibWlzc2lvbi1jaGlwLWhlaWdodDogICAgICAgIDIycHg7ICAgLy8gZXJhIDIwcHgg4oCUICtyZXNwaXJvIHAvIG8gdHJpZ2dlciBjbGljw6F2ZWwgZSBvIMOtY29uZSBwcmVlbmNoaWRvXG4kc3VibWlzc2lvbi1jaGlwLXJhZGl1czogICAgICAgIDk5OXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1wYWRkaW5nOiAgICAgICAwIDhweDsgIC8vIGVyYSAwIDEwcHhcbiRzdWJtaXNzaW9uLWNoaXAtZ2FwOiAgICAgICAgICAgNXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1mb250LXNpemU6ICAgICAxMXB4O1xuJHN1Ym1pc3Npb24tY2hpcC1mb250LXdlaWdodDogICA1MDA7XG4kc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTogICAgIDEzcHg7XG4kc3VibWlzc2lvbi1jaGlwLXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNTUpOyAvLyBvZmZzZXQteCAxcHjihpIwOiBzb21icmEgMXB4IMOgIGVzcXVlcmRhXG5cbi8vIFJlbGV2byBcImVtYm9zc2VkXCIgdmlhIElOU0VUIFNIQURPV1MgKG7Do28gYm9yZGVycyAxcHggZW0gNCBsYWRvcykuIE9cbi8vIGFwcHJvYWNoIGFudGVyaW9yIOKAlCBib3JkZXItdG9wLy1sZWZ0IGNsYXJhcyArIGJvcmRlci1yaWdodC8tYm90dG9tXG4vLyBlc2N1cmFzIOKAlCBwcm9kdXppYSB1bWEgZW1lbmRhIGRpYWdvbmFsIGR1cmEgbm9zIGNhbnRvcyAoam9pbiBtaXRlciBkb1xuLy8gQ1NTKS4gSW5zZXQgc2hhZG93cyBjb20gcGVxdWVubyBgYmx1cmAgZGlzdHJpYnVlbSBhIGx1ei9zb21icmEgcG9yXG4vLyBhbGd1bnMgcGl4ZWxzLCBlIGFzIGR1YXMgY2FtYWRhcyBzZSBhdGVudWFtIG11dHVhbWVudGUgbm9zIGNhbnRvczpcbi8vIG8gZW5jb250cm8gZW50cmUgXCJsdXogZG8gdG9wby1lc3F1ZXJkYVwiIGUgXCJzb21icmEgZG8gaW5mZXJpb3ItZGlyZWl0YVwiXG4vLyB2aXJhIHVtYSB0cmFuc2nDp8OjbyBzdWF2ZSwgcmVzcGVpdGFuZG8gbyBib3JkZXItcmFkaXVzLlxuLy9cbi8vIENhbWFkYXM6XG4vLyAgIOKAoiBpbnNldCAgK3ggK3kg4oCUIGx1eiB2aW5kbyBkbyB0b3BvLWVzcXVlcmRhXG4vLyAgIOKAoiBpbnNldCAgLXggLXkg4oCUIHNvbWJyYSB2aW5kbyBkbyBpbmZlcmlvci1kaXJlaXRhXG4vLyBPIGBibHVyIOKJiCAwLjc1cHhgIMOpIG8gbcOtbmltbyBxdWUgcHJvZHV6IG8gZmFkZSBub3MgY2FudG9zIHNlbSBcInZhemFyXCJcbi8vIHBybyBtaW9sbyBkbyBjaGlwIChxdWUgw6kgY29yIGNoZWlhKS5cbiRzdWJtaXNzaW9uLWNoaXAtcmVsaWVmOlxuICAgIGluc2V0ICAxcHggIDFweCAwLjc1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSxcbiAgICBpbnNldCAtMXB4IC0xcHggMC43NXB4IHJnYmEoMCwgMCwgMCwgMC4yMCk7XG5cbi8vIC0tLS0gTWl4aW46IGdlb21ldHJpYSBkbyBwaWxsIC0tLS1cbi8vIGAkaW1wb3J0YW50YDogdHJ1ZSDihpIgYWRpY2lvbmEgYCFpbXBvcnRhbnRgIGVtIGNhZGEgcHJvcCAobmVjZXNzw6FyaW8gbm9cbi8vIGZpbHRybyBwcmEgc29icmVzY3JldmVyIGRlZmF1bHRzIGRvIE1hdGVyaWFsL0J1bG1hOyBmYWxzbyBwb3IgZGVmYXVsdFxuLy8gcHJvIHVzbyBmb3JhIGRvIGZpbHRybykuXG5AbWl4aW4gc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5KCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAkc3VibWlzc2lvbi1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzdWJtaXNzaW9uLWNoaXAtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAvLyBTZW0gYm9yZGVyIDFweCBlbSA0IGxhZG9zIOKAlCBvIHJlbGV2byB2ZW0gZG9zIGluc2V0IHNoYWRvd3MgYWJhaXhvXG4gICAgICAgIC8vICh0cmFuc2nDp8OjbyBzdWF2ZSBub3MgY2FudG9zOyB2ZXIgY29tZW50w6FyaW8gbm8gdG9rZW4gZG8gcmVsaWVmKS5cbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzdWJtaXNzaW9uLWNoaXAtcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzdWJtaXNzaW9uLWNoaXAtcmVsaWVmLCAkc3VibWlzc2lvbi1jaGlwLXNoYWRvdyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWZvbnQtd2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6ICRzdWJtaXNzaW9uLWNoaXAtZ2FwO1xuICAgICAgICB3aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtd2lkdGg7XG4gICAgICAgIGhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRzdWJtaXNzaW9uLWNoaXAtcGFkZGluZztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3VibWlzc2lvbi1jaGlwLXJhZGl1cztcbiAgICAgICAgYm94LXNoYWRvdzogJHN1Ym1pc3Npb24tY2hpcC1yZWxpZWYsICRzdWJtaXNzaW9uLWNoaXAtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLSBNaXhpbjogw61jb25lIGludGVybm8gKE1hdGVyaWFsIGZvbnQgaWNvbikgLS0tLVxuLy8gT3Mgw61jb25lcyBkZSBzdGF0dXMgc8OjbyBNYXRlcmlhbCBTeW1ib2xzIFBSRUVOQ0hJRE9TIChGSUxMIDEpIOKAlCBjb21iaW5hbSBjb20gb1xuLy8gdmlzdWFsIHPDs2xpZG8gZG8gY2hpcC4gQSBmb250ZSDDqSB2YXJpw6F2ZWwgZW0gRklMTCAwLi4xICh2ZXIgX2ZvbnRzLWxvY2FsLnNjc3MpLlxuQG1peGluIHN1Ym1pc3Npb24tY2hpcC1pY29uKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBmb250LXNpemU6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMCwgJ0ZJTEwnIDEgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSElQIGRlIHN0YXR1cyBkYSBSRVZJU8ODTyDigJQgZ2VvbWV0cmlhIGUgY29yZXMgdmlhIG1peGlucy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXNhZG8gZW06XG4vLyAgIC0gRmlsdHJvIGRlIHN0YXR1cyBubyBwYWluZWwgZGUgTWluaGFzIHJldmlzw7VlcyAoYHJldmlld3MuY29tcG9uZW50LnNjc3Ncbi8vICAgICA+IGxhYmVsIHNwYW5gIGRlbnRybyBkYSBzZcOnw6NvIGRlIHJldmlzw6NvKS5cbi8vICAgLSBQaWxsIGAuY3YtZWItc3RhdHVzYCAoZSB2YXJpYW50ZSBgLmN2LWViLXN0YXR1cy1pY29uLW9ubHlgKSBubyBub3ZvXG4vLyAgICAgY2FyZCBkZSBNaW5oYXMgcmV2aXPDtWVzLlxuLy9cbi8vIERpZmVyZW7Dp2FzIHZzIHN1Ym1pc3Npb24tY2hpcDpcbi8vICAgLSBSZXTDom5ndWxvIGFycmVkb25kYWRvIChyYWRpdXMgM3B4KSwgbsOjbyBwaWxsIHBsZW5vICg5OTlweCkuXG4vLyAgIC0gQ29yZXMgZGVyaXZhZGFzIChsaWdodGVuL2RhcmtlbikgZW0gdmV6IGRlIGNvciBjaGVpYS5cbi8vICAgLSBCb3JkZXIgZXhwbMOtY2l0byAoMXB4KSDigJQgc3VibWlzc8OjbyB1c2EgYm9yZGVyOiAwLlxuXG4kcmV2aWV3LWNoaXAtd2lkdGg6ICAgICAgICAgMTQ0cHg7XG4kcmV2aWV3LWNoaXAtaGVpZ2h0OiAgICAgICAgMjBweDtcbiRyZXZpZXctY2hpcC1yYWRpdXM6ICAgICAgICAzcHg7XG4kcmV2aWV3LWNoaXAtcGFkZGluZzogICAgICAgMCAxMHB4O1xuJHJldmlldy1jaGlwLWdhcDogICAgICAgICAgIDVweDtcbiRyZXZpZXctY2hpcC1mb250LXNpemU6ICAgICAxMXB4O1xuJHJldmlldy1jaGlwLWZvbnQtd2VpZ2h0OiAgIDUwMDtcbiRyZXZpZXctY2hpcC1pY29uLXNpemU6ICAgICAxM3B4O1xuXG4vLyAtLS0tIE1peGluOiBnZW9tZXRyaWEgZG8gY2hpcCByZXRhbmd1bGFyIGRlIHJldmlzw6NvIC0tLS1cbkBtaXhpbiByZXZpZXctY2hpcC1nZW9tZXRyeSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogJHJldmlldy1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmV2aWV3LWNoaXAtd2lkdGggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaGVpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6ICRyZXZpZXctY2hpcC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyZXZpZXctY2hpcC1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmV2aWV3LWNoaXAtZm9udC13ZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJHJldmlldy1jaGlwLWdhcDtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkcmV2aWV3LWNoaXAtcGFkZGluZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJldmlldy1jaGlwLXJhZGl1cztcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHJldmlldy1jaGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tIE1peGluOiDDrWNvbmUgaW50ZXJubyAoTWF0ZXJpYWwgZm9udCBpY29uKSAtLS0tXG5AbWl4aW4gcmV2aWV3LWNoaXAtaWNvbigkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICB3aWR0aDogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJHJldmlldy1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tIE1peGluOiBjb3JlcyBwZXItc3RhdHVzIChyZXZpc8OjbykgLS0tLVxuLy8gYmcgPSBsaWdodGVuKG50aCgxKSwgMjAlKSwgYm9yZGVyL3RleHRvID0gZGFya2VuKG50aCgxKSwgNDAlKSDigJQgNDAlXG4vLyBnYXJhbnRlIGNvbnRyYXN0ZSBXQ0FHIDQuNToxIG1lc21vIGVtIGNoaXBzIGNsYXJvcyAoYW1hcmVsby9jaW56YSkuXG5AbWl4aW4gcmV2aWV3LWNoaXAtY29sb3JzKCRzdGF0dXMtbGlzdCwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAZWFjaCAkc3RhdHVzLCAkY29udGVudCBpbiAkc3RhdHVzLWxpc3Qge1xuICAgICAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIChTVUJNSVNTSU9OKSBNaXhpbjogY29yZXMgcGVyLXN0YXR1cyDigJQgY29yIGNoZWlhIChiZz1udGgxKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYmcgPSBudGgoMSkgKGNvciBjaGVpYSksIHRleHRvID0gbnRoKDIpLCDDrWNvbmUgPSBudGgoMykuXG4vLyBFc3BlcmEgc2VyIGNoYW1hZG8gREVOVFJPIGRlIHVtIHNlbGV0b3IgKGdlcmEgYCYucGVuZGluZ2AsIGV0Yy4pLlxuQG1peGluIHN1Ym1pc3Npb24tY2hpcC1jb2xvcnMoJHN0YXR1cy1saXN0LCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMil9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBgLmljb25gIGNvYnJlIG8gw61jb25lLWdsaWZvIGRvIG5vdm8gc2VsZXRvciAoc3Bhbi5pY29uKTsgYC5tYXQtaWNvbmAgbyBkbyBhdHVhbC5cbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAubWF0LWljb24sXG4gICAgICAgICAgICAmLiN7JHN0YXR1c30gLmljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAje250aCgkY29udGVudCwgMyl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJGNvbnRlbnQsIDEpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBudGgoJGNvbnRlbnQsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IC5tYXQtaWNvbixcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAuaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG50aCgkY29udGVudCwgMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDTEFTU0VTIFVUSUxJVMOBUklBUyBHTE9CQUlTIOKAlCBjaGlwIGRlIHN0YXR1cyBwcm9udG8gcHJhIHVzb1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBcGxpcXVlIGRpcmV0byBubyBtYXJrdXAgKHNlbSBwcmVjaXNhciBgQGluY2x1ZGVgIG5vIFNDU1MgbG9jYWwgZG9cbi8vIGNvbXBvbmVudGUpLiBTdWJzdGl0dWkgbyBwYWRyw6NvIGFudGlnbyBgLnNuYy1zdGF0dXNgIC8gYC5jdi1lYi1zdGF0dXNgXG4vLyBxdWUgdGluaGEgcXVlIHNlciByZWRlY2xhcmFkbyBlbSBjYWRhIGNhcmQuXG4vL1xuLy8gVXNvOlxuLy8gICA8c3BhbiBjbGFzcz1cImplbXMzLXN1Ym1pc3Npb24tc3RhdHVzIHBlbmRpbmdcIj5cbi8vICAgICA8bWF0LWljb24+Li4uPC9tYXQtaWNvbj4gUGVuZGVudGVcbi8vICAgPC9zcGFuPlxuLy9cbi8vIFZhcmlhbnRlIGNpcmN1bGFyICgyMsOXMjIpIHByYSBtb3N0cmFyIHPDsyBvIMOtY29uZSBkbyBzdGF0dXM6XG4vLyAgIDxzcGFuIGNsYXNzPVwiamVtczMtc3VibWlzc2lvbi1zdGF0dXMgamVtczMtc3VibWlzc2lvbi1zdGF0dXMtLWljb24tb25seSBwZW5kaW5nXCI+XG4vLyAgICAgPG1hdC1pY29uPi4uLjwvbWF0LWljb24+XG4vLyAgIDwvc3Bhbj5cbi8vXG4vLyBgYm9yZGVyLXJhZGl1czo5OTlweGAgaGVyZGFkbyBkbyBtaXhpbiBnYXJhbnRlIGPDrXJjdWxvIHBlcmZlaXRvIHF1YW5kb1xuLy8gd2lkdGg9aGVpZ2h0PTIycHguXG5cbi5qZW1zMy1zdWJtaXNzaW9uLXN0YXR1cyB7XG4gICAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5KCk7XG4gICAgbWF0LWljb24geyBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtaWNvbigpOyB9XG4gICAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWNvbG9ycygkc3VibWlzc2lvbi1zdGF0dXMpO1xuXG4gICAgJi0taWNvbi1vbmx5IHtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIG1pbi13aWR0aDogMjJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICBtYXQtaWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBbsOhbG9nYSBwYXJhIHN0YXR1cyBkYSBSRVZJU8ODTyDigJQgcmV0w6JuZ3VsbyBhcnJlZG9uZGFkbyAzcHggY29tIGNvcmVzXG4vLyBkZXJpdmFkYXMgKGxpZ2h0ZW4vZGFya2VuIGRhIHBhbGV0YSAkcmV2aWV3LXN0YXR1cykuXG4uamVtczMtcmV2aWV3LXN0YXR1cyB7XG4gICAgQGluY2x1ZGUgcmV2aWV3LWNoaXAtZ2VvbWV0cnkoKTtcbiAgICBtYXQtaWNvbiB7IEBpbmNsdWRlIHJldmlldy1jaGlwLWljb24oKTsgfVxuICAgIEBpbmNsdWRlIHJldmlldy1jaGlwLWNvbG9ycygkcmV2aWV3LXN0YXR1cyk7XG5cbiAgICAmLS1pY29uLW9ubHkge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiAwO1xuXG4gICAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd6LWluZGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RhdHVzLWNoaXAnOyAgLy8gbWl4aW5zIHN1Ym1pc3Npb24tY2hpcC1nZW9tZXRyeS9jb2xvcnMvaWNvbiAoZmlsdHJvIGRlIHN0YXR1cyBlbSBjaGlwcylcblxuLy8gQ29yIGRlIGxpbmsgZG8gc2lzdGVtYSAobGlnaHQsICRhY2NlbnQtYmFja2dyb3VuZCkgZXhwb3N0YSBjb21vIENTUyBjdXN0b20gcHJvcGVydHkuXG4vLyBTZXJ2ZSBwcm8gSFRNTCBleHBvcnRhZG8gZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMgSEVSREFSIGEgY29yIGRlIGxpbmsgYXR1YWwgZW0gcnVudGltZVxuLy8gKGxpZGEgdmlhIGdldENvbXB1dGVkU3R5bGUpIOKAlCBzZSB2b2PDqiBtdWRhciAkYWNjZW50LWJhY2tncm91bmQgbm8gc2lzdGVtYSwgbyBkb3dubG9hZFxuLy8gcGFzc2EgYSB1c2FyIGEgbm92YSBjb3IgYXV0b21hdGljYW1lbnRlLCBzZW0gaGFyZGNvZGUgbm8gVHlwZVNjcmlwdC5cbjpyb290IHtcbiAgLS1qZW1zLWxpbmstY29sb3I6ICN7JGFjY2VudC1iYWNrZ3JvdW5kfTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUUEMgY2hhaXIgVUkg4oCUIGRlc2lnbi1zeXN0ZW0gdG9rZW5zIChhdWRpdGVkIDIwMjYtMDUtMTgpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRFWFQgKGZvbnQtc2l6ZSk6ICAgICAxNCBkZWZhdWx0IHwgMTMgZGVuc2UgfCAxMSBtaWNyb1xuLy8gSUNPTiAoZm9udC1zaXplKTogICAgIDIwIHByaW1hcnkgfCAxOCBjYXJldC9zZXBhcmF0b3IgfCAxNiBzZWNvbmRhcnkgfCAxNCBtaWNyb1xuLy8gV0VJR0hUIChmb250LXdlaWdodCk6IDQzMCBib2R5ICAgfCA1MDAgZW1waGFzaXNcbi8vIExFVFRFUi1TUEFDSU5HOiAgICAgICAwIOKAlCBzdHJpY3Q7IG5vIG90aGVyIHZhbHVlIGFsbG93ZWQgaW4gY2hhaXIgVUlcbi8vIExJTkUtSEVJR0hUOiAgICAgICAgICAxLjMgdGV4dCAgIHwgPSBmb250LXNpemUgaWNvbnNcbi8vIElDT04tQVhFUzogICAgICAgICAgICBvcHN6IDIwIGFsd2F5cyB8IHdnaHQgMzAwIHJlc3Qg4oaSIDQwMCBhY3RpdmVcbi8vICAgICAgICAgICAgICAgICAgICAgICBGSUxMIDAgZGVmYXVsdCwgRklMTCAxIE9OTFkgYXMgXCJzZWxlY3RlZCB3aXRoaW5cbi8vICAgICAgICAgICAgICAgICAgICAgICBhIHNldFwiIGN1ZSAoZmF2b3JpdGUgc3RhciwgY3VycmVudCB0aGVtZSkuXG4vLyBPUEFDSVRZIExBRERFUiAoNSBjYW5vbmljYWwgbGV2ZWxzKTpcbi8vICAgMCAgICBoaWRkZW4g4oCUIGFmZm9yZGFuY2UgcmV2ZWFsZWQgdmlhIGludGVyYWN0aW9uXG4vLyAgIDAuNSAgbWFya2VyIGNocm9tZSAvIGhvdmVyLXJldmVhbCBmaXJzdCBzdGFnZVxuLy8gICAwLjY1IGRlZmF1bHQtbXV0ZWQgKGljb25zIGF0IHJlc3QpXG4vLyAgIDAuOSAgZW1waGFzaXMgLyBkaXJlY3QgaG92ZXIgb24gZ2x5cGhcbi8vICAgMSAgICBmdWxsIG9uIChzZWxlY3RlZCAvIGFjdGl2ZSAvIGN1cnJlbnQpXG4vLyBFTEVWQVRJT04gKDIgdGllcnMsIGRlZmluZWQgaW4gYF92YXJpYWJsZXMuc2Nzc2ApOlxuLy8gICBQQU5FTCAgICDigJQgYW5jaG9yZWQgbWVudXMgKGAkc2hhZG93LXBhbmVsLWxpZ2h0YCAvIGAtZGFya2ApXG4vLyAgICAgICAgICAgICAgdmlhIGBmaWx0ZXI6IGRyb3Atc2hhZG93YC4gRGFyayBtb2RlIGFkZHMgMXB4IG91dGxpbmVcbi8vICAgICAgICAgICAgICBgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmtgLlxuLy8gICBGTE9BVElORyDigJQgZHJhZyBwcmV2aWV3cyAoYCRzaGFkb3ctZmxvYXRpbmctbGlnaHRgIC8gYC1kYXJrYClcbi8vICAgICAgICAgICAgICB2aWEgYGJveC1zaGFkb3dgLiBIZWF2aWVyIGFscGhhICsgbGFyZ2VyIGJsdXIuXG4vLyBDSFJPTUUgQk9SREVSUyAoNCB0b2tlbnMsIGRlZmluZWQgaW4gYF9jb2xvcnMuc2Nzc2ApOlxuLy8gICAkY2hyb21lLWJvcmRlci1saWdodCAgICAgICAgLyAkY2hyb21lLWJvcmRlci1kYXJrICAgICAgICDigJQgZGVmYXVsdFxuLy8gICAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgLyAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSDigJQgaG92ZXIvZHJhZ1xuLy8gICBVc2VkIGJ5IHNpZGViYXIgZWRnZS1saW5lLCBoZWFkZXIvYm90dG9tIGRpdmlkZXJzLCBicmVhZGNydW1iXG4vLyAgIGJvdHRvbSBib3JkZXIsIG1lbnUgcGFuZWwgb3V0bGluZXMgKGRhcmspLCBhbmQgY2hpcC1oZWFkZXIgYm9yZGVycy5cbi8vIFNVUkZBQ0UgQkFDS0dST1VORFM6XG4vLyAgICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQg4oCUIGNoYWlyIFVJIGNocm9tZSAoc2lkZWJhciwgYWxsIG1lbnVzLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYikg4oCUIG9uZSB0aW50ZWQgb2ZmLXdoaXRlL2Rhcmtcbi8vICAgJGFkbWluLWJhY2tncm91bmQgICAgICAgICAg4oCUIG1haW4gY29udGVudCBhcmVhIOKAlCBwdXJlIHdoaXRlL2JsYWNrXG4vLyBSQURJVVM6XG4vLyAgICRjaHJvbWUtcmFkaXVzICg9IDZweCkg4oCUIGV2ZXJ5IGludGVyYWN0aXZlIHBpbGwgKHNpZGViYXIvbWVudSBpdGVtcyxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIgc2VnbWVudHMsIGNocm9tZSBidXR0b25zKSBBTkRcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZXJ5IHBhbmVsIHN1cmZhY2UgKG1hdC1tZW51LXBhbmVsLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhciBoZWFkZXIpLiBTaW5nbGUgY2Fub25pY2FsIGNvcm5lci5cbi8vIEVBU0lORzpcbi8vICAgJGVhc2Utb3V0ICg9IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpKSDigJQgdGhlIGNoYWlyIFVJJ3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZSB0cmFuc2l0aW9uIGN1cnZlLCB1c2VkIGJ5IGV2ZXJ5XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlYmFyL2JyZWFkY3J1bWIvZHJhZy1kcm9wIGFuaW1hdGlvbi5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiBnbG9iYWwgc3R5bGVzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aXRsZScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc3VidGl0bGUnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChzdHJvbmcsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY2xvc2UuYnV0dG9uJywgJycsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuLy8gSkVNUzMgY2hlY2tib3ggdGhlbWUg4oCUIGNoYWlyIFVJIGJpbmFyeS1jb250cm9sIGZhbWlseSAoRE5BIGNvbSBzbGlkZS10b2dnbGVcbi8vIGUgcmFkaW8pLiBPZmYgb3V0bGluZWQgY29tIHdhcm0gYmVpZ2UgZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgb25cbi8vIGZpbGxlZCBgIzRhNDYzZmAgZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgY2hlY2ttYXJrIHN0cm9rZSBvZmYtd2hpdGVcbi8vIGNyb3NzLXRoZW1lLiBgLm1hdC13YXJuYCBsZWZ0IHRvIE1hdGVyaWFsJ3MgcmVkLlxuXG4vLyBPRkYgc3RhdGUg4oCUIGZyYW1lIGJvcmRlciArIGJnIHRyYW5zcGFyZW50ZSBlbSBhbWJvcyBvcyB0ZW1hcyAobGlnaHQvZGFya1xuLy8gc2ltw6l0cmljb3MpLiBBbnRlcmlvcm1lbnRlIGxpZ2h0IHRpbmhhIHdhcm0gYmVpZ2UgdGludCBubyByZXN0OyBtdWRvdSBwYXJhXG4vLyB0cmFuc3BhcmVudCBhIHBlZGlkbyDigJQgb2ZmIGzDqiBwZWxvIGJvcmRlciArIGZhbHRhIGRlIGNoZWNrbWFyay5cbi8vIEJvcmRlciBkbyBjaGVja2JveDogYCRncmF5LTQ1MGAgKGAjOTA4OTg1YCkgbm8gbGlnaHQgKG1pZHBvaW50IHdhcm0tc3RvbmUpXG4vLyBlIGAkZ3JheS00MDBgIChgI0E4QTI5RWApIG5vIGRhcmsgKGNvbnRyYXN0ZSB+NToxIGNvbnRyYSBjYW52YXMgYCMyMDIwMjBgKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1mcmFtZScsICcnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktNDAwKTtcblxuLy8gQ2hlY2tlZCBzdGF0ZSBib3JkZXIgKGRhcmspOiBgJGdyYXktMzAwYCAoYCNENkQzRDFgKSDigJQgbWVzbWEgY29yIGRvIGZpbGwsXG4vLyBxdWFkcmFkbyB2aXJhIG1vbm9jcm9tw6F0aWNvLiBMaWdodCBuw6NvIHByZWNpc2Egb3ZlcnJpZGUgKGrDoSBmaWNhIGNvYmVydG9cbi8vIHBlbG8gYmFja2dyb3VuZCBmaWxsIGAkZ3JheS01MDBgIHF1YW5kbyBjaGVja2VkKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1jaGVja2VkJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1mcmFtZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuXG4vLyBPTiBzdGF0ZSDigJQgYmFja2dyb3VuZCBmaWxsOiBsaWdodCBgJGdyYXktNTAwYCAoYCM3ODcxNkNgIG1pZC1kYXJrIHdhcm0gc3RvbmUpXG4vLyB2cyBkYXJrIGAkZ3JheS0zMDBgIChgI0Q2RDNEMWAgbGlnaHQgd2FybSBzdG9uZSkuIEVtIGRhcmssIGJvcmRlciAoJGdyYXktNDAwKVxuLy8gZSBmaWxsICgkZ3JheS0zMDApIHByw7N4aW1vcyBtYXMgZGlzdGludG9zIOKAlCBvIGZpbGwgbGlnZWlyYW1lbnRlIG1haXMgY2xhcm9cbi8vIHF1ZSBhIGJvcmRlci4gSW5kZXRlcm1pbmF0ZSBzZWd1ZSBvIG1lc21vIHBhZHLDo28uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1hY2NlbnQnLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXByaW1hcnknLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuXG4vLyBNYXN0ZXIgY2hlY2tib3ggKGhlYWRlciBkZSBxdWFscXVlciBtYXQtdGFibGUgbm8gY2hhaXIgVUkpOiBpbnRlcm1lZGnDoXJpb1xuLy8gdXNhIGFjY2VudCBubyBsaWdodCBwcmEgZGVzdGFjYXIgXCJzZWxlw6fDo28gcGFyY2lhbFwiIGNvbW8gQ1RBIHZpc3VhbCwgZVxuLy8gYCRncmF5LTMwMGAgbm8gZGFyayBwcmEgdW5pZmljYXIgY29tIG8gZXN0YWRvIGxpZ2FkbyAoY2FpeGEgZmljYSBpZ3VhbCxcbi8vIHPDrW1ib2xvIMOpIHF1ZSBkaWZlcmVuY2lhKS4gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgTWF0ZXJpYWxcbi8vIGUgcmVncmFzIGdlbsOpcmljYXMgYWNpbWEuIFVzYWRvIHBvciBwZW9wbGUtdGFibGUgZSBzdWJtaXNzaW9ucy1saXN0LXYyLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAndGgubWF0LWhlYWRlci1jZWxsIC5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnLFxuICAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsXG4gICRncmF5LTMwMCAhaW1wb3J0YW50XG4pO1xuXG4vLyBDaGVja21hcmsgc3Ryb2tlIOKAlCB0aGVtZS1hd2FyZTogbGlnaHQgdXNhIG9mZi13aGl0ZSAoYCNmOWY4ZjdgKSBzb2JyZSBmaWxsXG4vLyBkYXJrIGAjNzg3MTZDYDsgZGFyayB1c2EgbmVhci1ibGFjayAoYCMyMDIwMjBgKSBzb2JyZSBmaWxsIGNsYXJvIGAjRTdFNUU0YC5cbi8vIENhZGEgdW0gbWF4aW1pemEgbyBjb250cmFzdGUgZG8gZ2x5cGggY29udHJhIHNldSBmaWxsIHJlc3BlY3Rpdm8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoJywgc3Ryb2tlLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5cbi8vIEhvdmVyIOKAlCB0csOqcyByZWdyYXMgY29tYmluYWRhcyAobWVzbWFzIGRvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKTpcbi8vICAgKDEpIGZyYW1lIGJvcmRlciBidW1wYSBwYXJhIGAtYWN0aXZlYCBlbSBhbWJvcyB0ZW1hc1xuLy8gICAoMikgbGlnaHQgb2ZmOiBmcmFtZSBiZyBpbnZlcnRlIHBhcmEgdHJhbnNwYXJlbnQgKGxpZnQpXG4vLyAgICgzKSBsaWdodCBvbjogYmFja2dyb3VuZCBiZyBlc2N1cmVjZSBwYXJhIGAjM2EzOTM3YCAocHJlc3MpXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3g6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBib3JkZXItY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5cbi8vIENoZWNrYm94IGNoZWNrZWQg4oCUIG92ZXJyaWRlIEdMT0JBTDogdXNhIGFjY2VudCBjb2xvciAoYXp1bCBkYSBtYXJjYSlcbi8vIEFQRU5BUyBubyBsaWdodCBtb2RlLiBFbSBkYXJrLCBtYW50w6ltIG8gYCRncmF5LTMwMGAgZGVmYXVsdCBkbyBjaGFpciBVSVxuLy8gKGFjY2VudCBlc2N1cm8gc29icmUgY2FudmFzIGVzY3VybyBwZXJkZXJpYSBjb250cmFzdGUpLiBBcGxpY2EgYSBUT0RPUyBvc1xuLy8gY2hlY2tib3hlcyBkbyBhcHAgKHN1YnN0aXR1aSBhcyByZWdyYXMgZ3JheS01MDAgYWNpbWEgcG9yIGNhdXNhIGRhIG9yZGVtXG4vLyBubyBjYXNjYWRlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1mcmFtZScsIGJvcmRlci1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcblxuLy8gRnJhbWUgVU5DSEVDS0VEIChhdGl2bywgYWluZGEgbsOjbyBtYXJjYWRvKTogYmcgQlJBTkNPIG5vIGxpZ2h0LCBQUkVUT1xuLy8gbm8gZGFyay4gU29icmVzY3JldmUgbyBgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50YCBnbG9iYWwgZGEgbGluaGEgNzkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3g6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmLCAjMDAwKTtcblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZC1vbmx5KSDigJQgYnJhbmQgY29sb3IsIGlkw6pudGljbyBhbyBzbGlkZS10b2dnbGUgZSByYWRpby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCcsICcubWF0LWNoZWNrYm94LWZyYW1lJywgb3V0bGluZSwgMnB4IHNvbGlkICMwNjRhZDksIDJweCBzb2xpZCAjMDA4MGZmKTtcblxuLy8gbWF0LXBzZXVkby1jaGVja2JveCDigJQgY2hlY2tib3ggZGFzIE9Qw4fDlUVTIGRlIG1hdC1zZWxlY3QgbXVsdGkgKGV4LjogZmlsdHJvcyBkYVxuLy8gTGlzdGEgZGUgc3VibWlzc8O1ZXMpIGUgZG8gbWF0LXNlbGVjdGlvbi1saXN0LiBPIHRlbWEgY2hhaXIgYWNpbWEgY29icmlhIG9cbi8vIG1hdC1jaGVja2JveCAoQ2hlY2tsaXN0LCBzZWxlw6fDo28gZGUgbGluaGFzKSBtYXMgTsODTyBvIHBzZXVkby1jaGVja2JveCwgcXVlXG4vLyBmaWNhdmEgbm8gZXN0aWxvIE1hdGVyaWFsIGRlZmF1bHQuIEFxdWkgZWxlIHJlY2ViZSBvIE1FU01PIGVzdGlsbzogb2ZmIG91dGxpbmVkXG4vLyB3YXJtLXN0b25lLCBvbiBmaWxsZWQsIGNoZWNrbWFyayBjbGFybywgNHB4IHJhZGl1cy4gQXBsaWNhIGFwcC13aWRlICh0b2RvcyBvc1xuLy8gbXVsdGktc2VsZWN0cy9zZWxlY3Rpb24tbGlzdHMpIOKAlCBjb25zaXN0w6puY2lhIGNvbSBvIHJlc3RvIGRvIGNoYWlyIFVJLlxuLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvOiBvIE1hdGVyaWFsIHNldGEgYSBjb3IgdGVtw6F0aWNhIChgLm1hdC1wcmltYXJ5Ly5tYXQtYWNjZW50XG4vLyAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkYCkgY29tIGEgTUVTTUEgZXNwZWNpZmljaWRhZGUgZG8gYC5saWdodC10aGVtZSAuLi5gLFxuLy8gZSB2ZW5jZSBwb3Igb3JkZW0gZGUgY2FyZ2EuIE1lc21vIHBhZHLDo28gZG8gdGVtYSBkbyBtYXQtY2hlY2tib3ggYWNpbWEuXG4ubWF0LXBzZXVkby1jaGVja2JveCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDEuNXB4ICFpbXBvcnRhbnQ7XG59XG4vLyBCb3JkYSAob2ZmKSB2aWEgYGNvbG9yYCA9ICRncmF5LTQ1MC8kZ3JheS00MDAgKGlndWFsIGFvIC5tYXQtY2hlY2tib3gtZnJhbWUpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXBzZXVkby1jaGVja2JveCcsICcnLCBjb2xvciwgJGdyYXktNDUwICFpbXBvcnRhbnQsICRncmF5LTQwMCAhaW1wb3J0YW50KTtcbi8vIENoZWNrbWFyayAoOjphZnRlcikg4oCUIG9mZi13aGl0ZSBubyBsaWdodCAvIG5lYXItYmxhY2sgbm8gZGFyayAoPSBzdHJva2UgZG8gbWF0LWNoZWNrYm94KS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVyJywgJycsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbi8vIEZpbGwgKGNoZWNrZWQvaW5kZXRlcm1pbmF0ZSkgPSAkZ3JheS01MDAvJGdyYXktMzAwICg9IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwICFpbXBvcnRhbnQsICRncmF5LTMwMCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAgIWltcG9ydGFudCwgJGdyYXktMzAwICFpbXBvcnRhbnQpO1xuXG4vLyBKRU1TMyBzbGlkZS10b2dnbGUgdGhlbWUg4oCUIGNoYWlyIFVJIG1vbm9jaHJvbWF0aWMsIG91dGxpbmVkLW9mZiAoXCJQbGFuIEJcIikuXG4vLyBPZmYgc3RhdGUgPSBvdXRsaW5lZCBwaWxsICh0cmFuc3BhcmVudCBiZyArIDEuNXB4IGluc2V0IGJvcmRlciB2aWEgYm94LXNoYWRvdylcbi8vIHdpdGggYSBkYXJrIHRodW1iIOKAlCBjbGVhcmx5IFwiaW50ZXJhY3RpdmUgYnV0IGluYWN0aXZlXCIsIE5PVCBcImRpc2FibGVkXCIuXG4vLyBPbiBzdGF0ZSA9IHNvbGlkIGFjdGl2ZSBmaWxsIHdpdGggbGlnaHQgdGh1bWIg4oCUIHNhbWUgcmVjaXBlIGFzIGNoZWNrYm94XG4vLyBjaGVja2VkLiBgLm1hdC13YXJuYCBsZWZ0IHRvIE1hdGVyaWFsJ3MgcmVkIHNvIGRlc3RydWN0aXZlIHRvZ2dsZXMga2VlcFxuLy8gdGhlaXIgZGFuZ2VyIGN1ZS5cblxuLy8gT0ZGIHN0YXRlIOKAlCB0cmFjayBpcyB0cmFuc3BhcmVudCwgYm9yZGVyIGRyYXduIGJ5IGluc2V0IGJveC1zaGFkb3cgKGRvZXNuJ3Rcbi8vIGFmZmVjdCBsYXlvdXQpLiBUaHVtYiBpcyB0aGUgbXV0ZWQgdGV4dCB0b2tlbiAoZGFyayBncmF5IG9uIGxpZ2h0IHRoZW1lKS5cbi8vIE9GRiBzdGF0ZSByZXN0IGJhciBiZyDigJQgbGlnaHQgdGVtICoqd2FybSBiZWlnZSB0aW50KiogKGAjZThlNmUzYCkgY29tbyBjdWVcbi8vIHBlcm1hbmVudGUgZGUgXCJpc3RvIMOpIGludGVyYXRpdm9cIjsgZGFyayBtYW50w6ltIHRyYW5zcGFyZW50ZSAobyBjdWUgZGVcbi8vIFwiaW50ZXJhdGl2b1wiIG5vIGRhcmsgasOhIHZlbSBkbyBib3JkZXIgKyBicmlnaHRuZXNzIGNoYW5nZSBubyBob3ZlcikuIE9uXG4vLyBzdGF0ZSB2ZW5jZSBwb3IgZXNwZWNpZmljaWRhZGUgKDQgY2xhc3NlcyA+IDEpIGUgbWFudMOpbSBzZXUgcHLDs3ByaW8gZmlsbC5cbi8vIEFsaW5oYWRvIGFvIHJlY2lwZSBkbyBjaGVja2JveDogYmFyIGJnIHRyYW5zcGFyZW50IGVtIGFtYm9zIG9zIHRlbWFzXG4vLyAocmVtb3ZpZG8gbyB3YXJtIGJlaWdlIHJlc3QgZG8gbGlnaHQpOyBpbnNldCBzaGFkb3cgYm9yZGVyICRncmF5LTQ1MCBsaWdodFxuLy8gLyAkZ3JheS00MDAgZGFyazsgdGh1bWIgb2ZmIG1hdGNoZXMgYm9yZGVyIHRvbmUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCAnJywgYm94LXNoYWRvdywgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDUwLCBpbnNldCAwIDAgMCAxLjVweCAkZ3JheS00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS10aHVtYicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTQwMCk7XG5cbi8vIE9OIHN0YXRlIOKAlCBhc3NpbcOpdHJpY28gcG9yIHRlbWE6XG4vLyAgIExpZ2h0OiB0cmFjayBmaWxsIGAjNGE0NjNmYCAod2FybSBkYXJrIGdyYXkpICsgdGh1bWIgYCNmOWY4ZjdgIG9mZi13aGl0ZSArXG4vLyAgICAgICAgICBjaGVjayBgIzRhNDYzZmAgbm8gdGh1bWIuXG4vLyAgIERhcms6ICB0cmFjayBmaWxsICoqdHJhbnNwYXJlbnRlKiogKHNlbSBmaWxsKSArIHRodW1iIGAjZjlmOGY3YCBvZmYtd2hpdGVcbi8vICAgICAgICAgICsgY2hlY2sgYCM0YTQ2M2ZgIG5vIHRodW1iLiBFc3RhZG8gdmVtIGRvIHRodW1iIHBvc2l0aW9uICsgdGh1bWJcbi8vICAgICAgICAgIGNvbG9yICsgY2hlY2s7IG8gZmlsbCBzZXJpYSBtdWRkeSBjb250cmEgbyBjYW52YXMgYCMyMDIwMjBgIGRhcmsuXG4vLyBCb3JkZXIgcGVyc2lzdGUgZW0gYW1ib3Mgb3MgZXN0YWRvcyAob2ZmLXN0YXRlIHJ1bGUgw6kgc3RhdGUtYWdub3N0aWMpLlxuLy8gT04gc3RhdGUg4oCUIGJhciBmaWxsIGFsaW5oYWRvIGFvIGNoZWNrYm94IChsaWdodCAkZ3JheS01MDAgLyBkYXJrICRncmF5LTMwMCkuXG4vLyBPbiB0aHVtYiBhZ29yYSB0aGVtZS1hd2FyZTogbGlnaHQgb2ZmLXdoaXRlIHNvYnJlIGZpbGwgZGFyaywgZGFyayBuZWFyLWJsYWNrXG4vLyBzb2JyZSBmaWxsIGNsYXJvIOKAlCBjYWRhIHRlbWEgbWF4aW1pemEgbyBjb250cmFzdGUgZG8gdGh1bWIgY29udHJhIG8gZmlsbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXNsaWRlLXRvZ2dsZS10aHVtYicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gSG92ZXIgc3RhdGUg4oCUIHRyw6pzIHJlZ3JhcyBjb21iaW5hZGFzOlxuLy8gICgxKSBCb3JkZXIgKGluc2V0IHNoYWRvdykgYnVtcGEgcGFyYSBvIHRva2VuIGAtYWN0aXZlYCBlbSBhbWJvcyBvcyB0ZW1hcy5cbi8vICAoMikgTGlnaHQgT0ZGIHN0YXRlOiBiYXIgYmcgKippbnZlcnRlIHBhcmEgdHJhbnNwYXJlbnRlKiogKGNsYXJlaWEsIHJlbW92ZW5kb1xuLy8gICAgICBvIHdhcm0gYmVpZ2UgZG8gcmVzdCkg4oCUIGNyaWEgc2Vuc2HDp8OjbyBkZSBcImxpZnRpbmdcIiBubyBob3Zlci4gRGFyayBvZmZcbi8vICAgICAgc3RheXMgdHJhbnNwYXJlbnQsIGFwZW5hcyBvIGJvcmRlci1idW1wIGZheiBjdWUuXG4vLyAgKDMpIExpZ2h0IE9OIHN0YXRlOiBiYXIgYmcgKiplc2N1cmVjZSoqIGRlIGAjNGE0NjNmYCBwYXJhIGAjM2EzOTM3YCDigJRcbi8vICAgICAgZmVlbGluZyBkZSBcInByZXNzXCIgZGUgYm90w6NvLCBzdXBsZW1lbnRhIG8gYm9yZGVyLWJ1bXAgcXVlIHNvemluaG8gZmljYVxuLy8gICAgICBpbnZpc8OtdmVsIGNvbnRyYSBvIGZpbGwgZGFyay4gRGFyayBvbiBzdGF5cyB0cmFuc3BhcmVudCAoc2VtIG11ZGFuw6dhKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGU6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJveC1zaGFkb3csIGluc2V0IDAgMCAwIDEuNXB4ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgaW5zZXQgMCAwIDAgMS41cHggJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtYWNjZW50OmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKScsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCknLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcblxuLy8gSkVNUzMgcmFkaW8gdGhlbWUg4oCUIGNoYWlyIFVJIGJpbmFyeS1jb250cm9sIGZhbWlseSAoc2FtZSBETkEgZG8gY2hlY2tib3ggZVxuLy8gc2xpZGUtdG9nZ2xlKS4gUmVjaXBlIGVzcGVsaGEgbyBzbGlkZS10b2dnbGU6IG9mZiBvdXRsaW5lZCBjb20gd2FybSBiZWlnZVxuLy8gZW0gbGlnaHQgLyB0cmFuc3BhcmVudGUgZW0gZGFyazsgb24gZmlsbGVkIGAjNGE0NjNmYCBlbSBsaWdodCAvIHRyYW5zcGFyZW50ZVxuLy8gZW0gZGFyayBjb20gaW5uZXIgZG90IG9mZi13aGl0ZSBzdWJzdGl0dWluZG8gbyBcInRodW1iXCIuIGAubWF0LXdhcm5gIGxlZnQgdG9cbi8vIE1hdGVyaWFsJ3MgcmVkLlxuXG4vLyBPRkYgc3RhdGUg4oCUIG91dGVyIGJvcmRlciArIGJnIHRyYW5zcGFyZW50ZSBlbSBhbWJvcyBvcyB0ZW1hcyAobGlnaHQvZGFya1xuLy8gc2ltw6l0cmljb3MpLiBBbnRlcmlvcm1lbnRlIGxpZ2h0IHRpbmhhIHdhcm0gYmVpZ2UgdGludCBubyByZXN0OyBtdWRvdSBwYXJhXG4vLyB0cmFuc3BhcmVudCBhIHBlZGlkbyDigJQgb2ZmIGzDqiBwZWxvIGJvcmRlciArIGF1c8OqbmNpYSBkbyBjZW50ZXIgZG90LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbicsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbicsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5cbi8vIE9OIHN0YXRlIOKAlCBhbGluaGFkbyBhbyByZWNpcGUgZG8gY2hlY2tib3g6IGZpbGwgYCRncmF5LTUwMGAgKGxpZ2h0KSAvIGAkZ3JheS0zMDBgIChkYXJrKS5cbi8vIEJvcmRlciBkbyBjaGVja2VkIGRhcmsgdmlyYSBgJGdyYXktMzAwYCAobWVzbWEgY29yIGRvIGZpbGwpOyBsaWdodCBzZWd1ZSBgJGdyYXktNDUwYC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRncmF5LTQ1MCwgJGdyYXktMzAwKTtcblxuLy8gSW5uZXIgZG90ICh2aXNpYmxlIG9ubHkgd2hlbiBjaGVja2VkKSDigJQgdGhlbWUtYXdhcmUgcGFyYSBjb250cmFzdGFyIGNvbSBvXG4vLyBub3ZvIGZpbGwgZW0gY2FkYSB0ZW1hLiBMaWdodDogb2ZmLXdoaXRlIHNvYnJlIGZpbGwgZGFyayBncmF5LiBEYXJrOiBuZWFyLVxuLy8gYmxhY2sgc29icmUgZmlsbCBsaWdodCBncmF5IChpZMOqbnRpY28gYW8gY2hlY2ttYXJrIHN0cm9rZSBkbyBjaGVja2JveCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1yYWRpby1pbm5lci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXJhZGlvLWlubmVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8vIFJhZGlvIGNoZWNrZWQg4oCUIG92ZXJyaWRlIEdMT0JBTDogdXNhIGFjY2VudCBjb2xvciBBUEVOQVMgbm8gbGlnaHQgbW9kZVxuLy8gKG1lc21hIGVzdHJhdMOpZ2lhIGRvIGNoZWNrYm94IGdsb2JhbCkuIEVtIGRhcmssIG1hbnTDqW0gbyBncmF5LTMwMC9ncmF5LTBcbi8vIGRlZmF1bHQgZG8gY2hhaXIgVUkuIElubmVyLWNpcmNsZSAobyBkb3QpIHNlZ3VlIG8gc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kXG4vLyBwcmEgY29udHJhc3RhciBjb250cmEgcXVhbHF1ZXIgY29yIGRvIG91dGVyLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBib3JkZXItY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMCk7XG5cbi8vIE91dGVyIGNpcmNsZSBVTkNIRUNLRUQgKGF0aXZvLCBhaW5kYSBuw6NvIG1hcmNhZG8pOiBiZyBCUkFOQ08gbm8gbGlnaHQsXG4vLyBQUkVUTyBubyBkYXJrLiBTb2JyZXNjcmV2ZSBvIGB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnRgIGRhIGxpbmhhIDIxMy5cbi8vIE1lc21hIGRlY2lzw6NvIGRvIGAubWF0LWNoZWNrYm94LWZyYW1lYCAoY2YuIGJsb2NvIGRvIGNoZWNrYm94IGFjaW1hKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b246bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpOm5vdCgubWF0LXJhZGlvLWNoZWNrZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgI2ZmZiwgIzAwMCk7XG5cbi8vIFNsaWRlLXRvZ2dsZSBjaGVja2VkIOKAlCByZWdyYXMgY2Fuw7RuaWNhcyBlc3TDo28gbWFpcyBhYmFpeG8gbm8gYXJxdWl2b1xuLy8gKGJsb2NvIFwiU2xpZGUtdG9nZ2xlIHBhZHLDo28gKE0zKVwiLCBjb20gIWltcG9ydGFudCBwcmEgdmVuY2VyIE1hdGVyaWFsKS5cblxuLy8gSG92ZXIg4oCUIGFsaW5oYWRvIGFvIGNoZWNrYm94OlxuLy8gICAoMSkgYm9yZGVyIGJ1bXBhIHBhcmEgYC1hY3RpdmVgIGVtIGFtYm9zIHRlbWFzXG4vLyAgICgyKSBjaGVja2VkIGxpZ2h0OiBmaWxsIGRhcmtlbiBwYXJhIGAkZ3JheS03MDBgIChwcmVzcylcbi8vICAgKDMpIGNoZWNrZWQgZGFyazogZmlsbCBoaWdobGlnaHQgcGFyYSBgJGdyYXktMGAgKG1haXMgY2xhcm8pXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uOmhvdmVyOm5vdCgubWF0LXJhZGlvLWRpc2FibGVkKScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZC1vbmx5KSDigJQgYnJhbmQgY29sb3IsIG1lc21hIGRvIHNsaWRlLXRvZ2dsZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQnLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBvdXRsaW5lLCAycHggc29saWQgIzA2NGFkOSwgMnB4IHNvbGlkICMwMDgwZmYpO1xuXG4vLyBGb2N1cyBpbmRpY2F0b3IgY29sb3IgKGtleWJvYXJkLW9ubHkpLiBCcmFuZC1zYXR1cmF0ZWQgY29sb3IgKG5hdnkgbGlnaHQgL1xuLy8gYmx1ZSBkYXJrKSBzbyB0aGUgZm9jdXMgcmluZyByZWFkcyBhcyBhIGRpc3RpbmN0IGN1ZSwgbm90IFwidGhlIGJvcmRlciBnb3Rcbi8vIHRoaWNrZXJcIi4gVGhpcyBpcyB0aGUgb25seSBzcG90IHdoZXJlIGJyYW5kIGNvbG9yIGlzIGFsbG93ZWQgaW4gY2hhaXIgVUkg4oCUXG4vLyBmb2N1cyByaW5ncyBjb252ZW5jaW9uYWxtZW50ZSBzw6NvIHNhdHVyYWRvcyBwb3IgbW90aXZvIGRlIGExMXkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIG91dGxpbmUsIDJweCBzb2xpZCAjMDY0YWQ5LCAycHggc29saWQgIzAwODBmZik7XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGNvbG9yIGluc2lkZSB0aGUgb24gdGh1bWIuIENyb3NzLXRoZW1lIGAjNGE0NjNmYCBtYXRjaGluZ1xuLy8gdGhlIGJhciBmaWxsIOKAlCBpbnZlcnRzIHRoZSBvZmYtd2hpdGUgb24tdGh1bWIgZm9yIGNyaXNwIGNvbnRyYXN0LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuLy8gUGFnZSB0aXRsZSAoLm1haW4taGVhZGVyIC5tYWluLXRpdGxlIGgxKSBhbmQgc2VjdGlvbiB0aXRsZXMgKC5zZWN0aW9uLXRpdGxlLFxuLy8gQGV4dGVuZHMgaDMpIHNoYXJlIHRoZSBzYW1lIG11dGVkIHRleHQgY29sb3IgYXMgdGhlIHNpZGViYXIgbGV2ZWwtMSBpdGVtcyBhdFxuLy8gcmVzdCDigJQgcGFnZSBsYWJlbCBhbmQgc2VjdGlvbiBoZWFkZXJzIGFyZSBcIm5vdCBpbnRlcmFjdGl2ZVwiIHNvIHRoZXkgcmVhZCBhc1xuLy8gY29udGVudCBpZGVudGlmaWVycywgbm90IGVtcGhhc2lzLiBQZXIgY2hhaXIgVUkgcnVsZSwgdGV4dCB1c2VzIGNvbG9yIHRva2Vuc1xuLy8gKG5vdCBvcGFjaXR5KSBmb3IgZGlmZmVyZW50aWF0aW9uLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1haW4taGVhZGVyIC5tYWluLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zZWN0aW9uLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLy8gUGFnZS10aXRsZSBpY29uICgubWFpbi10aXRsZS1pY29uLCBsZWZ0IG9mIHRoZSBoMSkuIEZvbGxvd3MgdGhlIHNpZGViYXJcbi8vIGxldmVsLTEgaWNvbiByZWNpcGU6IHVzZXMgdGhlIFwiYWN0aXZlXCIgY29sb3IgdG9rZW4gKmFsd2F5cyosIHdpdGggb3BhY2l0eVxuLy8gKDAuNjUgcmVzdCwgYXBwbGllZCBpbiBjb21wb25lbnQgU0NTUykgZG9pbmcgdGhlIG11dGluZy4gRGlzdGluY3QgZnJvbSB0aGVcbi8vIHRleHQgY29sb3IsIGV4YWN0bHkgbGlrZSB0aGUgbGV2ZWwtMSBpY29ucyBhcmUgZGlzdGluY3QgZnJvbSBsZXZlbC0xIGxhYmVscy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYWluLWhlYWRlciAubWFpbi10aXRsZSAubWFpbi10aXRsZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG4vKiBzaW1wbGUtdGFibGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuc2ltcGxlLXRhYmxlJywgJycsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuc2ltcGxlLXRhYmxlJywgdGgsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1oZWFkZXItYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5zaW1wbGUtdGFibGUnLCB0aCwgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogdGFibGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJycsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0ZDpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCwgLm1hdC1mb290ZXItY2VsbCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0ZDpub3QoOmZpcnN0LWNoaWxkLCA6bGFzdC1jaGlsZCwgLm1hdC1mb290ZXItY2VsbCknLCBib3JkZXItY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RkOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkLCAubWF0LWZvb3Rlci1jZWxsKScsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkJywgYm9yZGVyLXRvcC1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOmZpcnN0LWNoaWxkJywgYm9yZGVyLCBub25lLCBub25lKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOmxhc3QtY2hpbGQnLCBib3JkZXIsIG5vbmUsIG5vbmUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQ6bnRoLWNoaWxkKDIpJywgYm9yZGVyLWxlZnQtY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IsICR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZDpudGgtbGFzdC1jaGlsZCgyKScsIGJvcmRlci1yaWdodC1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkLm1hdC1mb290ZXItY2VsbCcsIGJvcmRlciwgbm9uZSwgbm9uZSk7XG5cbi8qIDxhPiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGEsICcnLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2E6aG92ZXInLCAnJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiA8YnV0dG9uPiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdidXR0b246ZGlzYWJsZWQnLCAnJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG4vLyAuYXBwLWljb24tYnV0dG9uIOKAlCBzdXJmYWNlIGhvdmVyL21lbnUtb3BlbiDDum5pY2EgcHJvcyA0IGJvdMO1ZXMgaWNvbi1vbmx5XG4vLyBkbyBKRU1TMyAoLnByb2ZpbGUtYnV0dG9uLCAudXNlci1tZW51LWJ1dHRvbiwgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyLFxuLy8gLmZpbHRlci1idXR0b24pLiBUb2tlbnMgY2hhaXItc3R5bGUgcmVwbGljYWRvcyBlbSBhbWJvcyBvcyB0ZW1hcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmFwcC1pY29uLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyJywgJycsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5hcHAtaWNvbi1idXR0b24ubWVudS1vcGVuJywgJycsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIG1hdC1hY2NvcmRpb24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1hY2NvcmRpb24nLCAnLm1hdC1leHBhbnNpb24tcGFuZWwnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBtYXQtZm9ybS1maWVsZCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWZvcm0tZmllbGQtaW5maXgnLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZScsICcnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljaycsICcnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcblxuLyogbWF0LWRpdmlkZXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1kaXZpZGVyJywgJycsIGJvcmRlci1ib3R0b20sIDFweCBzb2xpZCB3aGl0ZSwgMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWRpdmlkZXInLCAnJywgYm9yZGVyLXRvcCwgJycsIDFweCBzb2xpZCBibGFjayk7XG5cbi8qIGFwcC1hZG1pbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbiwgJy5hZG1pbicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLWFkbWluLW5hdmJhciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1uYXZiYXIsICcuYWRtaW4tbmF2YmFyIG5hdicsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tbmF2YmFyLCAnLmxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsICcnLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tbmF2YmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5cbi8qIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubGFiZWwnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tYXQtc2lkZW5hdi1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBCYWNrZ3JvdW5kIGRvIGJvZHkvaHRtbCDigJQgZW0gZGFyaywgc2VtIGVzc2EgcmVncmEgbyBvdmVyc2Nyb2xsXG4vLyAoYm91bmNlL3J1YmJlci1iYW5kIGRvIG1hY09TL2lPUyBxdWFuZG8gc2Nyb2xsYSBhbMOpbSBkbyBmaW5hbCBkYVxuLy8gcMOhZ2luYSkgcmV2ZWxhIG8gYnJhbmNvIGRlZmF1bHQgZG8gdXNlci1hZ2VudC4gYC5kYXJrLXRoZW1lYCBlc3TDoVxuLy8gbm8gcHLDs3ByaW8gYm9keSwgZW50w6NvIHVzYW1vcyBjb21wb3VuZCBzZWxlY3RvciBlbSB2ZXogZG8gbWl4aW5cbi8vIChxdWUgcHJlZml4YXJpYSBgLmRhcmstdGhlbWUgYm9keWAgZSBuw6NvIGNhc2FyaWEgY29tIG8gYm9keSBxdWUgVEVNXG4vLyBhIGNsYXNzZSkuIGA6aGFzYCBubyBodG1sIMOpIG5lY2Vzc8OhcmlvIHBvcnF1ZSBgLmRhcmstdGhlbWVgIGVzdMOhIGVtXG4vLyBib2R5LCBuw6NvIGVtIGh0bWwuXG5ib2R5LmxpZ2h0LXRoZW1lLFxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZDtcbn1cbmJvZHkuZGFyay10aGVtZSxcbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuLy8gSG92ZXIgLyBhY3RpdmUgYmFja2dyb3VuZCArIHRleHQgY29sb3IgZm9yIG1lbnUgaXRlbXMgaW4gdGhlIENsYXNzaWNcbi8vIGN1c3RvbSBzdWJtZW51IChgLmNsYXNzaWMtc3VibWVudWApLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubWF0LWxpc3QtaXRlbTpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrKTtcbi8vIFNlbGVjdGVkIGJhY2tncm91bmQgbWF0Y2hlcyBNb2Rlcm4ncyBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZWBcbi8vIChzYW1lIHRva2VuIGFzIHRoZSBob3ZlciBiZyDigJQgc2VsZWN0ZWQgcmVhZHMgYXMgYSBzbGlnaHRseSBtdXRlZCBwaWxsO1xuLy8gZW1waGFzaXMgY29tZXMgZnJvbSB0aGUgYWN0aXZlIHRleHQgY29sb3IsIG5vdCBhIHRpbnRlZCBmaWxsKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLmxpc3QtaXRlbS1hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gVGhlbWUtYXdhcmUgdGV4dCBjb2xvcjogdW5zZWxlY3RlZCBpdGVtcyB1c2UgdGhlIGxpZ2h0ZXIgdG9rZW4sIHNlbGVjdGVkIGl0ZW1zXG4vLyB1c2UgdGhlIGRhcmtlciB0b2tlbi4gV2l0aG91dCB0aGVzZSB0aGUgY29tcG9uZW50IFNDU1MgaGFyZGNvZGVzIGxpZ2h0IHZhbHVlc1xuLy8gaW4gYm90aCB0aGVtZXMgKGRhcmsgbW9kZSB0aGVuIHJlbmRlcnMgd2l0aCBsaWdodC1tb2RlIGNvbG9ycykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLmxpc3QtaXRlbS1hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBEcmFnLWhhbmRsZSBnbHlwaCAoRmF2b3JpdG9zIHJlb3JkZXIgYWZmb3JkYW5jZSkg4oCUIHRoZW1lLWF3YXJlIHNvXG4vLyBpdCdzIHRoZSBzdHJvbmdlc3QgYXZhaWxhYmxlIGNocm9tZSB0b25lIGluIEJPVEggbW9kZXMgKGJsYWNrLWlzaFxuLy8gaW4gbGlnaHQsIG5lYXItd2hpdGUgaW4gZGFyaykuIFRocmVlIHN1cmZhY2VzIHNoYXJlIHRoZSBzYW1lIGxvb2s6XG4vLyBjbGFzc2ljIHN1Ym1lbnUsIGV4cGVyaW1lbnRhbCBzaWRlYmFyIChpbmxpbmUpLCBhbmQgZXhwZXJpbWVudGFsXG4vLyBmbHlvdXQuIFRoZSBmbHlvdXQgaXMgcmVuZGVyZWQgaW4gdGhlIENESyBvdmVybGF5IGNvbnRhaW5lciBhdCBib2R5XG4vLyByb290IOKAlCBzZWxlY3RvciB0YXJnZXRzIGl0IHdpdGhvdXQgdGhlIGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmBcbi8vIGNvbXBvbmVudCBzY29wZSwgc28gdGhlIGdsb2JhbCBydWxlICh3aXRob3V0IGNvbXBvbmVudCB3cmFwcGVyKSBpc1xuLy8gZGVjbGFyZWQgc2VwYXJhdGVseSBiZWxvdy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zdWJtZW51LWRyYWctaGFuZGxlLCAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZHJhZy1oYW5kbGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBGbHlvdXQgZHJhZyBoYW5kbGUgbGl2ZXMgb3V0c2lkZSB0aGUgY29tcG9uZW50IHNjb3BlIChib2R5LXJvb3Rcbi8vIG92ZXJsYXkpLiBQbGFpbiBnbG9iYWwgc2VsZWN0b3JzLlxuLmxpZ2h0LXRoZW1lIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTsgfVxuLmRhcmstdGhlbWUgIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrOyB9XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubmF2YmFyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubmF2YmFyJywgYm94LXNoYWRvdywgMHB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAuMiksIDBweCAycHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBXb3Jrc3BhY2UgYmFyIChUUEMgY2hhaXIgXCJ3aW5kb3cgdGl0bGVcIikg4oCUIHNpdHMgYWJvdmUgdGhlIHRvb2xiYXIsIGZ1bGxcbi8vIHNjcmVlbiB3aWR0aCBzbyBsb25nIGV2ZW50IG5hbWVzIGZpdC4gU2xhY2stc3R5bGUgaWRlbnRpZmllciBiYW5kLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhciAud29ya3NwYWNlLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXIgLndvcmtzcGFjZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtYmFyIC53b3Jrc3BhY2UtY2hldnJvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBKRU1TIGxvZ286IHRoZSBTVkcgdmFyaWFudCBsb2FkZWQgYnkgPHBpY3R1cmU+IGlzIHdoaXRlIChkZXNpZ25lZCBmb3IgZGFya1xuLy8gYmFja2dyb3VuZHMpLiBJbnZlcnQgaXQgaW4gbGlnaHQgbW9kZSBzbyBpdCByZWFkcyBvbiB0aGUgb2ZmLXdoaXRlIHN1cmZhY2UuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtbG9nbyBpbWcnLCBmaWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbi8vIEV4cGVyaW1lbnRhbCBzaW5nbGUgc2lkZWJhciAobGVmdCBvZiBhY3Rpdml0eS1iYXIpIOKAlCBzYW1lIHN1cmZhY2UgdG9rZW5zXG4vLyBhcyB0aGUgYWN0aXZpdHktYmFyIC8gc3VibWVudSBzbyB0aGUgdGhyZWUgY2hyb21lIGJsb2NrcyByZWFkIGFzIG9uZVxuLy8gZmFtaWx5IGR1cmluZyBBL0IgY29tcGFyaXNvbi4gSXRlbSBjb2xvciArIGhvdmVyL2V4cGFuZGVkIHRva2VucyBtaXJyb3Jcbi8vIHRoZSBzdWJtZW51IGl0ZW1zIChkZWZpbmVkIGdyYXkg4oaSIGFjdGl2ZSBncmF5IG9uIGludGVyYWN0aW9uKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXInLCBib3JkZXItcmlnaHQtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIEVkZ2UtbGluZSBhdCB0aGUgc2lkZWJhcidzIHJpZ2h0IGVkZ2Ug4oCUIHNhbWUgYCRjaHJvbWUtYm9yZGVyLWxpZ2h0Ly1kYXJrYFxuLy8gcGFpciB1c2VkIGVsc2V3aGVyZSBmb3IgdGhlIHJlc3Rpbmcgc3RhdGUsIHBsdXMgdGhlIGAtYWN0aXZlYCB2YXJpYW50XG4vLyB3aGVuIHRoZSB1c2VyIGhvdmVycy9kcmFncyB0aGUgcmVzaXplIGhhbmRsZSAoc2xpZ2h0bHkgbW9yZSBjb250cmFzdFxuLy8gd2l0aG91dCBjb21taXR0aW5nIHRvIGFuIGFjY2VudCBjb2xvcikuXG4vLyBNb2Rlcm4ncyBleHBlcmltZW50YWwtc2lkZWJhciByaWdodCBlZGdlIOKAlCBkaXZpZGVyIHZpYSBgYm9yZGVyLXJpZ2h0YFxuLy8gb24gdGhlIHNpZGViYXIgaXRzZWxmIChyZXN0IHN0YXRlKSwgd2l0aCBhIDFweCBgYm94LXNoYWRvd2Agb3V0c2lkZVxuLy8gdGhlIHJpZ2h0IGVkZ2Ugb24gaG92ZXIvZHJhZyBvZiB0aGUgcmVzaXplIGhhbmRsZSAoYWN0aXZlIGVtcGhhc2lzKS5cbi8vIFNhbWUgcGF0dGVybiBhcHBsaWVkIHRvIHRoZSBDbGFzc2ljIHN1Ym1lbnUncyByaWdodCBlZGdlIChzZWUgYmxvY2tcbi8vIGZ1cnRoZXIgZG93bikuIE5vIHNlcGFyYXRlIGAuZXhwZXJpbWVudGFsLXNpZGViYXItZWRnZS1saW5lYCBlbGVtZW50XG4vLyBleGlzdHMgYW55bW9yZS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIEhvdmVyIC8gZHJhZyDigJQgYm9yZGVyIGNvbG9yIGJ1bXBzICsgMXB4IGJveC1zaGFkb3cgb3V0c2lkZSBmb3IgdGhlXG4vLyAycHggdGludGVkIHN0cmlwZSBlZmZlY3QgKDFweCBib3JkZXIgaW5zaWRlICsgMXB4IHNoYWRvdyBvdXRzaWRlKS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1leHBlcmltZW50YWwtcmVzaXplLWhhbmRsZSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIucmVzaXppbmctZXhwZXJpbWVudGFsIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1leHBlcmltZW50YWwtcmVzaXplLWhhbmRsZSAuZXhwZXJpbWVudGFsLXNpZGViYXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1leHBlcmltZW50YWwgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAxcHggMCAwICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi8vIENsYXNzaWMgc3VibWVudSdzIGVkZ2Ugc3R5bGluZyBpcyByZW5kZXJlZCB2aWEgYG1hdC1zaWRlbmF2YCdzIG93blxuLy8gYGJvcmRlci1yaWdodGAgKHJlc3Qgc3RhdGUpIHBsdXMgYSBgYm94LXNoYWRvd2AgKGhvdmVyL2RyYWcpIOKAlCBzZWVcbi8vIHRoZSBibG9jayB0aXRsZWQgXCJDTEFTU0lDIExBWU9VVCDigJQgc3VibWVudSdzIHJpZ2h0IGJvcmRlclwiIGZ1cnRoZXJcbi8vIGRvd24uIE5vIHNlcGFyYXRlIGAuc3VibWVudS1lZGdlLWxpbmVgIGVsZW1lbnQgZXhpc3RzIGFueW1vcmUuXG4vLyBCb3R0b20gcmFpbCBiZyDigJQgZXhwbGljaXQgdGhlbWUgdG9rZW5zIChyYXRoZXIgdGhhbiBgYmFja2dyb3VuZC1jb2xvcjpcbi8vIGluaGVyaXRgKSBzbyB0aGUgc3RpY2t5IHN0cmlwIHJlbGlhYmx5IG9wYXF1ZSwgaGlkaW5nIHNjcm9sbGluZyBpdGVtc1xuLy8gYmVoaW5kIGl0IGluc3RlYWQgb2YgbGV0dGluZyB0aGVtIGJsZWVkIHRocm91Z2guXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIFN0aWNreSBoZWFkZXIgaW5zaWRlIHRoZSBzY3JvbGxhYmxlIGl0ZW1zIGFyZWEg4oCUIG9wYXF1ZSBiZyBzbyBpdGVtc1xuLy8gc2Nyb2xsaW5nIHVwIGRpc2FwcGVhciBiZWhpbmQgaXQgaW5zdGVhZCBvZiBibGVlZGluZyB0aHJvdWdoLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWhlYWRlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG4vLyBEaXZpZGVyIGxpbmVzIG9uIHRoZSBoZWFkZXIgLyBib3R0b20gcmFpbCDigJQgc3VyZmFjZWQgb25seSB3aGVuIHRoZXJlJ3Ncbi8vIGNvbnRlbnQgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgYWJvdmUgKGAuaGFzLWRpdmlkZXJgIG9uIGhlYWRlcikgb3IgYmVsb3dcbi8vIChgLmhhcy1kaXZpZGVyYCBvbiBib3R0b20gcmFpbCkuIERlZmF1bHQgYm9yZGVyLWNvbG9yIGlzIHRyYW5zcGFyZW50IChzZXRcbi8vIGluIHRoZSBjb21wb25lbnQgU0NTUyBhcyBhIHNob3J0aGFuZCBgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50YClcbi8vIHNvIHRoZSBsYXlvdXQgZG9lc24ndCBzaGlmdCB3aGVuIHRoZSBjbGFzcyB0b2dnbGVzLiBgIWltcG9ydGFudGAgaXNcbi8vIG5lZWRlZCBiZWNhdXNlIHRoZSBzaG9ydGhhbmQgaW4gdGhlIGNvbXBvbmVudCBTQ1NTLCB3aXRoIHZpZXctZW5jYXBzdWxhdGlvblxuLy8gYXR0cnMsIGhhcyBoaWdoZXIgc3BlY2lmaWNpdHkgKDAsNCwwKSB0aGFuIHRoZSB0aGVtZSBydWxlICgwLDMsMSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItaGVhZGVyLmhhcy1kaXZpZGVyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQgIWltcG9ydGFudCwgJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20uaGFzLWRpdmlkZXInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQpO1xuLy8gRHJvcCBzaGFkb3dzIG9uIHRoZSBoZWFkZXIgKHdoZW4gc2Nyb2xsLWNsaXBwZWQgYWJvdmUpIGFuZCBib3R0b20gcmFpbFxuLy8gKHdoZW4gc2Nyb2xsLWNsaXBwZWQgYmVsb3cpIHdlcmUgcmVtb3ZlZCBwZXIgZGVzaWduIGRlY2lzaW9uIOKAlCB0aGVcbi8vIDFweCBkaXZpZGVyIGxpbmUgYWxvbmUgaXMgZW5vdWdoIHRvIGNvbnZleSB0aGUgXCJsaWZ0ZWRcIiBib3VuZGFyeSwgYW5kXG4vLyB0aGUgc2hhZG93IGFkZGVkIHZpc3VhbCB3ZWlnaHQgdGhhdCBjb21wZXRlZCB3aXRoIHRoZSByZXN0IG9mIHRoZVxuLy8gcXVpZXQgY2hhaXIgY2hyb21lLiBSZS1hZGQgdmlhIGAuaGFzLWRpdmlkZXJgIC8gYC5oYXMtc2hhZG93YCBydWxlc1xuLy8gaGVyZSBpZiB0aGUgbGlmdCBjdWUgaXMgd2FudGVkIGFnYWluLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbSAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBIb21lLWljb24gZG8gYnJhbmQtbGluayAobG9nbyBKRU1TICsgaG9tZSBubyBleHBhbmRlZCBzaWRlYmFyKSDigJQgbWVzbWFcbi8vIGNvciBhY3RpdmUgZG9zIMOtY29uZXMgZG9zIGl0ZW1zIHByYSBiYXRlciB2aXN1YWxtZW50ZSAxOjEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWhvbWUtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvbWUgc3RhbmQtYWxvbmUgbm8gY29sbGFwc2VkIOKAlCBob3ZlciBiZyBpZ3VhbCBhb3MgaXRlbXMgZGEgcmFpbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaG9tZS1jb2xsYXBzZWQ6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEhvdmVyIGxpZnRzIHRoZSBsYWJlbCB0ZXh0IHRvIHRoZSBTQU1FIGFjdGl2ZSB0b2tlbiB0aGUgaWNvbiBhbHJlYWR5XG4vLyB1c2VzIOKAlCBrZWVwcyBpY29uIGFuZCBsYWJlbCB2aXN1YWxseSBjb2hlcmVudCBvbiBob3ZlciAoYm90aCBhdCB0aGVcbi8vIFwic2VsZWN0ZWQvaG92ZXJcIiBpbnRlbnNpdHkgaW5zdGVhZCBvZiBpY29uIGRhcmsgKyB0ZXh0IHF1aWV0KS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbTpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIENPTExBUFNFRCBsZXZlbC0xIGdyb3VwIGN1am8gZmlsaG8gZXN0w6EgbmEgcm90YSBhdHVhbCByZWNlYmUgbyBtZXNtb1xuLy8gdmlzdWFsIGRvIGhvdmVyIOKAlCBzZW0gaXNzbywgZmVjaGFyIG8gZ3J1cG8gYXBhZ2FyaWEgYSDDum5pY2EgcGlzdGFcbi8vIGRlIFwidm9jw6ogZXN0w6EgZGVudHJvIGRlc3NlIGdydXBvXCIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0uaGFzLWFjdGl2ZS1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0uaGFzLWFjdGl2ZS1jaGlsZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIExldmVsLTEgaXRlbXMgaW4gdGhlIGV4cGFuZGVkIHNpZGViYXIgZG9uJ3QgY2FycnkgYSBwZXJzaXN0ZW50XG4vLyBcInNlbGVjdGVkXCIgaGlnaGxpZ2h0IOKAlCB0aGUgZXhwYW5kL2NvbGxhcHNlIHN0YXRlIGlzIGNvbnZleWVkIHNvbGVseVxuLy8gYnkgdGhlIGNhcmV0IHJvdGF0aW9uIGFuZCB0aGUgdmlzaWJsZSBjaGlsZHJlbiBwYW5lbCBiZWxvdy4gKFdhc1xuLy8gcGFpbnRpbmcgYC5leHBhbmRlZGAgd2l0aCB0aGUgaG92ZXIgYmcgKyBhY3RpdmUgY29sb3I7IHJlbW92ZWQgYXRcbi8vIHRoZSB1c2VyJ3MgcmVxdWVzdC4pXG4vLyBMZXZlbC0yIGNoaWxkIHJvd3Mg4oCUIGRlZmF1bHQgKyBob3ZlciArIHJvdXRlckxpbmtBY3RpdmUgKFwiYWN0aXZlXCIgY2xhc3MpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6aG92ZXInLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBTZWxlY3RlZCAoLmFjdGl2ZSkgYW5kIGhvdmVyIHNoYXJlIHRoZSBzYW1lIGJhY2tncm91bmQg4oCUIGNoYWlyIFVJIGRlc2lnblxuLy8gcnVsZTogaG92ZXIg4omhIHNlbGVjdGVkIGZvciBhY3RpdmUtc3RhdGUgZW1waGFzaXMsIGJvdGggY2xlYXJseSBkaXN0aW5jdFxuLy8gZnJvbSByZXN0LiBUaGUgYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmRgIHRva2VuIGlzXG4vLyBrZXB0IGRlZmluZWQgKHVzZWQgZWxzZXdoZXJlLCBlLmcuIHRoZSBsZWdhY3kgbmF2YmFyKSBidXQgbm8gbG9uZ2VyXG4vLyBhcHBsaWVkIGhlcmUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhlYWRlciAobG9nbyArIGNsb3NlIGJ1dHRvbikg4oCUIHNlcGFyYXRvciBiZWxvdyArIGJ1dHRvbiBob3ZlciBiZyArIGRhcmstXG4vLyBtb2RlIGxvZ28gaW52ZXJ0IChzYW1lIHBhdHRlcm4gYXMgdGhlIHByZXZpb3VzbHkgcmVtb3ZlZCBsZWZ0LWNvbHVtbi1oZWFkZXIpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gQ2xhc3NpYyB0b29sYmFyIGxvZ28g4oCUIHNhbWUgZmlsdGVyIHRyZWF0bWVudCBhcyB0aGUgTW9kZXJuJ3Ncbi8vIGV4cGVyaW1lbnRhbC1zaWRlYmFyIGxvZ28gYWJvdmU6IHRoZSBzaGlwcGVkIFNWRyAoYGplbXMtYWx0LnN2Z2ApIGlzXG4vLyB0aGUgV0hJVEUgdmVyc2lvbiAoZGFyay1tb2RlIG5hdGl2ZSksIHNvIGxpZ2h0IG1vZGUgaW52ZXJ0cyBpdCB0b1xuLy8gYmxhY2sgdmlhIGZpbHRlci4gRGFyayBtb2RlIGtlZXBzIHRoZSBvcmlnaW5hbCB3aGl0ZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXItbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhci1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gU3RhdGljIGljb24gY29sb3Igb25seSDigJQgaG92ZXIgYmcgcmVtb3ZlZCBwZXIgZGVzaWduIGRlY2lzaW9uIChrZWVwc1xuLy8gdGhlIHRvZ2dsZSBhcyBhIHF1aWV0ZXIgY2hyb21lIGVsZW1lbnQgd2l0aCBubyBob3ZlciBhZmZvcmRhbmNlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1jbG9zZS1idXR0b24gLm1hdC1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gQm90dG9tLXJhaWwgaWRlbnRpdHkgYmxvY2sg4oCUIHNhbWUgXCJhY3RpdmVcIiB0ZXh0IGNvbG9yIHVzZWQgYnkgZXhwYW5kZWRcbi8vIG1lbnUgaXRlbXMgc28gaXQgcmVhZHMgYXMgcHJpbWFyeSBpbmZvOyB0aGUgSUQgYW5kIGVtYWlsIGluaGVyaXQgYW5kXG4vLyBtdXRlIHRoZW1zZWx2ZXMgdmlhIHRoZSBvcGFjaXR5IHJhbXAgc2V0IGluIHRoZSBjb21wb25lbnQgU0NTUy4gV2l0aG91dFxuLy8gdGhpcyBydWxlIHRoZSBibG9jayB3b3VsZCBmYWxsIGJhY2sgdG8gdGhlIGdsb2JhbCBkZWZhdWx0IHRleHQgY29sb3IsXG4vLyB3aGljaCByZW5kZXJzIHRvbyBkYXJrIGluIGRhcmstbW9kZSAodGhlIHN5bXB0b20gd2UncmUgZml4aW5nIGhlcmUpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC11c2VyLWluZm8nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbi8vIERyYWctYW5kLWRyb3AgdmlzdWFsIGZlZWRiYWNrIGZvciByZW9yZGVyaW5nIEZhdm9yaXRvcyBpdGVtcy4gVGhlXG4vLyBgLmNkay1kcmFnLXByZXZpZXdgIGlzIHRoZSBmbG9hdGluZyBjbG9uZSBDREsgcmVuZGVycyBhdCB0aGUgYm9keSByb290XG4vLyB3aGlsZSB0aGUgdXNlciBkcmFncy4gQ0RLIGNvcGllcyB0aGUgc291cmNlJ3MgY2xhc3NlcyBidXQgdGhlIGNsb25lIGlzXG4vLyBvdXRzaWRlIHRoZSBjb21wb25lbnQncyB2aWV3IGVuY2Fwc3VsYXRpb24sIHNvIGNvbXBvbmVudC1zY29wZWQgcnVsZXNcbi8vIGRvbid0IHJlYWNoIGl0IOKAlCB3ZSByZXN0YXRlIHRoZSByb3cgZ2VvbWV0cnksIHR5cG9ncmFwaHksIEFORCBpbm5lclxuLy8gaWNvbi9sYWJlbCBzdHlsZXMgaGVyZSBzbyB0aGUgZmxvYXRpbmcgY2xvbmUgaXMgcGl4ZWwtZmFpdGhmdWwgdG8gdGhlXG4vLyBvcmlnaW5hbCBsZXZlbC0yIHJvdy4gVmlzdWFsbHkgdHJlYXRlZCBhcyBhIFwiaG92ZXJlZFwiIHZlcnNpb24gb2YgdGhlXG4vLyByb3cgKGhvdmVyLWJnICsgYWN0aXZlIHRleHQgY29sb3IpIHBsdXMgYSBzdWJ0bGUgZWxldmF0aW9uLCBzbyB0aGVcbi8vIGxpZnRlZCBzdGF0ZSByZWFkcyBhcyBhIHNpYmxpbmcgb2YgdGhlIG1lbnUncyBvd24gaG92ZXIgYWZmb3JkYW5jZS5cbi5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAyOHB4O1xuICAvLyBQYWRkaW5nLWxlZnQgbWlycm9ycyB0aGUgc291cmNlIHJvdydzIHZhbHVlIChidW1wZWQgZnJvbSAyMuKGkjI2IGluXG4gIC8vIHRoZSBjb21wb25lbnQgU0NTUyB0byBsZWF2ZSByb29tIGZvciB0aGUgZHJhZyBoYW5kbGUgaW4gdGhlIGluZGVudFxuICAvLyBndXR0ZXIpLiBUaGUgaGFuZGxlIGl0c2VsZiBpcyBoaWRkZW4gaW5zaWRlIHRoZSBwcmV2aWV3IChzZWUgYmVsb3cpLFxuICAvLyBidXQgdGhlIHBhZGRpbmcgc3RpbGwgaGFzIHRvIG1hdGNoIHNvIHRoZSBpY29uICsgbGFiZWwgc2l0IGF0IHRoZVxuICAvLyBzYW1lIHggaW4gdGhlIGNsb25lIGFzIGluIHRoZSBzb3VyY2Ug4oCUIG90aGVyd2lzZSB0aGUgcm93IHZpc2libHlcbiAgLy8ganVtcHMgd2hlbiB0aGUgdXNlciBwaWNrcyBpdCB1cC5cbiAgcGFkZGluZzogMCAxNHB4IDAgMjZweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBMZWFkaW5nIGljb24g4oCUIHJlc3RhdGVkIGJlY2F1c2UgdGhlIGNvbXBvbmVudC1zY29wZWQgcnVsZSBmb3JcbiAgLy8gYC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1pY29uYCBkb2Vzbid0IGFwcGx5IG91dHNpZGUgdGhlXG4gIC8vIGNvbXBvbmVudCdzIGhvc3QgYXR0cmlidXRlLiBNaXJyb3JzIHRoZSBvcmlnaW5hbCAxNnB4ICg4MCUgb2ZcbiAgLy8gbGV2ZWwtMSkgc2l6aW5nIGFuZCB0aGUgc2FtZSBNYXRlcmlhbCBTeW1ib2xzIHZhcmlhYmxlIGF4ZXMuXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIC8vIE1pcnJvcnMgdGhlIHNvdXJjZSByb3cncyA4cHggKHdhcyAxMCkgc28gdGhlIGZsb2F0aW5nIHByZXZpZXdcbiAgICAvLyBkb2Vzbid0IHNoaWZ0IHRoZSBsYWJlbCBob3Jpem9udGFsbHkgd2hlbiB0aGUgdXNlciBncmFicyB0aGUgcm93LlxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICB9XG5cbiAgLy8gTGFiZWwg4oCUIGZsZXgtZ3JvdyB3aXRoIGVsbGlwc2lzIHNvIGEgbG9uZyBsYWJlbCB0cnVuY2F0ZXMgY2xlYW5seVxuICAvLyBpbnNpZGUgdGhlIGZpeGVkLXdpZHRoIHByZXZpZXcgY2xvbmUgKENESyBwaW5zIHRoZSBwcmV2aWV3J3Mgd2lkdGhcbiAgLy8gdG8gdGhlIHNvdXJjZSdzIGNsaWVudFdpZHRoKS5cbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLy8gVHJhaWxpbmcgZmF2b3JpdGUgc3RhciBpcyBzdXBwcmVzc2VkIGluc2lkZSB0aGUgcHJldmlldyDigJQgdGhlIGRyYWdcbiAgLy8gZ2VzdHVyZSBpdHNlbGYgY29udmV5cyBcImFjdGl2ZSBpdGVtXCIsIGFuZCB0aGUgc3RhcidzIGhvdmVyLWRyaXZlblxuICAvLyB2aXNpYmlsaXR5IHdvdWxkbid0IGZpcmUgb24gdGhlIHN0YW5kYWxvbmUgY2xvbmUgYW55d2F5LiBTYW1lIGZvclxuICAvLyB0aGUgbGVhZGluZyBkcmFnIGhhbmRsZSDigJQgaXRzIHJvbGUgKHNpZ25hbGluZyBkcmFnIGFmZm9yZGFuY2UpIGlzXG4gIC8vIG1vb3Qgb25jZSB0aGUgdXNlciBpcyBhbHJlYWR5IGRyYWdnaW5nLlxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZmF2b3JpdGUtYnRuLFxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtZHJhZy1oYW5kbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5saWdodC10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi8vIFBsYWNlaG9sZGVyIGxlZnQgYmVoaW5kIGluIHRoZSBvcmlnaW5hbCBzbG90IOKAlCBkaW1tZWQgdG8gYSBcImdob3N0XCJcbi8vIHN0YXRlIHNvIHRoZSB1c2VyIHNlZXMgd2hlcmUgdGhlIHJvdyB3YXMgc2l0dGluZyBhbmQgZ2F1Z2VzIHdoZXJlXG4vLyB0aGUgZHJvcCB3aWxsIGxhbmQgaWYgdGhleSByZWxlYXNlIG92ZXIgdGhlIHNhbWUgc2xvdC4gU2FtZSBnZW9tZXRyeVxuLy8gYXMgdGhlIHJvdyAoQ0RLIGNsb25lcyBpdCkgc28gdGhlIHN1cnJvdW5kaW5nIGl0ZW1zIGRvbid0IHNoaWZ0LlxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFNtb290aCBzaGlmdCBmb3IgdGhlIE9USEVSIGl0ZW1zIGFzIHRoZXkgYW5pbWF0ZSB0byBmaWxsIHRoZSBtb3ZlZFxuLy8gcm93J3Mgb2xkIHNsb3QgLyBtYWtlIHJvb20gZm9yIHRoZSBuZXcgcG9zaXRpb24uIENESyBhcHBsaWVzXG4vLyBgLmNkay1kcmFnLWFuaW1hdGluZ2AgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgYXV0by10cmFuc2xhdGU7IHRoZVxuLy8gYGNkay1kcm9wLWxpc3QtZHJhZ2dpbmdgIGNsYXNzIG9uIHRoZSBjb250YWluZXIgbGV0cyB1cyBzY29wZSB0aGVcbi8vIHRyYW5zaXRpb24gdG8gb25seSB3aGVuIGEgZHJhZyBpcyBpbiBwcm9ncmVzcyAob3RoZXJ3aXNlIHVucmVsYXRlZFxuLy8gcmUtcmVuZGVycyBpbmhlcml0IHRoZSBlYXNpbmcpLlxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkOm5vdCguY2RrLWRyYWctcGxhY2Vob2xkZXIpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zICRlYXNlLW91dDtcbn1cblxuLy8gLS0tLS0tLS0tLSBGbHlvdXQgZHJhZy1hbmQtZHJvcCB2aXN1YWwgZmVlZGJhY2sgLS0tLS0tLS0tLVxuLy8gVGhlIEZhdm9yaXRvcyBmbHlvdXQgKGNvbGxhcHNlZC1tb2RlIG1hdC1tZW51KSBzdXBwb3J0cyB0aGUgc2FtZSBkcmFnLVxuLy8gcmVvcmRlciBnZXN0dXJlIGFzIHRoZSBpbmxpbmUgbGV2ZWwtMiBsaXN0LiBQcmV2aWV3IC8gcGxhY2Vob2xkZXIgL1xuLy8gYW5pbWF0aW5nLXJvdyB0cmVhdG1lbnRzIG1pcnJvciB0aGUgaW5saW5lIHJ1bGVzIGFib3ZlOyB0aGUgc291cmNlIHJvd1xuLy8gZ2VvbWV0cnkgcmVzdGF0ZWQgaGVyZSBpcyBmb3IgdGhlIGAuY2RrLWRyYWctcHJldmlld2AgY2xvbmUgKHJlbmRlcmVkXG4vLyBhdCBib2R5IHJvb3QsIG91dHNpZGUgdGhlIGZseW91dCdzIG1hdC1tZW51IHN0eWxlcykuXG4uY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDZweCAxNHB4IDZweCAyNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZXhwZXJpbWVudGFsLWZseW91dC1jaGlsZC1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICB9XG4gID4gc3BhbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuICAvLyBEcmFnIGhhbmRsZSArIGZhdm9yaXRlIHN0YXIgaGlkZGVuIGluIHRoZSBwcmV2aWV3IOKAlCBuZWl0aGVyIHJvbGVcbiAgLy8gYXBwbGllcyBkdXJpbmcgdGhlIGxpZnRlZCBkcmFnIHN0YXRlLlxuICAuZXhwZXJpbWVudGFsLWZseW91dC1kcmFnLWhhbmRsZSxcbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZmF2b3JpdGUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubGlnaHQtdGhlbWUgLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1mbG9hdGluZy1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi5jZGstZHJhZy1wbGFjZWhvbGRlci5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyAtLS0tLS0tLS0tIENsYXNzaWMgc3VibWVudSBkcmFnLWFuZC1kcm9wIHZpc3VhbCBmZWVkYmFjayAtLS0tLS0tLS0tXG4vLyBUaGUgQ2xhc3NpYyBsYXlvdXQncyBzdWJtZW51IChgPG1hdC1zaWRlbmF2PmAgKyBgPG1hdC1saXN0PmApIHN1cHBvcnRzXG4vLyB0aGUgc2FtZSBkcmFnLXJlb3JkZXIgZ2VzdHVyZSBhcyB0aGUgTW9kZXJuJ3MgbGV2ZWwtMiBjaGlsZHJlbi4gVGhlXG4vLyBgLmNkay1kcmFnLXByZXZpZXdgIGNsb25lIGlzIHJlbmRlcmVkIGF0IHRoZSBib2R5IHJvb3QgKG91dHNpZGUgdGhlXG4vLyBjb21wb25lbnQncyB2aWV3IGVuY2Fwc3VsYXRpb24pLCBzbyB3ZSByZXN0YXRlIHRoZSByb3cgZ2VvbWV0cnkgK1xuLy8gdGhlbWUgdHJlYXRtZW50IGhlcmUgc28gdGhlIGZsb2F0aW5nIHByZXZpZXcgbG9va3MgbGlrZSBhIGhvdmVyZWRcbi8vIHZlcnNpb24gb2YgdGhlIHNvdXJjZSByb3cuXG4uY2RrLWRyYWctcHJldmlldy5tYXQtbGlzdC1pdGVtIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiAwIDE0cHggMCAxNHB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gTWF0ZXJpYWwncyBpbm5lciB3cmFwcGVyIOKAlCByZXN0YXRlZCBvdXRzaWRlIHRoZSBjb21wb25lbnQncyB2aWV3XG4gIC8vIGVuY2Fwc3VsYXRpb24uIFRoZSBzb3VyY2Ugcm93J3MgYDo6bmctZGVlcCAubWF0LWxpc3QtaXRlbS1jb250ZW50YFxuICAvLyBydWxlIChkaXNwbGF5OiBmbGV4KSBkb2Vzbid0IHJlYWNoIHRoZSBwcmV2aWV3IGNsb25lIChyZW5kZXJlZCBhdFxuICAvLyA8Ym9keT4gcm9vdCkuIFdpdGhvdXQgdGhpcywgdGhlIGxhYmVsIC8gaGFuZGxlIC8gc3RhciBpbnNpZGUgdGhlXG4gIC8vIHdyYXBwZXIgc3RhY2sgdmVydGljYWxseSAoZGVmYXVsdCBibG9jayBmbG93KSBhbmQgdGhlIHByZXZpZXdcbiAgLy8gbG9va3Mgbm90aGluZyBsaWtlIHRoZSBzb3VyY2Ugcm93LlxuICAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIEhhbmRsZSAvIHN0YXIga2VwdCBhcyBmbGV4IHNsb3RzICh2aXNpYmlsaXR5OiBoaWRkZW4pIHNvIHRoZVxuICAvLyBsYWJlbCdzIGF2YWlsYWJsZSB3aWR0aCBtYXRjaGVzIHRoZSBzb3VyY2Ugcm93IGV4YWN0bHkg4oCUIHNhbWVcbiAgLy8gdHJ1bmNhdGlvbiBwb2ludCwgc2FtZSB3cmFwIGJlaGF2aW9yLlxuICAuc3VibWVudS1kcmFnLWhhbmRsZSB7XG4gICAgZmxleDogMCAwIDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC5zdWJtZW51LWl0ZW0tbGFiZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuc3VibWVudS1mYXZvcml0ZS1idG4ge1xuICAgIGZsZXg6IDAgMCAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLmxpZ2h0LXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3Lm1hdC1saXN0LWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNkay1kcmFnLXByZXZpZXcubWF0LWxpc3QtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWRhcms7XG59XG5cbi8vIFBsYWNlaG9sZGVyIGxlZnQgaW4gdGhlIHNvdXJjZSBzbG90IOKAlCBkaW1tZWQgZ2hvc3Qgc28gdGhlIHVzZXIgc2Vlc1xuLy8gd2hlcmUgdGhlIHJvdyB3YXMgYmVmb3JlIHRoZXkgZ3JhYmJlZCBpdC5cbi5jZGstZHJhZy1wbGFjZWhvbGRlci5tYXQtbGlzdC1pdGVtIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFNtb290aCBzaGlmdCBmb3Igc2libGluZyByb3dzIGFzIHRoZXkgc2xpZGUgdG8gZmlsbCB0aGUgbW92ZWQgcm93J3Ncbi8vIG9sZCBzbG90LiBTY29wZWQgdG8gYC5jZGstZHJvcC1saXN0LWRyYWdnaW5nYCBzbyB1bnJlbGF0ZWQgcmUtcmVuZGVyc1xuLy8gZG9uJ3QgcGljayB1cCB0aGUgZWFzaW5nLlxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLm1hdC1saXN0LWl0ZW06bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyBFdmVudC1oaWVyYXJjaHkgYnJlYWRjcnVtYiDigJQgc2l0cyBhdCB0aGUgdG9wIG9mIHRoZSBjb250ZW50IGFyZWEuIFNhbWVcbi8vIGJhY2tncm91bmQgYXMgdGhlIHNpZGViYXIgc28gdGhlIGNocm9tZSByZWFkcyBhcyBhIHNpbmdsZSBob3Jpem9udGFsXG4vLyBiYW5kIGNvbnRpbnVpbmcgYWNyb3NzIHRoZSB0b3AuIFRleHQgKyBob3ZlciB1c2UgdGhlIHNhbWUgbWVudWl0ZW1cbi8vIHRva2VucyBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgcmVzdCBvZiB0aGUgY2hhaXIgVUkuXG4vLyBCcmVhZGNydW1iIGNocm9tZSDigJQgc2FtZSBzdXJmYWNlIGFzIHRoZSBzaWRlYmFyIChiYWNrZ3JvdW5kKSBhbmQgdGhlXG4vLyBzYW1lIGRpdmlkZXIgdG9uZSAoYm9yZGVyLWJvdHRvbSkuIFNlZ21lbnQgdGV4dCBmb2xsb3dzIHRoZSBsZXZlbC0xXG4vLyBzaWRlYmFyIGl0ZW1zJyByYW1wOiBtdXRlZCBgbWVudWl0ZW0tY29sb3JgIGJ5IGRlZmF1bHQsIGJyaWdodGVyXG4vLyBgbWVudWl0ZW0tY29sb3ItYWN0aXZlYCBvbiBob3ZlciAvIGN1cnJlbnQgLyBpY29uLiBIb3ZlciBiYWNrZ3JvdW5kXG4vLyBtaXJyb3JzIHRoZSBzaWRlYmFyIGl0ZW0gaG92ZXIgdG9vLCBzbyB0aGUgaGlnaGxpZ2h0IHJlYWRzIGFzIGEgc2libGluZy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBDTEFTU0lDIExBWU9VVCDigJQgc3VibWVudSdzIHJpZ2h0IGJvcmRlciBkb3VibGVzIGFzIHRoZSB2aXN1YWwgc2VwYXJhdG9yXG4vLyBBTkQgdGhlIHJlc2l6ZS1saW5lIGFmZm9yZGFuY2UuIEF0IHJlc3QsIHRoZSBib3JkZXIgdXNlcyB0aGUgY2hyb21lLVxuLy8gZGl2aWRlciB0b25lOyB3aGVuIHRoZSB1c2VyIGhvdmVycyB0aGUgcmVzaXplIGhhbmRsZSAob3IgaXMgbWlkLWRyYWcpLFxuLy8gdGhlIGJvcmRlciBidW1wcyB0byB0aGUgYC1hY3RpdmVgIHRva2VuLiBUaGUgYm9yZGVyIGlzIHBhcnQgb2YgdGhlXG4vLyBzdWJtZW51J3Mgb3duIGJveCAod2l0aCBgYm94LXNpemluZzogYm9yZGVyLWJveGApIHNvIGl0IHNsaWRlcyBpbiB3aXRoXG4vLyB0aGUgbWF0LXNpZGVuYXYgYW5pbWF0aW9uIG5hdHVyYWxseSDigJQgbm8gYC5zdWJtZW51LWVkZ2UtbGluZWAgb3ZlcmxheVxuLy8gbmVlZGVkIGZvciB0aGUgc2VwYXJhdG9yLiBUaGVtZS1hd2FyZSArIGAhaW1wb3J0YW50YCAodG8gYmVhdCB0aGUgYmFzZVxuLy8gYGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50YCBhdCBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzXG4vLyBsaW5lIH4xMzMwKS5cbi8vIEJhY2tncm91bmQgKyB0aGVtZSB0b2tlbnMuIChUaGUgTWF0ZXJpYWwgbWF0LXNpZGVuYXYgcnVsZXMgYXQgbGluZXNcbi8vIDEzMi0xNDUgc3RpbGwgYXBwbHksIGJ1dCBtYXQtc2lkZW5hdiBpcyBub3cgZW1wdHkvZGVjb3JhdGl2ZSBpblxuLy8gQ2xhc3NpYyDigJQga2VwdCBvbmx5IGFzIGEgc3RydWN0dXJhbCBwbGFjZWhvbGRlciBmb3IgdGhlIE1hdGVyaWFsXG4vLyBtYXQtc2lkZW5hdi1jb250YWluZXIuIFRoZSB2aXNpYmxlIHN1Ym1lbnUgaXMgYC5jbGFzc2ljLXN1Ym1lbnVgLilcbi8vXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmNsYXNzaWMtc3VibWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbn1cbi8vIEhvdmVyIC8gZHJhZyDigJQgYm9yZGVyIGNvbG9yIGJ1bXBzICsgYSBIQVJEIDFweCBib3gtc2hhZG93IG91dHNpZGVcbi8vIChvdmVycmlkZXMgdGhlIGRpZmZ1c2UgcmVzdC1zdGF0ZSBzaGFkb3cgc28gdGhlIGFjdGl2ZSBlZGdlIHJlYWRzIGFzXG4vLyBhIGNyaXNwIDJweCB0aW50ZWQtc3RyaXBlIGluc3RlYWQgb2YgYSBmdXp6eSBoYWxvKS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1yZXNpemUtaGFuZGxlIC5jbGFzc2ljLXN1Ym1lbnUsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIucmVzaXppbmctc3VibWVudSAuY2xhc3NpYy1zdWJtZW51IHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIuaG92ZXJpbmctcmVzaXplLWhhbmRsZSAuY2xhc3NpYy1zdWJtZW51LFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXIucmVzaXppbmctc3VibWVudSAuY2xhc3NpYy1zdWJtZW51IHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cblxuLy8gQ0xBU1NJQyBMQVlPVVQg4oCUIGJyZWFkY3J1bWIgaXMgYSBwZXJtYW5lbnQgc3RyaXAgYXQgdGhlIHZlcnkgdG9wIG9mXG4vLyB0aGUgd2luZG93LiBUaGUgY29tcG9uZW50IGhvc3QgaGFzIHplcm8gZmxvdyBoZWlnaHQgKHRoZSBpbm5lclxuLy8gYC5ldmVudC1icmVhZGNydW1iYCBpcyBgcG9zaXRpb246IGZpeGVkYCBhbmQgcGFpbnRzIGl0c2VsZik7IHRoZVxuLy8gdG9vbGJhci9jYW52YXMvc3VibWVudSBvZmZzZXRzIGluIHRoZSBjb21wb25lbnQgU0NTUyByZXNlcnZlIHRoZVxuLy8gMzZweCBmb3IgaXQuXG4uc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIGFwcC1ldmVudC1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbn1cbi5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAvLyBDb25zb21lIG9mZnNldCBhZ3JlZ2FkbyBkZSBjaHJvbWUgKHByb3h5LWJhciBldGMuKSDigJQgYmFzZWxpbmUgMFxuICAvLyBwcm8gbGF5b3V0IENsw6Fzc2ljbyAoYnJlYWRjcnVtYiBmaWNhIG5vIHRvcG8sIGFudGVzIGRvIGFjdGl2aXR5LWJhcikuXG4gIC8vIEFudGVzIGVyYSBgdG9wOiAwYCBoYXJkLWNvZGVkOyBzZW0gZXNzYSB2YXIsIHByb3h5LWJhciBmaWNhdmEgYXRyw6FzLlxuICB0b3A6IHZhcigtLWNocm9tZS10b3Atb2Zmc2V0KTtcbiAgLy8gYCR6LWJyZWFkY3J1bWJgIHNsb3RzIGFib3ZlIHRoZSByZXNpemUgaGFuZGxlcyBhbmQgdG9vbGJhciBidXRcbiAgLy8gYmVsb3cgQ0RLIG92ZXJsYXlzICh0b29sdGlwcywgbWVudXMpLiBIaWVyYXJjaHk6IHNlZSBgX3otaW5kZXguc2Nzc2AuXG4gIHotaW5kZXg6ICR6LWJyZWFkY3J1bWI7XG59XG4vLyBEYXJrIG1vZGUsIENsYXNzaWMgb25seTogdGhlIGZsb2F0aW5nIGJyZWFkY3J1bWIgc2l0cyBvbiB0aGUgc2FtZVxuLy8gYCMyMDIwMjBgIGNocm9tZSBhcyB0aGUgdG9vbGJhciwgc28gdGhlIHNlZ21lbnRzJyAwLjY1LW9wYWNpdHkgZGltXG4vLyAod2hpY2ggcmVhZHMgZmluZSBpbiBNb2Rlcm4sIHdoZXJlIHRoZSBicmVhZGNydW1iIGZsb2F0cyBvdmVyIHRoZVxuLy8gYmxhY2sgY2FudmFzKSBlbmRzIHVwIGZhZGVkIGludG8gdGhlIHN1cnJvdW5kaW5nIGJnLiBDb21wZW5zYXRlIGJ5XG4vLyBwcm9tb3RpbmcgdGhlIG5vbi1jdXJyZW50IHNlZ21lbnQgdGV4dCB0byB0aGUgYnJpZ2h0ZXIgYWN0aXZlIHRva2VuXG4vLyDigJQgcmVzdG9yZXMgdGhlIHBlcmNlaXZlZCBsZWdpYmlsaXR5IHRvIG1hdGNoIE1vZGVybi5cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbn1cbi8vIERlZmF1bHQgc2VnbWVudCB0ZXh0OiBtdXRlZCB0b2tlbiAoY2hhaXIgVUkgXCJyZXN0XCIgY29sb3IpLiBIb21lIGljb25cbi8vIGFuZCBpbnRlcm1lZGlhdGVzIGluaGVyaXQgdGhpcyDigJQgZ2l2ZXMgdGhlbSB0aGUgXCJsaWdodFwiIHRyZWF0bWVudCBwZXJcbi8vIHRoZSBkZXNpZ24gcnVsZSBcImhvbWUgKyBpbnRlcm1lZGlhdGVzIGxpZ2h0ZXIsIGN1cnJlbnQgaGlnaGxpZ2h0ZWRcIi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQ3VycmVudCBzZWdtZW50IHVzZXMgdGhlIGJyaWdodGVyIGBtZW51aXRlbS1jb2xvci1hY3RpdmVgIOKAlCBzYW1lIHRva2VuXG4vLyB0aGUgc2lkZWJhciB1c2VzIGZvciBzZWxlY3RlZCBpdGVtcy4gQ29tYmluZWQgd2l0aCB0aGUgd2dodCA1MDAgYnVtcFxuLy8gb24gYC5ldmVudC1icmVhZGNydW1iLWxhYmVsLXN0cm9uZ2AgKHRoZSBhY3JvbnltICsgeWVhciBwcmVmaXgpLCB0aGlzXG4vLyBnaXZlcyB0aGUgY3VycmVudCBldmVudCBhIGNsZWFyIFwieW91IGFyZSBoZXJlXCIgZW1waGFzaXMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50LmN1cnJlbnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBIb3ZlciBhZmZvcmRhbmNlcyBvbiBldmVyeSBpbnRlcmFjdGl2ZSBzZWdtZW50IHZhcmlhbnQg4oCUIGFuY2hvcnNcbi8vIChsaW5rZWQgc2VnbWVudHMpIEFORCBidXR0b25zICh0aGUgc3ViLWV2ZW50cyB0cmlnZ2VyKS4gU3BhbiBmYWxsYmFja3Ncbi8vIChlbGxpcHNpcywgdW5saW5rZWQgY3VycmVudCkgc3RheSBvdXQgb2YgdGhlc2UgcnVsZXMgc28gdGhleSBkb24ndFxuLy8gcHJldGVuZCB0byBiZSBpbnRlcmFjdGl2ZS4gQ292ZXJzIHJlZ3VsYXIgaW50ZXJtZWRpYXRlcywgdGhlIGN1cnJlbnRcbi8vIGV2ZW50J3MgYW5jaG9yICh3aGljaCBsaW5rcyB0byB0aGUgZXZlbnQncyBcIkluZm9ybWHDp8O1ZXNcIiBwYWdlKSwgYW5kXG4vLyB0aGUgdHJhaWxpbmcgXCLigKZcIiBidXR0b24gdGhhdCBvcGVucyB0aGUgc3ViLWV2ZW50cyBtZW51LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnYS5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQ6aG92ZXIsIGJ1dHRvbi5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQ6aG92ZXInLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICdhLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlciwgYnV0dG9uLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG4vLyBCb3TDo28gZGUgZW50cmFyL3NhaXIgZG8gbW9kbyBhbXBsbyAoY2FudG8gZGlyZWl0byBkYSBiYXJyYSkg4oCUIG1lc21vIGJnXG4vLyBkZSBob3ZlciBkb3Mgc2VnbWVudG9zIHByYSBsZXIgY29tbyBmYW3DrWxpYSB2aXN1YWwgY29lcmVudGUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi13aWRlLXRvZ2dsZTpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG4vLyBJY29ucyBpbnNpZGUgc2VnbWVudHMgc2l0IGF0IHRoZSBhY3RpdmUgdG9rZW4gKHNhbWUgcnVsZSB0aGUgc2lkZWJhclxuLy8gYXBwbGllcyB0byBpdHMgaXRlbSBpY29ucyDigJQga2VlcHMgdGhlIGh1ZSBzdGFibGUgYWNyb3NzIHN0YXRlcykuXG4vLyBPcGFjaXR5IGlzIHNldCBvbiB0aGUgaWNvbiBjbGFzcyBpbiB0aGUgY29tcG9uZW50IFNDU1MgdG8gdGhlIGNoYWlyXG4vLyBVSSdzIGAwLjY1YCBpY29ucy1hdC1yZXN0IGxldmVsLCBtYXRjaGluZyB0aGUgbGV2ZWwtMSBzaWRlYmFyIGljb25cbi8vIHRyZWF0bWVudCBzbyB0aGUgaG9tZSBnbHlwaCByZWFkcyBhdCB0aGUgc2FtZSBkaW1uZXNzIGFzIGEgbm9uLVxuLy8gZXhwYW5kZWQgc2lkZWJhciBpY29uLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXNlcGFyYXRvcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBIb3ZlciBiYWNrZ3JvdW5kIG9uIHRoZSB1c2VyLW1lbnUgdHJpZ2dlciDigJQgc2FtZSByZWNpcGUgYXMgdGhlIGxldmVsLTFcbi8vIG1lbnUgaXRlbXMsIHNvIHRoZSBoaWdobGlnaHQgdGhhdCBjb3ZlcnMgKGF2YXRhciArIGlkZW50aXR5IHRleHQpIHJlYWRzXG4vLyBhcyBhIHNpYmxpbmcgb2YgdGhlIHJlc3Qgb2YgdGhlIHNpZGViYXIncyBpbnRlcmFjdGl2ZSBzdXJmYWNlcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtdXNlci1tZW51LWJ1dHRvbjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG4vLyBSZW9wZW4gdGFiICh2aXNpYmxlIG9ubHkgd2hpbGUgY29sbGFwc2VkKSDigJQgc2FtZSB0aGVtZSB0b2tlbnMgYXMgdGhlXG4vLyBhY3Rpdml0eS1iYXIgdG9vbGJhciBidXR0b25zIHNvIGl0IHJlYWRzIGFzIGEgc2libGluZyBvZiB0aGF0IGNocm9tZS5cblxuLy8gQWN0aXZpdHkgYmFyIChWUyBDb2RlLXN0eWxlIHZlcnRpY2FsIGljb24gc3RyaXApIOKAlCBzYW1lIHN1cmZhY2UgYXMgdGhlXG4vLyBzaWRlYmFyIHNvIGl0IHJlYWRzIGFzIGEgY29udGludWF0aW9uIG9mIHRoZSBsZWZ0IGNocm9tZTsgc3VidGxlIHJpZ2h0XG4vLyBib3JkZXIgc2VwYXJhdGVzIGl0IGZyb20gdGhlIHN1Ym1lbnUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXInLCBib3JkZXItcmlnaHQtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIERyb3Agc2hhZG93IOKAlCBzw7Mgb3ZlcnJpZGUgbm8gZGFyayAobGlnaHQgZmljYSBjb20gbyBgMCAycHggNXB4IDBcbi8vIHJnYmEoMCwwLDAsMC4yKWAgb3JpZ2luYWwgZG8gYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcykuXG4vLyBgIWltcG9ydGFudGAgcHJhIGdhbmhhciBkbyBjb21wb25lbnQgU0NTUyAocXVlIHRlbSBfbmdjb250ZW50IG5hXG4vLyBlc3BlY2lmaWNpZGFkZSkuXG4uZGFyay10aGVtZSAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIge1xuICBib3gtc2hhZG93OiAwIDJweCA5cHggcmdiYSgwLCAwLCAwLCAwLjUpICFpbXBvcnRhbnQ7XG59XG4vLyBDbGFzc2ljIGxheW91dCByb3RhdGVzIHRoZSBhY3Rpdml0eS1iYXIgOTDCsCAodmVydGljYWwg4oaSIGhvcml6b250YWwgdG9vbGJhclxuLy8gYmVsb3cgdGhlIGJyZWFkY3J1bWIpLiBUaGUgcmlnaHQgYm9yZGVyIGJlY29tZXMgYSBib3R0b20gYm9yZGVyOyB0aGlzXG4vLyBydWxlIG1pcnJvcnMgdGhlIGNvbG91ciB0b2tlbiBzbyB0aGUgZGl2aWRlciBzdGF5cyBpbiBjaHJvbWUtZGl2aWRlciB0b25lXG4vLyByZWdhcmRsZXNzIG9mIG9yaWVudGF0aW9uLiBTZXR0aW5nIGJvdGggaXMgaGFybWxlc3Mg4oCUIG9ubHkgb25lIGJvcmRlclxuLy8gcmVuZGVycyBhdCBhIHRpbWUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsIGJsYWNrKTtcbi8vIFNpbmdsZSBiYXNlIGNvbG9yICh0aGUgXCJhY3RpdmVcIiAvIGRhcmtlc3QpIGZvciBhbGwgaWNvbiBzdGF0ZXMuIFRoZSBjb21wb25lbnRcbi8vIFNDU1MgbW9kdWxhdGVzIG9wYWNpdHkgdG8gZGlmZmVyZW50aWF0ZSBkZWZhdWx0IC8gaG92ZXIgLyBzZWxlY3RlZCDigJQga2VlcHNcbi8vIHRoZSBodWUgc3RhYmxlIGFjcm9zcyBzdGF0ZXMgYW5kIGNyZWF0ZXMgYSBjbGVhbiB2aXN1YWwgaGllcmFyY2h5LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBIb3ZlciArIHNlbGVjdGVkIGJnIG9uIGFjdGl2aXR5LWJhciBidXR0b25zLiBOZWVkICFpbXBvcnRhbnQgaGVyZSBiZWNhdXNlXG4vLyB0aGUgbG9jYWwgcnVsZSBpbiBzaWRlYmFyLWl0ZW0tYWRtaW4uY29tcG9uZW50LnNjc3Ncbi8vIChgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfWApIGdldHNcbi8vIGluZmxhdGVkIHNwZWNpZmljaXR5IGZyb20gdmlldy1lbmNhcHN1bGF0aW9uIGF0dHJpYnV0ZXMgYW5kIG90aGVyd2lzZSB3aW5zLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyAuc2VsZWN0ZWQgaXMgb24gdGhlIGJ1dHRvbiBpdHNlbGYgKHZpYSBbbmdDbGFzc10gaW4gc2lkZWJhci1pdGVtLWFkbWluJ3Ncbi8vIHRlbXBsYXRlKSwgbm90IG9uIHRoZSBhbmNlc3RvciDigJQgc28gd2UgdGFyZ2V0IGJvdGggcG9zc2libGUgbG9jYXRpb25zLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuc2VsZWN0ZWQgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuc2VsZWN0ZWQgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ0xBU1NJQyBMQVlPVVQg4oCUIHRvb2xiYXIgaXRlbSBob3Zlci9zZWxlY3RlZDogaGlnaGxpZ2h0IHBpbGwgb24gdGhlIElDT05cbi8vIG9ubHkgKG5vdCB0aGUgd2hvbGUgaWNvbitsYWJlbCBzdGFjaykuIFRoZSBhYm92ZSBydWxlcyBwYWludCB0aGUgV0hPTEVcbi8vIGJ1dHRvbiBvbiBob3Zlci9zZWxlY3RlZCDigJQgZmluZSBmb3IgTW9kZXJuIChpY29uLW9ubHkgNDDDlzQwIGJ1dHRvbnMpLFxuLy8gYnV0IGluIENsYXNzaWMgdGhlIGJ1dHRvbiBhbHNvIGhvbGRzIHRoZSB0ZXh0IGxhYmVsIGJlbG93IHRoZSBpY29uIGFuZFxuLy8gcGFpbnRpbmcgYm90aCB3b3VsZCBvdmVyLWVtcGhhc2lzZSB0aGUgcm93LiBCZWxvdzogc3VwcHJlc3MgdGhlIGJ1dHRvblxuLy8gcGlsbCBpbiBDbGFzc2ljLCBwYWludCB0aGUgaWNvbiBwaWxsIGluc3RlYWQuIFRoZW1lLWF3YXJlLiBMaXZlcyBoZXJlXG4vLyAoZ2xvYmFsIHN0eWxlc2hlZXQpIHNvIHRoZSBgLmRhcmstdGhlbWVgIGFuY2VzdG9yIG9uIDxib2R5PiBjYW4gbWF0Y2hcbi8vIHdpdGhvdXQgYmVpbmcgdHJhcHBlZCBieSBBbmd1bGFyJ3MgdmlldyBlbmNhcHN1bGF0aW9uLlxuLy9cbi8vIFNwZWNpZmljaXR5IHZzLiBNb2Rlcm4gcnVsZXM6IGAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpYFxuLy8gYWRkcyAwLDIsMCBvdmVyIHRoZSBNb2Rlcm4gc2VsZWN0b3Ig4oaSIHdpbnMgZGVzcGl0ZSBib3RoIHVzaW5nXG4vLyBgIWltcG9ydGFudGAuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCxcbi5kYXJrLXRoZW1lICBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSAgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8vIGAhaW1wb3J0YW50YCBoZXJlIGJlYXRzIHRoZSBNb2Rlcm4ncyBgLm1hdC1pY29uIHsgYmFja2dyb3VuZC1jb2xvcjpcbi8vIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1gIGluIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MgKGxpbmVcbi8vIH4xMTc4KSDigJQgd2l0aG91dCBgIWltcG9ydGFudGAsIHRoYXQgcnVsZSB3aW5zIGV2ZW4gdGhvdWdoIG91ciBzZWxlY3RvclxuLy8gaGFzIGhpZ2hlciBzcGVjaWZpY2l0eSwgYmVjYXVzZSBgIWltcG9ydGFudGAgaXMgY29tcGFyZWQgb25seSBhbW9uZ1xuLy8gcnVsZXMgdGhhdCBhbGwgY2FycnkgaXQuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQgLm1hdC1pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubWF0LWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ0xBU1NJQyBUT09MQkFSIOKAlCBsYWJlbCBjb2xvcjogcmVzdCB1c2VzIHRoZSBtdXRlZCBtZW51aXRlbS1jb2xvciB0b2tlbixcbi8vIGhvdmVyL3NlbGVjdGVkIHN3aXRjaGVzIHRvIHRoZSBicmlnaHRlciBtZW51aXRlbS1jb2xvci1hY3RpdmUuIE1pcnJvcnNcbi8vIHRoZSBNb2Rlcm4gbGV2ZWwtMSBzaWRlYmFyIGl0ZW1zJyBsYWJlbCB0cmVhdG1lbnQgKGxpbmVzIH4yMDMtMjA3XG4vLyBhYm92ZSk6IHNhbWUgdHdvIHRva2Vucywgc2FtZSByZXN04oaSYWN0aXZlIHRyYW5zaXRpb24sIGp1c3QgYXBwbGllZCB0b1xuLy8gYC5sYWJlbGAgaW5zdGVhZCBvZiB0aGUgaXRlbSBjb250YWluZXIuIFRoZW1lLWF3YXJlLCBnbG9iYWwgKHNvIHRoZVxuLy8gcnVsZSBwaWVyY2VzIEFuZ3VsYXIncyB2aWV3IGVuY2Fwc3VsYXRpb24g4oCUIGAubGFiZWxgIGlzIHJlbmRlcmVkIGJ5XG4vLyB0aGUgY2hpbGQgPGFwcC1zaWRlYmFyLWl0ZW0tYWRtaW4+IGNvbXBvbmVudCkuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLmxhYmVsLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubGFiZWwge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5sYWJlbCxcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubGFiZWwge1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG59XG5cbi8vIE5vdGlmaWNhdGlvbiAoYmVsbCkgKyBuZXcgdXNlci1tZW51IGJ1dHRvbnMgaW4gLmFjdGl2aXR5LWJhci1ib3R0b20g4oCUIHNhbWVcbi8vIHRoZW1lLWF3YXJlIHRva2VucyBhcyB0aGUgdG9vbGJhciBpdGVtcyBzbyBob3ZlciBiZWhhdmVzIGNvcnJlY3RseSBpbiBkYXJrXG4vLyBtb2RlLiBIYW5kLXdyaXR0ZW4gd2l0aCAhaW1wb3J0YW50IGZvciB0aGUgc2FtZSB2aWV3LWVuY2Fwc3VsYXRpb24gcmVhc29uXG4vLyBhcyB0aGUgdG9vbGJhciBydWxlcyBhYm92ZS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBCZWxsIGJ1dHRvbidzIFwibWVudSBvcGVuXCIgc3RhdGUgbWlycm9ycyB0aGUgdG9vbGJhciBTRUxFQ1RFRCB2aXN1YWwuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gU2FtZSBydWxlcyBmb3IgdGhlIGV4cGVyaW1lbnRhbCBzaWRlYmFyJ3MgYm90dG9tIHJhaWwgKHVzZXItbWVudSArXG4vLyBub3RpZmljYXRpb24gYmVsbCArIGhlbHBkZXNrKSwgc28gYm90aCBsYXlvdXRzIHNoYXJlIG9uZSBpbnRlcmFjdGlvbiBpZGVudGl0eS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIC5leHBlcmltZW50YWwtdXNlci1tZW51LWJ1dHRvbjpob3Zlcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmV4cGVyaW1lbnRhbC11c2VyLW1lbnUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ29tbWFuZCBwYWxldHRlIHRyaWdnZXIgKGJvdMOjbyBcIkJ1c2Nhci4uLiDijJhLXCIpIG5hIG5hdmJhciBkbyBhdXRvci9yZXZpc29yLlxuLy8gSG92ZXIgdXNhIG8gbWVzbW8gYmcgd2FybSBiZWlnZSBkbyBob3ZlciBkb3MgaXRlbnMgZGEgdG9vbGJhci5cbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gU2hvcnRjdXQgaGludCBjaGlwcyAo4oyYRiBkZW50cm8gZG8gZmlsdGVyLCDijJhLIGRlbnRybyBkbyBwYWxldHRlIHRyaWdnZXIpIOKAlFxuLy8gbWVzbW8gYm9yZGVyLWNvbG9yIGRvIGNvbnRhaW5lciBkbyBjaGlwLWZpbHRlciAoY2hyb21lLWJvcmRlci1hY3RpdmUpLlxuLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYSBlc3BlY2lmaWNpZGFkZSBkYSBWaWV3RW5jYXBzdWxhdGlvblxuLy8gZG8gQW5ndWxhciBzb2JyZSBvIHNob3J0aGFuZCBgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnRgIGxvY2FsLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5zaG9ydGN1dC1oaW50LFxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnNob3J0Y3V0LWhpbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5zaG9ydGN1dC1oaW50LFxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAuc2hvcnRjdXQtaGludCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi8vIENoaXAtc2VhcmNoIChmaWx0cm8gaW5saW5lIGRhIHRvb2xiYXIgZG8gYXV0b3IvcmV2aXNvcik6XG4vLyAtIFRyaWdnZXIgY29sYXBzYWRvOiBtZXNtYSBzdXBlcmbDrWNpZS9ib3JkYSBkbyBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbmBcbi8vICAgKGZ1bmRvIGAkYWRtaW4tYmFja2dyb3VuZGAsIGJvcmRhIGAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmVgKS5cbi8vIC0gSG92ZXI6IGJvcmRhIFwiZW5ncm9zc2FkYVwiIHZpYSBib3gtc2hhZG93IG91dHNldCAxcHggbmEgbWVzbWEgY29yXG4vLyAgIChpZMOqbnRpY28gYW8gZmlsdGVyIGJ1dHRvbiDigJQgcGFpcmluZyB2aXN1YWwpLlxuLy8gLSBDb250YWluZXIgZXhwYW5kaWRvOiBiZyB3YXJtIGJlaWdlIHN1dGlsIHNlbXByZSwgYm9yZGVyIGFjY2VudCBhbyBmb2Nhci5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXI6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLy8gQ2hpcC1zZWFyY2ggZXhwYW5kaWRvIOKAlCBjYXJkIGJyYW5jbyAoTGluZWFyL05vdGlvbi1zdHlsZSkuIENvbnRyYXN0ZVxuLy8gY3JvbcOhdGljbyBjbGFybzogYmcgYnJhbmNvIG5vIGxpZ2h0IC8gY2FudmFzIGRhcmsgbm8gZGFyaywgZGlzdGludG8gZG9cbi8vIHdhcm0gYmVpZ2UgY2lyY3VuZGFudGUuIEJvcmRlciAxcHggdmlzw612ZWwgKHVzYSBjaHJvbWUtYm9yZGVyLWFjdGl2ZSDigJRcbi8vIGBjaHJvbWUtYm9yZGVyYCBzaW1wbGVzIGZpY291IHDDoWxpZG8gZGVtYWlzIHNvYnJlIG8gYnJhbmNvIGRvIGNhcmQpLlxuLy8gYGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3hgIGV2aXRhIHF1ZSBvIGJnIHBpbnRlIHNvYnJlIGEgw6FyZWEgZG9cbi8vIGJvcmRlciAoZGVmYXVsdCBicm93c2VyIGRlaXhhIGJnIGNvYnJpciBib3JkZXIgYXJlYSkuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi8vIEhvdmVyIChzZW0gZm9jbyk6IGJvcmRhIFwiZW5ncm9zc2FkYVwiIHZpYSBib3gtc2hhZG93IG91dHNldCAxcHggbmFcbi8vIG1lc21hIGNvciDigJQgMCBpbXBhY3RvIGVtIGxheW91dCAoYm9yZGVyIHJlYWwgY29udGludWEgMXB4KS5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQ6aG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xufVxuXG4vLyBDb3IgZG8gQ09OVEXDmkRPIGRvIGNoaXAgKMOtY29uZSBkZSBmaWx0cm8sIGF0YWxobyBcIi9cIiwgdGV4dG8vcGxhY2Vob2xkZXIpIOKAlFxuLy8gdGhlbWUtYXdhcmUsIGlkw6pudGljYSDDoCBkb3Mgw61jb25lcyBpbnRlcm5vcyBkbyBgYXBwLXVzZXItc2VhcmNoYCAoYWRtaW5cbi8vIG1lbnVpdGVtIGNvbG9yKS4gU2VtIGlzdG8gbyBjb250ZcO6ZG8gaGVyZGEgdW0gY2luemEgZml4byBxdWUgbm8gZGFyayBmaWNhXG4vLyBlc2N1cm8gZGVtYWlzIChxdWFzZSBpbnZpc8OtdmVsKS4gQ2FzY2F0ZWlhIHAvIG8gYC5tYXQtaWNvbmAsIG8gaW5wdXQgZSBvXG4vLyBgLnNob3J0Y3V0LWhpbnRgICh0b2RvcyBoZXJkYW0gYGNvbG9yYCk7IGFzIG9wYWNpdGllcyBsb2NhaXMgc2VndWVtIHZhbGVuZG8uXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcixcbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIsXG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xufVxuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtY2xlYXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtY2xlYXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi8vIFBhaW5lbCBcIkZpbHRyb3NcIiBkYSBww6FnaW5hIGRlIHJldmlld3Mg4oCUIHNlZ3VlIGV4YXRhbWVudGUgYXMgZGVmcyBkb1xuLy8gYHRwYy11c2VyLW1lbnVgIChhdmF0YXItcHJvZmlsZSBtZW51KTogc3VyZmFjZSBjaGFpciB3YXJtLCBkcm9wLXNoYWRvd1xuLy8gYCRzaGFkb3ctcGFuZWwtbGlnaHQvLWRhcmtgLCBob3ZlciBiZyBtZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLlxuLy8gQXBsaWNhZG8gYW8gYC5zZXBhcmF0b3JgIHF1ZSDDqSBvIFwiY2FyZCBwYWlcIiAoY29udMOpbSBzdWJtaXNzaW9ucy1saXN0LVxuLy8gZmlsdGVyICsgYm90w6NvIExpbXBhciBmaWx0cm9zKS5cbi8vIGAuc3VibWlzc2lvbi1yYW5raW5nLWZpbHRlci1vdmVybGF5YCDDqSBhIHBhbmVsQ2xhc3MgZG8gQ0RLIG92ZXJsYXkgZG8gbWVudSBkZVxuLy8gZmlsdHJvcyBkYSBMaXN0YSBkZSBzdWJtaXNzw7VlcyDigJQgcmVuZGVyaXphZG8gbmEgcmFpeiBkbyBkb2N1bWVudG8gKGZvcmEgZGVcbi8vIGAubWFpbi5zdWJtaXNzaW9uLXJhbmtpbmdgKSwgcG9yIGlzc28gw6kgYWx2ZWphZG8gcGVsYSBwYW5lbENsYXNzLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvcixcbi5saWdodC10aGVtZSAubWFpbi5zdWJtaXNzaW9ucyAuc2VwYXJhdG9yLFxuLmxpZ2h0LXRoZW1lIC5zdWJtaXNzaW9uLXJhbmtpbmctZmlsdGVyLW92ZXJsYXkgLnNlcGFyYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG4uZGFyay10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IsXG4uZGFyay10aGVtZSAubWFpbi5zdWJtaXNzaW9ucyAuc2VwYXJhdG9yLFxuLmRhcmstdGhlbWUgLnN1Ym1pc3Npb24tcmFua2luZy1maWx0ZXItb3ZlcmxheSAuc2VwYXJhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBQYWluZWwgZGUgU0VMRcOHw4NPIERFIFTDk1BJQ09TIChtb2RvIGVkacOnw6NvIGRhIHN1Ym1pc3Npb24gcGFnZSkuIMOJIHVtIGBhcHAtcG9wb3ZlcmBcbi8vIChiYWNrZHJvcCB0cmFuc3BhcmVudGUsIGFuY29yYWRvIGFvIGNhbXBvKSBjb20gYHBhbmVsQ2xhc3M6ICd0b3BpY3Mtc2VsZWN0aW9uLXBhbmVsJ2AuXG4vLyBPIHBhaW5lbCBkbyBwb3BvdmVyIMOpIHPDsyBwb3NpY2lvbmFtZW50byDigJQgdG9kbyBvIFZJU1VBTCB2ZW0gZG8gY29udGXDumRvIHByb2pldGFkb1xuLy8gKGAudG9waWNzLXBhbmVsYCksIGUgY29tbyBvIHBvcG92ZXIgw6kgcG9ydGFkbyBwcm8gPGJvZHk+LCBhcyByZWdyYXMgdMOqbSBkZSBzZXJcbi8vIEdMT0JBSVMgKG1lc21hIHN1cGVyZsOtY2llIGNoYWlyICsgc29tYnJhIHN1YXZlIGRvIG1lbnUgZGUgY29sdW5hcyBkYSBMaXN0YSkuXG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDQ0MHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyNHB4KTtcbiAgbWF4LWhlaWdodDogbWluKDcwdmgsIDQ2MHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgICAgICAgICAgICAgLy8gcXVlbSByb2xhIMOpIGEgw6Fydm9yZSAoLnRvcGljcy10cmVlKVxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubGlnaHQtdGhlbWUgLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8gQ2FiZcOnYWxobzogc8OzIG8gdMOtdHVsbyAoZmVjaGFyIMOpIHBvciBjbGlxdWUtZm9yYS9FU0MsIHF1ZSBqw6EgY29taXRhbSkuXG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAucGFuZWwtaGVhZGVyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC5wYW5lbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07ICAgICAgICAgLy8gMTVweFxuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG59XG5cbi8vIENvbnRhZG9yIChtaW4vbWF4IMOpIHPDsyBpbmZvcm1hdGl2byDigJQgbyBmZWNoYXIgc2VtcHJlIGNvbWl0YSkuXG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLWNvdW50IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgICAgICAgICAgIC8vIDEycHhcbiAgY29sb3I6ICRncmF5LTUwMDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAmLmludmFsaWQgeyBjb2xvcjogJGVycm9yLWludmFsaWQtY29sb3I7IH1cbn1cblxuLy8gw4Fydm9yZSByb2zDoXZlbC5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtdHJlZSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbn1cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpYy1jYXRlZ29yeSB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgLmNhdGVnb3J5LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgICAgICAvLyAxM3B4XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgbWFyZ2luOiA2cHggMCAycHg7XG4gIH1cbiAgLnRvcGljLWl0ZW0geyBtYXJnaW4tbGVmdDogMTRweDsgfVxufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogM3B4IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgICAgICAgIC8vIDEzcHhcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG4gIGlucHV0IHsgZmxleDogMCAwIGF1dG87IGN1cnNvcjogcG9pbnRlcjsgfVxuICBzcGFuIHsgbGluZS1oZWlnaHQ6IDEuMzsgfVxufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1lbXB0eSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogJGdyYXktNTAwO1xufVxuXG4vLyBEYXJrOiB0ZXh0b3MvaG92ZXIgZG8gY2hhaXIuXG4uZGFyay10aGVtZSAudG9waWNzLXNlbGVjdGlvbi1wYW5lbCB7XG4gIC5wYW5lbC10aXRsZSxcbiAgLnRvcGljLWNhdGVnb3J5IC5jYXRlZ29yeS1uYW1lLFxuICAudG9waWMtaXRlbSB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC50b3BpY3MtY291bnQgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAudG9waWMtaXRlbTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxufVxuXG4vLyBIb3ZlciBkbyByb3cgKGxhYmVsKSDigJQgYmcgbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCBkbyBjaGFpci4gQ29yIGRvXG4vLyB0ZXh0by/DrWNvbmUgREVOVFJPIGRvIGNoaXAgKHNwYW4pIMOpIGRlZmluaWRhIHBlbG8gY29sb3JDbGFzcyBwZXItc3RhdHVzXG4vLyAobsOjbyBtdWRhIG5vIGhvdmVyIOKAlCBvIGNoaXAgbWFudMOpbSBzdWEgaWRlbnRpZGFkZSBjcm9tw6F0aWNhKS5cbi5saWdodC10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IC5jaGlwLWNoZWNrYm94IGxhYmVsOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IC5jaGlwLWNoZWNrYm94IGxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCAuY2hpcC1jaGVja2JveCBsYWJlbDpob3Zlcixcbi5kYXJrLXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IC5jaGlwLWNoZWNrYm94IGxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEN1c3RvbSBjaGVja2JveCAoaW5wdXQgbmF0aXZvIGVzdGlsaXphZG8pIOKAlCBlc3BlbGhhIGRlZnMgZG8gQ2hlY2tsaXN0XG4vLyBkbyBjaGFpcjogYm9yZGVyIHdhcm0gZ3JheSBvZmYsIGZpbGwgd2FybSBkYXJrIG9uIGNvbSBjaGVjayBjbGFyby5cbi5saWdodC10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktNDUwICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJvcmRlci1jb2xvcjogJGdyYXktNDAwICFpbXBvcnRhbnQ7XG59XG4vLyBDaGVja2VkOiBmaWxsIGRhcmsgKyBjaGVjayBvZmYtd2hpdGUgKGxpZ2h0IHRoZW1lKSAvIGZpbGwgbGlnaHQgKyBjaGVja1xuLy8gbmVhci1ibGFjayAoZGFyayB0aGVtZSkuIFNWRyBlbWJlZGRlZCBjb21vIGRhdGEtdXJpLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIikgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIikgIWltcG9ydGFudDtcbn1cblxuLy8gU2xpZGUtdG9nZ2xlIFBBRFLDg08gRE8gU0lTVEVNQSAoTTMpIOKAlCBjb3IgZG8gbGFiZWwgc2VndWUgdG9rZW5zIGRvIGNoYWlyIGxldmVsLTJcbi8vIG1lbnVpdGVtICgjMzczNzM0IGxpZ2h0LCAjYzRjMmJkIGRhcmspLiBUaXBvZ3JhZmlhIDEzcHgvNDMwLzEuMy8wIGrDoSBlbSBfaGVhZGVyLnNjc3MuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLy8gU2xpZGUtdG9nZ2xlIHBhZHLDo28gKE0zKTogT04gc3RhdGUgdGluZ2UgbmEgY29yIGRlIGRlc3RhcXVlIEpFTVMzIGVtXG4vLyBhbWJvcyBvcyB0ZW1hcyAoc3lzdGVtQmx1ZSDihpIgYCRhY2NlbnQtYmFja2dyb3VuZGAgLyBgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmtgKS5cbi8vIE1hdGNoIHZpc3VhbCBkbyBOU1N3aXRjaC9VSVN3aXRjaCBubyBtYWNPUy9pT1MgcXVhbmRvIGFjY2VudCBlc3TDoSBzZXRhZG8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZDpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCkgLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuXG4vLyBDaGVjayBnbHlwaCAo4pyTKSBkZW50cm8gZG8gdGh1bWIgT04g4oCUIGNvciBhenVsIEpFTVMzIGVtIGxpZ2h0IChjb250cmFzdGFcbi8vIGNvbSB0aHVtYiBvZmYtd2hpdGUpLiBFbSBkYXJrLCBvIHRodW1iIMOpIGVzY3VybyAoc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspLFxuLy8gZW50w6NvIG8gZ2x5cGggcHJlY2lzYSBzZXIgQ0xBUk8gcHJhIHNlciB2aXPDrXZlbCDigJQgdXNhICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRcbi8vIChvZmYtd2hpdGUgZXN0w6F0aWNvKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQpO1xuXG4vLyBIb3ZlciBOw4NPIGRlc3RhY2EgbyBzbGlkZS10b2dnbGUgcGFkcsOjbyAoTTMpIOKAlCBzb2JyZXNjcmV2ZSBhIHJlZ3JhIGRvIGNoYWlyXG4vLyBxdWUgbXVkYXZhIGEgY29yIGRhIG91dGxpbmUgKE9GRikgZSBkbyBiZyBzYXR1cmFkbyAoT04pIG9uIGhvdmVyLiBNYW50w6ltIG9cbi8vIG1lc21vIHZpc3VhbCBlc3TDoXRpY28gZW0gcmVzdCBlIGhvdmVyLCBtYWlzIGxpbXBvL00zLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGU6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJveC1zaGFkb3csIGluc2V0IDAgMCAwIDEuNXB4ICRncmF5LTQ1MCAhaW1wb3J0YW50LCBpbnNldCAwIDAgMCAxLjVweCAkZ3JheS00MDAgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZDpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCkgLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYm94LXNoYWRvdywgbm9uZSAhaW1wb3J0YW50LCBub25lICFpbXBvcnRhbnQpO1xuXG4vLyBNZXNtYXMgcmVncmFzIHBhcmEgYSB0b29sYmFyIGRvIHNoZWxsIGF1dG9yL3Jldmlzb3IgKGFwcC1uYXZiYXIpOiBob3ZlciArXG4vLyBtZW51LW9wZW4gZG9zIGJvdMO1ZXMgZGUgbm90aWZpY2HDp8OjbyBlIHVzZXItbWVudSByZXBsaWNhbSBvcyB0b2tlbnMgZG8gY2hhaXIuXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ29yIGRvIMOtY29uZSBkbyBib3TDo28gZGUgaGVscGRlc2sgKGhlYWRzZXRfbWljKSBuYSB0b29sYmFyIGF1dG9yL3Jldmlzb3IuXG4vLyBTZW0gZXNzYSByZWdyYSwgaGVyZGF2YSBkbyBjYXNjYWRlIOKGkiBmaWNhdmEgbXVpdG8gY2xhcm8gbm8gZGFyay4gVXNhbW9zXG4vLyBvcyBtZXNtb3MgdG9rZW5zIGRhIGludGVyZmFjZSBkbyBUUEMgY2hhaXIgKGAkc2lkZWJhci1sYWJlbC1jb2xvcmAvLWRhcmsgPVxuLy8gIzQzNDM0MyAvICNENkQ2RDYpLCB2aWEgYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5tYXQtaWNvbmAgKH5saW5oYSAzMjQpLlxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b24gLm1hdC1pY29uIHtcbiAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLWNvbG9yO1xufVxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbiAubWF0LWljb24ge1xuICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3ItZGFyaztcbn1cbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uLm1lbnUtb3Blbixcbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gVFBDIGNoYWlyIHVzZXIgbWVudSDigJQgc2FtZSBjb2xvciArIGhvdmVyIHRva2VucyBhcyB0aGUgc3VibWVudSBpdGVtcyBzb1xuLy8gdGhlIHR3byBzdXJmYWNlcyBmZWVsIGxpa2UgYSBzaW5nbGUgdmlzdWFsIGZhbWlseS4gVGhlIG1lbnUgcmVuZGVycyBpblxuLy8gdGhlIENESyBvdmVybGF5IChzaWJsaW5nIG9mIHRoZSBhcHAgcm9vdCB1bmRlciA8Ym9keT4pLCBzbyAubGlnaHQtdGhlbWUgL1xuLy8gLmRhcmstdGhlbWUgb24gPGJvZHk+IHN0aWxsIHJlYWNoIGl0LlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAvLyBTYW1lIGRldGVybWluaXN0aWMgcmVjaXBlIGFzIHRoZSBleHBlcmltZW50YWwtc2lkZWJhciBmbHlvdXQ6IGEgc29mdFxuICAvLyBkcm9wLXNoYWRvdyBmb3IgZWxldmF0aW9uIGluIGxpZ2h0IG1vZGUsIG5vIHJlY3RhbmdsZSBvdXRsaW5lLlxuICAvLyBgJHNoYWRvdy1wYW5lbC1saWdodGAgaXMgdGhlIGNoYWlyIFVJJ3MgY2Fub25pY2FsIHBhbmVsLXRpZXIgZWxldmF0aW9uXG4gIC8vIChzZWUgYF92YXJpYWJsZXMuc2Nzc2ApLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi8vIE5vdGE6IGAubm90aWZpY2F0aW9ucy1tZW51YCBmb2kgUkVNT1ZJRE8gZGVzdGEgZSBkYXMgcmVncmFzIGdsb2JhaXNcbi8vIGRlc3RlIGFycXVpdm8g4oCUIG8gcGFpbmVsIGRvIHVzZXItbm90aWZpY2F0aW9ucyBwYXNzb3UgYSB0ZXIgc2V1IHByw7NwcmlvXG4vLyB2aXN1YWwgZXNjb3BhZG8gKHJlZGVzZW5obyBKRU1TMywgY2YuIHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuXG4vLyBNYW50ZXIgYXMgcmVncmFzIGdsb2JhaXMgZmF6aWEgZWxhcyBjb21wZXRpcmVtIGNvbSBvIGNvbXBvbmVudGUgZVxuLy8gcmVuZGVyaXphcmVtIG8gcGFpbmVsIGRpZmVyZW50ZSBlbSBjYWRhIGNvbnN1bWlkb3IgKGF1dG9yL3Jldmlzb3IgdnNcbi8vIFRQQyBDaGFpcikgcG9ycXVlIGEgZXNwZWNpZmljaWRhZGUgbXVkYXZhIHBvciBhbmNlc3RyYWwuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gYC50cGMtdXNlci1tZW51YCBTVEFOREFMT05FIOKAlCB2YXJpYW50ZSB1c2FkYSBwZWxvIGBhcHAtcG9wb3ZlcmBcbi8vIChzZW0gbyB3cmFwcGVyIGAubWF0LW1lbnUtcGFuZWxgIHF1ZSBvIE1hdGVyaWFsIGNyaWF2YSkuIEFwbGljYWRvXG4vLyBubyBgPGRpdiBjbGFzcz1cInRwYy11c2VyLW1lbnVcIj5gIHF1ZSB2aXZlIGNvbW8gZmlsaG8gZG9cbi8vIGAuamVtcy1wb3BvdmVyLXBhbmVsYCAoZXN0ZSBzw7MgcG9zaWNpb25hLCBzZW0gdmlzdWFsKS4gR2VvbWV0cmlhICtcbi8vIHRlbWEgcmVwbGljYWRvcyBkYXMgcmVncmFzIGRvIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgcHJhXG4vLyBwcmVzZXJ2YXIgaWTDqm50aWNhIGFwYXLDqm5jaWEgZHVyYW50ZSBhIG1pZ3Jhw6fDo28gbWF0LW1lbnUg4oaSIHBvcG92ZXIuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi50cGMtdXNlci1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbn1cbi5saWdodC10aGVtZSAudHBjLXVzZXItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cblxuXG4vLyBQYWluZWwgZGUgZGF0YXMgZG8gcG9wb3ZlciBkZSBJTkZPIGRhIHJldmlzw6NvIChwYXBlci1yZXZpZXctbGlzdCkuIFZpdmUgY29tb1xuLy8gZmlsaG8gZG8gYC5qZW1zLXBvcG92ZXItcGFuZWxgIChhcHAtcG9wb3ZlciwgcG9ydGFkbyBhbyA8Ym9keT4pIOKAlCBwb3IgaXNzb1xuLy8gZXN0aWxvIEdMT0JBTCBjb20gLmxpZ2h0LXRoZW1lLy5kYXJrLXRoZW1lIChgOmhvc3QtY29udGV4dGAgbsOjbyBhbGNhbsOnYSBuw7NzXG4vLyBwb3J0YWRvcykuIE1lc21hIGZhbcOtbGlhIGRlIHN1cGVyZsOtY2llIGRvIGAudHBjLXVzZXItbWVudWAuXG4ucmV2aWV3LWluZm8tcGFuZWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyAgIC8vIDEzcHhcblxuICAucmV2aWV3LWluZm8tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAyNHB4O1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICB9XG4gIC5yZXZpZXctaW5mby1sYWJlbCB7IGZvbnQtd2VpZ2h0OiA0MDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIHsgZm9udC13ZWlnaHQ6IDUwMDsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gICAvLyBzZW0gc3VibGluaGFkbyAobGluayBkbyBub21lKVxufVxuLmxpZ2h0LXRoZW1lIC5yZXZpZXctaW5mby1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAucmV2aWV3LWluZm8tbGFiZWwgeyBjb2xvcjogJGdyYXktNTAwOyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSBhIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDsgfVxufVxuLmRhcmstdGhlbWUgLnJldmlldy1pbmZvLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAucmV2aWV3LWluZm8tbGFiZWwgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgb3BhY2l0eTogMC42OyB9XG4gIC5yZXZpZXctaW5mby12YWx1ZSBhIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIERpw6Fsb2dvIFwiUGVzcXVpc2FyIHJldmlzb3JlcyBwb3IgaW50ZXJlc3NlXCIgKGZpbmQtcmV2aWV3ZXJzLWJ5LWludGVyZXN0KTogb1xuLy8gY29tcG9uZW50ZSBjb250cm9sYSBvIGxheW91dCAoY2FiZcOnYWxoby9yb2RhcMOpIGZpeG9zICsgY29ycG8gcm9sw6F2ZWwpLiBBXG4vLyBcImNhZGVpYSBmbGV4XCIgcHJlY2lzYSBhdHJhdmVzc2FyIGNvbnRhaW5lciDihpIgSE9TVCDihpIgYC5maW5kLXJldmlld2Vyc2Ag4oaSIGNvcnBvLFxuLy8gc2Vuw6NvIG8gY29ycG8gbsOjbyByb2xhIGUgbyByb2RhcMOpIHRyYW5zYm9yZGEgcHJhIGZvcmEgKGZpY2EgY29ydGFkbykuIE9cbi8vIGBtYXgtaGVpZ2h0OiA5MHZoYCB2ZW0gZG8gY29uZmlnIGRvIGRpYWxvZyAobWF0LWRpYWxvZy1jb250YWluZXIgbyBoZXJkYSkuXG4uZmluZC1yZXZpZXdlcnMtZGlhbG9nIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uZmluZC1yZXZpZXdlcnMtZGlhbG9nIGFwcC1maW5kLXJldmlld2Vycy1ieS1pbnRlcmVzdCxcbi5maW5kLXJldmlld2Vycy1kaWFsb2cgYXBwLXJldmlld2VyLWZpbmRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xufVxuXG4vLyBgLm5vdGlmaWNhdGlvbnMtbWVudWAgU1RBTkRBTE9ORSAodmFyaWFudGUgYXBwLXBvcG92ZXIgZG8gdXNlci1ub3RpZmljYXRpb25zKS5cbi8vIE1lc21hIGZhbcOtbGlhIHZpc3VhbCBkbyBgLnRwYy11c2VyLW1lbnVgIChjb21wYXJ0aWxoYSBvIGAubWF0LW1lbnUtcGFuZWwuKmBcbi8vIGxlZ2FjeSBibG9jayBhY2ltYSk7IHJlcGxpY2FkbyBhcXVpIHByYSBhcHAtcG9wb3Zlci5cbi8vXG4vLyBSRVNFVCB0aXBvZ3LDoWZpY28gaW50ZXJubzogYSB2ZXJzw6NvIG1hdC1tZW51IGhlcmRhdmEgbyBgZm9udDogMTRweCBSb2JvdG9gXG4vLyBxdWUgTWF0ZXJpYWwgYXBsaWNhIGEgYC5tYXQtbWVudS1jb250ZW50YC4gU3RhbmRhbG9uZSBwZXJkZSBpc3NvIOKGkiBoMVxuLy8gZSB0ZXh0b3Mgdm9sdGFtIGFvcyBkZWZhdWx0cyBkbyBicm93c2VyL0J1bG1hIChoMSB+MzJweCkuIEZvcsOnYW1vcyBhcXVpXG4vLyBwcmEgY2FiZcOnYWxobyBkZSBtZW51ICh+MTQvNTAwKSwgcGFyw6FncmFmb3Mgbm9ybWFpcyAoMTMvNDAwKS5cbi8vIERyb3Bkb3duIENTUy1wdXJvIGRvIHVzZXItbm90aWZpY2F0aW9uczogcG9zaXRpb246IGFic29sdXRlIHJlbGF0aXZvIGFvXG4vLyBob3N0IGAudXNlci1ub3RpZmljYXRpb25zYCAocXVlIMOpIHBvc2l0aW9uOiByZWxhdGl2ZSkuIFNlbSBjw6FsY3VsbyBKUyxcbi8vIHNlbSBwb3BvdmVyLiBUb3A6MTAwJSByaWdodDowID0gYWJyZSBsb2dvIGFiYWl4byBkbyBiZWxsLCBhbGluaGFkbyDDoFxuLy8gZGlyZWl0YS4gRnVuY2lvbmEgaWTDqm50aWNvIGVtIHF1YWxxdWVyIGxheW91dCAoY2zDoXNzaWNvL21vZGVybm8vd2lkZSkuXG4vLyBUb29sdGlwcyBkbyBDREsgb3ZlcmxheSAoYG1hdC10b29sdGlwYCkgcHJlY2lzYW0gYXBhcmVjZXIgQUNJTUEgZG9zXG4vLyBhcHAtcG9wb3ZlcnMgKHF1ZSBmaWNhbSBubyA8Ym9keT4gY29tIHotaW5kZXggMTEwMCkuIEJ1bXAgZ2xvYmFsIGRvXG4vLyBjb250YWluZXIgZG8gQ0RLIOKAlCB2YWxlIHByYSB0b29sdGlwcywgZGlhbG9ncywgc2hlZXRzLCBldGMuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIHsgei1pbmRleDogJHotY2RrLW92ZXJsYXkgIWltcG9ydGFudDsgfVxuXG4vLyBQYWluZWwgZGUgbm90aWZpY2HDp8O1ZXM6IHBvc2l0aW9uOiBmaXhlZCBjb20gY29vcmRzIGNhbGN1bGFkYXMgaW5saW5lXG4vLyBubyB0b2dnbGVNZW51ICh0cykgYSBwYXJ0aXIgZG8gcmVjdCBkbyBiZWxsLiBTw7MgYSBhbmltYcOnw6NvIGRlIGVudHJhZGFcbi8vIGUgbyB6LWluZGV4IHBlcm1hbmVjZW0gZ2xvYmFpcyAobyByZXN0byDDqSBkbyBjb21wb25lbnRlIGVzY29wYWRvIOKAlFxuLy8gdXNlci1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzKS5cbi5ub3RpZmljYXRpb25zLW1lbnUge1xuICB6LWluZGV4OiAxMTAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAmLmFib3ZlIHsgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjsgfVxuICBhbmltYXRpb246IGplbXMtcG9wb3Zlci1pbiAxMjBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLy8gYC5tZW51LWNoYXJ0LXYyYCBTVEFOREFMT05FICh2YXJpYW50ZSBhcHAtcG9wb3ZlciBkbyBjaGFydC1jb21wb25lbnQtdjIpXG4vLyBlIGAubWVudS1jb250YWluZXJgICh2YXJpYW50ZSBkZSB0aW1lem9uZSkuIEVzdGFzIGNsYXNzZXMgQU5URVMgbsOjb1xuLy8gdGluaGFtIHJlZ3JhIHByw7NwcmlhIGRlIHBhbmVsIOKAlCBoZXJkYXZhbSBvIGNocm9tZSBkZWZhdWx0IGRvXG4vLyBgLm1hdC1tZW51LXBhbmVsYCBkbyBNYXRlcmlhbCAod2hpdGUgYmcgKyBib3gtc2hhZG93ICsgcmFkaXVzKS4gQWdvcmEsXG4vLyBjb21vIG8gYDxkaXYgY2xhc3M9XCIuLi5cIj5gIHZpdmUgZGVudHJvIGRvIGAuamVtcy1wb3BvdmVyLXBhbmVsYCAocXVlXG4vLyBzw7MgcG9zaWNpb25hKSwgcHJlY2lzYW0gZG8gY2hyb21lIHByw7NwcmlvLiBWaXN1YWwgbmV1dHJvIHRpZXItcGFpbmVsOlxuLy8gZnVuZG8gZGEgc3VwZXJmw61jaWUgY2FyZCArIHJhZGl1cyArIGRyb3Atc2hhZG93IChtZXNtYSBmYW3DrWxpYSBkb3Ncbi8vIG91dHJvcyBwb3BvdmVycyBjaGFpci1zdHlsZSkuXG4ubWVudS1jaGFydC12Mixcbi5tZW51LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi8vIEl0ZW1zIGRvIG1lbnUtY2hhcnQtdjIgKGJvdMO1ZXMgKyB0b2dnbGUpOiBnZW9tZXRyaWEgKyB0aXBvZ3JhZmlhIGNoYWlyXG4vLyBlcXVpdmFsZW50ZSBhbyBgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1gIG1hcyBlc2NvcGFkYSBsb2NhbG1lbnRlXG4vLyBwcmEgbsOjbyBicmlnYXIgY29tIG8gYC5tZW51LWNoYXJ0LXYyIC5tYXQtbWVudS1pdGVtIHsgbWFyZ2luOiAycHggNXB4IH1gXG4vLyBkbyBjb21wb25lbnQgc2Nzcy5cbi5tZW51LWNoYXJ0LXYyIC5jb250YWluZXItb3B0aW9uIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgcGFkZGluZzogMCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDRweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICAubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNTUpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjA1KTtcbiAgICAgIC5tYXQtaWNvbiB7IGNvbG9yOiByZ2JhKDAsMCwwLC44NSk7IH1cbiAgICB9XG4gIH1cbn1cbi8vIC50b2dnbGUtcm93IGRvIG1lbnUtY2hhcnQtdjI6IGxpbmhhIGRvIFwiTW9zdHJhciB2YWxvcmVzXCIg4oCUIGNlbnRyYWxpemFkYVxuLy8gaG9yaXpvbnRhbG1lbnRlLCBTRU0gYmcvaG92ZXIgYmcgKG8gcHLDs3ByaW8gdG9nZ2xlIHNpbmFsaXphIG8gZXN0YWRvKS5cbi8vIERlZmluaWRhIEZPUkEgZG8gYC5jb250YWluZXItb3B0aW9uYCBqdXN0YW1lbnRlIHByYSBlc2NhcGFyIGRhcyByZWdyYXNcbi8vIGhlcmRhZGFzIGRlIGAubWF0LW1lbnUtaXRlbWAgcXVlIHBpbnRhdmFtIG8gZnVuZG8uXG4ubWVudS1jaGFydC12MiA+IC50b2dnbGUtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBtYXgtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgNHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXQtc2xpZGUtdG9nZ2xlIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHsgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICB9XG4gIG1hdC1zbGlkZS10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCxcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbCB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQzMDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbi8vIERpdmlzb3IgcGFkcsOjbyBwYXJhIGNvbnRlw7pkb3MgY2hhaXItc3R5bGUgc3RhbmRhbG9uZSAoc2VtIHBhZGRpbmdcbi8vIGxhdGVyYWwgbm8gd3JhcHBlcikuIEVuY29zdGEgbmFzIGxhdGVyYWlzIHZpYSB3aWR0aCAxMDAlICsgbWFyZ2luXG4vLyBob3Jpem9udGFsIDAuIENvciBzdXRpbC4gQWRpY2lvbmUgYSBjbGFzc2UgZG8gbWVudSBub3ZvIGFxdWkuXG4vLyBgLnRwYy11c2VyLW1lbnVgIE7Dg08gZW50cmEgKHRlbSBwYWRkaW5nIGxhdGVyYWwgNHB4KTogY2YuIGBfbWVudS5zY3NzYFxuLy8gcXVlIGFwbGljYSBgbWFyZ2luOiA2cHggLTRweGAgZXNwZWPDrWZpY28gcHJhIGNvbXBlbnNhci5cbi5tZW51LWNoYXJ0LXYyIG1hdC1kaXZpZGVyLFxuLm1lbnUtY29udGFpbmVyIG1hdC1kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogNHB4IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4uZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsIG1hdC1kaXZpZGVyLFxuLmRhcmstdGhlbWUgLnRwYy11c2VyLW1lbnUgbWF0LWRpdmlkZXIsXG4uZGFyay10aGVtZSAubWVudS1jaGFydC12MiBtYXQtZGl2aWRlcixcbi5kYXJrLXRoZW1lIC5tZW51LWNvbnRhaW5lciBtYXQtZGl2aWRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7XG59XG4ubGlnaHQtdGhlbWUgLm1lbnUtY2hhcnQtdjIsXG4ubGlnaHQtdGhlbWUgLm1lbnUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEl0ZW1zIGRvcyBtZW51cyBjaGFpci1zdHlsZSDigJQgZ2VvbWV0cmlhICsgZXN0YWRvcy5cbi8vIEVzY3JpdG8gU0VNIGA6Om5nLWRlZXBgIChxdWUgZmljYXZhIGVtIGBfbWVudS5zY3NzYCBlIHBvZGUgc2VyXG4vLyBpbnbDoWxpZG8gZW0gQ1NTIGdsb2JhbCkuIEFxdWkgYXMgcmVncmFzIHPDo28gcGxhbmFzIGdsb2JhaXMuXG4vL1xuLy8gQXBsaWNhbS1zZSBhIERVQVMgZm9ybWFzLCBwcmEgbWVudXMgbm92b3MgTsODTyBwcmVjaXNhcmVtIGRvIHdyYXBwZXIgbWFudWFsOlxuLy8gICDigKIgYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCAgICAgICAg4oCUIHdyYXBwZXIgZXhwbMOtY2l0byAobGVnYWRvKTtcbi8vICAg4oCiIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbWAg4oCUIGJhc3RhIGEgY2xhc3NlXG4vLyAgICAgYHRwYy11c2VyLW1lbnVgIG5vIDxtYXQtbWVudT47IG8gaXRlbSBjcnUgKGA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+YCkgasOhXG4vLyAgICAgaGVyZGEgbyBlc3RpbG8uIEVTVEUgw6kgbyBjYW1pbmhvIHJlY29tZW5kYWRvIHByYSBtZW51cyBub3Zvcy5cbi8vIGAuY29udGFpbmVyLW9wdGlvbmAvYHRwYy11c2VyLW1lbnVgIHPDsyBhcGFyZWNlbSBlbSBtZW51cyBjaGFpci1zdHlsZSwgc2VtIGNvbGF0ZXJhbC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNvbnRhaW5lci1vcHRpb24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cbi8vIEdlb21ldHJpYSBkb3MgaXRlbnMgKGAudHBjLXVzZXItbWVudWAvYC5jb250YWluZXItb3B0aW9uYCAubWF0LW1lbnUtaXRlbSlcbi8vIHZpdmUgZW0gYF9tZW51LnNjc3NgIOKAlCBmb250ZSDDum5pY2EuIEFzIHJlZ3JhcyBkZSBIT1ZFUi9GT0NVUy9ISUdITElHSFRcbi8vIChjb3JlcykgcGVybWFuZWNlbSBhYmFpeG8gbmVzdGUgYXJxdWl2bywgZGVudHJvIGRvIGJsb2NvIGAubGlnaHQtdGhlbWVgIC9cbi8vIGAuZGFyay10aGVtZWAsIG9uZGUgw6kgbyBsdWdhciBkZWxhcy5cblxuLy8gRXN0YWRvcyBkZSBob3Zlci9mb2N1cy9oaWdobGlnaHQgZG8gYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCDigJRcbi8vIHByb21vdmlkb3MgcGFyYSBlc2NvcG8gR0xPQkFMIChuw6NvIGVzY29uZGlkb3MgYXRyw6FzIGRlIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWBcbi8vIHF1ZSBuw6NvIHByb3BhZ2EgZW0gdG9kb3Mgb3MgY2Fzb3MpLiBFc3BlY2lmaWNpZGFkZSBgKDAsNSwwKWAgdmVuY2UgYSByZWdyYVxuLy8gZ2xvYmFsIGBidXR0b24ubWF0LW1lbnUtaXRlbTpob3ZlcmAgYCgwLDQsMSlgIHF1ZSBwaW50YSBhY2NlbnQuXG4ubGlnaHQtdGhlbWUge1xuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYGNkay1wcm9ncmFtLWZvY3VzZWRgIE7Dg08gZW50cmE6IMOpIHNldGFkYSBxdWFuZG8gYWxnbyBjaGFtYSAuZm9jdXMoKVxuICAvLyBwcm9ncmFtYXRpY2FtZW50ZSAoZXguOiBhcHAtcG9wb3ZlciBhdXRvLWZvY3VzYSBvIDHCuiBpdGVtIGFvIGFicmlyKS5cbiAgLy8gUGludGFyIGlzc28gZmFyaWEgbyAxwrogaXRlbSBwYXJlY2VyIFwic2VsZWNpb25hZG9cIiBzZW0gbyB1c3XDoXJpbyB0ZXJcbiAgLy8gaW50ZXJhZ2lkby4gTWFudGVtb3Mgc8OzIGA6aG92ZXJgLCBgY2RrLWtleWJvYXJkLWZvY3VzZWRgIChmb2NvIHBvclxuICAvLyB0YWIvYXJyb3cpIGUgYC5oaWdobGlnaHQtYnV0dG9uYCAoZXN0YWRvIGzDs2dpY28gZGUgYXRpdm8pLlxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbiAgLy8gVmFyaWFudGUgYXBwLXBvcG92ZXIgc3RhbmRhbG9uZTogY29icmUgY29uc3VtZXJzIHF1ZSBwcm9qZXRhbSBpdGVuc1xuICAvLyBTRU0gbyB3cmFwcGVyIGA8YSBjbGFzcz1cImNvbnRhaW5lci1vcHRpb25cIj5gIChleC46IHN1Ym1pc3Npb24tcmFua2luZyksXG4gIC8vIGRpcmV0byBjb21vIGA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+YCBkZW50cm8gZG8gYC50cGMtdXNlci1tZW51YC5cbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG59XG4uZGFyay10aGVtZSB7XG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYGNkay1wcm9ncmFtLWZvY3VzZWRgIHJlbW92aWRvIOKAlCB2ZXIgY29udHJhcGFydGUgbGlnaHQgcHJhIHJhdGlvbmFsZS5cbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC8vIFZhcmlhbnRlIGFwcC1wb3BvdmVyIHN0YW5kYWxvbmUgKHZlciBjb250cmFwYXJ0ZSBsaWdodCBhY2ltYSkuXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gSXRlbSBkZSBtZW51IERFU0FCSUxJVEFETyAoY29udmVuw6fDo28gSkVNUzMpOiBuw6NvLWNsaWPDoXZlbCArIGVzbWFlY2lkby5cbi8vIEVzbWFlY2Vtb3MgdmlhIGBvcGFjaXR5YCBwb3JxdWUgbyB0b2tlbml6ZXIgcGludGEgY29yIGRvIHRleHRvIEUgZG8gw61jb25lIGNvbVxuLy8gYCFpbXBvcnRhbnRgLCBhbnVsYW5kbyBvIGRpbSBwYWRyw6NvIGRvIE1hdGVyaWFsOyBvcGFjaXR5IGNvYnJlIGFtYm9zIGRlIHVtYSB2ZXosXG4vLyBsaWdodCBlIGRhcmsuIEFzIHJlZ3JhcyBkZSBob3ZlciBhY2ltYSBqw6EgZXhjbHVlbSBgW2Rpc2FibGVkXWAgKHNlbSBmdW5kby9jb3IpLlxuLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdLFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdLFxuLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40NSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gVmFyaWFudGUgREVTQUJJTElUQURBIENPTSBUT09MVElQIChjb252ZW7Dp8OjbyBKRU1TMykuIE8gYG1hdFRvb2x0aXBgIHPDsyBkaXNwYXJhXG4vLyBubyBlbGVtZW50byBxdWUgUkVDRUJFIG8gaG92ZXI7IG51bSBgW2Rpc2FibGVkXWAgbmF0aXZvIChvdSBgcG9pbnRlci1ldmVudHM6XG4vLyBub25lYCkgbyBib3TDo28gZmljYSBpbmVydGUgZSBvIGhvdmVyIG7Do28gY2hlZ2EgYSBlbGUgbmVtIGFvIHdyYXBwZXIg4oCUIG8gdG9vbHRpcFxuLy8gbnVuY2EgYXBhcmVjZS4gRW50w6NvIGFxdWkgbyBib3TDo28gY29udGludWEgSE9WRVLDgVZFTCAodG9vbHRpcCB2aXZlIE5FTEUpIGUgYVxuLy8gbsOjby1jbGljYWJpbGlkYWRlIHZlbSBkbyB0ZW1wbGF0ZSAoY2xpcXVlIG5ldXRyYWxpemFkbyArIHJvdGEgbnVsYSkuIFPDsyBvIHZpc3VhbFxuLy8gw6kgZXNtYWVjaWRvOyBvIGhvdmVyIG7Do28gcGludGEgZnVuZG8gKG8gZGltIMOpIG8gw7puaWNvIGZlZWRiYWNrKS5cbi5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSxcbi50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZSB7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG4uY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIsXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIsXG4udHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5kaXNhYmxlZC1ob3ZlcmFibGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vLyBCYWzDo28gZG8gdG9vbHRpcCBKRU1TMyAoQ1NTIHB1cm8pIGRvIGl0ZW0gZGVzYWJpbGl0YWRvLiBBbmNvcmFkbyBubyB3cmFwcGVyXG4vLyBgLmNvbnRhaW5lci1vcHRpb24uaGFzLXRpcGAgKGJsb2NrIHAvIGNvbnRlciBsaW1wbyBvIGJvdMOjbyArIHNlcnZpciBkZSBjb250YWluaW5nXG4vLyBibG9jayBkbyBiYWzDo28gYWJzb2x1dG8pLiBPIGJhbMOjbyBmaWNhIEZPUkEgZG8gYm90w6NvIGRlIHByb3DDs3NpdG86IG8gYm90w6NvIHRlbVxuLy8gb3BhY2l0eSAwLjQ1IGUgb3BhY2l0eSBjcmlhIGdydXBvIOKAlCBzZSBvIGJhbMOjbyBmb3NzZSBmaWxobyBmaWNhcmlhIHRyYW5zbMO6Y2lkby5cbi8vIE1lc21vIHZpc3VhbCBkbyBgLnNnLWNyaXQtdG9vbHRpcGAgKGJhbMOjbyBjaW56YSwgdGV4dG8gYnJhbmNvKTsgbyBgOmhvdmVyYCBkbyBDU1Ncbi8vIG5vIHdyYXBwZXIgKGFwbGljYS1zZSBhbyBob3ZlcmFyIG8gYm90w6NvIGRlbnRybyBkZWxlKSBvIHJldmVsYS5cbi5jb250YWluZXItb3B0aW9uLmhhcy10aXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLy8gQmFzZSBkbyBiYWzDo286IFNFTVBSRSBhYnNvbHV0byBlIGVzY29uZGlkbyDigJQgw6AgcHJvdmEgZGUgdmF6YXIgY29tbyBpdGVtIGRlIG1lbnVcbi8vIHZpc8OtdmVsIGNhc28gcmVuZGVyaXplIGZvcmEgZG8gY29udGV4dG8gYC5oYXMtdGlwYCAoaXRlbSBoYWJpbGl0YWRvKS4gU8OzIG9cbi8vIGA6aG92ZXJgIGRvIHdyYXBwZXIgYC5oYXMtdGlwYCBvIHJldmVsYS5cbi5qZW1zLW1lbnUtdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDRweCk7XG4gIGxlZnQ6IDhweDtcbiAgei1pbmRleDogMTA7XG4gIG1heC13aWR0aDogMjYwcHg7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NywgOTcsIDk3LCAwLjk2KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uY29udGFpbmVyLW9wdGlvbi5oYXMtdGlwOmhvdmVyIC5qZW1zLW1lbnUtdGlwIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcblxuICAvLyBDb3IgLyDDrWNvbmUgLyBob3ZlciBkb3MgaXRlbnMgZGUgbWVudSB2w6ptIGRvIGJsb2NvIGFkaXRpdm8gZ2xvYmFsIGFjaW1hXG4gIC8vICgubGlnaHQtdGhlbWUgeyAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVcbiAgLy8gLm1hdC1tZW51LWl0ZW0gfSksIHF1ZSBjb2JyZSBpdGVtIGNydSBFIHdyYXBwZXIuIEFxdWkgZmljYW0gc8OzIG9zIHNlbGV0b3Jlc1xuICAvLyBlc3BlY8OtZmljb3MgZG8gYXZhdGFyLXByb2ZpbGUgKHRoZW1lL2xheW91dC9sYW5ndWFnZSBzd2l0Y2hlcnMpLlxuXG4gIC8vIFRoZW1lIHN3aXRjaGVyIChsaWdodC9kYXJrL3N5c3RlbSkgYW5kIGxheW91dCBzd2l0Y2hlciAobW9kZXJuL2NsYXNzaWMpXG4gIC8vIOKAlCBob3ZlciB1c2VzIHRoZSBzYW1lIHRva2VucyBhcyB0aGUgc3VibWVudSBpdGVtcyBzbyBhbGwgaW50ZXJhY3RpdmVcbiAgLy8gcm93cyBpbiB0aGlzIG1lbnUgc2hhcmUgb25lIGhvdmVyIGlkZW50aXR5LlxuICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSxcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuXG4gICAgLm1hdC1pY29uLFxuICAgIC5sYXlvdXQtaWNvbiB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgLy8gU2FtZSBkZXRlcm1pbmlzdGljIHJlY2lwZSBhcyB0aGUgZXhwZXJpbWVudGFsLXNpZGViYXIgZmx5b3V0OiBzb2xpZFxuICAvLyAxcHggb3V0bGluZSB2aWEgYGJveC1zaGFkb3cgMCAwIDAgMXB4YCAoZm9sbG93cyBib3JkZXItcmFkaXVzKSwgcGx1c1xuICAvLyB0aGUgcGFuZWwtdGllciBkcm9wLXNoYWRvdyBmb3IgZWxldmF0aW9uLlxuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyayAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cbi8vIENvbnRyYXBhcnRlIGRhcmsgZG8gYC50cGMtdXNlci1tZW51YCBzdGFuZGFsb25lICh2YXJpYW50ZSBhcHAtcG9wb3ZlcikuXG4vLyBWZXIgYmxvY28gbGlnaHQgY29ycmVzcG9uZGVudGUgYWNpbWEg4oCUIG1lc21hIGRlY2lzw6NvIGFycXVpdGV0dXJhbC5cbi5kYXJrLXRoZW1lIC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyaztcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIFRyaWdnZXIgKGdsb2JvICsgcsOzdHVsbyBkbyBmdXNvKSBkZW50cm8gZG8gcGFpbmVsIGRvIGRhdGVwaWNrZXIuIENvbW8gb1xuLy8gYGFwcC10aW1lLXpvbmUtaW5wdXRgIHZpdmUgcG9ydGFsbGFkbyBubyBvdmVybGF5IENESywgYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYFxuLy8gc2NvcGVkIGRvIGNvbXBvbmVudGUgcG9kZSBuw6NvIGFsY2Fuw6dhci4gRmFsbGJhY2sgZ2xvYmFsIGNvYnJlIGxpZ2h0ICsgZGFyay5cbi5kYXJrLXRoZW1lIC5jb250YWluZXItYnV0dG9uIC50aW1lLXpvbmUtYnV0dG9uIHtcbiAgY29sb3I6ICRpY29uLW11dGVkLWRhcmsgIWltcG9ydGFudDtcbiAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICYubWVudS1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVmlzdWFsaXphZG9yIGRlIEZVU09TIChgYXBwLWRpYWxvZy10aW1lem9uZWApIOKAlCByZWFkLW9ubHksIG1vc3RyYSBhIGRhdGEvaG9yYVxuLy8gZW0gY2FkYSBmdXNvIGNvbmhlY2lkbyAoYnJvd3NlciwgZXZlbnRvLCBVVEMsIElETFcpLiBTZW0gaG92ZXIgbmVtIHNlbGXDp8Ojbyxcbi8vIHPDsyB1bSBcImNhcnTDo29cIiBsaXN0YW5kbyBhcyBsaW5oYXMgY29tIG5vbWUgw6AgZXNxdWVyZGEgZSBob3LDoXJpbyDDoCBkaXJlaXRhLlxuLmplbXMtdHp2aWV3LW1lbnUge1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiA4cHggNHB4ICFpbXBvcnRhbnQ7XG5cbiAgLmplbXMtdHp2aWV3LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gIH1cbiAgLmplbXMtdHp2aWV3LW5hbWUge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgLmplbXMtdHp2aWV3LXRhZyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodC1tdXRlZDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICB9XG4gIC5qZW1zLXR6dmlldy10aW1lIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0LW11dGVkO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIH1cbn1cblxuLy8gRGFya1xuLmRhcmstdGhlbWUgLmplbXMtdHp2aWV3LW1lbnUge1xuICAuamVtcy10enZpZXctcm93IHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLmplbXMtdHp2aWV3LXRhZywgLmplbXMtdHp2aWV3LXRpbWUgeyBjb2xvcjogJGljb24tbXV0ZWQtZGFyazsgfVxufVxuXG4vLyBNZW51IGRvIHNlbGV0b3IgZGUgRlVTTyBIT1LDgVJJTyAoYGFwcC10aW1lLXpvbmUtaW5wdXRgKSDigJQgbWVzbW8gcGFkcsOjbyBkb1xuLy8gbWVudSBkbyBgYXBwLWplbXMtc2VsZWN0YDogcGlsbCAyNnB4IGZ1bGwtYmxlZWQsIGhvdmVyIGVtIHdhcm0tc3RvbmUsXG4vLyBjaGVjayBTRi1zdHlsZSDDoCBlc3F1ZXJkYSBubyBmdXNvIHNlbGVjaW9uYWRvLiBWaXZlIG5vIGAudHBjLXVzZXItbWVudWBcbi8vIHBvcnRhbGxhZG87IHJlZ3JhcyBnbG9iYWlzIChzZW0gdmlldyBlbmNhcHN1bGF0aW9uKS5cbi5qZW1zLXR6LW1lbnUge1xuICBtaW4td2lkdGg6IDI2MHB4O1xuICBwYWRkaW5nOiA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDMyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIC5qZW1zLXR6LW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcGFkZGluZzogMCA4cHggMCAyOHB4OyAgIC8vIDI4cHggZXNxdWVyZGEgcmVzZXJ2YWRvIHAvIG8gY2hlY2sgU0ZcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIC8vIFNlbGVjaW9uYWRvOiBjaGVjayBTRi1zdHlsZSDDoCBlc3F1ZXJkYSAobWVzbWEgcmVjZWl0YSBkbyBgLmplbXMtc2VsZWN0LW9wdGlvbmApLlxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgLmplbXMtdHotbmFtZSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuamVtcy10ei10YWcge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgfVxuICAuamVtcy10ei1vZmZzZXQge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgfVxufVxuXG4vLyBEYXJrIHRoZW1lIGRvIG1lbnUgZGUgZnVzbyDigJQgY29yZXMgcGFyZWRhcyBjb20gbyByZXN0YW50ZSBkbyBzaXN0ZW1hLlxuLmRhcmstdGhlbWUgLmplbXMtdHotbWVudSB7XG4gIC5qZW1zLXR6LW9wdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgfVxuICAuamVtcy10ei10YWcsIC5qZW1zLXR6LW9mZnNldCB7IGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrOyB9XG59XG5cbi8vIFotaW5kZXggZG8gcG9wb3ZlciAoYXBwLXBvcG92ZXIpLiBPIENTUyBzY29wZWQgZG8gY29tcG9uZW50ZSBhcGxpY2EgMTA5OS8xMTAwLFxuLy8gbWFzIG8gYC5tYXQtZGF0ZXBpY2tlci1jb250ZW50YCAoQ0RLIG92ZXJsYXkgZG8gZGF0ZXBpY2tlcikgZmljYSBlbSBzdGFja2luZ1xuLy8gY29udGV4dCBwcsOzcHJpbyBlIMOgcyB2ZXplcyB2ZW5jZSDigJQgbyBwb3BvdmVyIGRvIGdsb2JvIGFwYXJlY2lhIEFUUsOBUyBkbyBwYWluZWwuXG4vLyBSZWdyYSBnbG9iYWwgKHNlbSBlbmNhcHN1bGF0aW9uKSBnYXJhbnRlIHByaW9yaWRhZGUuXG4uamVtcy1wb3BvdmVyLWJhY2tkcm9wIHsgei1pbmRleDogMjAwMCAhaW1wb3J0YW50OyB9XG4uamVtcy1wb3BvdmVyLXBhbmVsIHsgei1pbmRleDogMjAwMSAhaW1wb3J0YW50OyB9XG4vLyBUb29sdGlwcyBkbyBDREsgcHJlY2lzYW0gZmljYXIgYWNpbWEgZG8gcG9wb3ZlciAoei1pbmRleCAyMDAxKSwgc2Vuw6NvXG4vLyBzb21lbSBhdHLDoXMgZG8gbWVudSBkbyBhdmF0YXIuXG4uY2RrLW92ZXJsYXktY29udGFpbmVyIC5tYXQtdG9vbHRpcC1wYW5lbCxcbi5jZGstb3ZlcmxheS1jb250YWluZXIgLmNkay1vdmVybGF5LXBhbmU6aGFzKC5tYXQtdG9vbHRpcCksXG4ubWF0LXRvb2x0aXAgeyB6LWluZGV4OiAyMDEwICFpbXBvcnRhbnQ7IH1cbi8vIE8gLmNkay1vdmVybGF5LWNvbnRhaW5lciBpbnRlaXJvIChxdWUgaG9zcGVkYSBvcyB0b29sdGlwcykgZmljYSBhYmFpeG9cbi8vIGRvIHBvcG92ZXIgKHotaW5kZXggMjAwMSkgcG9yIHNlciBpcm3Do28gYW50ZXJpb3Igbm8gYm9keS4gU29iZSBlbGUgdG9kby5cbi5jZGstb3ZlcmxheS1jb250YWluZXIgeyB6LWluZGV4OiAyMDEwICFpbXBvcnRhbnQ7IH1cblxuLy8gRmFsbGJhY2sgZ2xvYmFsIHAvIG8gYm90w6NvIGRlIGNvcGlhciBkbyBgYXBwLXRleHQtaW5wdXRgIG5vIGRhcmsgdGhlbWUuXG4vLyBPIGA8YnV0dG9uIG1hdFN1ZmZpeCBjbGFzcz1cInRpLWNvcHktYnRuXCI+YCDDqSBwcm9qZXRhZG8gcGVsbyBNYXRlcmlhbCBkZW50cm9cbi8vIGRvIHRlbXBsYXRlIGRvIGBtYXQtZm9ybS1maWVsZGAg4oCUIG8gYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCBkbyBTQ1NTIGRvXG4vLyB0ZXh0LWlucHV0IG7Do28gYWxjYW7Dp2EgZWxlbWVudG9zIHByb2pldGFkb3MgZGUgZm9ybWEgY29uZmnDoXZlbC4gRXN0ZSBibG9jb1xuLy8gZ2FyYW50ZSBxdWUgbyBob3ZlciBmaXF1ZSBjb20gYCRpY29uLWNvbnRhaW5lci1iZy1kYXJrYCAoaWTDqm50aWNvIGFvIHN1Yi1ib3TDo29cbi8vIGRvIHNlbGVjdCksIG1hbnRlbmRvIGEgbGluZ3VhZ2VtIHVuaWZpY2FkYS5cbi5kYXJrLXRoZW1lIC50aS1jb3B5LWJ0biB7XG4gIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyaztcbiAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXItZGFyaztcbiAgfVxuICAmLmlzLWNvcGllZCB7IGNvbG9yOiAjNjlmMGFlOyB9XG59XG5cbi8vIEZhbGxiYWNrIGdsb2JhbCBwLyBhcyBvcMOnw7VlcyBkbyBgYXBwLWplbXMtc2VsZWN0YCBubyBkYXJrIHRoZW1lLiBPIFNDU1MgZG9cbi8vIGNvbXBvbmVudGUgKEVtdWxhdGVkKSB1c2EgYDpob3N0LWNvbnRleHQoLmRhcmstdGhlbWUpYCwgbWFzIG8gcGFpbmVsIGRvXG4vLyBwb3BvdmVyIMOpIFBPUlRBTExFRCBwcmEgZm9yYSBkbyBob3N0IChDREsgb3ZlcmxheSkg4oCUIGRlcGVuZGVuZG8gZGEgdmVyc8Ojb1xuLy8gZG8gQW5ndWxhci9DREssIG8gZW5jYXBzdWxhdGlvbiBhdHRyaWJ1dGUgcG9kZSBuw6NvIGNoZWdhciBhb3MgZWxlbWVudG9zXG4vLyBwb3J0YWxsYWRvcywgZGVpeGFuZG8gYSByZWdyYSBzZW0gZWZlaXRvLiBFc3RlIGJsb2NvIGdsb2JhbCBjb2JyZSBpc3NvLlxuLmRhcmstdGhlbWUgLmplbXMtc2VsZWN0LW1lbnUge1xuICAuamVtcy1zZWxlY3Qtb3B0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazsgfVxuICAgICYuc2VsZWN0ZWQ6OmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgfVxuICAuamVtcy1zZWxlY3QtZmlsdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG4gIC5qZW1zLXNlbGVjdC1maWx0ZXItaW5wdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICB9XG59XG4vLyBDb250cmFwYXJ0ZXMgZGFyayBkb3MgZGVtYWlzIHBhaW7DqWlzIGFwcC1wb3BvdmVyICh2ZXIgbGlnaHQgYmxvY2tzIGFjaW1hKS5cbi8vIGAubm90aWZpY2F0aW9ucy1tZW51YCBOw4NPIGVudHJhIOKAlCBjZi4gbm90YSBsb2dvIGFudGVzIGRvIGJsb2NvIGxpZ2h0LlxuLmRhcmstdGhlbWUgLm1lbnUtY2hhcnQtdjIsXG4uZGFyay10aGVtZSAubWVudS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBQYWluZWwgZGUgbWF0LXNlbGVjdCBubyBwYWRyw6NvIGRlIE1FTlUgSkVNUzMgKG1lc21hIGZhbcOtbGlhIGRvIHRwYy11c2VyLW1lbnUpLlxuLy8gQXBsaWNhZG8gdmlhIGBwYW5lbENsYXNzPVwiamVtczMtc2VsZWN0LXBhbmVsXCJgIChleC46IG9zIHNlbGVjdHMgZG8gbWVudSBkZVxuLy8gRklMVFJPIGRhIExpc3RhIGRlIFN1Ym1pc3PDtWVzKS4gTyBwYWluZWwgdml2ZSBudW0gb3ZlcmxheSBuYSByYWl6IGRvIGRvY3VtZW50b1xuLy8g4oaSIHJlZ3JhIEdMT0JBTC4gRXNwZWxoYSBvIGNocm9tZSBkbyBtZW51IGNoYWlyOiBwYWluZWwgYXJyZWRvbmRhZG8gKyBzb21icmEgZGVcbi8vIHBhaW5lbDsgb3DDp8O1ZXMgY29tbyBcInDDrWx1bGFzXCIgY29tIGhvdmVyOyB0aXBvZ3JhZmlhIDEzcHguIFRoZW1lLWF3YXJlLlxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBgLm1hdC1hY3RpdmVgIChtYXJjYWRvciBkbyBMaXN0S2V5TWFuYWdlciBkbyBDREspIHBlcnNpc3RlIG5vIMO6bHRpbW8gaXRlbVxuLy8gdXNhZG8gbWVzbW8gZGVwb2lzIHF1ZSBvIG1vdXNlIGRlaXhhIG8gcGFpbmVsIOKAlCBvIENESyBzw7MgbGltcGEgYW8gdHJvY2FyXG4vLyBkZSBpdGVtIGF0aXZvIG91IGZlY2hhci4gTyB0ZW1hIGRlZmF1bHQgZG8gTWF0ZXJpYWwgcGludGEgYmcgZW1cbi8vIGAubWF0LWFjdGl2ZWAsIG8gcXVlIGNhdXNhOiAoMSkgaXRlbSBwcsOpLWRlc3RhY2FkbyBhbyBhYnJpciAobyBzZWxlY2lvbmFkb1xuLy8gdmlyYSBhdGl2byBhdXRvbWF0aWNhbWVudGUpOyAoMikgaXRlbSBvbmRlIG8gbW91c2UgZXN0ZXZlIGZpY2EgY29tIGJnXG4vLyBwZXJzaXN0ZW50ZSBhcMOzcyBkZWl4YXIgbyBwYWluZWwuIFplcmFtb3MgYXF1aSBwcmEgcXVlIG8gZGVzdGFxdWUgc8OzXG4vLyBhcGFyZcOnYSBubyBgOmhvdmVyYCAobW91c2UpIGUgbm8gYC5jZGsta2V5Ym9hcmQtZm9jdXNlZGAgKHRlY2xhZG8pLlxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUsXG4ubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUsXG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDRweCAhaW1wb3J0YW50O1xuICAvLyBmb250LXNpemUgbm8gcGFpbmVsIHJhaXogY2FzY2F0ZWlhIHAvIFRPRE9TIG9zIGRlc2NlbmRlbnRlcyAobWF0LW9wdGlvbixcbiAgLy8gY2hlY2tib3ggbGFiZWwpIOKAlCBldml0YSBvIGAxNnB4YCBkZWZhdWx0IGRvIE1hdGVyaWFsIGAubWF0LXNlbGVjdC1wYW5lbGAuXG4gIC8vIENhZGEgZGVzY2VuZGVudGUgcG9kZSBhaW5kYSBzb2JyZXNjcmV2ZXIgc2UgcHJlY2lzYXIuXG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7XG5cbiAgLm1hdC1vcHRpb24ge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IDA7ICAgLy8gaXRlbnMgZnVsbC1ibGVlZCBubyBwYWluZWwgKG1hY09TL1dpbmRvd3MgbW9kZXJubylcbiAgICBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodDtcbiAgfVxuICAvLyBDaGVja2JveCBubyBNRVNNTyB0YW1hbmhvIGRvcyBjaGVja2JveGVzIGRlIFNFTEXDh8ODTyBERSBMSU5IQVMgZGEgdGFiZWxhXG4gIC8vIChsw6Egw6kgYG1hdC1jaGVja2JveGAgY29tIGB0cmFuc2Zvcm06IHNjYWxlKDAuOClgIH4xM3B4KS4gTWVzbWEgdMOpY25pY2EgYXF1aTpcbiAgLy8gbyB0cmFuc2Zvcm0gbsOjbyBhbHRlcmEgbyBmb290cHJpbnQgZGUgbGF5b3V0IChzZWd1ZSAxNnB4KSwgZW50w6NvIG8gZXNwYcOnYW1lbnRvXG4gIC8vIGNvbSBvIHRleHRvIGRhIG9ww6fDo28gc2UgbWFudMOpbSDigJQgc8OzIGVuY29saGUgbyB2aXN1YWwgcHJvcG9yY2lvbmFsbWVudGUuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHsgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC8vIFLDs3R1bG8gZGUgZ3J1cG8gKGV4LjogdMOzcGljb3MtcGFpKSDigJQgcmVjdWFkby9tZW5vciwgYW8gZXN0aWxvIGxlZ2VuZGEuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuLy8gQ2hyb21lIGRlIG1lbnUgSkVNUzMg4oCUIENPTVBBUlRJTEhBRE8gcGVsb3MgcGFpbsOpaXMgY29tIGVzc2UgcGFkcsOjbzogamVtczMtc2VsZWN0LXBhbmVsXG4vLyAoc2VsZWN0cyBkZSBURVhUTyBkbyBmaWx0cm8pIGUgbXktc2VsZWN0LXN0YXR1cy1wYW5lbCAoQ0hJUFMgZGUgc3RhdHVzKS4gRk9OVEUgw5pOSUNBIGRvXG4vLyBmdW5kbyArIHNvbWJyYSBkZSBwYWluZWwuIE8gSE9WRVIgTsODTyDDqSBjb21wYXJ0aWxoYWRvOiBkaXZlcmdlIHBvciBwYWluZWwgKGZpbHRybyA9IHRva2VuXG4vLyBKRU1TMyBwYWRyw6NvOyBzdGF0dXMgPSBjdXN0b21pemHDp8OjbyBwcsOzcHJpYSksIGRlZmluaWRvIG5vcyBibG9jb3MgZXNwZWPDrWZpY29zIGFiYWl4by5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwsXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwsXG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBFc3BlY8OtZmljbyBkbyBGSUxUUk8gKGplbXMzLXNlbGVjdC1wYW5lbCwgc2VsZWN0cyBkZSBURVhUTy9tdWx0aSk6IGNvciBkYXMgb3DDp8O1ZXMsXG4vLyByw7N0dWxvIGRlIGdydXBvIGUgY2hlY2tib3ggbWFyY2FkbyBlbSBhY2NlbnQuXG4vL1xuLy8gU0lOR0xFLVNFTEVDVCBzZWxlY2lvbmFkbzogc2VtIGZ1bmRvIGNpbnphIChNYXRlcmlhbCBkZWZhdWx0KSDihpIgbWFyY2EgY29tXG4vLyDDjUNPTkUgREUgQ0hFQ0sgw6AgRVNRVUVSREEgKG5hIGZyZW50ZSBkbyByw7N0dWxvKS4gUmVzZXJ2YSAyOHB4IGRlIHBhZGRpbmctbGVmdFxuLy8gZW0gVE9EQVMgYXMgb3DDp8O1ZXMgcHJhIGV2aXRhciBxdWUgbyByw7N0dWxvIHNlIGRlc2xvcXVlIHF1YW5kbyBvIGNoZWNrIGFwYXJlY2UuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gT3DDp8OjbyBTRUxFQ0lPTkFEQSAoc2luZ2xlLXNlbGVjdCwgZXguOiBUcmlsaGEpOiBtYW50w6ltIGNvciBkbyB0ZXh0byBub3JtYWwsXG4gIC8vIHNlbSBmdW5kbyBjaW56YSDigJQgc8OzIG8gY2hlY2sgw6AgZXNxdWVyZGEgaW5kaWNhIGEgc2VsZcOnw6NvLlxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAvLyBDaGVjayBTRiBTeW1ib2xzIOKAlCBmb250ZSDDum5pY2E6IG1peGluIGBqZW1zLXNlbGVjdGVkLWNoZWNrYCAobWVzbWEgcmVjZWl0YVxuICAgIC8vIGRvIGBhcHAtamVtcy1zZWxlY3RgIGUgZG8gbWVudSBzZWxldG9yIGRlIHBlcmZpbCkuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGplbXMtc2VsZWN0ZWQtY2hlY2soJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IpO1xuICAgIH1cbiAgfVxuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAvLyBDaGVja2JveCBtYXJjYWRvID0gQUNDRU5UIChpZ3VhbCBhbyBgLm1hdC1jaGVja2JveGAgZG8gcmVzdG8gZG8gYXBwKSwgbm8gbHVnYXIgZG8gY2luemFcbiAgLy8gZGVmYXVsdCBkbyBwc2V1ZG8tY2hlY2tib3g7IGNoZWNrbWFyayBvZmYtd2hpdGUgdmVtIGRhIHJlZ3JhIGdsb2JhbC4gKERhcmsgdXNhICRncmF5LTMwMC4pXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDtcbiAgfVxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG4gIH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxuICAubWF0LW9wdGdyb3VwLWxhYmVsIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxufVxuXG4vLyBPcMOnw7VlcyBkZSBtYXQtc2VsZWN0IE3DmkxUSVBMTyAoYC5tYXQtb3B0aW9uLW11bHRpcGxlYCk6IG8gTWF0ZXJpYWwgasOhIGRlc2VuaGEgb1xuLy8gcHNldWRvLWNoZWNrYm94IMOgIGVzcXVlcmRhLCBlbnTDo28gTsODTyByZXNlcnZhbW9zIG9zIDI4cHggZG8gY2hlY2sgU0Ygc2luZ2xlLXNlbGVjdFxuLy8gKHF1ZSBzw7MgYXBhcmVjZSBlbSBgOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSlgKSDigJQgc2Vuw6NvIG8gaXRlbSBmaWNhIGNvbSByZWN1b1xuLy8gRFVQTE8gKGNoZWNrYm94IGpvZ2FkbyB+MzRweCBwcmEgZGVudHJvKS4gUmVjdW8gZW54dXRvIGFsaW5oYSBvIGNoZWNrYm94IGEgfjEwcHggZGFcbi8vIGJvcmRhIGRvIHBhaW5lbC4gVmFsZSBwLyB0b2RvIG1hdC1zZWxlY3QgbXVsdGlwbGUgZG8gYXBwIChvIDI4cHggZXJhIGluZGV2aWRvIHByYSBlbGVzKS5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbi1tdWx0aXBsZSxcbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLW11bHRpcGxlIHtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG4vLyBNdWx0aS1zZWxlY3Q6IGEgbWFyY2EgZGUgXCJzZWxlY2lvbmFkb1wiIMOpIEFQRU5BUyBvIGNoZWNrYm94IChwc2V1ZG8tY2hlY2sgw6Bcbi8vIGVzcXVlcmRhKS4gTyBmdW5kbyBOw4NPIGRldmUgbXVkYXIgcG9yIHNlbGXDp8OjbyDigJQgc8OzIG5vIGhvdmVyLiBNYXRlcmlhbCBkZWZhdWx0XG4vLyBwaW50YSBgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkYCBjb20gdGludCBjaW56YTsgemVyYW1vcyBhcXVpIHByYSBxdWUgYSBsaW5oYVxuLy8gc2VsZWNpb25hZGEgdGVuaGEgbyBtZXNtbyBiZyBxdWUgdW1hIG7Do28tc2VsZWNpb25hZGEgZW0gZXN0YWRvIG5ldXRyby5cbi5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLW11bHRpcGxlLm1hdC1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vIG1hdC1hdXRvY29tcGxldGUgbsOjbyBleHDDtWUgYFtwYW5lbENsYXNzXWAgZW0gTWF0ZXJpYWwgMTEsIGVudMOjbyBvIHBhaW5lbFxuLy8gZGEgQ2lkYWRlIChgYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGVgKSByZWNlYmUgbyBjaHJvbWUgSkVNUzNcbi8vIEdMT0JBTE1FTlRFIHZpYSBgLm1hdC1hdXRvY29tcGxldGUtcGFuZWxgLiBNZXNtYSByZWNlaXRhIGRvXG4vLyBgLmplbXMzLXNlbGVjdC1wYW5lbGAg4oCUIHJldXRpbGl6YSBvcyB0b2tlbnMvaG92ZXIvZGFyay5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDRweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50OyAgIC8vIGNhc2NhdGVpYSBwLyBvcMOnw7VlcyBlIGZpbHRlclxuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAwOyAgIC8vIGl0ZW5zIGZ1bGwtYmxlZWQgbm8gcGFpbmVsIChtYWNPUy9XaW5kb3dzIG1vZGVybm8pXG4gICAgcGFkZGluZzogMCA4cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQ7XG4gIH1cbn1cbi8vIEJ1c2NhIGRlIHVzdcOhcmlvcyAoYXBwLXVzZXItc2VhcmNoKTogY2FkYSBvcMOnw6NvIMOpIFwiTm9tZSAoaWQpIC0gZW1haWwgLSBzaWdsYVwiLFxuLy8gdGV4dG8gbG9uZ28gcXVlIG8gTWF0ZXJpYWwgdHJ1bmNhIGNvbSBlbGxpcHNpcyBkZW50cm8gZGEgbGFyZ3VyYSBkbyBpbnB1dC4gQXF1aVxuLy8gZGVpeGFtb3MgYSBvcMOnw6NvIENSRVNDRVIgYXTDqSBvIGNvbnRlw7pkbyBlIGhhYmlsaXRhbW9zIFNDUk9MTCBIT1JJWk9OVEFMIG5vIHBhaW5lbCxcbi8vIHByYSBsZXIgYSBsaW5oYSBpbnRlaXJhIHNlbSBjb3J0YXIuIEVzY29wbyBwZWxhIGNsYXNzZSBwcsOzcHJpYSBkbyBhdXRvY29tcGxldGVcbi8vIChgdXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlYCwgcHJvcGFnYWRhIGFvIHBhaW5lbCB2aWEgbyBgY2xhc3NgIGRvIG1hdC1hdXRvY29tcGxldGUpLFxuLy8gZW50w6NvIHZhbGUgcHJhIFRPREFTIGFzIGluc3TDom5jaWFzIGRlIGFwcC11c2VyLXNlYXJjaCBzZW0gYWZldGFyIG91dHJvcyBwYWluw6lpcy5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87ICAgICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIHF1YW5kbyBhIG9ww6fDo28gcGFzc2EgZGEgbGFyZ3VyYSBkbyBpbnB1dFxuXG4gIC8vIFBvcG92ZXIgZGUgYWRpY2lvbmFyIGF1dG9yICh0ZW0gbyBoZWFkZXIgXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIpLiBgOmhhc2AgbGltaXRhIGFvXG4gIC8vIGNhc28gY29tIGhlYWRlcjsgcGFpbsOpaXMgc2VtIGVsZSBmaWNhbSBpbnRhY3Rvcy5cbiAgJjpoYXMoLmNyZWF0ZS11c2VyLW9wdGlvbikge1xuICAgIC8vICgxKSBaZXJhIFRPRE8gbyBwYWRkaW5nIGRvIHBhaW5lbCAobWFudMOpbSBzw7MgbyByZXNwaXJvIGluZmVyaW9yKS4gTW90aXZvczpcbiAgICAvLyAgIC0gcGFkZGluZy10b3AgZ2VyYXZhIEZSRVNUQSBubyB0b3BvIChvIHN0aWNreSBmaXhhIGVtIHRvcDowID0gdG9wbyBkYSBjYWl4YVxuICAgIC8vICAgICBkZSBjb250ZcO6ZG8sIGFiYWl4byBkbyBwYWRkaW5nKSBwb3Igb25kZSBhIGxpc3RhIHZhemF2YSBBQ0lNQSBkbyBoZWFkZXI7XG4gICAgLy8gICAtIHBhZGRpbmcgTEFURVJBTCAoNHB4KSBlcmEgbyBWQVpBTUVOVE8gw6AgZGlyZWl0YTogbyBoZWFkZXIgZXN0aWNhIHPDsyBhdMOpIGFcbiAgICAvLyAgICAgY2FpeGEgZGUgY29udGXDumRvIChpbnNldCA0cHgpLCBtYXMgbyB0ZXh0byBkYXMgbGluaGFzIHRyYW5zYm9yZGEgcGFyYSBkZW50cm9cbiAgICAvLyAgICAgZGVzc2UgcGFkZGluZyBlIGFwYXJlY2Ugw6AgZGlyZWl0YSBkbyBoZWFkZXIuIENvbSBwYWRkaW5nIGxhdGVyYWwgMCwgbyBoZWFkZXJcbiAgICAvLyAgICAgcHJlZW5jaGUgYSBsYXJndXJhIGludGVpcmEgZG8gcGFpbmVsIGUgY29icmUgYXMgbGluaGFzIHBvciBjb21wbGV0by5cbiAgICAvLyBPIHJlc3Bpcm8gaW50ZXJubyBkbyB0ZXh0byB2ZW0gZG8gcHLDs3ByaW8gcGFkZGluZyBkYSBvcMOnw6NvIChgMCA4cHhgKSwgcHJlc2VydmFkby5cbiAgICBwYWRkaW5nOiAwIDAgNXB4ICFpbXBvcnRhbnQ7XG5cbiAgICAvLyAoMikgTEFSR1VSQSBGSVhBIGRvIHBhaW5lbCA9IGxhcmd1cmEgZGEgY2FpeGEgZGUgYnVzY2EuIEEgbWVkacOnw6NvIGRvIGhvc3QgcGVsb1xuICAgIC8vIE1hdGVyaWFsIGZhbGhhIG51bSBvdmVybGF5IGVzdHJlaXRvLCBkZWl4YW5kbyBvIHBhaW5lbCBjb20gbGFyZ3VyYSBgYXV0b2AgKHF1ZVxuICAgIC8vIGNyZXNjZXJpYSBwcmEgY2FiZXIgYSBsaW5oYSBtYWlzIGxvbmdhLCBwYXNzYW5kbyBkbyBwb3BvdmVyKS4gRml4YW5kbywgbyBwYWluZWxcbiAgICAvLyBmaWNhIGRvIHRhbWFuaG8gZGEgYnVzY2EgZSBvIGNvbnRlw7pkbyBsb25nbyBST0xBIGRlbnRybyBkZWxlICh2aWEgYG92ZXJmbG93LXhgKS5cbiAgICAvLyAyOTZweCA9IDMyMCBkbyBwb3BvdmVyIOKIkiAyw5cxMiBkZSBwYWRkaW5nLlxuICAgIHdpZHRoOiAyOTZweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMjk2cHggIWltcG9ydGFudDtcbiAgfVxuICAvLyBRdWFuZG8gTsODTyBow6EgcmVzdWx0YWRvcyAoc8OzIG8gaGVhZGVyIFwiQ3JpYXIgbm92byB1c3XDoXJpb1wiKSwgZWxlIMOpIG8gw7psdGltbyBpdGVtOlxuICAvLyBzb21lIGNvbSBvIHJlc3Bpcm8gaW5mZXJpb3IsIHF1ZSBkZWl4YXZhIHVtIGVzcGHDp28gZW0gYnJhbmNvIGVtYmFpeG8gZGEgbGluaGEuXG4gICY6aGFzKC5jcmVhdGUtdXNlci1vcHRpb246bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBUb2RhcyBhcyBvcMOnw7VlcyAoaGVhZGVyICsgbGluaGFzKSBlc3RpY2FtIGF0w6kgYSBMQVJHVVJBIERPIFBBSU5FTCB2aWFcbiAgLy8gYG1pbi13aWR0aDogMTAwJWAsIFNFTSBgbWF4LWNvbnRlbnRgLiBBc3NpbTpcbiAgLy8gIC0gbyBoZWFkZXIgXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIgdGVtIGEgbWVzbWEgbGFyZ3VyYSBkYXMgbGluaGFzIOKGkiBjb2JyZS1hcyBwb3JcbiAgLy8gICAgaW50ZWlybyBxdWFuZG8gZWxhcyByb2xhbSBwb3IgYmFpeG8gZGVsZSAoc2VtIGBtaW4td2lkdGhgIGVsZSBlbmNvbGhpYSBwLyBvXG4gIC8vICAgIHRhbWFuaG8gZG8gdGV4dG8gZSBzb2JyYXZhIGxpbmhhIMOgIGRpcmVpdGEpO1xuICAvLyAgLSBhcyBsaW5oYXMgbsOjbyBmaWNhbSBNQUlTIGxhcmdhcyBxdWUgbyBoZWFkZXIgKHF1ZSBzZXJpYSBvIHByb2JsZW1hIG9wb3N0bykuXG4gIC8vIE8gdGV4dG8gbG9uZ28gYWluZGEgVFJBTlNCT1JEQSAoc2VtIGVsbGlwc2lzKSBlIHJvbGEgdmlhIGBvdmVyZmxvdy14OiBhdXRvYC5cbiAgLm1hdC1vcHRpb24ge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgICAgICAgICAgIC8vIGxpYmVyYSBvIGNsaXAgcXVlIGdlcmF2YSBvIGVsbGlwc2lzIG5hIG9ww6fDo29cbiAgfVxuICAvLyBPIHNwYW4gaW50ZXJubyB0YW1iw6ltIHRydW5jYSBwb3IgcGFkcsOjbzsgbGliZXJhIHByYSBvIHRleHRvIFRSQU5TQk9SREFSIChlIGVudMOjb1xuICAvLyByb2xhciBob3Jpem9udGFsbWVudGUpIGVtIHZleiBkZSB2aXJhciByZXRpY8OqbmNpYXMuXG4gIC5tYXQtb3B0aW9uLXRleHQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgICAgICAgICAvLyB1bWEgbGluaGEgc8OzIChlbnTDo28gdHJhbnNib3JkYSDihpIgcm9sYSwgbsOjbyBxdWVicmEpXG4gIH1cblxuICAvLyBJdGVtIGZpeG8gXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIgKG9wdC1pbiB2aWEgW2VuYWJsZUNyZWF0ZVVzZXJdKTogcHJpbWVpcm8gZGEgbGlzdGEsXG4gIC8vIGVtIERFU1RBUVVFIOKAlCBjb3IgYWNjZW50LCDDrWNvbmUgcGVyc29uX2FkZC4gRklYTyBubyB0b3BvIChwb3NpdGlvbjogc3RpY2t5KTogYVxuICAvLyBsaXN0YSBkZSByZXN1bHRhZG9zIHJvbGEgcG9yIGJhaXhvIGRlbGUsIGVudMOjbyBwcmVjaXNhIGRlIGZ1bmRvIE9QQUNPIChwaW50YWRvIG5vc1xuICAvLyBibG9jb3MgbGlnaHQvZGFyayBhYmFpeG8pIGUgei1pbmRleCBhY2ltYSBkYXMgb3DDp8O1ZXMuXG4gIC8vXG4gIC8vIENlbnRyYWxpemHDp8OjbyBwb3IgRkxFWCAobsOjbyBwb3IgbGluZS1oZWlnaHQpOiBvIGNvbnRlw7pkbyBpbnRlcm5vIMOpIGlubGluZS1mbGV4IGUsXG4gIC8vIGFsaW5oYWRvIHBlbGEgYmFzZWxpbmUgZGEgbGluaGEgZGUgMjZweCwgc3ViaWEuIENlbnRyYWxpemFyIGEgYC5tYXQtb3B0aW9uLXRleHRgXG4gIC8vIG5hIGFsdHVyYSByZWFsIGRvIGl0ZW0gcmVzb2x2ZSwgaW5kZXBlbmRlbnRlIGRhIGFsdHVyYS5cbiAgLmNyZWF0ZS11c2VyLW9wdGlvbiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgICAgICAgICAgICAgICAgIC8vIHN0aWNreSB0YW1iw6ltIG5hIGhvcml6b250YWw6IGNvYnJlIGEgamFuZWxhIHZpc8OtdmVsXG4gICAgei1pbmRleDogMjsgICAgICAgICAgICAgIC8vIGR1cmFudGUgcm9sYWdlbSBsYXRlcmFsLCBuw6NvIHPDsyB2ZXJ0aWNhbFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsgLy8gKzZweCBzb2JyZSBvcyAyNnB4IHBhZHLDo28gZGEgb3DDp8OjbyDihpIgaGVhZGVyIG1haXMgZWxlZ2FudGVcbiAgICBsaW5lLWhlaWdodDogMzJweDsgICAgICAgLy8gcGFyZWlhIGEgYWx0dXJhIChtZXNtbyBjb20gZmxleCwgZXZpdGEgaGVyYW7Dp2EgZG9zIDI2cHgpXG4gICAgYm9yZGVyLXJhZGl1czogMDsgICAgICAgIC8vIGhlYWRlciBmdWxsLWJsZWVkLCBzZW0gY2FudG9zIGFycmVkb25kYWRvc1xuICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIC5tYXQtb3B0aW9uLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyAgIC8vIGRlaXhhIG8gZmxleCBjZW50cmFsaXphcjsgc2VtIGxpbmUtaGVpZ2h0IGRlIDI2cHggcHV4YW5kb1xuICAgIH1cbiAgICAuY3JlYXRlLXVzZXItaW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cbiAgICAvLyBEaXZpc29yIGRlIFBPTlRBIEEgUE9OVEEg4oCUIHPDsyBxdWFuZG8gSMOBIHJlc3VsdGFkb3MgYWJhaXhvIChgOm5vdCg6bGFzdC1jaGlsZClgKTtcbiAgICAvLyBzb3ppbmhvIG5vIHBhaW5lbCwgbyBoZWFkZXIgbsOjbyBwcmVjaXNhIGRlIGxpbmhhIGVtYmFpeG8uIENvbW8gbyBwYWRkaW5nIGxhdGVyYWxcbiAgICAvLyBkbyBwYWluZWwgYWdvcmEgw6kgMCwgYGxlZnQvcmlnaHQ6IDBgIGrDoSBhbGNhbsOnYW0gYXMgYm9yZGFzLlxuICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxuICB9XG59XG4ubGlnaHQtdGhlbWUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwudXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlIC5jcmVhdGUtdXNlci1vcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kOyAgIC8vIG9wYWNvOiBhIGxpc3RhIHJvbGEgcG9yIGJhaXhvIGRvIGhlYWRlciBmaXhvXG59XG4uZGFyay10aGVtZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUgLmNyZWF0ZS11c2VyLW9wdGlvbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAmOjphZnRlciB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7IH1cbn1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbiAgLm1hdC1vcHRpb24geyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7IH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuICAubWF0LW9wdGlvbiB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gRXNwZWPDrWZpY28gZG8gU1RBVFVTIChteS1zZWxlY3Qtc3RhdHVzLXBhbmVsLCBzaW5nbGUtc2VsZWN0KSDigJQgc8OzIGRlc3RlIG1lbnUsIE7Dg08gZGFcbi8vIGNsYXNzZSBKRU1TMyAobyBmaWx0cm8gbWFudMOpbSBvIHRva2VuIHBhZHLDo28pLiBIT1ZFUiwgZm9jby10ZWNsYWRvIEUgU0VMRUNJT05BRE8gdXNhbSBhXG4vLyBNRVNNQSBjb3IgY3VzdG9taXphZGE6IG1haXMgRVNDVVJPIG5vIGxpZ2h0LCBtYWlzIENMQVJPIG5vIGRhcmsuIERlcml2YSBkbyB0b2tlbiBKRU1TMyBkZVxuLy8gaG92ZXIgY29tIGRhcmtlbi9saWdodGVuIChzZWd1ZSBvIHRva2VuIHNlIGVsZSBtdWRhcjsgYWp1c3RlIGEgJSBwLyBtYWlzL21lbm9zIGNvbnRyYXN0ZSkuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgNyUpICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwge1xuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmssIDclKSAhaW1wb3J0YW50OyB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ0hJUCBkZSBzdGF0dXMgbm8gRklMVFJPIGRlIHN0YXR1cyAoYXBwLXNlbGVjdC1pbnB1dCBbc3RhdHVzQ2hpcF09dHJ1ZSkg4oCUIHDDrWx1bGFcbi8vIGRlIHN0YXR1cyBkZSBzdWJtaXNzw6NvIG5hcyBPUMOHw5VFUyBkbyBkcm9wZG93biAob3ZlcmxheSkgRSBubyBnYXRpbGhvIGZlY2hhZG8uXG4vLyBNZXNtYSBpZGVudGlkYWRlIGRvcyBjaGlwcyBwZXItc3RhdHVzIChnZW9tZXRyaWEgKyBjb3JlcyArIMOtY29uZSBkZSBfc3RhdHVzLWNoaXApLlxuLy8gUmVncmEgR0xPQkFMOiBhIG9ww6fDo28gdml2ZSBubyBvdmVybGF5IChyYWl6IGRvIGRvY3VtZW50bykgZSBvIGdhdGlsaG8gbmEgdmlldyBkb1xuLy8gY29tcG9uZW50ZSDigJQgdW1hIGRlZmluacOnw6NvIMO6bmljYSBhdGVuZGUgb3MgZG9pcy4gQ29yZXMgaWTDqm50aWNhcyBlbSBsaWdodC9kYXJrXG4vLyAobyBzdGF0dXMgdGVtIGlkZW50aWRhZGUgY3JvbcOhdGljYSBwcsOzcHJpYSwgY29tbyBuYSBjb2x1bmEgZGUgc3RhdHVzIGRhIHRhYmVsYSkuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5zdGF0dXMtY2hpcC1maWx0ZXIge1xuICAvLyBWaXN1YWwgKGJvcmRhIGVtYm9zc2VkLCBzb21icmEsIGFsdHVyYSwgTEFSR1VSQSBGSVhBIDk2cHggdW5pZm9ybWUsIHJhaW8sIGNvcmVzKVxuICAvLyB2ZW0gZG9zIG1peGlucy4gTyBMQVlPVVQgw6kgc29icmVzY3JpdG8gYWJhaXhvOiBlbSB2ZXogZG8gZmxleCtqdXN0aWZ5LWNvbnRlbnRcbiAgLy8gKHF1ZSwgcG9yIGNvbmZsaXRvIGRlIHJ1bnRpbWUsIE7Dg08gZXN0YXZhIGNlbnRyYWxpemFuZG8pLCBvIGNoaXAgdmlyYSBpbmxpbmUtYmxvY2tcbiAgLy8gZSBjZW50cmFsaXphIG8gZ3J1cG8gaW50ZXJubyBwb3IgVEVYVC1BTElHTiDigJQgbWVjYW5pc21vIGluZGVwZW5kZW50ZSBkbyBmbGV4LlxuICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtZ2VvbWV0cnkodHJ1ZSk7XG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1jb2xvcnMoJHN1Ym1pc3Npb24tc3RhdHVzLCB0cnVlKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gIC8vIEdydXBvIFvDrWNvbmUgKyByw7N0dWxvXTogaW5saW5lLWZsZXggaW5saW5lLWxldmVsIOKGkiBjZW50cmFkbyBob3Jpem9udGFsbWVudGUgcGVsb1xuICAvLyB0ZXh0LWFsaWduIGRvIHBhaS4gYWxpZ24taXRlbXM6IGNlbnRlciArIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgY3VpZGFtIGRvIGVpeG8gWS5cbiAgLnNjZi1ib2R5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gw41jb25lOiB6ZXJhIGEgTUFSR0lOLiBVbWEgcmVncmEgR0xPQkFMIGRlIGAubWF0LWljb25gIGFwbGljYSBtYXJnaW4tcmlnaHQ6IDE2cHhcbiAgLy8gKGVzcGHDp2FtZW50byBkZSDDrWNvbmUgZGUgbGlzdGEvbWVudSkg4oCUIGNvbmZpcm1hZG8gbm8gQ29tcHV0ZWQgKG1hcmdpbiAwIDE2cHggMCAwKS5cbiAgLy8gRVJBIGEgY2F1c2EgZG8gXCJidXJhY29cIiBlbnRyZSDDrWNvbmUgZSByw7N0dWxvLiBDb20gbWFyZ2luIDAsIG8gZ2FwIGZpY2Egc8OzIG8gZG9cbiAgLy8gLnNjZi1ib2R5ICg0cHgpIGUgbyBncnVwbyBbw61jb25lICsgcsOzdHVsb10gZmljYSBjb2xhZG8gZSBjZW50cmFkby5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1pY29uKHRydWUpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5sYWJlbCB7IGxpbmUtaGVpZ2h0OiAxOyB9XG59XG5cbi8vIEdBVElMSE8gKGNhaXhhIGZlY2hhZGEpIGRvIGZpbHRybyBkZSBzdGF0dXM6IHF1YW5kbyB1bSBzdGF0dXMgZXN0w6Egc2VsZWNpb25hZG8sIG9cbi8vIGNoaXAgYXBhcmVjZSBkZW50cm8gZGEgY2FpeGEgZSBzdWEgc29tYnJhIGVtYm9zc2VkIGVyYSBDTElQQURBIOKAlCBwZWxvIGBvdmVyZmxvdzpcbi8vIGhpZGRlbmAgZG8gYC5tYXQtZm9ybS1maWVsZC1mbGV4YCAocHJlc2V0IGZpbHRlci1zdHlsZWQpIGUgZG8gYC5tYXQtc2VsZWN0LXZhbHVlYC9cbi8vIGAubWF0LXNlbGVjdC12YWx1ZS10ZXh0YCAocGFkcsOjbyBkbyBNYXRlcmlhbCwgcC8gZWxsaXBzaXMgZGUgdGV4dG8pLiBMaWJlcmFtb3Mgb1xuLy8gb3ZlcmZsb3cgU8OTIG5lc3RhIGNhaXhhLCBkZXRlY3RhZGEgcG9yIGA6aGFzKC5zdGF0dXMtY2hpcC10cmlnZ2VyKWAgKHPDsyBlbGEgdGVtIGNoaXBcbi8vIG5vIGdhdGlsaG8pIOKAlCBhcyBkZW1haXMgY2FpeGFzIGZpbHRlci1zdHlsZWQgc2VndWVtIGNvbSBvdmVyZmxvdyBoaWRkZW4gaW50YWN0by5cbmFwcC1zZWxlY3QtaW5wdXQuZmlsdGVyLXN0eWxlZDpoYXMoLnN0YXR1cy1jaGlwLXRyaWdnZXIpIHtcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLFxuICAubWF0LXNlbGVjdC12YWx1ZS10ZXh0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4vLyBQYWluZWwgZG8gZmlsdHJvIGRlIHN0YXR1czogTsODTyBlc3RpY2FyIGF0w6kgYSBsYXJndXJhIGRvIGdhdGlsaG8gKHF1ZSDDqSBsYXJnYSBwb3Jcbi8vIGNhdXNhIGRvIHBsYWNlaG9sZGVyIFwiU3RhdHVzIGRlIHN1Ym1pc3PDtWVzXCIpIOKAlCBodWdhIG8gY29udGXDumRvIChjaGVja2JveCArIGNoaXApLFxuLy8gc2Vuw6NvIHNvYnJhIGVzcGHDp28gdmF6aW8gw6AgZGlyZWl0YSBkb3MgY2hpcHMgZSBhIG9ww6fDo28gcGFyZWNlIFwibGFyZ2EgZGVtYWlzXCIuXG4ubWF0LXNlbGVjdC1wYW5lbC5zdGF0dXMtY2hpcC1zZWxlY3QtcGFuZWwge1xuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgLy8gSHVnYSBvIGNvbnRlw7pkbyAoY2hlY2tib3ggKyBjaGlwIDk2cHgpLCBuw6NvIGEgbGFyZ3VyYSBkbyBnYXRpbGhvIChxdWUgw6kgbGFyZ2EgcG9yXG4gIC8vIGNhdXNhIGRvIHBsYWNlaG9sZGVyIFwiU3RhdHVzIGRlIHN1Ym1pc3PDtWVzXCIpLlxuICB3aWR0aDogbWF4LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgLy8gUmVzcGlybyB0b3BvL2Jhc2Ugc2ltw6l0cmljbyAofjlweCBhdMOpIG8gY2hpcCkuIFNvYmUgZGUgNXB44oaSN3B4IG8gcGFkZGluZyB2ZXJ0aWNhbFxuICAvLyBkbyBgLmplbXMzLXNlbGVjdC1wYW5lbGAgKG8gcmVzdGFudGUgZG8gZ2FwIHZlbSBkYSBjZW50cmFnZW0gZGEgb3DDp8OjbykuIFZlbmNlIHBvclxuICAvLyB2aXIgZGVwb2lzIG5hIGZvbnRlLCBjb20gbWVzbWEgZXNwZWNpZmljaWRhZGUuXG4gIHBhZGRpbmc6IDdweCA0cHggIWltcG9ydGFudDtcblxuICAvLyBPIGNoaXAgKGlubGluZS1ibG9jaykgZmljYSB+MnB4IGFiYWl4byBkbyBjaGVja2JveCBwZWxhIGJhc2VsaW5lLCBtZXNtbyBjb20gb1xuICAvLyBgYWxpZ24taXRlbXM6IGNlbnRlcmAgZGEgb3DDp8OjbyAobWVkaWRvIG5vIERPTSkuIFNvYmUgMnB4IHByYSBjZW50cmFsaXphciBjb20gb1xuICAvLyBjaGVja2JveC4gRXNjb3BhZG8gYW8gcGFpbmVsIOKAlCBubyBnYXRpbGhvIGZlY2hhZG8gKHNlbSBjaGVja2JveCkgbyBjaGlwIG7Do28gbXVkYS5cbiAgLnN0YXR1cy1jaGlwLWZpbHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgfVxuXG4gIC8vIFJlc3Bpcm8gdmVydGljYWwgZW50cmUgb3Mgc3RhdHVzIChzw7MgbmVzdGUgbWVudSk6IGFzIHDDrWx1bGFzIGRlIHN0YXR1cyBwZWRlbVxuICAvLyBtYWlzIGZvbGdhIHF1ZSBvcyBpdGVucyBkZSB0ZXh0byBkb3MgZGVtYWlzIGZpbHRyb3MuIFNvYnJlc2NyZXZlIG8gYG1hcmdpbjogMGBcbiAgLy8gZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb25gICh2ZW5jZSBwb3IgdmlyIGRlcG9pcyBuYSBmb250ZSkuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgLy8gTyBNYXRlcmlhbCBhcGxpY2EgYG92ZXJmbG93OiBoaWRkZW5gIG5vIGAubWF0LW9wdGlvbmAgKHByYSBlbGxpcHNpcyBkbyB0ZXh0byksXG4gICAgLy8gbyBxdWUgQ0xJUEEgYSBzb21icmEgZG9zIGNoaXBzIGRlIHN0YXR1cy4gQXF1aSBvIHLDs3R1bG8gdml2ZSBERU5UUk8gZG8gY2hpcFxuICAgIC8vIChuw6NvIG5hIG9ww6fDo28pLCBlbnTDo28gbGliZXJhciBvIG92ZXJmbG93IG7Do28gYWZldGEgdHJ1bmNhbWVudG8gZSBkZWl4YSBhXG4gICAgLy8gc29tYnJhIGVtYm9zc2VkIGRvIGNoaXAgYXBhcmVjZXIgaW50ZWlyYS5cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAubWF0LW9wdGlvbjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAvLyBPIE1hdGVyaWFsIGFwbGljYSBgb3ZlcmZsb3c6IGhpZGRlbmAgVEFNQsOJTSBubyBgLm1hdC1vcHRpb24tdGV4dGAgKHNwYW4gaW50ZXJub1xuICAvLyBxdWUgw6kgbyBwYWkgRElSRVRPIGRvIGNoaXApIOKAlCDDqSBFTEUgcXVlbSBjb3J0YXZhIGEgc29tYnJhIGVtYm9zc2VkIGRvIGNoaXBcbiAgLy8gKG1lZGlkbyBubyBET00pLiBMaWJlcmFtb3MgYXF1aTsgbyByw7N0dWxvIHZpdmUgZGVudHJvIGRvIGNoaXAsIHNlbSB0cnVuY2FtZW50by5cbiAgLm1hdC1vcHRpb24tdGV4dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbiAgLy8gU2VtIGFuaW1hw6fDo28gZGUgY2xpcXVlIChyaXBwbGUpIG5hcyBvcMOnw7VlcyDigJQgY2xpcXVlIGRpcmV0bywgc2VtIFwib25kYVwiLlxuICAubWF0LW9wdGlvbi1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gSG92ZXIvZm9jbyBkYXMgb3DDp8O1ZXMgPSBNRVNNQSBjb3IgZG8gbWVudSBkZSBzdGF0dXMgKG15LXNlbGVjdC1zdGF0dXMtcGFuZWwpIGRvXG4vLyBMaXN0YXIgc3VibWlzc8O1ZXM6IGRhcmtlbiA3JSBubyBsaWdodCwgbGlnaHRlbiA3JSBubyBkYXJrLiBWZW5jZSBvIGhvdmVyIEpFTVMzXG4vLyBwYWRyw6NvIChvIHBhaW5lbCB0YW1iw6ltIHRlbSBhIGNsYXNzZSBqZW1zMy1zZWxlY3QtcGFuZWwpIHBvciB2aXIgREVQT0lTIG5hIGZvbnRlLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsIDclKSAhaW1wb3J0YW50OyB9XG4gIC8vIGAubWF0LWFjdGl2ZWAgPSBwcmltZWlyYSBvcMOnw6NvIHF1YW5kbyBvIHBhaW5lbCBhYnJlIHNlbSBzZWxlw6fDo28gKGZvY29cbiAgLy8gcHJvZ3JhbcOhdGljbyBkbyBNYXRlcmlhbCkuIERlZmF1bHQgZG8gTWF0ZXJpYWwgcGludGEgYWNjZW50IOKAlCB6ZXJhbW9zXG4gIC8vIHByYSBxdWUgYWJyaXIgbyBtZW51IG7Do28gcGFyZcOnYSBcImFsZ28gasOhIG1hcmNhZG9cIi5cbiAgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTpub3QoOmhvdmVyKTpub3QoLmNkay1rZXlib2FyZC1mb2N1c2VkKSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmssIDclKSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KDpob3Zlcik6bm90KC5jZGsta2V5Ym9hcmQtZm9jdXNlZCkgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG59XG5cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IHtcblxuICAvLyBDb3IgLyDDrWNvbmUgLyBob3ZlciBkb3MgaXRlbnMgdsOqbSBkbyBibG9jbyBhZGl0aXZvIGdsb2JhbCAoLmRhcmstdGhlbWVcbiAgLy8geyAuLi4gLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gfSkuIEFxdWkgc8OzIG9zXG4gIC8vIHNlbGV0b3JlcyBlc3BlY8OtZmljb3MgZG8gYXZhdGFyLXByb2ZpbGUgKHRoZW1lL2xheW91dC9sYW5ndWFnZSkuXG5cbiAgLy8gVGhlbWUvbGF5b3V0IHN3aXRjaGVyIGhvdmVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHJ1bGUgYWJvdmUuXG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgLm1hdC1pY29uLFxuICAgIC5sYXlvdXQtaWNvbiB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxufVxuXG4vKiBhcHAtZXZlbnQtd2l6YXJkICovXG4vLyBgLnRhc2stdGV4dGAgYWdvcmEgdml2ZSBkZW50cm8gZGUgYG1hdC1jYXJkLmFkbWluLWV2ZW50YCAoY2FudmFzIGRvIGNoYWlyIFVJKVxuLy8g4oCUIHVzYSBvIG1lc21vIHRva2VuIGRlIHRleHRvIGJvZHkgcXVlIG8gcmVzdG8gZG8gY2FudmFzICg9IHNpZGViYXIgbGV2ZWwtMlxuLy8gcmVzdCksIG7Do28gcHJldG8vYnJhbmNvIHB1cm9zIGxlZ2FjeS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtd2l6YXJkLCAnLnRhc2stdGV4dCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBTZWN0aW9uIGRpdmlkZXIgY29sb3Ig4oCUIGdsb2JhbCwgYXBsaWNhZG8gZW0gdG9kYXMgYXMgdHJhbnNpw6fDtWVzIGVudHJlXG4vLyBzZcOnw7VlcyBhZGphY2VudGVzIGRvIGNoYWlyIFVJIChjaGVja2xpc3QsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjKS5cbi8vIEVzdHJ1dHVyYSBkbyBkaXZpZGVyIChib3JkZXItdG9wLXdpZHRoLCBtYXJnaW4tdG9wLCBwYWRkaW5nLXRvcCkgdmVtIGRvXG4vLyBnbG9iYWwgZW0gYF9zdHJ1Y3R1cmUuc2Nzc2AuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2VjdGlvbiArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNlY3Rpb24gKyAucm93LW1kJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnJvdy1tZCArIC5zZWN0aW9uJywgYm9yZGVyLXRvcC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuXG4vLyBWZXJ0aWNhbCBndWlkZSBsaW5lIGRvIGAuZGVwZW5kZW50LW9wdGlvbmAg4oCUIGNoZWNrYm94IGNoaWxkIGRlIG91dHJvXG4vLyBjaGVja2JveC4gTWVzbWEgY29yIGRhcyBkaXZpZGVycyBwYXJhIGNvZXLDqm5jaWEgdmlzdWFsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcucmV2aWV3LXNldHRpbmdzJywgJy5kZXBlbmRlbnQtb3B0aW9uOjpiZWZvcmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIEZsb2F0aW5nIHN1Ym1pdCBiYXIgKGFwcC1mbG9hdGluZy1zdWJtaXQtYmFyKTogQVQgSE9NRSAoc2VtIC5hd2F5LWZyb20taG9tZSlcbi8vIMOpIHRyYW5zcGFyZW50ZSwgaW4gZmxvdyBubyBzbG90LiBBV0FZIEZST00gSE9NRSB2aXJhIGZpeGVkIG5vIGJvdHRvbSBkb1xuLy8gdmlld3BvcnQgY29tIGJnIGNhbnZhcyAoYWRtaW4tYmFja2dyb3VuZCkg4oCUIGzDqiBjb21vIFwiZXh0ZW5zw6NvIGZsdXR1YW50ZVwiXG4vLyBkbyBjYW52YXMsIGNvbSBzaGFkb3cgcmVmb3LDp2FuZG8gZWxldmHDp8Ojby4gUmVncmFzIGdsb2JhaXMgKHNlbSBwcmVmaXhvIGRlXG4vLyBww6FnaW5hKSBwb3JxdWUgbyBjb21wb25lbnRlIMOpIGNvbXBhcnRpbGhhZG8gcG9yIHJldmlld3MtY29uZmlndXJhdGlvbixcbi8vIGNoZWNrbGlzdCwgZSBmdXR1cmFzIHDDoWdpbmFzLWZvcm0uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1mbG9hdGluZy1zdWJtaXQtYmFyJywgJy5zdWJtaXQtYWN0aW9ucy5hd2F5LWZyb20taG9tZScsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1iYWNrZ3JvdW5kLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXInLCAnLnN1Ym1pdC1hY3Rpb25zLmF3YXktZnJvbS1ob21lJywgYm9yZGVyLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG4vLyBTaGFkb3cgdGhlbWUtYXdhcmU6IDAuMTIgYmxhY2sgZW0gbGlnaHQgKHN1dGlsIHNvYnJlIGNhbnZhcyBicmFuY28pIC9cbi8vIDAuNiBibGFjayBlbSBkYXJrIChwcmVjaXNhIGRlIG11aXRvIG1haXMgb3BhY2lkYWRlIHByYSBjcmlhciBsaWZ0XG4vLyBwZXJjZXB0w612ZWwgY29udHJhIGNhbnZhcyBlc2N1cm8pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtZmxvYXRpbmctc3VibWl0LWJhcicsICcuc3VibWl0LWFjdGlvbnMuYXdheS1mcm9tLWhvbWUnLCBib3gtc2hhZG93LCAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjYpKTtcblxuLy8gQ29uZmlybWF0aW9uIGRpYWxvZyAocmVkZXNpZ24gY2hhaXIgVUkpIOKAlCBjw61yY3VsbyB3YXJtLXN0b25lIGRpc2NyZXRvXG4vLyBubyDDrWNvbmUsIHRpcG9ncmFmaWEgZW0gZHVhcyB0b25hbGlkYWRlcy4gVmFyaWFudGUgXCJ3YXJuaW5nXCIgdXNhIGFtYmVyXG4vLyBzdWF2ZSAoY29yIGRlIGF2aXNvIGhpc3TDs3JpY2EpLCBcInN1Y2Nlc3NcIiB1c2EgdmVyZGUgZGEgYW5pbWHDp8Ojby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdyYXAnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MCwgJGdyYXktNzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXF1ZXN0aW9uJywgY29sb3IsICRncmF5LTcwMCwgJGdyYXktMjAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXdhcm5pbmcnLCBjb2xvciwgI0I0NTMwOSwgI0ZDRDM0RCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctaWNvbi1zdWNjZXNzJywgY29sb3IsICMxNTgwM0QsICM0QURFODApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLXRpdGxlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1jb250ZW50JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogbWF0LWNhcmQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChtYXQtY2FyZCwgJ21hdC1jYXJkLXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG4vLyBDYXJkcyBsZWdhZG9zIChiYXNlLWNhcmQvZXZlbnQvdHJhY2spIGNvbnZlcmdpZG9zIGFvIHBhZHLDo28gY2Fuw7RuaWNvXG4vLyBgbWF0LWNhcmQuYWRtaW4tZXZlbnRgOiBzdXBlcmbDrWNpZSB3YXJtLXN0b25lICgkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciA9XG4vLyAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kKSArIGJvcmRhIDFweCBjaHJvbWUsIHNlbSBzb21icmEgKGFudGVzOiBjaW56YSBmcmlvXG4vLyAjZWRlZGVkIHNlbSBib3JkYSkuIEFzIHN1cHJlc3PDtWVzIGBib3JkZXI6IDBgIG5vcyBjb21wb25lbnQtc2NzcyB2ZW5jZW0gcG9yXG4vLyBlc3BlY2lmaWNpZGFkZSwgZW50w6NvIGZvcmFtIHJlbW92aWRhcyBlbSBldmVudC12aWV3L3RyYWNrcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmJhc2UtY2FyZCcsICcnLCBjb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQnLCBcIlwiLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50JywgXCJcIiwgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQgLmV2ZW50LXBhcmVudCBzcGFuJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50IC5ldmVudC1wYXJlbnQgYScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuLy8gQ2FyZCBkbyBldmVudG8gbsOjbyDDqSBpbnRlcmF0aXZvIOKAlCBib3JkYSBubyBob3ZlciBpZ3VhbCDDoCBkZSByZXN0IChzZW0gXCJwdWxvXCIpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudDpob3ZlcicsIFwiXCIsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pJywgXCJcIiwgYm94LXNoYWRvdywgbm9uZSwgbm9uZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2FyZC1oZWFkZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNhcmQtaGVhZGVyJywgJycsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmFkbWluLWV2ZW50JywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuLy8gVGV4dCBjb2xvciBvZiBhZG1pbi1ldmVudCBjYXJkOiBzYW1lIG11dGVkIHRva2VuIHVzZWQgYnkgc2lkZWJhciBsZXZlbC0xLzJcbi8vIGl0ZW1zIGF0IHJlc3QuIE92ZXJyaWRlcyBNYXRlcmlhbCdzIGRlZmF1bHQgYG1hdC1jYXJkIHsgY29sb3I6IHJnYmEoMCwwLDAsLjg3KSB9YFxuLy8gKGNvbXBpbGVkIHVuZGVyIGAubGlnaHQtdGhlbWUgLm1hdC1jYXJkYCwgc3BlY2lmaWNpdHkgMCwyLDApLiBPdXIgc2VsZWN0b3Jcbi8vIGAubGlnaHQtdGhlbWUgbWF0LWNhcmQuYWRtaW4tZXZlbnRgIGlzIDAsMiwxIOKAlCB3aW5zIGJ5IG9uZSBlbGVtZW50IHRva2VuLlxuLy8gSW5oZXJpdGFuY2UgZmxvd3MgdG8gYWxsIHVuc3R5bGVkIHRleHQgZGVzY2VuZGFudHMgKHRvZ2dsZSBsYWJlbHMsIHJhZGlvXG4vLyBsYWJlbHMsIGhlbHBlciB0ZXh0LCBldGMuKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcblxuLyogYXBwLXRyYWNrcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10cmFja3MsICcudHJhY2tzLWNhcmQgbWF0LWNhcmQudHJhY2snLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjayAubWF0LWNhcmQtdGl0bGUnLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcblxuLyogYXBwLXNpZGViYXItaXRlbSAqL1xuLy8gUGVyc29uYSBBIChhdXRvci00KTogXCJJZGVudGlkYWRlLWxvdWRcIi4gw41jb25lcyBjb20gY29yIGRlIG1hcmNhIFNFTVBSRVxuLy8gKHJlc3QsIGhvdmVyLCBzZWxlY3RlZCkgKyBzZW1wcmUgZmlsbGVkLiBDYWRhIHBhcGVsIHRlbSBpZGVudGlkYWRlIHZpc3VhbFxuLy8gcGVybWFuZW50ZS4gU2VsZWN0ZWQgcmVmb3LDp2FkbyBwZWxvIGJnIHdhcm0gYmVpZ2UgKyB1bmRlcmxpbmUgYWNjZW50LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1ldmVudHMgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktcmV2aWV3cyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi10cGNzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYW55LW90aGVyLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5cbi8vIFNlbGVjdGVkOiB1bmRlcmxpbmUgYWNjZW50IDNweCBuYSBjb3IgZGUgbWFyY2EgdmlhIHBzZXVkby1lbGVtZW50b1xuLy8gYDo6YWZ0ZXJgIChlc3RydXR1cmEgZW0gc2lkZWJhci1pdGVtLnNjc3MpLiBDYW50b3MgcmV0b3Mg4oCUIGlnbm9yYSBvXG4vLyBib3JkZXItcmFkaXVzIGRhIHDDrWx1bGEuIENvbWJpbmFkbyBjb20gbyBiZyB3YXJtIGJlaWdlLCBkw6EgbyBkcmFtYVxuLy8gY2FyYWN0ZXLDrXN0aWNvIGRhIFBlcnNvbmEgQS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tZXZlbnRzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXN1Ym1pc3Npb25zLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1yZXZpZXdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tdHBjcy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncy5zZWxlY3RlZDo6YWZ0ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG4vLyBMYWJlbHMgZGEgdG9vbGJhciBkbyBhdXRvci9yZXZpc29yIHNlZ3VlbSBvcyBNRVNNT1MgdG9rZW5zIGRvIGNoYWlyIGxldmVsLTFcbi8vIChuw6NvIHVzYW0gbyBsZWdhZG8gYCRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yYCA9ICMzYzQwNDMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5qZW1zLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5sYWJlbC1mdWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcuamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubGFiZWwtZnVsbCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIE5hdmJhciBkbyBzaGVsbCBhdXRvci9yZXZpc29yOiBjaHJvbWUtYm9yZGVyIDFweCBhbGluaGFkbyBhbyBjaGFpci5cbi8vIGBib3JkZXItYm90dG9tYCBlbSBkZXNrdG9wL3RhYmxldCwgYGJvcmRlci10b3BgIHF1YW5kbyBhIG5hdmJhciB2aXJhXG4vLyBib3R0b20tYmFyIGVtIG1vYmlsZSAoZGVjaXPDo28gcHJlc2VydmFkYSBlbSBbW2ZlZWRiYWNrLXRvb2xiYXItYm90dG9tYmFyLW1vYmlsZV1dKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLW5hdmJhcicsICcubmF2YmFyJywgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtbmF2YmFyJywgJy5uYXZiYXInLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIFN1cmZhY2UgY2hyb21lIHdhcm0g4oCUIG1lc21vIGNhbnZhcyBvZmYtd2hpdGUgYXF1ZWNpZG8gdXNhZG8gZW0gdG9kbyBvIGNoYWlyLlxuLy8gYCFpbXBvcnRhbnRgIMOpIG5lY2Vzc8OhcmlvIHBvcnF1ZSBtYXQtdG9vbGJhciB0ZW0gcHJpb3JpZGFkZSBhbHRhIG5vIHRlbWEgTWF0ZXJpYWwuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1uYXZiYXInLCAnLm5hdmJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuXG4vLyBgLnNpZGViYXItaXRlbWAgZSBgLmplbXMtdG9vbGJhci1idXR0b25gIGFnb3JhIHZpdmVtIG5vIE1FU01PIGVsZW1lbnRvICg8YT4pXG4vLyBhcMOzcyBvIGFjaGF0YW1lbnRvIGRhIGF1dG9yLTQg4oCUIHVzYXIgc2VsZXRvcmVzIGNvbXBvc3RvcywgbsOjbyBkZXNjZW5kZW50ZXMuXG4vL1xuLy8gRGVjaXPDo28gZGUgZGVzaWduIChhdXRvci03KTogc2VsZWN0ZWQgYWdvcmEgXCJsZXZhbnRhXCIgZGEgdG9vbGJhciDigJQgYmdcbi8vIGZpY2EgYnJhbmNvIChvdSBvIGVxdWl2YWxlbnRlIGNsYXJpbmhvIG5vIGRhcmssIDEgc2hhZGUgYWNpbWEgZG9cbi8vIGAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQtZGFya2AgcHJhIGRhciBsaWZ0KSwgYm9yZGEgcGFzc2EgcHJhIHZhcmlhbnRlXG4vLyBhY3RpdmUgKG1haXMgZGVmaW5pZGEgcXVlIGEgZG8gcmVzdCksIGUgZ2FuaGEgdW1hIHNvbWJyYSBwZXF1ZW5hIG1hc1xuLy8gY3Jpc3BhZGEgKG9mZnNldCAwLCBibHVyIGN1cnRvLCBhbHBoYSBtb2RlcmFkYSDigJQgc2VudGUgXCJjYXJkIGZsdXR1YW5kb1xuLy8gc29icmUgYSBjaHJvbWVcIikuIE8gdW5kZXJsaW5lIGNvbSBhIGNvciBkYSBjYXRlZ29yaWEgKDo6YWZ0ZXIpIGNvbnRpbnVhXG4vLyBzb2JyZXBvbmRvIGEgYm9yZGEgaW5mZXJpb3IsIGRhbmRvIG8gc2luYWwgY2F0ZWfDs3JpY28gcXVlIGlkZW50aWZpY2Fcbi8vIHF1YWwgaXRlbSBlc3TDoSBhdGl2by5cbi8vIEJnL2JvcmRlci9zaGFkb3cgZG8gaXRlbSBzZWxlY2lvbmFkbyDigJQgdmlzdWFsIFwicGlsbFwiIG5vIGRlc3Rpbm8uXG4vLyBBcGxpY2Fkb3MgQ09NIGB0cmFuc2l0aW9uYCBubyBpdGVtIGJhc2UgKHJlZ3JhIGFiYWl4bykgcHJhIHF1ZSBhXG4vLyB0cm9jYSBjcnV6ZSBmYWRlIGNvbSBhIGFuaW1hw6fDo28gZGEgcMOtbHVsYSBzbGlkaW5nXG4vLyAoYC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yYCksIGVtIHZleiBkZSBzYWx0YXIgaW5zdGFudMOibmVvIGUgbWFzY2FyYXJcbi8vIGEgdmlhZ2VtIGRhIHDDrWx1bGEuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmZmZmICFpbXBvcnRhbnQsICMyZTJlMmUgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCBib3JkZXItY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGJveC1zaGFkb3csIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyksIDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG4vLyBUcmFuc2l0aW9uIG5vIGl0ZW0gYmFzZSDigJQgc2VtIGlzc28sIGJnL2JvcmRlci9zaGFkb3cgZG8gYC5zZWxlY3RlZGBcbi8vIHNhbHRhbSBkZSAwIHByYSAxMDAgaW5zdGFudGFuZWFtZW50ZSBuYSB0cm9jYSBkZSByb3RhLCBlIG8gb2xob1xuLy8gcGVyZGUgYSBww61sdWxhIHJlYWwgcXVlIGFuaW1hIDI2MG1zIHBvciBiYWl4by5cbi5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjYwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvciAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSxcbiAgICAgICAgICAgICAgYm94LXNoYWRvdyAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbn1cblxuLy8gSG92ZXIgZMOhIGJveC1zaGFkb3cgYXBlbmFzIGVtIGl0ZW5zIE7Dg08tc2VsZWNpb25hZG9zIOKAlCBvIHNlbGVjdGVkIG1hbnTDqW1cbi8vIGEgc29tYnJhIG1lbm9yL2RlZmluaWRhIGRvIGJsb2NvIGFjaW1hIChhdXRvci03KSBpbnRhY3RhIG5vIGhvdmVyLCBwcmFcbi8vIG7Do28gZGlsdWlyIG8gc2luYWwgZGUgXCJlc3RlIGl0ZW0gZXN0w6EgYXRpdm9cIi4gRW0gZGFyaywgaG92ZXIgZGUgbsOjby1cbi8vIHNlbGVjdGVkIHRhbWLDqW0gYWRpY2lvbmEgYmcgaWd1YWwgYW8gZG8gc2VsZWN0ZWQgY29tbyByZWZvcsOnby5cbi8vIE1FU01BIHNvbWJyYSBkbyBzZWxlY3RlZCAoYXV0b3ItNykg4oCUIGhvdmVyIGUgc2VsZWN0ZWQgZGl2aWRlbSBhZ29yYSBhXG4vLyBtZXNtYSBcImFsdGl0dWRlXCIgZGUgZWxldmHDp8OjbzsgYSBkaWZlcmVuw6dhIHZpc3VhbCBlbnRyZSBlbGVzIHZpcmEgb1xuLy8gYmcvYm9yZGVyIChzZWxlY3RlZCBnYW5oYSBiZyBicmFuY28gKyBib3JkZXIgY3Jpc3BhZGE7IGhvdmVyIHPDsyBnYW5oYVxuLy8gYSBzb21icmEpLiBJc3NvIHNpbXBsaWZpY2EgYSBoaWVyYXJxdWlhIGUgZMOhIHVtYSB0cmFuc2nDp8OjbyBjb250w61udWFcbi8vIHF1YW5kbyBvIHVzdcOhcmlvIG1vdmUgbyBwb250ZWlybyBlbnRyZSBpdGVtcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpub3QoLnNlbGVjdGVkKTpob3ZlcicsIGJveC1zaGFkb3csIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMyksIDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG4uZGFyay10aGVtZSAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246bm90KC5zZWxlY3RlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gTW91c2UtZG93biAocHJlc3MpOiBhIHNvbWJyYSBkbyBob3ZlciBFTkNPTEhFIOKAlCBZIG9mZnNldCBjYWkgcHJhIDFweFxuLy8gKHBlw6dhIFwiYWZ1bmRhXCIgMXB4IGNvbnRyYSBhIGNocm9tZSkgZSBibHVyIHJlZHV6IHByb3BvcmNpb25hbG1lbnRlLlxuLy8gTWFudMOpbSBvcyBvZmZzZXRzIGRvIGhvdmVyIChjYW50byBzdXBlcmlvci1lc3F1ZXJkbyBkYSBsdXogcHJlc2VydmFkbylcbi8vIHByYSBjb250aW51YXIgbGVuZG8gY29tbyBtZXNtYSBmYW3DrWxpYSB2aXN1YWwuXG4vLyAgIGxpZ2h0OiAgaG92ZXIgMXB4IDJweCAycHgg4oaSIHByZXNzIDFweCAxcHggMXB4XG4vLyAgIGRhcms6ICAgaG92ZXIgMXB4IDJweCAzcHgg4oaSIHByZXNzIDFweCAxcHggMnB4XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246YWN0aXZlJywgYm94LXNoYWRvdywgMXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjMpLCAxcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudCk7XG5cbi8vIENvciBkbyB0ZXh0byBkb3MgaXRlbnMgZGEgdG9vbGJhciDigJQgbWVzbW9zIHRva2VucyBkb3MgaXRlbnMgbGV2ZWwtMSBkb1xuLy8gY2hhaXIgKC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtKTogbXV0ZWQgbm8gcmVzdCwgYWN0aXZlIG5vIGhvdmVyL3NlbGVjdGVkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnNpZGViYXItaXRlbScsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246aG92ZXInLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24uc2VsZWN0ZWQnLCAnLmxhYmVsLXNob3J0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuXG4vKiBhcHAtc2lkZWJhci1pdGVtLWFkbWluICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3IsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbS1hZG1pbiwgJy5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIEFjdGl2aXR5IGJhciBvdmVycmlkZXMg4oCUIGluIHRoaXMgbGF5b3V0IHRoZSBiZyBoaWdobGlnaHQgbGl2ZXMgb24gdGhlIGJ1dHRvblxuICAgKDQww5c0MCBzcXVhcmUpLCBub3Qgb24gdGhlIG1hdC1pY29uLiBaZXJvIG91dCB0aGUgbGVnYWN5IC5tYXQtaWNvbiBiZyBmcm9tXG4gICB0aGUgcnVsZXMgYWJvdmUgYW5kIGFwcGx5IG1hdGNoaW5nIGhvdmVyL3NlbGVjdGVkIGJnIHRvIHRoZSBidXR0b24gaXRzZWxmLiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuc2lkZWJhci1pdGVtLWFkbWluIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyIC5tYXQtaWNvbicsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQ6bm90KDpob3ZlcikgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4uc2VsZWN0ZWQgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcubmFtZSBhJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQsICcuc3ViLWV2ZW50IC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5uYW1lJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkYmxhY2stNDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdmlldywgJy5ldmVudC5jYXJkIC5pbmZvcm1hdGlvbiAuc3ViLWV2ZW50IC5uYW1lIGEnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtZXZlbnQtdXNlci12aWV3ICovXG4kdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4kdGFibGUtcm93LWJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC11c2VyLXZpZXcsICcuZXZlbnQtdXNlci12aWV3IG1hdC1jYXJkIC5tYXQtY2FyZC1oZWFkZXInLCBjb2xvciwgJGJsYWNrLTEwMDAsICR3aGl0ZS0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtdXNlci12aWV3LCAnLmV2ZW50LXVzZXItdmlldyBtYXQtY2FyZCAubWF0LWNhcmQtaGVhZGVyJywgYmFja2dyb3VuZC1jb2xvciwgJHdoaXRlLTEwMDAsICRibGFjay0xMDAwKTtcbi8vIFJFTU9WSURPOiBzaXN0ZW1hIGxlZ2FkbyBkZSBib3JkYXMgMnB4IChib3JkZXItcmlnaHQgYnJhbmNvL3ByZXRvICsgZnJhbWUgZGVcbi8vIGhvdmVyKSBkYSB0YWJlbGEgZG8gZXZlbnQtdXNlci12aWV3LCBhbnRlcmlvciDDoCBtaWdyYcOnw6NvIHBybyBgLmplbXMzLXRhYmxlYC5cbi8vIEVyYW0gZXNzYXMgYm9yZGFzIGAhaW1wb3J0YW50YCAoaW52aXPDrXZlaXMgbm8gY8OzZGlnbyBkbyBjb21wb25lbnRlKSBxdWVcbi8vIGFwYXJlY2lhbSBjb21vIFwibGluaGFzIHZlcnRpY2FpcyBncm9zc2FzXCIgZSBtb2xkdXJhIG5vIGhvdmVyLCBzYWJvdGFuZG8gYVxuLy8gZXN0aWxpemHDp8OjbyBub3ZhLiBBIHRhYmVsYSBhZ29yYSDDqSBlc3RpbGl6YWRhIDEwMCUgcGVsbyBjb21wb25lbnRlICsgLmplbXMzLXRhYmxlLlxuXG4vKiBhcHAtdXNlci1zZWFyY2ggKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdXNlci1zZWFyY2gsICcudXNlci1zZWFyY2ggLnVzZXItYm94JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC10b3BpY3MsICcudG9waWNzIC5tYXQtY2hpcCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRvcGljcywgJy50b3BpY3MgLm1hdC1jaGlwJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC10b3BpY3MsICcuZXZlbnQtdG9waWNzIC5zdWJ0aXRsZScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC11c2VyLWV2ZW50LXRvcGljcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgLnRvcGljcy10YWJsZSAucm93LWhpZ2hsaWdodCcsIGJhY2tncm91bmQtY29sb3IsICRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLCAkcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXNlbmQtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2VuZC1lbWFpbCwgJy5ldmVudC1zZW5kLWVtYWlsIG1hdC1jYXJkLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZW5kLWVtYWlsLCAnLmV2ZW50LXNlbmQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1zZXR0aW5ncy1lbWFpbCDigJQgYmxvY28gZGUgdGFiZWxhIFJFTU9WSURPIChhdWRpdG9yaWEpOiBhIHRhYmVsYVxuICAgbWlncm91IHBybyBgLmplbXMzLXRhYmxlIGplbXMzLXRhYmxlLWhvdmVyYCwgcXVlIHNldGEgYmFja2dyb3VuZC9jb2xvciBjb21cbiAgIGAhaW1wb3J0YW50YDsgZXN0YXMgMyByZWdyYXMgKHNlbSAhaW1wb3J0YW50KSB2aXZpYW0gbW9ydGFzL292ZXJyaWRkZW4uIE8gY2hyb21lXG4gICBkYSB0YWJlbGEgdmVtIDEwMCUgZG8gYC5qZW1zMy10YWJsZWAgZ2xvYmFsLiAqL1xuXG4vKiBhcHAtbmF2YmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5sb2dvIGltZycsIGZpbHRlciwgJycsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1uYXZiYXIsICcubmF2YmFyJywgYm94LXNoYWRvdywgJycsIDBweCAycHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcblxuLyogYXBwLWF2YXRhci1wcm9maWxlICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtbWVudS1wYW5lbCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBFeHBlcmltZW50YWwgZmx5b3V0IHBhbmVsIOKAlCBmdWxsIHZpc3VhbCByZWNpcGUgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXJcbi8vIG1lbnUgKGB0cGMtdXNlci1tZW51YCk6IHNpZGViYXIgc3VyZmFjZSBiZywgaGFpcmxpbmUgKyBkaWZmdXNlIHNoYWRvdyxcbi8vIHN1Ym1lbnUgaG92ZXIvYWN0aXZlIHRva2VucyBvbiBpdGVtcywgdGhlbWUtYXdhcmUgdGV4dC4gQXJyb3cgdGFpbCBjb2xvclxuLy8gbWF0Y2hlcyB0aGUgcGFuZWwgYmcgc28gdGhlIHRyaWFuZ2xlIHJlYWRzIGFzIGEgY29udGludW91cyBleHRlbnNpb24gb2Zcbi8vIHRoZSBtZW51IHN1cmZhY2UsIHBvaW50aW5nIGF0IHRoZSBsZXZlbC0xIGljb24gdGhhdCB0cmlnZ2VyZWQgaXQuXG4ubGlnaHQtdGhlbWUgLmV4cGVyaW1lbnRhbC1mbHlvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIC8vIGBmaWx0ZXI6IGRyb3Atc2hhZG93YCBmb2xsb3dzIHRoZSBwYW5lbCArIGFycm93IHNpbGhvdWV0dGUgKHVubGlrZVxuICAvLyBgYm94LXNoYWRvd2AsIHdoaWNoIG9ubHkgb3V0bGluZXMgdGhlIHBhbmVsJ3MgcmVjdGFuZ2xlKS5cbiAgLy8gYCRzaGFkb3ctcGFuZWwtbGlnaHRgIGlzIHRoZSBjaGFpciBVSSdzIGNhbm9uaWNhbCBwYW5lbC10aWVyIGVsZXZhdGlvblxuICAvLyAoc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMpLlxuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcblxuICAvLyBPdXRlciBhcnJvdyB0cmlhbmdsZSA9IG91dGxpbmUgY29sb3I7IGlubmVyID0gcGFuZWwgYmcuIFRoZSAxcHhcbiAgLy8gc2l6ZSBkaWZmZXJlbmNlIGJldHdlZW4gOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgKHNldCBpbiB0aGUgY29tcG9uZW50XG4gIC8vIHNjc3MpIGxlYXZlcyBhIDFweCByaW5nIG9mIHRoZSBvdXRlciB2aXNpYmxlIGFyb3VuZCB0aGUgaW5uZXIg4oCUXG4gIC8vIGdpdmVzIHRoZSBhcnJvdyBhIGNyaXNwIGVkZ2UgYWdhaW5zdCB0aGUgYm9keSBiZyAobmVjZXNzYXJ5IGluXG4gIC8vIGxpZ2h0IG1vZGUgd2hlcmUgdGhlIHBhbmVsIGJnIGlzIG5lYXJseSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIHRoZVxuICAvLyBib2R5IGJnIGJlaGluZCBpdCkuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50O1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gYC5hY3RpdmVgIHVzZXMgdGhlIFNBTUUgYmFja2dyb3VuZCBhcyBob3ZlciAoY2hhaXIgVUkgcnVsZTogaG92ZXIg4omhXG4gIC8vIHNlbGVjdGVkLCBib3RoIGVtcGhhc2l6ZWQgdnMgcmVzdCkuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQ2hpcCBoZWFkZXIg4oCUIHNhbWUgdG9rZW5zIGFzIHRoZSBvcmlnaW5hbCBjaGFpci1zdWJtZW51IHRpdGxlIGJhZGdlLlxuICAuZXhwZXJpbWVudGFsLWZseW91dC10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJnO1xuICAgIC8vIFdhcyBgIzFDMTkxN2AgKHZlcnkgZGFyayB3YXJtIGdyYXkpIOKAlCBzd2FwcGVkIGZvciB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWNvbG9yLWFjdGl2ZWAgKGAjMDAwYCkgc2luY2UgdGhlIGRpZmZlcmVuY2UgaXMgYmVsb3dcbiAgICAvLyBwZXJjZXB0dWFsIHRocmVzaG9sZCBhZ2FpbnN0IHRoZSBjaGlwJ3MgbmVhci13aGl0ZSBiYWNrZ3JvdW5kLlxuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuZXhwZXJpbWVudGFsLWZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAvLyBEZXRlcm1pbmlzdGljIDFweCBvdXRsaW5lOiBgYm94LXNoYWRvdyAwIDAgMCAxcHhgIGRyYXdzIGEgc29saWQgMXB4XG4gIC8vIHJpbmcgYXJvdW5kIHRoZSByZWN0YW5nbGUgKGZvbGxvd3MgYm9yZGVyLXJhZGl1cyBwZXJmZWN0bHkpLCBhbmQgdGhlXG4gIC8vIGFycm93IGdldHMgaXRzIG91dGxpbmUgZnJvbSB0aGUgdHdvIGxheWVyZWQgdHJpYW5nbGVzIGJlbG93IChvdXRlclxuICAvLyA6OmJlZm9yZSBpbiB0aGUgb3V0bGluZSBjb2xvciwgaW5uZXIgOjphZnRlciBpbiB0aGUgcGFuZWwgYmcpLiBOb1xuICAvLyBibHVyLCBubyBzdGFja2luZywgdW5pZm9ybSBwaXhlbCBkZW5zaXR5LiBUaGUgcGFuZWwtdGllciBgZmlsdGVyOlxuICAvLyBkcm9wLXNoYWRvd2AgaXMgc2hhcmVkIHdpdGggdGhlIHVzZXIgbWVudSAvIG5vdGlmaWNhdGlvbnMuXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xuXG4gIC8vIE91dGVyIGFycm93IHRyaWFuZ2xlID0gb3V0bGluZSBjb2xvcjsgaW5uZXIgPSBwYW5lbCBiZy4gVGhlIDFweFxuICAvLyBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiA6OmJlZm9yZSBhbmQgOjphZnRlciAoc2V0IGluIGBfbWVudS5zY3NzYClcbiAgLy8gbGVhdmVzIGEgMXB4IHJpbmcgb2YgdGhlIG91dGVyIHRyaWFuZ2xlIHZpc2libGUgYXJvdW5kIHRoZSBpbm5lcixcbiAgLy8gZm9ybWluZyBhIHVuaWZvcm0gb3V0bGluZSBvbiB0aGUgYXJyb3cuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC8vIERhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgdW5pZmllZCBob3Zlci9hY3RpdmUgYmcgYWJvdmUuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIENoaXAgaGVhZGVyIOKAlCBkYXJrLW1vZGUgY291bnRlcnBhcnQgb2YgdGhlIHN1Ym1lbnUgdGl0bGUgYmFkZ2UgdG9rZW5zLlxuICAvLyBCb3JkZXItY29sb3IgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgY2hyb21lJ3MgZGl2aWRlciBjb2xvciAoJGNocm9tZS1ib3JkZXItZGFyayDigJRcbiAgLy8gYWxzbyB1c2VkIGJ5IHRoZSB2ZXJ0aWNhbCBzaWRlYmFyIGVkZ2UtbGluZSBhbmQgdGhlIGhlYWRlci9ib3R0b20tcmFpbFxuICAvLyBob3Jpem9udGFsIGRpdmlkZXJzKSBzbyB0aGUgY2hpcCBvdXRsaW5lIHJlYWRzIGFzIHBhcnQgb2YgdGhlIHNhbWVcbiAgLy8gdmlzdWFsIGZhbWlseS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtdGl0bGUge1xuICAgIC8vIFdhcyBgIzJiMmEyOGAgbGl0ZXJhbCDigJQgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgY2Fub25pY2FsXG4gICAgLy8gYG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFya2AgdG9rZW4sIHNvIHdlIHVzZSB0aGUgdG9rZW4gZm9yXG4gICAgLy8gdHJhY2VhYmlsaXR5IChpdCdzIHRoZSBjaGFpciBVSSdzIFwiaW50ZXJhY3RpdmUgc3VyZmFjZSBhIHN0ZXAgdXBcbiAgICAvLyBmcm9tIHRoZSBzaWRlYmFyIGJnXCIgY29sb3VyLCBzYW1lIHJvbGUgaGVyZSkuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LXBhbmVsJywgJycsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LWNvbnRlbnQnLCAnLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLCAubWF0LW1lbnUtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKScsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXInLCAnJywgY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyJywgJy5tYXQtaWNvbicsIGNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLCAkYWRtaW4tYWNjZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLXRoZW1lIC5oaWdobGlnaHQtYnV0dG9uLCAubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLWxheW91dCAuaGlnaGxpZ2h0LWJ1dHRvbiwgLm1hdC1tZW51LWNvbnRlbnQgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5oaWdobGlnaHQtYnV0dG9uJywgJycsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSk7XG5cbi8qIGFwcC1maXhlZC10b3AtcHJvZ3Jlc3MtYmFyICovXG4vLyBCZyBvbmx5IHdoZW4gYWN0aXZlbHkgbG9hZGluZyDigJQgb3RoZXJ3aXNlIHRyYW5zcGFyZW50IHNvIHRoZSAycHggc3RyaXBcbi8vIGRvZXNuJ3QgcGFpbnQgb3ZlciB0aGUgY2hyb21lIGJlbG93IGl0IChhY3Rpdml0eSBiYXIsIHN1Ym1lbnUgdG9wIGJvcmRlcikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIsICcuZml4ZWQtdG9wLXByb2dyZXNzLWJhci5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWJhY2tncm91bmQtY29sb3IsICRuYXZiYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWhvbWUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWhvbWUsICcuaG9tZSAucGFnZS1jb250ZW50JywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXBhcGVyLWluZm8gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItaW5mbywgJy5wYXBlci1pbmZvIGEnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1kaWFsb2ctdGltZXpvbmUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0aGVhZCB0ciB0aCwgYm9yZGVyLWJvdHRvbS1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQnLCBib3JkZXItcmlnaHQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgdGFibGUgdGJvZHkgdHIgdGQsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCByZ2IoMjQsIDI0LCAyNCkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRib2R5IHRyIHRkLCBib3JkZXItY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsICd0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtbGFuZGluZyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmNvbnRlbnQtY29udGFpbmVyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5jb250ZW50LWNvbnRhaW5lciAubG9nby5pbWFnZScsIGZpbHRlciwgJycsIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAuY29udGVudC1jb250YWluZXIgaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAubGFuZ3VhZ2UtY29udGFpbmVyJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5sYW5ndWFnZS1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtZXZlbnRzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50cywgJy5ldmVudHMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMsICcuc3VibWlzc2lvbnMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXJldmlld3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcmV2aWV3cywgJy5yZXZpZXdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtcGFwZXItcmV2aWV3LWxpc3QgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcGFwZXItcmV2aWV3LWxpc3QsICcucGFwZXItcmV2aWV3LWxpc3QgLnRhYmxlLWNvbnRhaW5lciAudGFibGUgLnJldmlldyB0ZCcsIGJvcmRlci1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY29tbWl0dGVlcyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jb21taXR0ZWVzLCAnLmNvbW1pdHRlZXMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS10cGNzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1teS1ldmVudHMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbXktZXZlbnRzLCAnLm15ZXZlbnRzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXNlc3Npb24tY2hhaXJpbmdzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNlc3Npb24tY2hhaXJpbmdzLCAnLnNlc3Npb24tY2hhaXJpbmdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tY2hhaXJpbmdzLCAnLnB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlIChBTlRJR08pIOKAlCBibG9jbyBkZSB0YWJlbGEgUkVNT1ZJRE8gKGF1ZGl0b3JpYSk6XG4gICBvIGNvbXBvbmVudGUgw6kgREVBRCBDT0RFICgwIHVzb3MgZW0gdGVtcGxhdGU7IHN1YnN0aXR1w61kbyBwZWxvIGAtdjJgKSwgZW50w6NvIGVzdGVcbiAgIHNpc3RlbWEgZGUgYm9yZGEgKGJvcmRlci1yaWdodCB3aGl0ZS9ibGFjayArIGZyYW1lIGRlIGhvdmVyIGAhaW1wb3J0YW50YCkgbnVuY2FcbiAgIHJlbmRlcml6YXZhLiBOT1RBOiBvIGFycXVpdm8gYC50c2AgY29udGludWEgZXhpc3RpbmRvIHPDsyBwZWxvIGV4cG9ydCBgQ29sbGVjdGlvbmBcbiAgIHVzYWRvIGVtIGBzaG93LWFsbC1zdWJtaXNzaW9uc2Ag4oCUIHJlZmFjdG9yIGZ1dHVybzogZXh0cmFpciBgQ29sbGVjdGlvbmAgcC8gdW0gdGlwb1xuICAgY29tcGFydGlsaGFkbyBlIGVudMOjbyBhcGFnYXIgbyBjb21wb25lbnRlICsgc3VhIGRlY2xhcmHDp8OjbyBubyBhcHAubW9kdWxlLiAqL1xuXG4vKiBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBGYWRlIGRhIGJvcmRhIGVzcXVlcmRhICguc2Nyb2xsLWZhZGUtbGVmdCwgdmlzw612ZWwgYW8gcm9sYXIgYSB0YWJlbGEgw6AgZXNxdWVyZGEpOlxuLy8gZ3JhZGllbnRlIGRhIGNvciBkZSBmdW5kbyBkbyBjb250ZcO6ZG8g4oaSIHRyYW5zcGFyZW50ZSAocmdiYSguLi4sMCksIG7Do28gYHRyYW5zcGFyZW50YCxcbi8vIHAvIGV2aXRhciB0b20gYWNpbnplbnRhZG8gbm8gbWVpbyBkbyBkZWdyYWTDqiBlbSBhbGd1bnMgbmF2ZWdhZG9yZXMpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zY3JvbGwtZmFkZS1sZWZ0JywgYmFja2dyb3VuZCwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29udGVudC1iYWNrZ3JvdW5kIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLCAwKSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDApKSk7XG4vLyBGYWRlIGRhIGJvcmRhIGRpcmVpdGEgKC5zY3JvbGwtZmFkZS1yaWdodCk6IGdyYWRpZW50ZSBzaW1wbGVzIChjb3Ig4oaSIHRyYW5zcGFyZW50ZSkgY29tb1xuLy8gYGJhY2tncm91bmQtaW1hZ2VgOyBhIGZhaXhhIGRlIDQwcHggbmEgYm9yZGEgZGlyZWl0YSDDqSBnYXJhbnRpZGEgcG9yIGBiYWNrZ3JvdW5kLXNpemVgL1xuLy8gYC1wb3NpdGlvbmAgbm8gU0NTUyBkbyBjb21wb25lbnRlIChuw6NvIHBvciBzdG9wIGFic29sdXRvLCBxdWUgcmVuZGlhIGxhcmd1cmEgaW5jb25zaXN0ZW50ZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnNjcm9sbC1mYWRlLXJpZ2h0JywgYmFja2dyb3VuZC1pbWFnZSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayA0MCUsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAwKSkpO1xuLy8gQ2FiZcOnYWxobyBzdGlja3kgKG1hdEhlYWRlclJvd0RlZiBzdGlja3kpOiBmdW5kbyBlbSBncmFkaWVudGUgdmVydGljYWwgY29tIEZPUlRFIHZhcmlhw6fDo28g4oCUIHRvcG9cbi8vIFRPVEFMTUVOVEUgb3BhY28gKHTDrXR1bG8gZGVzdGFjYSwgbsOtdGlkbykgZSBiYXNlIEZSQUNBL3RyYW5zcGFyZW50ZSAoYXMgbGluaGFzIHJvbGFtIHBvciBiYWl4byxcbi8vIGRlc2ZvY2FkYXMgcGVsbyBiYWNrZHJvcC1maWx0ZXIpLiBUb3BvIDEuMCDihpIgYmFzZSAwLjUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoLm1hdC1oZWFkZXItY2VsbCcsIGJhY2tncm91bmQsIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZCwgMC41KSksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDAuNSkpKTtcbi8vIENvciBkbyBURVhUTyBkbyBjYWJlw6dhbGhvIHZpYSBvIE1FU01PIHRva2VuIGRhIGNvbHVuYSAjICh1bmlmaWNhZG8pLiBObyBsaWdodFxuLy8gcmVwcm9kdXogbyBkZWZhdWx0IGRvIE1hdGVyaWFsICguNTQxKTsgbm8gZGFyayBmaXhhICNGRkZGRkZCMyAobyBNYXRlcmlhbCBuw6NvIHRlbVxuLy8gdGVtYSBkYXJrIGFxdWksIGVudMOjbyBvIGRlZmF1bHQgZmljYXJpYSBlc2N1cm8vaWxlZ8OtdmVsKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxsJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkOmZpcnN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQ6bGFzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBTZXBhcmFkb3IgdmVydGljYWwgZW50cmUgY29sdW5hcyDigJQgY29yIGRhIFwibGluaGEgcmVhbFwiIChnZW9tZXRyaWEvcHNldWRvIDo6YmVmb3JlXG4vLyBmaWNhIG5vIGNvbXBvbmVudGUpLiBBbnRlcyBlcmEgdW0gYm9yZGVyLXJpZ2h0IG5hIGPDqWx1bGEsIHF1ZSBkZXNsb2NhdmEgbyA6OmFmdGVyXG4vLyBlIGNvcnRhdmEgbyBjb250b3JubyBkZSBob3Zlci9zZWxlY3RlZDsgYWdvcmEgbyA6OmJlZm9yZSBmaWNhIHNvYiBvIGNvbnRvcm5vLCBxdWVcbi8vIHBhc3NhIHBvciBjaW1hICh0b3AvYm90dG9tKSBlIHNlZ3VlIGNvbnTDrW51by5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQubWF0LWNlbGw6bm90KC5sYXN0LWNvbHVtbik6OmJlZm9yZScsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb250b3JubyBkZSBob3Zlci9cImhvdmVyZWRcIiB2aWEgYm94LXNoYWRvdyBpbnNldCBubyBwc2V1ZG8gOjphZnRlciAoZ2VvbWV0cmlhXG4vLyBkbyA6OmFmdGVyIGZpY2Egbm8gY29tcG9uZW50ZSkuIFN1YnN0aXR1aSBhIHTDqWNuaWNhIGFudGlnYSBkZSByZXZlbGFyXG4vLyBgYm9yZGVyLWNvbG9yYC4gRGlyZWNpb25hbCBwYXJhIHByZXNlcnZhciBvIE1FU01PIHJlY29ydGUgZG8gZWZlaXRvIGFudGVyaW9yOlxuLy8gdG9wL2JvdHRvbSBuYXMgY29sdW5hcyBkZSBjb250ZcO6ZG8sIGxlZnQgbmEgLmZpcnN0LWNvbHVtbiwgcmlnaHQgbmEgLmxhc3QtY29sdW1uO1xuLy8gYXMgY29sdW5hcyBleHRyZW1hcyAocG9zaXRpb24vc2VsZWN0KSBzZWd1ZW0gZm9yYSBkbyBjb250b3Juby4gYC5ob3ZlcmVkYCDDqSBvXG4vLyBlc3RhZG8gdHJhdmFkbyB2aWEgSlMgKGZvcmNlSG92ZXIpIGVucXVhbnRvIHVtIGRyb3Bkb3duIGRhIGxpbmhhIGVzdMOhIGFiZXJ0by5cbi8vIEVzY29wYWRvIGVtIHRkLm1hdC1jZWxsIHBhcmEgbsOjbyBhdGluZ2lyIGFzIHN1Yi10YWJlbGFzIGludGVybmFzIChzY29yZXMvYXJxdWl2b3MpLlxuLy8gT3MgYmxvY29zIGRlIGZpcnN0L2xhc3QtY29sdW1uIHbDqm0gREVQT0lTIGRvIGRlIGNvbnRlw7pkbyBkZSBwcm9ww7NzaXRvOiB0w6ptIGFcbi8vIG1lc21hIGVzcGVjaWZpY2lkYWRlIGUgcHJlY2lzYW0gdmVuY2VyIHBlbG8gZGVzZW1wYXRlIGRlIG9yZGVtLlxuLy8gJHJvdzogcXVhbGlmaWNhZG9yIG9wY2lvbmFsIGRhIGxpbmhhIChleC46ICcubm8tc3RhdHVzLWNvbG9yJykgcC8gZXNjb3BhciBvIGNvbnRvcm5vXG4vLyBhIHVtIHN1YmNvbmp1bnRvIGRlIGxpbmhhcyBjb20gbWFpb3IgZXNwZWNpZmljaWRhZGUgKG92ZXJyaWRlKS4gVmF6aW8gPSB0b2RhcyBhcyBsaW5oYXMuXG5AbWl4aW4gc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkY29sb3IsICRyb3c6ICcnKSB7XG4gIHRyI3skcm93fTpob3ZlciB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGw6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICB0ciN7JHJvd306aG92ZXIgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgdHIjeyRyb3d9LmhvdmVyZWQgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgdHIjeyRyb3d9OmhvdmVyIHRkLm1hdC1jZWxsLmxhc3QtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbC5sYXN0LWNvbHVtbjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4ubGlnaHQtdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB7XG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tcm93LWhvdmVyLW91dGxpbmUoJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcik7XG59XG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHtcbiAgLy8gTUVTTUEgbMOzZ2ljYSBkbyB2w6l1LCBhZ29yYSBwcmEgQ09SIERPIENPTlRPUk5POlxuICAvLyAg4oCiIENvbG9yaXIgT04gKGxpbmhhcyBjb2xvcmlkYXMvY2xhcmFzKSDihpIgY29udG9ybm8gRVNDVVJPICg9IGxpZ2h0IG1vZGUpLCB2aXPDrXZlbFxuICAvLyAgICBzb2JyZSBhcyBjb3JlcyBjbGFyYXMgZGUgc3RhdHVzLiDDiSBvIFBBRFLDg08gZG8gZGFyayBhcXVpLlxuICAvLyAg4oCiIENvbG9yaXIgT0ZGICgubm8tc3RhdHVzLWNvbG9yLCBsaW5oYXMgcGxhbmFzIGVzY3VyYXMpIOKGkiBjb250b3JubyBCUkFOQ08gKG92ZXJyaWRlLFxuICAvLyAgICBtYWlzIGVzcGVjw61maWNvKS5cbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZShyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpLCAnLm5vLXN0YXR1cy1jb2xvcicpO1xuXG4gIC8vIENvbG9yaXIgT0ZGLCAxwqogY29sdW5hOiBhIGJvcmRhIEVTUVVFUkRBIGRvIGNvbnRvcm5vIChicmFuY28pIGZpY2Egc29icmUgYSBGQUlYQSBkZVxuICAvLyBzdGF0dXMgKHNlbXByZSBDTEFSQSkg4oaSIFwibGF2YVwiLiBVc2EgRVNDVVJPIHPDsyBuZXNzYSBib3JkYS4gKENvbSBDb2xvcmlyIE9OIG8gY29udG9ybm9cbiAgLy8gasOhIMOpIGVzY3VybyDihpIgdmlzw612ZWwgc29icmUgYSBmYWl4YSwgbsOjbyBwcmVjaXNhIGRlIG92ZXJyaWRlLikgQXDDs3MgbyBAaW5jbHVkZVxuICAvLyBuby1zdGF0dXMtY29sb3IgYWNpbWEg4oaSIG1lc21vIHNlbGV0b3IsIHZlbmNlIHBvciBvcmRlbSBkZSBmb250ZS5cbiAgdHIubm8tc3RhdHVzLWNvbG9yOmhvdmVyIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIsXG4gIHRyLm5vLXN0YXR1cy1jb2xvci5ob3ZlcmVkIHRkLm1hdC1jZWxsLmZpcnN0LWNvbHVtbjpub3QoOmZpcnN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIH1cbn1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQgc3Bhbi5zdWJ0aXRsZS10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbi8vIENvciBkZWZhdWx0IGRvIHRleHRvIGRhcyBjw6lsdWxhcyA9IGl0ZW0gZGUgMcK6IG7DrXZlbCBkbyBtZW51IGxhdGVyYWwuIEFsdGFcbi8vIGVzcGVjaWZpY2lkYWRlICgubGlnaHQvLmRhcmsgKyBjYWRlaWEgbWF0LXRhYmxlKSBwYXJhIHZlbmNlciBvIGZvcmVncm91bmQgZG9cbi8vIG1hdC1jYXJkIChNYXRlcmlhbCkuIEFzIG5vdGFzICgucmFuay10YWJsZSwgZnVuZG8gYnJhbmNvKSBzw6NvIHRyYXZhZGFzIGVtXG4vLyBlc2N1cm8gbm8gcHLDs3ByaW8gY29tcG9uZW50ZSBwYXJhIG7Do28gZmljYXJlbSBpbGVnw612ZWlzIG5vIGRhcmsuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLm1hdC1jZWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIENvbHVuYSAjIChudW1lcmHDp8Ojbyk6IE1FU01BIGNvciBkbyBjYWJlw6dhbGhvLCB2aWEgdG9rZW4gdW5pZmljYWRvICR0YWJsZS1oZWFkZXItY29sb3IuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLnBvc2l0aW9uJywgY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3IsICR0YWJsZS1oZWFkZXItY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRoIC5tYXJrLWFsbC1idXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZC5zZWxlY3QgYnV0dG9uJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gQ09OVEXDmkRPIGRhcyBjw6lsdWxhcyDigJQgTUVTTUEgbMOzZ2ljYSBkbyB2w6l1L2JvcmRhOiBsaW5oYXMgQ09MT1JJREFTIChDb2xvcmlyIE9OKSB0w6ptXG4vLyBmdW5kbyBkZSBzdGF0dXMgQ0xBUk8gZW0gQU1CT1Mgb3MgdGVtYXMg4oaSIG8gY29udGXDumRvIHVzYSBhcyBjb3JlcyBkbyBMSUdIVCBtb2RlXG4vLyAobGVnw612ZWwgc29icmUgbyBjbGFybykuIFPDsyBgZGFyayArIG5vLXN0YXR1cy1jb2xvcmAgbWFudMOpbSBhcyBjb3JlcyBkbyBkYXJrIChqw6EgdsOqbVxuLy8gZGFzIHJlZ3JhcyBhY2ltYSkuIEVzdGUgYmxvY28gc8OzIGF0YWNhIG8gZGFyayArIGxpbmhhIENPTE9SSURBIChgdHI6bm90KC5uby1zdGF0dXMtY29sb3IpYCksXG4vLyB2ZW5jZW5kbyBhcyByZWdyYXMgZGFyayBiYXNlIHBvciB0ZXIgbyBgdHI6bm90KC4uLilgICsgb3MgYDpub3QoOmZpcnN0L2xhc3QpYCBhIG1haXMuXG4vLyBFc2NvcG8gPSBjw6lsdWxhcyBkZSBDT05URcOaRE8gKGV4Y2x1aSBudW1lcmHDp8Ojby9zZWxlw6fDo28sIHF1ZSBmaWNhbSBmb3JhIGRvIGNhcmQpLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0cjpub3QoLm5vLXN0YXR1cy1jb2xvcikge1xuICB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7ICAgICAgICAgICAgICAgICAvLyB0ZXh0byBiYXNlOiAjMzczNzM0IChlcmEgI2M0YzJiZClcblxuICAgIHNwYW4uc3VidGl0bGUtdGV4dCB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgIC8vIHN1YnTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2KVxuICAgIC50aXRsZSB7IGNvbG9yOiAkY29udGVudC1jb2xvcjsgfSAgICAgICAgICAgICAgICAgICAgIC8vIHTDrXR1bG86ICMzNjM2MzYgKGVyYSAjRjZGNkY2LCByZWdyYSBnbG9iYWwgLnRpdGxlKVxuICAgIC8vIExpbmtzL8OtY29uZXMgYWNjZW50IChhdXRvcmVzK2UtbWFpbHMpOiBhY2NlbnQgZG8gTElHSFQgKCM3QzJEMTIsIG1hcnJvbSkuIENvYnJlIG9cbiAgICAvLyA8YT4gZW0gc2kgKHZlbmNlIGBfcGFwZXIuc2Nzc2ApLiBPIDxzcGFuPiBpbnRlcm5vIGRvIG5vbWUvZS1tYWlsIHRlbSBjb3IgUFLDk1BSSUFcbiAgICAvLyAocmVncmEgYHRkLmRlc2NyaXB0aW9uIGEgc3BhbmAgZG8gY29tcG9uZW50ZSB2MiwgcXVlIGNvbXBpbGEgY29tIHbDoXJpb3MgW19uZ2NvbnRlbnRdXG4gICAgLy8g4oaSIGVzcGVjaWZpY2lkYWRlIG1haW9yKSDihpIgdHJhdGFkbyBuYSByZWdyYSBERURJQ0FEQSBsb2dvIGFww7NzIGVzdGUgYmxvY28uXG4gICAgYSwgLmZhLWZpbGUtcGRmLCAuZmEtdXBsb2FkIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBDb2x1bmEgQXJxdWl2b3M6IGFwcC1maWxlLXBpbGwgw6kgQ09NUE9ORU5URSBzZXBhcmFkbyAocmVncmFzIGRhcmsgdmlhIDpob3N0LWNvbnRleHQpLlxuICAgIC8vIEZvcsOnYSBvIHRleHRvIGRvIHBpbGwgKGluY2x1c2l2ZSBhIHZhcmlhbnRlIFwiLS1taXNzaW5nXCIsIGV4LjogXCJNYW51c2NyaXRvXCIgYXVzZW50ZSksXG4gICAgLy8gbyDDrWNvbmUgZGUgYXVzZW50ZSBFIG8gw61jb25lIGRlIGRvd25sb2FkIHBybyBlc3F1ZW1hIExJR0hUIHNvYnJlIGEgbGluaGEgY29sb3JpZGEuXG4gICAgLy8gQ2xhc3NlcyBSRUFJUyA9IGAuZmlsZS1waWxsKmAgKE7Dg08gYC5jdi1lYi0qYCwgcXVlIMOpIGRlIG91dHJvIGNvbXBvbmVudGUg4oCUIGZvaSBvXG4gICAgLy8gZXJybyBhbnRlcmlvcikuIE8gXCIqXCIgcmVxdWlyZWQgKHZlcm1lbGhvKSBmaWNhIGNvbW8gZXN0w6EuXG4gICAgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC0tbWlzc2luZyxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtbmFtZSxcbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbi1taXNzaW5nIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbiB7IGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICB9XG59XG4vLyBBVVRPUiDigJQgPHNwYW4+IGRvIG5vbWUvZS1tYWlsOiBvIGNvbXBvbmVudGUgdjIgY29sb3JlIGB0ZC5kZXNjcmlwdGlvbiBhIHNwYW5gLCBxdWUgY29tcGlsYVxuLy8gY29tIFbDgVJJT1MgW19uZ2NvbnRlbnRdIChjYWRhIHVtIGNvbnRhIGNvbW8gY2xhc3NlKSDihpIgZXNwZWNpZmljaWRhZGUgfigwLDksMyksIEFDSU1BIGRvXG4vLyBibG9jbyBhY2ltYSB+KDAsOCw1KS4gQ29tbyBuwrogZGUgQ0xBU1NFUyBkZXNlbXBhdGEgcHJpbWVpcm8gKDkgPiA4KSwgYSBkbyBjb21wb25lbnRlIHZlbmNlXG4vLyBlIG8gc3BhbiBmaWNhIGFtYmVyICgjRkJCRjI0KS4gRXN0YSByZWdyYSBkZWRpY2FkYSBhY3Jlc2NlbnRhIGAucGFwZXJCYWNrZ3JvdW5kYCAobm8gPHRyPilcbi8vIGUgYC5kZXNjcmlwdGlvbmAgKG5vIDx0ZD4pIOKGkiBzb2JlIHByYSB+KDAsMTAsNSkgZSB2ZW5jZSDihpIgYXV0b3IvZS1tYWlsIG5vIGFjY2VudCBtYXJyb20uXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyLnBhcGVyQmFja2dyb3VuZDpub3QoLm5vLXN0YXR1cy1jb2xvcikgdGQubWF0LWNlbGwuZGVzY3JpcHRpb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSBhIHNwYW4ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi8vIMONY29uZSBkZSBkb3dubG9hZCBkbyBmaWxlLXBpbGwgbmFzIGxpbmhhcyBgbm8tc3RhdHVzLWNvbG9yYCAoQ29sb3JpciBPRkYgPSBlc3F1ZW1hIERBUkspOlxuLy8gZm9yw6dhIG8gYWNjZW50IGRvIGRhcmsgKCNGQkJGMjQgw6JtYmFyKS4gUkVEVU5EQU5URSBjb20gYSByZWdyYSBnbG9iYWwgZW1cbi8vIGBmaWxlLXBpbGwuY29tcG9uZW50LnNjc3MgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSkgLmZpbGUtcGlsbC1pY29uYCAobWVzbWEgY29yKSxcbi8vIG1hbnRpZGEgcG9yIHNlZ3VyYW7Dp2EgZW0gY2FzbyBkZSBvIGRlZmF1bHQgZ2xvYmFsIHNlciByZXZlcnRpZG8uIEFzIGxpbmhhcyBDT0xPUklEQVNcbi8vIHTDqm0gcmVncmEgZGVkaWNhZGEgYWNpbWEgcXVlIGZvcsOnYSBvIGFjY2VudCBMSUdIVCAoIzdDMkQxMiBtYXJyb20pLlxuLmRhcmstdGhlbWUgYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIgLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ci5uby1zdGF0dXMtY29sb3IgdGQubWF0LWNlbGwgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLWljb24ge1xuICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLyogYXBwLXN1Ym1pc3Npb25zLWZpZWxkLWZpbHRlci12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1maWVsZC1maWx0ZXItdjIsICcuc3VibWlzc2lvbnMtZmllbGRzLWZpbHRlci10YWJsZS1WMiAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtZmllbGQtZmlsdGVyLXYyLCAnLnN1Ym1pc3Npb25zLWZpZWxkcy1maWx0ZXItdGFibGUtVjIgLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LWZpbHRlciwgJy5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciAuZmllbGRzJywgYmFja2dyb3VuZC1jb2xvciwgJycsIHJnYmEoMCwgMCwgMCwgLjc1KSk7XG5cbi8qIGFwcC1maWxlLXJ1bGVzLWNhcmQgKi9cbi8vIENpbnphIGRvIG1pbmljYXJkID0gJGdyYXktMTUwICh3YXJtLXN0b25lIGRvIHNpc3RlbWEpLCBubyBsdWdhciBkbyAjZWRlZGVkXG4vLyBuZXV0cm8gZG8gJGV2ZW50LWNhcmQtYmFja2dyb3VuZCAocXVlIGRlc3RvYXZhIGRvIHJlc3RvKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAudG9wLWZpbGUtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTE1MCwgJHN1cmZhY2UtcmFpc2VkLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC51cGxvYWRpbmcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAubm90VXBsb2FkaW5nJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZHVlLWRhdGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS0xNTAsICRzdXJmYWNlLXJhaXNlZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmR1ZS1kYXRlJywgY29sb3IsICRncmF5LTUwMCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBPIGdsb2JvIChhcHAtZGlhbG9nLXRpbWV6b25lKSDDqSB1bSBtYXQtaWNvbi1idXR0b24gcXVlIG7Do28gcmVwYXNzYSBvIGN1cnJlbnRDb2xvciDigJQgZm9yw6dhIGEgbWVzbWEgY29yIG11dGVkIGRhIGNhcHRpb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kdWUtZGF0ZSBhcHAtZGlhbG9nLXRpbWV6b25lIC5tYXQtaWNvbicsIGNvbG9yLCAkZ3JheS01MDAsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQXN0ZXJpc2NvIGRlIFwib2JyaWdhdMOzcmlvXCIgYW50ZXMgZG8gdMOtdHVsbyBkbyBhcnF1aXZvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5pbmZvLWNvbHVtbiAuZmlsZS1yZXF1aXJlZCcsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmRpc2FibGVkIC5tYXQtaWNvbicsIGNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLCAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZG93bmxvYWQtY29sdW1uIC5idXR0b24tZG93bmxvYWQtZmlsZTpub3QoLmRpc2FibGVkKSAuZmlsZS10eXBlLWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtaW5mbyAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG4vLyBDb3JlcyBkb3Mgw61jb25lcyBkZSBhw6fDo28gZG8gbWluaWNhcmQgKEZhc2UgMTogbWlncmHDp8OjbyBqZW1zM3PihpJNYXRlcmlhbCBTeW1ib2xzXG4vLyArIHRva2VucyB0aGVtZS1hd2FyZSkuIERlbGV0ZSBlIFwibsOjbyB1c2EgdGVtcGxhdGVcIiA9IHdhcm5pbmc7IFwidXNhIHRlbXBsYXRlXCIgPVxuLy8gc3VjY2VzczsgZXJybyA9IHdhcm5pbmcuIGRvd25sb2FkLWJhciAob3ZlcmxheSBkZSAlIG5vIGRvd25sb2FkKSBjYXNhIG8gdG9wbyBkbyBjYXJkLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1kZWxldGUtZmlsZTpub3QoLmRpc2FibGVkKSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtdXNlcy1zYmMtdGVtcGxhdGUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuaW5mby1jb2x1bW4gLmJ1dHRvbi1ydWxlLW5vdC11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci13YXJuaW5nLCAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuZmlsZS1lcnJvcicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmRvd25sb2FkLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLnN1Y2Nlc3MtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MsICRhY2NlbnQtY29sb3Itc3VjY2Vzcy1kYXJrKTtcblxuLyogYXBwLWZpbGUtdXBsb2FkICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtdXBsb2FkLCAnLmZpbGUtdXBsb2FkIC5maWxlLXVwbG9hZC1pY29uIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIMONY29uZSBkZSB1cGxvYWQgREVTQUJJTElUQURPIChwcmF6byBwYXNzb3UgLyBzZW0gcGVybWlzc8Ojbyk6IGNvciBkZSBkaXNhYmxlZCxcbi8vIE7Dg08gYWNjZW50LiBWZW0gZGVwb2lzIGRhIHJlZ3JhIGFjY2VudCAobWVzbWEgZXNwZWNpZmljaWRhZGUpIOKGkiB2ZW5jZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24tZGlzYWJsZWQgLm1hdC1pY29uJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20tZm9ybS10ZXh0LXF1ZXN0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24sICcuY3VzdG9tLXRleHQtcXVlc3Rpb24gdGV4dGFyZWEnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuXG4vKiBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucywgJy5leHBvcnQtc3VibWlzc2lvbnMgLnNlY3Rpb24gLm5hbWUgYScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1ldmVudC1wdWJsaWNhdGlvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1wdWJsaWNhdGlvbiwgJy5wdWJsaWNhdGlvbi1jb250cm9scyAubWF0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0ZCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBib3JkZXItcmlnaHQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRoJywgY29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3IsICRjb250ZW50LWxpZ2h0Y29sb3ItZGFyayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLXN0ZXAgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmNvbnRlbnQtbGlzdCBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC5ub3QtaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLmluY2x1ZGVkJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5jb250ZW50IC50cmFjaycsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy50cmFjay1maWxlIC50cmFjayBoMycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9uczMgLnNlY3Rpb25zLWxpc3QgaDMnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG5cbi8qIGFwcC1wcm9jZWVkaW5nLWluZGV4LWl0ZW0gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1pbmRleC1pdGVtLCAnLml0ZW0gLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCAxMHB4IDFweCBibGFjayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLWF1dGhvci1pbmRleC1pdGVtICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctYXV0aG9yLWluZGV4LWl0ZW0sICcuaXRlbSAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcblxuLyogYXBwLWNhbGVuZGFyLXZpZXcgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jb250YWluZXItdmlldy1kYXRlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJ213bC1jYWxlbmRhci13ZWVrLXZpZXcnLCBjb2xvciwgJycsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC1kYXktaGVhZGVycycsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldywgLmNhbC10aW1lLCAuY2FsLWhvdXItc2VnbWVudCcsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3IC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXI6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsMCwwLC4zKSwgcmdiYSgyNTUsMjU1LDI1NSwuMykpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcgLmNhbC10aW1lLWV2ZW50cyAuY2FsLWRheS1jb2x1bW5zOm5vdCguY2FsLXJlc2l6ZS1hY3RpdmUpIC5jYWwtaG91ci1zZWdtZW50OmhvdmVyICcsIGJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwwLDAsLjMpLCByZ2JhKDI1NSwyNTUsMjU1LC4zKSk7XG5cbi8qIGFwcC1jaGlwLWNoZWNrYm94ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCBkaXY6bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgIzg2ODY4Nik7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCAubWF0LWljb246bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgIzg2ODY4Nik7XG5cbi8qIGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLmRhdGFzZXQtbWVudScsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5kYXRhc2V0LW1lbnUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY2hhcnQtY29tcG9uZW50ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1heGlzLXRpdGxlJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1sYWJlbCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmxlZ2VuZC10aXRsZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWdyaWQnLCBzdHJva2UsICRjaGFydC1ncmlkLWNvbG9yLCAkY2hhcnQtZ3JpZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmN0LWxlZ2VuZCBsaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWNoYXJ0LWNvbXBvbmVudC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5jaGFydCB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5sZWdlbmQtbGFiZWwgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LXYyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5cbi8qIGFwcC1tYXRoLWNhcHRjaGEgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnLmNvbnRhaW5lcicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJyNidXR0b25JbnB1dCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcuY2xzLTEnLCBmaWxsLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QgLmh5cGVybGluaycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0IC5uby1oeXBlcmxpbmsnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IgIWltcG9ydGFudCwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0JywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20taW5wdXQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgYm9yZGVyLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdXBwb3J0LWJ1dHRvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLXRpdGxlJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC1ldmVudC1zZXR0dGluZ3MtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2V0dGluZ3MtZW1haWwsICcuZXZlbnQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMg4oCUIHJlZ3JhcyBhbnRpZ2FzIHJlbW92aWRhcy4gTyBwYWluZWwgYWdvcmEgw6lcbiAgIGVzY29wYWRvIG5vIGNvbXBvbmVudGUgKHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuIFJlZmVyZW5jaWFtXG4gICBlc3RydXR1cmEgYW50aWdhIChgLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIC50YWJsZS1jb250YWluZXIgdGFibGVgLFxuICAgYC5vcHRpb25zIG1hdC1pY29uLmJ1dHRvbmApIHF1ZSBuw6NvIGV4aXN0ZSBtYWlzLiAqL1xuLyogYXBwLWRhc2hib2FyZC1jaGFydC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyJywgYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRibGFjay03MDAsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwgLmFjdGl2ZSAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsIC5hY3RpdmUgLmxlZ2VuZC1sYWJlbC10ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAubGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC55LmF4aXMgLmxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyB0ZXh0W3RyYW5zZm9ybT1cInJvdGF0ZSgyNzApXCJdJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuYXhpcy1sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyBnW25neC1jaGFydHMtYXhpcy1sYWJlbF0gdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnkuYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZGxpbmUtcGF0aCcsIHN0cm9rZSwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtYWRtaW4tZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC12aWV3LCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWRhc2hib2FyZC1zZXR0aW5ncyAodGFiIGxhYmVscykgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItbm90aWZpY2F0aW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm5vdGlmaWNhdGlvbnMtbWVudSAubm90aWZpY2F0aW9ucy1jb250YWluZXIgLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB0cicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubm90aWZpY2F0aW9ucy1tZW51IC5vcHRpb25zIG1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiAqL1xuLy8gSGVhZGVyIChub21lcykgdHJhbnNwYXJlbnRlIOKAlCBvcyBsYWJlbHMgZGlhZ29uYWlzICg0NcKwKSB0cmFuc2JvcmRhbSBlbnRyZVxuLy8gY29sdW5hczsgdW0gZnVuZG8gb3BhY28gcG9yIHRoIGNvcnRhcmlhIG8gbGFiZWwgZGEgY29sdW5hIHZpemluaGEuIENhbnRvICtcbi8vIGNvbHVuYSBkbyBpZCBmaWNhbSBjb20gbyBmdW5kbyBkbyBjYXJkIChvcGFjb3MgcC8gYXMgY8OpbHVsYXMgcm9sYXJlbSBwb3Jcbi8vIGJhaXhvIHF1YW5kbyBhIGNvbHVuYSBkbyBpZCBmaWNhIGZpeGEpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbi8vIEJhbmRhIG9wYWNhIGRvIGhlYWRlciB2YWkgbm8gPHRoZWFkPiAoc3RpY2t5KSwgYXRyw6FzIGRvcyB0aCB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoZWFkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aDpmaXJzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkOm5vdChmaXJzdC1jaGlsZCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBCb3JkYSBsZWdhZGEgc8OzIG5hIE1BVFJJWiAodGFibGUtd2VpZ2h0KS4gQSB0YWJsZS1hc3NpZ24gbWlncm91IHAvIC5qZW1zMy10YWJsZVxuLy8gKGNocm9tZSBwcsOzcHJpbywgc2VtIGJvcmRhcykg4oCUIG7Do28gcG9kZSByZWNlYmVyIGVzdGEgYm9yZGEuXG4vLyBHcmFkZSBkYSBtYXRyaXo6IG5vIGRhcmsgYXMgbGluaGFzIHF1ZSBzZXBhcmFtIGFzIGPDqWx1bGFzIHPDo28gUFJFVEFTIChhbnRlc1xuLy8gJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayAjMzgzODM4IOKAlCBjaW56YSkgYSBwZWRpZG8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQsdGgnLCBib3JkZXIsIDFweCBzb2xpZCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgMXB4IHNvbGlkIGJsYWNrKTtcblxuLyogTW9iaWxlIGxheW91dCAoVFBDIGNoYWlyLCB2aWV3cG9ydCA8IDc2OHB4KSDigJQgc2VlXG4gKiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC57dHMsaHRtbCxzY3NzfS4gVmlldyBlbmNhcHN1bGF0aW9uIGlzXG4gKiBFbXVsYXRlZCBvbiB0aGlzIGNvbXBvbmVudDsgdGhlIG1vYmlsZSBjaHJvbWUgU0NTUyBpcyBjby1sb2NhdGVkIHdpdGhcbiAqIHRoZSBjb21wb25lbnQsIGJ1dCB0aGVtZSB0b2tlbnMgKHdoaWNoIHVzZSBsaWdodC0vZGFyay10aGVtZSBjbGFzc2VzXG4gKiBhcHBsaWVkIHRvIDxib2R5PikgbXVzdCBsaXZlIGhlcmUgYXQgdGhlIGdsb2JhbCBzY29wZSwgb3RoZXJ3aXNlIHRoZVxuICogYC5saWdodC10aGVtZWAgLyBgLmRhcmstdGhlbWVgIGJvZHkgc2VsZWN0b3JzIGRvbid0IHN1cnZpdmUgRW11bGF0ZWRcbiAqIGVuY2Fwc3VsYXRpb24gYW5kIHRoZSBydWxlcyBhcmUgc2lsZW50bHkgZHJvcHBlZC4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXItdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYnLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBib3JkZXItdG9wLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1zZWN0aW9uLWxhYmVsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbS5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBMYXN0LXdvcmQgb3ZlcnJpZGU6IHRoZSBsZWdhY3kgZ2xvYmFsXG4vLyBgYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHsgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3IgPSB3aGl0ZSB9YFxuLy8gd2FzIHR1cm5pbmcgdGhlIGFjdGl2ZSBvcHRpb24ncyBpY29uIHdoaXRlIG9uIGhvdmVyLCBtYWtpbmcgdGhlXG4vLyBjZWxsIGxvb2sgXCJibGFuayB3aGl0ZVwiIGluIGxpZ2h0IG1vZGUuIFBpbiB0aGUgaWNvbiB0byB0aGUgYWN0aXZlXG4vLyB0ZXh0IHRva2VuIGluc3RlYWQuIChUaGUgY2VsbCBiZyBhbHJlYWR5IHN0YXlzIHB1dCB2aWEgdGhlXG4vLyBjaGFpci1VSSBgLmhpZ2hsaWdodC1idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAuLi4gIWltcG9ydGFudCB9YFxuLy8gcnVsZSBhYm92ZSDigJQgc2VsZWN0b3IgbWF0Y2hlcyBib3RoIHJlc3QgYW5kIGhvdmVyLCBubyBleHRyYVxuLy8gb3ZlcnJpZGUgbmVlZGVkLilcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItdGhlbWUgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGF5b3V0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxheW91dCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5sYXlvdXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uJyxcbiAgJycsXG4gIGNvbG9yLFxuICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsXG4gICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrXG4pO1xuXG4vLyBwZW9wbGUtdGFibGU6IGNvciBkZSBmdW5kbyBkYXMgY8OpbHVsYXMgYm9keS4gTGlnaHQ6IGdyYXktMjAwIHNvYnJlIGNhbnZhc1xuLy8gd2FybS4gRGFyazogZ3JheSBlc2N1cm8gKH4jMzAyQzI5LCBlcXVpdmFsZW50ZSBhIHVtIFwiJGdyYXktODAwXCIgZW50cmUgb3Ncbi8vIHRva2VucyBleGlzdGVudGVzIDcwMCBlIDkwMCkuIEV4Y2x1aSAxwqogY29sIChudW1iZXJpbmcpIGUgw7psdGltYSAoc2VsZWN0KSxcbi8vIHF1ZSBmaWNhbSB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAnLnBlb3BsZS10YWJsZScsXG4gICd0YWJsZS5qZW1zMy10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGdyYXktMjAwLFxuICAjMzAyQzI5XG4pO1xuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIENvcmVzIGRvcyDDrWNvbmVzIG5vIG1lbnUgaGFtYnVyZ2VyIGRhIG5hdmJhciBhdXRvci9yZXZpc29yIChvdmVyZmxvdykuXG4vLyBFc3BlbGhhbSBhcyBjb3JlcyBkb3Mgc2lkZWJhci1pdGVtIGljb25zIChjYXRlZ29yaWEgcG9yIHJvdGEpLlxuLy8gYCFpbXBvcnRhbnRgIHBvcnF1ZSBgLnRwYy11c2VyLW1lbnUgLm1hdC1pY29uYCAoYXBsaWNhZG8gYW8gbWVzbW8gbWVudVxuLy8gdmlhIGNsYXNzZSBubyBwYWluZWwpIHRlbSBgIWltcG9ydGFudGAgZSBnYW5oYXJpYSBzZW0gaXNzby5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRXNwZWNpZmljaWRhZGU6IHByZWNpc2Ftb3MgY2hhaW5hciBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgICtcbi8vIGAubWF0LW1lbnUtaXRlbWAgcHJhIHZlbmNlciBhIHJlZ3JhIGdsb2JhbCBkbyB0cGMtdXNlci1tZW51IChxdWUgdGVtXG4vLyAoMCw1LDApICsgIWltcG9ydGFudCkuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLy8gTWVudSBoYW1idXJnZXI6IMOtY29uZXMgZmlsbGVkIChGSUxMIDEpIHByYSBkYXIgY29ycG8gdmlzdWFsICtcbi8vIGFsaW5oYW1lbnRvIHZlcnRpY2FsIG5vIGVpeG8gZG8gdGV4dG8gKGxpbmUtaGVpZ2h0IGNhc2EgY29tIGEgYWx0dXJhXG4vLyBkbyBtZW51LWl0ZW07IG1hdC1tZW51LWl0ZW0gcGFkcsOjbyB1c2EgZmxleCthbGlnbi1pdGVtczpjZW50ZXIsIG1hc1xuLy8gYSBsaW5oYSBkbyDDrWNvbmUgw6BzIHZlemVzIGRlc2NvbGEgZG8gYmFzZWxpbmUgZG8gdGV4dG8gcG9yIGNhdXNhIGRhc1xuLy8gbcOpdHJpY2FzIGRhIGZvbnRlIGNvbSBGSUxMIDEpLlxuLy8gUGFpbmVsIGRvIG1lbnUgaGFtYnVyZ2VyIOKAlCBtZXNtbyBiZyBkYSBuYXZiYXIgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCk7XG4vLyBvcyB0b2tlbnMgasOhIGJhdGVtIHBvciBwYWRyw6NvIHZpYSB0cGMtdXNlci1tZW51LCBtYXMgZm9yw6dhbW9zIGFxdWkgcHJhXG4vLyBuw6NvIGhhdmVyIGRyaWZ0IGNhc28gbyB0cGMtdXNlci1tZW51IG11ZGUuIEZpbHRlciAoZHJvcC1zaGFkb3cpIGRvXG4vLyB0cGMtdXNlci1tZW51IHRpbnRhIGFzIGJvcmRhcyBlc2N1cmFzIOKGkiBhIHBlcmNlcMOnw6NvIGZpY2EgXCJkaWZlcmVudGVcIlxuLy8gbWVzbW8gY29tIGJnIGlkw6pudGljby4gWmVyYSBvIGZpbHRlciBhcXVpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBtaW4taGVpZ2h0IDAgcHJhIG8gcGFpbmVsIG7Do28gdHJhdmFyIGVtIDY0cHggZG8gQW5ndWxhciBNYXRlcmlhbFxuICAvLyAoZXNzZSBlcmEgbyBjdWxwcml0IGRvIFwiZXNwYcOnbyBlbWJhaXhvXCIgcXVhbmRvIHPDsyBow6EgMSBpdGVtKS5cbiAgLy8gcGFkZGluZyBkbyBwYWluZWwgdm9sdGEgcHJvIHJlc3Bpcm8gbm9ybWFsLlxuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuLy8gWmVyYSBwYWRkaW5nIGRvIC5tYXQtbWVudS1jb250ZW50IOKAlCBvIHBhaW5lbCBqw6EgdGVtIHBhZGRpbmcgcHLDs3ByaW8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBFc3BlY2lmaWNpZGFkZTogcHJlY2lzYSBjaGFpbmFyIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgK1xuLy8gYC5tYXQtbWVudS1pdGVtYCBwcmEgdmVuY2VyIGFzIHJlZ3JhcyAyNnB4IGRvIHRwYy11c2VyLW1lbnUgZ2xvYmFsLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAvLyBUaXBvZ3JhZmlhIGlkw6pudGljYSBhbyBgLmxhYmVsLWZ1bGxgIGRvcyBzaWRlYmFyLWl0ZW1zIChidXR0b25zIGRhXG4gIC8vIGJhcnJhKTogMTRweCAvIDUwMCAvIC0wLjAxZW0gLyBjb3IgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IuXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgLy8gT3BhY2lkYWRlIDEgc2VtcHJlIOKAlCBvdmVycmlkZSBkbyB0cGMtdXNlci1tZW51IGRlZmF1bHQgMC42NSBxdWVcbiAgICAvLyBzw7MgaWEgcHJhIDEgbm8gaG92ZXIgKFwiZXNtYWVjaWRvIGVtIHJlc3RcIikuXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMSwgJ3dnaHQnIDQwMCwgJ29wc3onIDI0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC8vIGZhLXVzZXJzIChqZW1zM3MpIOKAlCBtZXNtbyB0YW1hbmhvIGRvIGJvdMOjbyBkYSBiYXJyYSAoMTZweCBlbVxuICAvLyBzaWRlYmFyLWl0ZW0uY29tcG9uZW50LnNjc3M6OTEtOTMpLCBOw4NPIG9zIDIwcHggZGVmYXVsdC5cbiAgJi5idXR0b24tdHBjcyAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEVzdGFkbyBzZWxlY3RlZCBkbyBpdGVtIG92ZXJmbG93IOKAlCBNRVNNTyB0cmF0YW1lbnRvIGRvIHNpZGViYXItaXRlbVxuLy8gc2VsZWN0ZWQgbmEgYmFycmE6IGJnICNmZmYgKGxpZ2h0KSAvICMyZTJlMmUgKGRhcmspICsgdW5kZXJsaW5lIGFjY2VudFxuLy8gMnB4IHBvciBjYXRlZ29yaWEgbm8gYm90dG9tIGRvIGl0ZW0uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gTWVzbWEgc29tYnJhIGRvIHNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIG5hIGJhcnJhLlxuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjMpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudDtcbn1cbi8vIExpbmhhIGFjY2VudCBkbyBpdGVtIHNlbGVjaW9uYWRvIGRvIG1lbnUgb3ZlcmZsb3cg4oCUIG1lc21hIHNoYXBlICtcbi8vIGdyYWRpZW50IHVzYWRvcyBuYSB1bmRlcmxpbmUgZGEgbmF2LiBgY2xpcC1wYXRoYCBlIGBiYWNrZ3JvdW5kYFxuLy8gdsOqbSBkZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgc2V0YWRhcyBlbSBgcGFpbnRPdmVyZmxvd0FjY2VudGBcbi8vIChuYXZiYXIuY29tcG9uZW50LnRzKSB2aWEgYE5hdmJhckNvbXBvbmVudC5idWlsZEFjY2VudENsaXBQYXRoL1xuLy8gR3JhZGllbnRgIChmb250ZSDDum5pY2EpLiBGYWxsYmFja3MgZ2FyYW50ZW0gdmlzdWFsIGLDoXNpY28gY2FzbyBvXG4vLyBKUyBuw6NvIHRlbmhhIHJvZGFkbyAocGFpbnQgYWNvbnRlY2UgYXDDs3MgbWVudSBhYnJpcikuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gYGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpYCBjZW50cmFsaXphIG8gYm94IGRvXG4gIC8vIGFjY2VudCBubyBJVEVNIGludGVpcm8gKGJvcmRlci1ib3gpLiBgbGVmdC9yaWdodGAgaW5zZXRzIE7Dg09cbiAgLy8gc2VydmVtIGFxdWk6IG8gY29udGFpbmluZyBibG9jayBkbyA6OmFmdGVyIMOpIG8gUEFERElORy1ib3ggZG9cbiAgLy8gbWF0LW1lbnUtaXRlbSAocGFkZGluZyAwIDE2cHgpLCBlbnTDo28gYHJpZ2h0OiAycHhgIGNvcnRhcmlhIDM0cHhcbiAgLy8gYWzDqW0gZG8gaW5zZXQgZGVzZWphZG8sIGUgb3MgYXJjb3MgZG8gY2xpcC1wYXRoIChmaXhvcyBlbSBweClcbiAgLy8gZmljYXJpYW0gRk9SQSBkbyBib3ggcmVuZGVyaXphZG8uXG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogdmFyKC0tYWNjZW50LXdpZHRoLCBjYWxjKDEwMCUgLSAycHgpKTtcbiAgYm90dG9tOiAtMXB4O1xuICBoZWlnaHQ6IDJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNsaXAtcGF0aDogdmFyKC0tYWNjZW50LWNsaXAtcGF0aCwgcG9seWdvbigwIDAsIDEwMCUgMCwgY2FsYygxMDAlIC0gMnB4KSAxMDAlLCAycHggMTAwJSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtYmFja2dyb3VuZCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLy8gQ29yIGFjY2VudCBkbyB1bmRlcmxpbmUgcG9yIGNhdGVnb3JpYSAoZXNwZWxoYSBhcyByZWdyYXNcbi8vIC5saXN0LWl0ZW0uYnV0dG9uLSouc2VsZWN0ZWQ6OmFmdGVyIGRvIHNpZGViYXItaXRlbSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLW15LXJldmlld3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICAgICAgICAgICAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tdHBjcy5pcy1zZWxlY3RlZDo6YWZ0ZXInLCAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgICAgICAgICAgICAgICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IsICAgICAgICAgICAgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICAgICAgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLy8gbWVudS1pdGVtIHByZWNpc2Egc2VyIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmEgYW5jb3JhciBvIG92ZXJsYXkgZG8gYmFkZ2UsXG4vLyBlIG92ZXJmbG93OiB2aXNpYmxlIHByYSBvIGJhZGdlIFwiZXN0b3VyYXJcIiBmb3JhIGRhIGJvcmRhIHNlbSBzZXIgY2xpcGFkby5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8vIENvbnTDqmluZXJlcyBwYWkgdGFtYsOpbSBuw6NvIHBvZGVtIGNsaXBhci5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSAubWF0LW1lbnUtY29udGVudCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBMYWJlbCBvY3VwYSBlc3Bhw6dvIHJlc3RhbnRlIChzZW0gZXNwYcOnbyByZXNlcnZhZG8gcHJvIGJhZGdlIOKAlCBxdWUgYWdvcmFcbi8vIMOpIG92ZXJsYXkpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktbGFiZWwge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8vIEJhZGdlcyBjb21vIE9WRVJMQVkgYWJzb2x1dG8gbm8gY2FudG8gc3VwZXJpb3IgZXNxdWVyZG8g4oCUIG1lc21hIHTDqWNuaWNhXG4vLyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZXNgIG5vIGJvdMOjbyAodHJhbnNmb3JtIHRyYW5zbGF0ZSBwcmEgXCJlc3RvdXJhclwiXG4vLyBsZXZlbWVudGUgc29icmUgYSBib3JkYSkuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTZweCkgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogM3B4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cbi8vIEJhZGdlIG5vIG1lbnUg4oCUIGdlb21ldHJpYSArIGNvcmVzIGlkw6pudGljYXMgw6BzIGRvIGAuc2lkZWJhci1pdGVtLWJhZGdlYFxuLy8gZGEgc2lkZWJhciAoZGVmaW5pZG8gZW0gc2lkZWJhci1pdGVtLmNvbXBvbmVudC5zY3NzOjE2NS0xODQpLiBDb21vIG9cbi8vIG1lbnUgw6kgcG9ydGFsZWQgYW8gYm9keSwgYXMgcmVncmFzIHNjb3BlZCBuw6NvIGFsY2Fuw6dhbSDigJQgcmVwbGljYW1vcy5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWJhZGdlIHtcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxZjFmMWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICAmLmlzLXplcm8geyBkaXNwbGF5OiBub25lOyB9XG4gICYuc3RhdHVzLWNvbmZpcm1lZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkQ4NjA7IH1cbiAgJi5zdGF0dXMtbm90aWZpZWQgIHsgYmFja2dyb3VuZC1jb2xvcjogIzk0QzBGQjsgfVxuICAmLnN0YXR1cy1wZW5kaW5nICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFCNjVDOyB9XG59XG5cbi8vIEhvdmVyIOKAlCBzw7Mgc29tYnJhLCBTRU0gbXVkYW7Dp2EgZGUgYmFja2dyb3VuZC9jb2xvci93ZWlnaHQuIEJ1bXAgY29tXG4vLyBgLmxpZ2h0LXRoZW1lYCArIGA6bm90KFtkaXNhYmxlZF0pYCBwcmEgdmVuY2VyIG8gaG92ZXIgZGVmYXVsdCBkb1xuLy8gdHBjLXVzZXItbWVudSBxdWUgcGludGEgYmcgZSBtdWRhIGNvbG9yIChzcGVjIDAsNiwwKS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnJpZGUgZG8gaG92ZXIgZGVmYXVsdCBkbyB0cGMtdXNlci1tZW51IG5vIMOtY29uZSDigJQgbWFudMOpbSBGSUxMIDFcbi8vIGUgb3BhY2l0eSAxIChqw6EgZXJhbSBhc3NpbSBubyByZXN0OyBzZW0gZXN0YSByZWdyYSwgbyBob3ZlciByZXZlcnRlXG4vLyBwcmEgd2dodCA0MDAgc2VtIEZJTEwgZSBhIHRyYW5zacOnw6NvIGZpY2Egdmlzw612ZWwpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgLm1hdC1pY29uLFxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgLm1hdC1pY29uIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ0ZJTEwnIDEsICd3Z2h0JyA0MDAsICdvcHN6JyAyNCAhaW1wb3J0YW50O1xufVxuLy8gQWN0aXZlIChwcmVzcykg4oCUIHNvbWJyYSBlbmNvbGhlLCBtZXNtYSBmYW3DrWxpYS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTphY3RpdmUge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTphY3RpdmUge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBaLWluZGV4IGhpZXJhcmNoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgY2hhaXIgVUkncyBsYXllcmVkIHZpc3VhbCBoaWVyYXJjaHkuXG4vLyBMYXllcnMgZnJvbSBoaWdoZXN0IChmcm9udG1vc3QpIHRvIGxvd2VzdDpcbi8vXG4vLyAgIDEuIFRvb2x0aXBzICAgICAgICAgICAgICAgICAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgIDIuIE1lbnVzICh1c2VyLCBub3RpZmljYXRpb25zLCAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHN1Yi1ldmVudHMpXG4vLyAgIDMuIEJyZWFkY3J1bWIgICAgICAgICAgICAgICAgICAgICDigJQgYCR6LWJyZWFkY3J1bWJgXG4vLyAgIDQuIEZseW91dCAoTW9kZXJuIGNvbGxhcHNlZCAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHNpZGViYXIncyBsZXZlbC0yIHBvcG92ZXIpXG4vLyAgIDUuIFJlc2l6ZSBoYW5kbGVzIChzdWJtZW51ICAgICAgICDigJQgYCR6LXJlc2l6ZS1oYW5kbGVgXG4vLyAgICAgICsgTW9kZXJuIHNpZGViYXIpXG4vLyAgIDYuIFRvb2xiYXIgKGFjdGl2aXR5LWJhcikgICAgICAgICDigJQgYCR6LXRvb2xiYXJgXG4vLyAgIDcuIFN1Ym1lbnUgKG1hdC1zaWRlbmF2KSAgICAgICAgICDigJQgYCR6LXNpZGViYXJgXG4vLyAgICAgIEFORCBNb2Rlcm4gc2lkZWJhclxuLy8gICA4LiBDYW52YXMgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGAkei1jYW52YXNgIChhdXRvKVxuLy9cbi8vIEl0ZW1zIDEsIDIsIGFuZCA0IGFyZSBDREsgb3ZlcmxheXMgYW5kIHNoYXJlIGEgc2luZ2xlXG4vLyBgLmNkay1vdmVybGF5LWNvbnRhaW5lcmAgc3RhY2tpbmcgY29udGV4dCB0aGF0IE1hdGVyaWFsIHBhaW50cyBhYm92ZVxuLy8gZXZlcnl0aGluZyBlbHNlIGluIHRoZSBhcHAuIE9yZGVyIGFtb25nIHRoZW0gaXMgZGV0ZXJtaW5lZCBieSBDREsgYXRcbi8vIHJ1bnRpbWUgKG1vc3QtcmVjZW50bHktb3BlbmVkIHdpbnMpLiBUaGUgaGllcmFyY2h5IHBvc2l0aW9ucyBmb3Jcbi8vIGl0ZW1zIDEsIDIsIDQgYXJlIHRoZXJlZm9yZSBjb25jZXB0dWFsIOKAlCBwcmFjdGljYWwgc3RhY2tpbmcgYW1vbmdcbi8vIHRoZW0gaXMgTWF0ZXJpYWwncyBkZWZhdWx0IGFuZCByYXJlbHkgYSB2aXNpYmxlIGlzc3VlLlxuLy9cbi8vIEFueXRoaW5nIG5vdCBsaXN0ZWQgaGVyZSB1c2VzIGB6LWluZGV4OiBhdXRvYCAoPSAwIGluIGl0cyBzdGFja2luZ1xuLy8gY29udGV4dCkgYW5kIGxpdmVzIGJlbG93IGAkei10b29sYmFyYCBieSBkZWZhdWx0LlxuLy9cbi8vIFR1bmluZyBydWxlOiB3aGVuIGFkanVzdGluZyBhbnkgdG9rZW4gYmVsb3csIGxlYXZlIGEgY29tZm9ydGFibGUgZ2FwXG4vLyAo4omlMTApIHRvIGl0cyBuZWlnaGJvdXIgYWJvdmUvYmVsb3cgc28gZnV0dXJlIGFkZGl0aW9ucyBjYW4gc2xvdCBpblxuLy8gd2l0aG91dCByZW51bWJlcmluZyB0aGUgd2hvbGUgc3RhY2suXG5cbiR6LWNhbnZhczogICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiR6LWRhc2hib2FyZC1wYW5lbDogNSAgICAhZGVmYXVsdDsgIC8vIHBhaW5lbCBkZSBjb21wb25lbnRlcyBkbyBEYXNoYm9hcmQgKG1vZG8gZWRpw6fDo28pOiBBQ0lNQSBkYSBww6FnaW5hL2NhbnZhcyAoYXV0by8wKSwgcG9yw6ltIEFCQUlYTyBkbyBicmVhZGNydW1iIGRvIGNoYWlyIGFyZWEgKHF1ZSB1c2EgYHotaW5kZXg6IDEwYCBsaXRlcmFsLCBOw4NPIG8gJHotYnJlYWRjcnVtYjo5MDAgYWJhaXhvKSBlIGRvIHJlc3RvIGRvIGNocm9tZSAoc2lkZWJhciAzMCAvIG5hdmJhciAzMSAvIHRvb2xiYXIgNDApIOKAlCBhc3NpbSBhIGJhcnJhIHN1cGVyaW9yLCBhbyByZXNzdXJnaXIgKGV4Ljogc2HDrWRhIGRvIG1vZG8gYW1wbG8pLCBmaWNhIE5BIEZSRU5URSBkbyBwYWluZWwuXG4kei1zaWRlYmFyOiAgICAgICAgIDMwICAgIWRlZmF1bHQ7ICAvLyBzdWJtZW51IChtYXQtc2lkZW5hdikgQU5EIE1vZGVybiBleHBlcmltZW50YWwtc2lkZWJhclxuJHotdG9vbGJhcjogICAgICAgNDAgICAhZGVmYXVsdDsgIC8vIGhpc3RvcmljYWxseSBgJG5hdmJhci16LWluZGV4ICsgMmBcbiR6LXJlc2l6ZS1oYW5kbGU6IDgwMCAgIWRlZmF1bHQ7XG4kei1icmVhZGNydW1iOiAgICA5MDAgICFkZWZhdWx0OyAgLy8gYmVsb3cgQ0RLIG92ZXJsYXkncyAxMDAwIHNvIG1lbnVzIHBhaW50IGFib3ZlXG5cbi8vIGFwcC1wb3BvdmVyIHBhbmVsIChwb3J0YWRvIHBybyA8Ym9keT4pIHByZWNpc2EgZXN0YXIgQUNJTUEgZGEgY2hyb21lXG4vLyAoc2lkZWJhciAzMCAvIHRvb2xiYXIgNDAgLyBicmVhZGNydW1iIDkwMCkgZSBBQkFJWE8gZG9zIHRvb2x0aXBzIGRvXG4vLyBDREsgb3ZlcmxheS4gVG9vbHRpcHMgKGNkay1vdmVybGF5LWNvbnRhaW5lcikgZ2FuaGFtIHotaW5kZXggMTIwMCBwcmFcbi8vIHJlbmRlcml6YXIgQUNJTUEgZG8gcG9wb3ZlciAoY2YuIC5jZGstb3ZlcmxheS1jb250YWluZXIgb3ZlcnJpZGUpLlxuJHotcG9wb3ZlcjogICAgICAgMTEwMCAhZGVmYXVsdDtcbiR6LWNkay1vdmVybGF5OiAgIDEyMDAgIWRlZmF1bHQ7ICAvLyB0b29sdGlwID4gcG9wb3ZlciA+IGJyZWFkY3J1bWJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQTExeSB1dGlsaXRpZXMg4oCUIGdsb2JhbCBoZWxwZXJzIHVzZWQgdGhyb3VnaG91dCBKRU1TM1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEb2N1bWVudGVkIGluIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzIwIChBY2Vzc2liaWxpZGFkZSDigJQgw6FyZWEgYXV0b3IvcmV2aXNvcikuXG5cbi8vIFZpc3VhbGx5IGhpZGRlbiBidXQgYXZhaWxhYmxlIHRvIGFzc2lzdGl2ZSB0ZWNoIChzY3JlZW4gcmVhZGVycykuXG4vLyBVc2UgZm9yIGhlYWRpbmdzLCBsYWJlbHMgYW5kIGFubm91bmNlbWVudHMgdGhhdCBtdXN0IGV4aXN0IGluIHRoZVxuLy8gYWNjZXNzaWJpbGl0eSB0cmVlIGJ1dCBzaG91bGQgbm90IGFmZmVjdCB0aGUgdmlzdWFsIGxheW91dC5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFNraXAgbGluayDigJQgdmlzaWJsZSBvbmx5IHdoZW4gZm9jdXNlZCAoVGFiIGtleSkuIFVzZWQgdG8gYnlwYXNzXG4vLyByZXBldGl0aXZlIG5hdmlnYXRpb24gYmxvY2tzIChlLmcuIHNpZGViYXIpIGFuZCBqdW1wIHRvIDxtYWluPi5cbi5za2lwLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgfVxufVxuXG4vLyBGb2N1cyByaW5nIOKAlCB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbi8vIEFwcGx5IHZpYSBgQGluY2x1ZGUgZm9jdXMtcmluZztgIGluc2lkZSBhbnkgYDpmb2N1cy12aXNpYmxlYCBzZWxlY3Rvci5cbkBtaXhpbiBmb2N1cy1yaW5nKCRjb2xvcjogdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpLCAkb2Zmc2V0OiAycHgpIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICRjb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLy8gQ2FyZCBsaXN0IOKAlCBgPHVsIHJvbGU9XCJsaXN0XCI+YCB3cmFwcGVyIHBhcmEgbGlzdGFzIHNlbcOibnRpY2FzIGRlXG4vLyBjYXJkcy4gWmVyYSBvIGxpc3Qtc3R5bGUgZSBwYWRkaW5nIGRlZmF1bHQgZG8gYDx1bD5gIG1hbnRlbmRvIGFcbi8vIHNlbcOibnRpY2EgZGUgbGlzdGEgbm8gQVQgKFdDQUcgMS4zLjEpLiBVc2FyIGNvbSBgPGxpPmAgcG9yIGNhcmQuXG4vLyBPIGByb2xlPVwibGlzdFwiYCDDqSBSRURVTkRBTlRFIHByb2dyYW1hdGljYW1lbnRlIG1hcyBuZWNlc3PDoXJpbyBwb3JxdWVcbi8vIFNhZmFyaS9XZWJLaXQgcmVtb3ZlbSBhIHJvbGUgaW1wbMOtY2l0YSBxdWFuZG8gYXBsaWNhbW9zXG4vLyBgbGlzdC1zdHlsZTpub25lYCDigJQgYnVnIGhpc3TDs3JpY28sIHZpZGVcbi8vIGh0dHBzOi8vd3d3LnNjb3R0b2hhcmEubWUvYmxvZy8yMDE5LzAxLzEyL2xpc3RzLWFuZC1zYWZhcmkuaHRtbFxuLmNhcmRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiIsIi8vIOKUgOKUgOKUgCBKRU1TMyBwYWdlIHZpZXcgbW9kZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWdyYXMgZ2xvYmFpcyBhdGl2YWRhcyBwZWxvIGJvZHkgY2xhc3Mgc2V0YWRvIGVtXG4vLyBgc3JjL2FwcC9zZXJ2aWNlL3ZpZXctbW9kZS5zZXJ2aWNlLnRzYCBxdWFuZG8gbyBVUkwgdHJheiBgP3ZpZXdNb2RlPS4uLmAuXG4vLyBNb2RvcyBkZWZpbmlkb3MgZW0gYHNyYy9hcHAvdXRpbHMvcGFnZS12aWV3LW1vZGUudHNgLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1mdWxsICDihpIgbyBgYWRtaW4tZXZlbnQtc2lkZWJhcmAgYnJhbmNoIGrDoSBjdWlkYSBkbyBDSFJPTUVcbi8vICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5POiBlbSBtb2RvIEZ1bGwgZWxlIHJlbmRlcml6YSBzw7Ncbi8vICAgICAgICAgICAgICAgICAgICAgICBgPHJvdXRlci1vdXRsZXQ+YCwgc2VtIGAuc2lkZWJhcmAgL1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGBtYXQtc2lkZW5hdi1jb250YWluZXJgIC8gZXRjLiBBIHDDoWdpbmEgZGEgcm90YVxuLy8gICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcml6YSBkaXJldG8gbm8gaG9zdCwgWkVSTyBoZXJhbsOnYSBkZSBnZW9tZXRyaWEuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgQXF1aSBzw7Mgb2N1bHRhbW9zIG8gcXVlIHZpdmUgRk9SQSBkb1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGFkbWluLWV2ZW50LXNpZGViYXIgKGBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhcmApLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1hbXBsbyDihpIgKHBsYWNlaG9sZGVyOyBhaW5kYSBuw6NvIGltcGxlbWVudGFkbykuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbmJvZHkudmlldy1tb2RlLWZ1bGwge1xuICAvLyBgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXJgIHZpdmUgZW0gYGV2ZW50LWFkbWluLmNvbXBvbmVudC5odG1sYCAoYWNpbWFcbiAgLy8gZG8gYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYCkgZSDDqSByZWZlcmVuY2lhZG8gdmlhIEBWaWV3Q2hpbGQgY29tXG4gIC8vIHN0YXRpYzp0cnVlIHBlbG8gQWRtaW5TZXJ2aWNlIOKAlCBuw6NvIGTDoSBwcmEgKm5nSWYnYXIuIEVtIG1vZG8gRnVsbFxuICAvLyBvY3VsdGFtb3MgdmlhIENTUzsgaW5zdMOibmNpYSBzZWd1ZSB2aXZhIHByYSBuw6NvIHF1ZWJyYXIgcmVmcy5cbiAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTZW0gY2hyb21lIGFkbWluLCBvIEJPRFkgw6kgbyBmdW5kbyBmdWxsLWJsZWVkIGRhIHDDoWdpbmEuIFNlbSBpc3RvIGVsZSBmaWNhXG4gIC8vIEJSQU5DTyBlLCBjb21vIG8gYC52aWV3LW1vZGUtZnVsbC1zaGVsbGAgdGVtIHBhZGRpbmcgbGF0ZXJhbCwgc29icmF2YW0gZHVhc1xuICAvLyBcImJhcnJhcyBicmFuY2FzXCIgbmFzIGxhdGVyYWlzIChib2R5IGJyYW5jbyBmb3JhIGRvIGNpbnphIGRvIHBhcGVyLWluZm8pLlxuICAvLyBQaW50YSBjb20gbyBNRVNNTyBjaW56YSBkYSBww6FnaW5hIGRvIHBhcGVyLWluZm8gKCRncmF5LTE1MCkg4oaSIGZ1bGwtYmxlZWRcbiAgLy8gY2luemEgY29udMOtbnVvIGNvbSBhIGZvbGhhIGJyYW5jYSBjZW50cmFkYS4gRGFyayBlc3BlbGhhIG8gcHJldG8uXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcblxuICAmLmRhcmstdGhlbWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIFNoZWxsIGRvIG1vZG8gRnVsbCAocmVuZGVyaXphZG8gZGVudHJvIGRlIGBhZG1pbi1ldmVudC1zaWRlYmFyLmh0bWxgXG4vLyBxdWFuZG8gYHZpZXdNb2RlLmlzRnVsbGApOiBwcm92w6ogQVBFTkFTIG8gcGFkZGluZyBsYXRlcmFsIHF1ZSBhIHDDoWdpbmFcbi8vIHJlY2ViZXJpYSBuYXR1cmFsbWVudGUgdmlhIGAubWF0LXNpZGVuYXYtY29udGVudGAgbm8gY2hyb21lIGFkbWluLlxuLy8gU2VtIHBhZGRpbmcgdG9wL2JvdHRvbSDigJQgdmVydGljYWwgZWRnZS10by1lZGdlLlxuLnZpZXctbW9kZS1mdWxsLXNoZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDtcbiAgcGFkZGluZy1yaWdodDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgY2hlY2tib3gg4oCUIHNxdWFyZSBtZW1iZXIgb2YgdGhlIGJpbmFyeS1jb250cm9sIGZhbWlseS5cbi8vIE91dGxpbmVkLW9mZiAvIGZpbGxlZC1vbiBjb20gbWVzbWEgRE5BIGRvIHNsaWRlLXRvZ2dsZSAocGlsbCkgZSByYWRpbyAoY8OtcmN1bG8pOlxuLy9cbi8vICAgLSBGcmFtZTogICAgICAgICAxNnB4IHNxdWFyZSwgNHB4IHJhZGl1cywgMS41cHggYm9yZGVyICh0aGVtZS1hd2FyZSlcbi8vICAgLSBPZmYgYmc6ICAgICAgICB3YXJtIGJlaWdlIHRpbnQgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIE9uIGJnOiAgICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gQ2hlY2ttYXJrOiAgICAgU1ZHIHN0cm9rZSBvZmYtd2hpdGUgY3Jvc3MtdGhlbWUgKHBvcCBlbSBhbWJvcyBvcyB0ZW1hc1xuLy8gICAgICAgICAgICAgICAgICAgIOKAlCB2aXPDrXZlbCB0YW50byBubyBmaWxsIGAjNGE0NjNmYCBlbSBsaWdodCBxdWFudG8gbm9cbi8vICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCBjb250cmEgY2FudmFzIGRhcmspXG4vL1xuLy8gQ29yZXMgdGhlbWUtYXdhcmUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyaWEgKyB0cmFuc2nDp8O1ZXMgYXF1aS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZSBmZWVkYmFjay5cbi5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBLaWxsIHRoZSBjaGVja21hcmsgZHJhdyBhbmltYXRpb24g4oCUIHN0YXlzIHNuYXAgKE5vdGlvbi9MaW5lYXItc3R5bGUpLlxuLy8gU3RhdGUgdHJhbnNpdGlvbnMgKGJnL2JvcmRlcikgRE8gYW5pbWF0ZSB2aWEgdGhlIHJ1bGVzIGJlbG93LlxuLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2hlY2tib3gge1xuICAvLyBNYXRlcmlhbCBkZWZhdWx0IHRlbSBgLm1hdC1jaGVja2JveC1sYXlvdXQgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfWAg4oCUXG4gIC8vIGEgYm94ICgxNnB4KSBhbGluaGEgcGVsbyBiYXNlbGluZSBkbyB0ZXh0byBlIGVzdGVuZGUgfjNweCBhY2ltYSBkbyB0b3AgZGFcbiAgLy8gdGV4dC1saW5lLCBzb21hbmRvIDJweCBkZSBhbHR1cmEgcG9yIHJvdyB2cyBvIGBhbGlnbi1pdGVtczogY2VudGVyYCBkb1xuICAvLyByYWRpbyBlIGRvIHRvZ2dsZS4gT3ZlcnJpZGUgcGFyYSBjZW50ZXIgYWxpbmhhIGEgZmFtw61saWEgdmlzdWFsbWVudGUuXG4gIC8vIFNwZWNpZmljaXR5IDAsMiwwICh2cyBNYXRlcmlhbCAwLDEsMCkg4oCUIHNlbSBgIWltcG9ydGFudGAuXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gMTZweCBib3ggKHNlY29uZGFyeSBpY29uIHNjYWxlLCBtZXNtYSBmYW3DrWxpYSkuIDhweCBnYXAgYmVmb3JlIGxhYmVsLlxuICAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5cbiAgLy8gNHB4IHJhZGl1cyBvbiBib3RoIGZyYW1lICh1bmNoZWNrZWQpIGFuZCBiYWNrZ3JvdW5kIChjaGVja2VkIGZpbGwpLlxuICAvLyBTbGlnaHQgcm91bmRpbmcgZ2l2ZXMgYSBOb3Rpb24vTGluZWFyIGZlZWwgd2l0aG91dCBnb2luZyBjaXJjdWxhci5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIFNocmluayB0aGUgY2hlY2ttYXJrIGdseXBoIHBhcmEgcmVmaW5lbWVudCBzZW0gcGVyZGVyIHByZXNlbsOnYS4gTWF0ZXJpYWxcbiAgLy8gZGVmYXVsdCByZW5kaWEgfjEwcHggKDYyJSBkbyBib3gpOyAwLjggcmVkdXogcGFyYSB+OHB4ID0gbWFpcyBsZXZlIHF1ZSBvXG4gIC8vIGRlZmF1bHQsIG1hcyBtYW50w6ltIHBlc28gZGUgbGVpdHVyYSBpbWVkaWF0YS5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW9zIG91dHJvcyBjb250cm9sZXMuIENvbG9yIHRoZW1lLWF3YXJlLlxuLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIG9wYWNpdHkgKyBjdXJzb3IgKHBhcmFsZWxvIGFvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKS5cbi5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGltcG9ydCAnLi4vY29sb3JzJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWNoZWNrYm94IOKAlCBjaGVja2JveCBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEFsdGVybmF0aXZhIGxpZ2h0LXdlaWdodCBhbyA8bWF0LWNoZWNrYm94PiBwYXJhIHRlbGFzIGNvbSBtdWl0YXMgaW5zdMOibmNpYXNcbi8vIChtYXRyaXplcywgY2hlY2tsaXN0cywgbGlzdGFzIGxvbmdhcykuIFNlbSByaXBwbGUsIHNlbSBpbnN0YW5jaWFtZW50byBkb1xuLy8gTWF0ZXJpYWwg4oCUIHPDsyBIVE1MIG5hdGl2byArIENTUy4gU3Vwb3J0YSBvcyAzIGVzdGFkb3MgKG9mZiAvIG9uIC8gaW5kZXRlci1cbi8vIG1pbmF0ZSkuIFByb21vdmlkbyBwYXJhIGdsb2JhbCBwcmEgc2VyIHJldXRpbGl6w6F2ZWwgZW0gcXVhbHF1ZXIgcMOhZ2luYS5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1jaGVja2JveFwiIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbi8vXG4vLyBJbmRldGVybWluYXRlIMOpIHNldGFkbyB2aWEgSlMgKEFuZ3VsYXIgQFZpZXdDaGlsZCAvIHNldHRlciksIGlndWFsIGFvXG4vLyBtYXQtY2hlY2tib3guIEV4ZW1wbG86IGBjaGVja2JveFJlZi5pbmRldGVybWluYXRlID0gaXNQYXJ0aWFsbHlDaGVja2VkO2Bcbi8vXG4vLyBUZW1hOiBsaWdodCA9IGZpbGwgYWNjZW50IChvcmFuZ2UtOTAwKSArIGNoZWNrIG9mZi13aGl0ZS4gRGFyayA9IGZpbGxcbi8vIGdyYXktMzAwICsgY2hlY2sgbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gY2hlY2sgZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1yYWRpbyDigJQgcmFkaW8tYnV0dG9uIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQWx0ZXJuYXRpdmEgbGlnaHQtd2VpZ2h0IGFvIDxtYXQtcmFkaW8tYnV0dG9uPiDigJQgc2VtIHJpcHBsZSwgc2VtIE1hdGVyaWFsLlxuLy8gTWVzbWEgbGluZ3VhZ2VtIHZpc3VhbCBkbyAuamVtczMtbmF0aXZlLWNoZWNrYm94IChzw7MgSFRNTCArIENTUyksIHBhcmFcbi8vIGFtYmllbnRlcyBhdXRvci9yZXZpc29yIG9uZGUgbyByZXN0YW50ZSBkb3MgY29udHJvbGVzIMOpIG5hdGl2byBKRU1TMy5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1yYWRpb1wiIG5hbWU9XCJncnVwb1wiXG4vLyAgICAgICAgICBbY2hlY2tlZF09XCIuLi5cIiAoY2hhbmdlKT1cIi4uLlwiPlxuLy9cbi8vIE11dHVhbC1leGNsdXPDo28gdmVtIGRvIGF0cmlidXRvIGBuYW1lYCBkbyBwcsOzcHJpbyBicm93c2VyIOKAlCBvIG1lc21vIGBuYW1lYFxuLy8gZW0gbcO6bHRpcGxvcyByw6FkaW9zIGFncnVwYSBhIHNlbGXDp8Ojby4gTsOjbyBwcmVjaXNhIGRlIDxtYXQtcmFkaW8tZ3JvdXA+LlxuLy9cbi8vIFRlbWE6IGxpZ2h0ID0gZmlsbCBhY2NlbnQgKG9yYW5nZS05MDApIGNvbSBtaW9sbyBvZmYtd2hpdGUuIERhcmsgPSBmaWxsXG4vLyBncmF5LTMwMCBjb20gbWlvbG8gbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy8gTWlvbG8gZGVzZW5oYWRvIHZpYSBgYmFja2dyb3VuZC1pbWFnZWAgU1ZHIChjw61yY3VsbyBpbnRlcm5vKS4gQXNzaW1cbiAgLy8gbsOjbyBwcmVjaXNhIGRlIHBzZXVkby1lbGVtZW50byDigJQgZnVuY2lvbmEgZW0gPGlucHV0PiBuYXRpdm8sIHF1ZSBuw6NvXG4gIC8vIGFjZWl0YSBgOjpiZWZvcmVgL2A6OmFmdGVyYC5cbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyM2Y5ZjhmNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gbWlvbG8gZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyMzIwMjAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIHNsaWRlLXRvZ2dsZSDigJQgY29tcGFjdCwgbW9ub2Nocm9tYXRpYywgb3V0bGluZWQtb2ZmIChcIlBsYW4gQlwiKS5cbi8vIERlZmF1bHQgTWF0ZXJpYWwgdjExIGlzIDM2w5cxNCB0cmFjayArIDIwcHggZWxldmF0ZWQgdGh1bWIgaW4gcHJpbWFyeS9hY2NlbnRcbi8vIGNvbG9yIChsb29rcyBkYXRlZCBhbmQgd2FzaGVkLW91dCBpbiB0aGUgb2ZmIHN0YXRlKS4gT3VyIHJlY2lwZTpcbi8vXG4vLyAgIC0gVHJhY2s6ICAgICAgIDI0w5cxNCBwaWxsIChyYWRpdXMgNykuIDE0JSBzbWFsbGVyIHRoYW4gZmlyc3QgY29tcGFjdCBwYXNzLlxuLy8gICAtIFRodW1iOiAgICAgICAxMMOXMTAgZmxhdCBjaXJjbGUsIDJweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIHRoZSB0cmFja1xuLy8gICAgICAgICAgICAgICAgICAoc28gdGhlIHRodW1iIGlzIGZ1bGx5IGNvbnRhaW5lZCkuIFRyYW5zbGF0ZXMgMTBweCBvbiBjaGVjay5cbi8vICAgLSBPZmYgdHJhY2s6ICAgdHJhbnNwYXJlbnQgYmcgKyAxLjVweCBpbnNldCBib3JkZXIgKHZpYSBib3gtc2hhZG93IGluc2V0KVxuLy8gICAgICAgICAgICAgICAgICBpbiAkY2hyb21lLWJvcmRlci1saWdodC8tZGFyayDigJQgb3V0bGluZWQsIE5PVCBmaWxsZWQgZ3JheVxuLy8gICAgICAgICAgICAgICAgICAoZmlsbGVkIGdyYXkgbWFkZSB0aGUgY29udHJvbCByZWFkIGFzIFwiZGlzYWJsZWRcIikuXG4vLyAgIC0gT24gdHJhY2s6ICAgIHNvbGlkICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS8tYWN0aXZlLWRhcmtcbi8vICAgICAgICAgICAgICAgICAgKHNhbWUgYWN0aXZlIHRva2VuIHVzZWQgYnkgY2hlY2tib3ggY2hlY2tlZCBmaWxsKS5cbi8vICAgLSBPZmYgdGh1bWI6ICAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgKHRoZSBtdXRlZCB0ZXh0IHRva2VuIOKAlFxuLy8gICAgICAgICAgICAgICAgICBkYXJrIGdyYXkgb24gdGhlIG91dGxpbmVkIHRyYWNrLCBjbGVhcmx5IHByZXNlbnQpLlxuLy8gICAtIE9uIHRodW1iOiAgICAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kIChjaHJvbWUgYmcgdG9uZSDigJQgb2ZmLXdoaXRlIG9uXG4vLyAgICAgICAgICAgICAgICAgIHRoZSBzb2xpZCBkYXJrIGFjdGl2ZSB0cmFjaywgY2xlYXJseSBwcmVzZW50KS5cbi8vXG4vLyBTZW1hbnRpY2FsbHkgc3ltbWV0cmljIHdpdGggdGhlIGNoZWNrYm94OiBvZmYgPSBvdXRsaW5lZCwgb24gPSBmaWxsZWQuXG4vLyBDb2xvcnMgYXJlIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJ5IGxpdmVzIGhlcmUuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUgZmVlZGJhY2suXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZSB7XG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgZm9yw6dhIGAubWF0LXNsaWRlLXRvZ2dsZSB7IGhlaWdodDogMjRweDsgbGluZS1oZWlnaHQ6IDI0cHggfWBcbiAgLy8gbm8gaG9zdCAoPXdyYXBwZXIpIHZpYSBpbmxpbmUgc3R5bGVzIGRvIGNvbXBvbmVudGUgKFZpZXdFbmNhcHN1bGF0aW9uKS5cbiAgLy8gRXNzZXMgc3R5bGVzIGVudHJhbSBubyBkb2N1bWVudCBvcmRlciBERVBPSVMgZG9zIG5vc3NvcyBnbG9iYWlzIOKAlCBlbnTDo29cbiAgLy8gc2VtIGAhaW1wb3J0YW50YCBNYXRlcmlhbCB2ZW5jZSBwb3Igc291cmNlIG9yZGVyIChtZXNtYSBlc3BlY2lmaWNpZGFkZSkuXG4gIC8vIE92ZXJyaWRlOiBhdXRvLWhlaWdodCBjb2xhcHNhIG8gd3JhcHBlciBwYXJhIGEgYWx0dXJhIG5hdHVyYWwgZG8gY29udGXDumRvLlxuICAvL1xuICAvLyBsaW5lLWhlaWdodCBGSVhPICgxLjMsIGJvZHkgcmVjaXBlKSDigJQgTsODTyBgaW5oZXJpdGAuIENvbSBgaW5oZXJpdGAgbyBob3N0IHBlZ2F2YVxuICAvLyBvIGxpbmUtaGVpZ2h0IGRvIENPTlRBSU5FUiwgcXVlIHZhcmlhIHBvciB0ZWxhIChleC46IGAuc21hbGwtcGlja2VyIHsgbGluZS1oZWlnaHQ6XG4gIC8vIDEgIWltcG9ydGFudCB9YCwgYC5zY29wZS10b2dnbGUtcm93IHsgZm9udC1zaXplOiAuODc1cmVtIH1gKSwgZmF6ZW5kbyBvIE1FU01PIHRvZ2dsZVxuICAvLyByZW5kZXJpemFyIGNvbSBjYWl4YXMvYWxpbmhhbWVudG9zIGRpZmVyZW50ZXMgKFwidmVyc8O1ZXMgZGlmZXJlbnRlc1wiKS4gRml4byBhcXVpIOKGklxuICAvLyBpZMOqbnRpY28gZW0gdG9kbyBvIHNpc3RlbWEgKExpc3RhIGRlIHN1Ym1pc3PDtWVzLCBhdXRvci9yZXZpc29yLCBhZG1pbi9jaGFpcikuXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG5cbiAgLy8gR2VvbWV0cmlhICh0cmFjayArIHRodW1iKSA9IGJsb2NvIFwiTTMgc3dpdGNoIOKAlCBQQURSw4NPIERPIFNJU1RFTUFcIiBhYmFpeG8gKDMyw5cxOCxcbiAgLy8gYSBnZW9tZXRyaWEgZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMpLiBPIGNoYWlyIGNvbXBhY3RvIDI0w5cxNCBmb2kgQVBPU0VOVEFETyDigJQgZm9udGVcbiAgLy8gw5pOSUNBIGRlIGdlb21ldHJpYSBhZ29yYSDDqSBvIE0zLiBBcXVpIGZpY2Egc8OzIG8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZG8gdGh1bWIsIGJhc2VcbiAgLy8gcC8gbyA6OmFmdGVyIChnbHlwaCDinJMpIHNlIHBvc2ljaW9uYXIgZGVudHJvIGRvIHRodW1iLlxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGluc2lkZSB0aGUgdGh1bWIgd2hlbiBPTi4gU1ZHIG1hc2sgZm9yIGNyaXNwIHJlbmRlcmluZyBhdFxuLy8gdGhlIHNtYWxsIDEwcHggdGh1bWIgc2l6ZSDigJQgYG1hc2stc2l6ZTogNjAlYCBsZWF2ZXMgfjJweCBvZiBicmVhdGhpbmcgcm9vbVxuLy8gYXJvdW5kIHRoZSBjaGVjay4gQ29sb3IgaXMgdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy4gT2ZmIHN0YXRlXG4vLyBoYXMgbm8gZ2x5cGgg4oCUIG9ubHkgdGhlIG9uIHN0YXRlIGNhcnJpZXMgdGhlIGN1ZS5cbi5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTEuNSA0IEwzLjUgNiBMNi41IDInIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgNCBMMy41IDYgTDYuNSAyJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAtd2Via2l0LW1hc2stc2l6ZTogNjAlO1xuICAgICAgICAgIG1hc2stc2l6ZTogNjAlO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vLyBUcmFuc2nDp8OjbyBkYSBwb3Npw6fDo28gZG8gdGh1bWIgT04gw6kgZGVmaW5pZGEgbm8gYmxvY28gTTMgKGdyb3cgKyBzbGlkZSAxNHB4KS5cblxuLy8gVHJhbnNpdGlvbjogc21vb3RoIHRodW1iIHNsaWRlICsgYmcvdGh1bWIgY29sb3IgZmFkZS4gMTUwbXMgd2l0aCAkZWFzZS1vdXRcbi8vIChjaGFpciBVSSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlKS4gQm9yZGVyIChpbnNldCBzaGFkb3cpIGRvZXNuJ3QgY2hhbmdlXG4vLyBiZXR3ZWVuIG9mZi9vbiwgc28gbm8gdHJhbnNpdGlvbiBuZWVkZWQgb24gaXQuXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbn1cblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZCBhMTF5KSDigJQgb3V0bGluZSBhcm91bmQgdGhlIHRyYWNrIHdoZW4gZm9jdXNlZCB2aWFcbi8vIGtleWJvYXJkLiBNYXRlcmlhbCdzIENESyBGb2N1c01vbml0b3IgYXBwbGllcyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCBvbmx5IG9uXG4vLyBrZXlib2FyZCBmb2N1cyAobW91c2UgZm9jdXMgZ2V0cyBgLmNkay1tb3VzZS1mb2N1c2VkYCwgbm8gb3V0bGluZSkuIENvbG9yIGlzXG4vLyB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuLm1hdC1zbGlkZS10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGUg4oCUIHNpbmdsZSBvcGFjaXR5IGRyb3Agb24gdGhlIGhvc3QgZWxlbWVudCAodW5pZm9ybSBtdXRlIG9mXG4vLyBwaWxsICsgdGh1bWIgKyBjaGVjayArIGxhYmVsKSArIGN1cnNvciBjdWUuIE1hdGVyaWFsIGFkZHMgYC5tYXQtZGlzYWJsZWRgXG4vLyBjbGFzcyB3aGVuIHRoZSBpbnB1dCBpcyBgW2Rpc2FibGVkXT1cInRydWVcImAuXG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTTMgc3dpdGNoIOKAlCBHRU9NRVRSSUEgR0xPQkFMIMOaTklDQSAocGFkcsOjbyBkbyBzaXN0ZW1hKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXByb2R1eiB2aXN1YWxtZW50ZSBvIE1hdGVyaWFsIERlc2lnbiAzIHN3aXRjaCBzb2JyZSBvIGNvbXBvbmVudGUgTWF0ZXJpYWwgMTEuXG4vLyDDiSBhIMOaTklDQSBnZW9tZXRyaWEgZGUgdG9kbyBgbWF0LXNsaWRlLXRvZ2dsZWAgZG8gSkVNUzMg4oCUIGEgbWVzbWEgZG8gdG9nZ2xlIGRhXG4vLyBcIkxpc3RhIGRlIHN1Ym1pc3PDtWVzXCIgKHF1ZSBhcGVuYXMgaGVyZGEgZXN0ZSBnbG9iYWwsIHNlbSBnZW9tZXRyaWEgcHLDs3ByaWEpLiBBbnRlc1xuLy8gZXNjb3BhZGEgYW8gYXV0b3IvcmV2aXNvciAoYC5tYWluLWhlYWRlciAub3B0aW9uc2AsIGAuc21hbGwtcGlja2VyYCxcbi8vIGAuc2NvcGUtdG9nZ2xlLXJvd2ApIGUgbyBjaGFpciBjb21wYWN0byAyNMOXMTQgZXJhIG8gZGVmYXVsdDsgYWdvcmEgbyBjaGFpciBmb2lcbi8vIGFwb3NlbnRhZG8gZSBlc3RhIMOpIGEgZm9udGUgdW5pdmVyc2FsLiBPIGJsb2NvIGAubWF0LXNsaWRlLXRvZ2dsZWAgYWNpbWEgY3VpZGEgc8OzXG4vLyBkbyBuw6NvLWdlb23DqXRyaWNvIChlc3RhZG8gT0ZGL2NvciwgaG9zdCBoZWlnaHQsIGtpbGwtcmlwcGxlLCBwb3NpdGlvbiBkbyB0aHVtYikuXG4vLyBNZXhlciBhcXVpIHJlZmxldGUgZW0gVE9ETyBvIHNpc3RlbWEsIGluY2x1c2l2ZSBuYSBMaXN0YSBkZSBzdWJtaXNzw7Vlcy5cbi8vXG4vLyAgIE0zIHNwZWNzIChjb21wYWN0bywgbWFudMOpbSByYXRpbyB0aHVtYi90cmFjayB+MC43NSBkbyBNMyBzdGFuZGFyZCk6XG4vLyAgIC0gVHJhY2s6ICAgIDMyw5cxOCBwaWxsLCByYWRpdXMgOVxuLy8gICAtIFRodW1iOiAgICAxMMOXMTAgb2ZmIChjZW50ZXJlZCwgNHB4IHBhZGRpbmcpIOKGkiAxNMOXMTQgb24gKGNyZXNjZSArIHNsaWRlKVxuLy8gICAtIE91dGxpbmU6ICAxLjVweCBib3JkZXIgbmEgdHJhY2sgT0ZGOyBzZW0gb3V0bGluZSBPTiAoTTMgcHVybylcbi8vICAgLSBDb3Igb246ICAgJGFjY2VudC1iYWNrZ3JvdW5kIChhenVsIEpFTVMzKSDigJQgZGVmaW5pZGEgZW0gX2NvbG9yLXNjaGVtZS5zY3NzXG4vLyAgIC0gU2hhZG93OiAgIHRodW1iIHRlbSBlbGV2YcOnw6NvIHN1dGlsXG4vLyAgIC0gSG92ZXI6ICAgIHNlbSBkZXN0YXF1ZSAoYSB0cmFjayBPTiBqw6EgdGVtIGNvciBzYXR1cmFkYSBvIHN1ZmljaWVudGUpXG4vLyAgIC0gUGFkZGluZyBPTjogMnB4IGRlIGNhZGEgbGFkbyAodGh1bWIgbsOjbyB0b2NhIGJvcmRhIGRhIHRyYWNrKVxuLm1hdC1zbGlkZS10b2dnbGUge1xuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIH1cblxuICAvLyBPZmYgdGh1bWI6IDEww5cxMCwgY2VudGVyZWQgKDRweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIDE4cHggYmFyKS5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCB0b3AgMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGxlZnQgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCBib3gtc2hhZG93IDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIENoZWNrZWQ6IHRodW1iIGNyZXNjZSBwYXJhIDE0w5cxNCAoTTMgZ3JvdykuIFBvc2nDp8OjbyBmaW5hbDogdGh1bWIgcmlnaHRcbiAgLy8gZWRnZSBhIDJweCBkYSBib3JkYSBkaXJlaXRhIGRhIHRyYWNrIOKGkiB0aHVtYiBsZWZ0ID0gMzIgLSAxNCAtIDIgPSAxNnB4LlxuICAvLyBDb250YWluZXIgT04gdGVtIGxlZnQ6MiwgZW50w6NvIHRyYW5zZm9ybSA9IDE2IC0gMiA9IDE0cHguXG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNHB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG5cbiAgLy8gTTMgT04gdGh1bWI6IGNoZWNrIGdseXBoICh2aWEgOjphZnRlciBkbyBjaGFpciByZWNpcGUpIGVtIDU1JSBkbyB0aHVtYlxuICAvLyAxNMOXMTQgPSB+OHB4LiBDb3IgZG8gZ2x5cGggw6kgYXp1bCBKRU1TMyAob3ZlcnJpZGUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtbWFzay1zaXplOiA1NSU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDU1JTtcbiAgfVxuXG4gIC8vIE0zIE9OIHRyYWNrOiBzZW0gb3V0bGluZSAoYSBjb3IgcHJlZW5jaGlkYSDDqSBvIHNpbmFsKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEhvdmVyOiBiZyBkYSBiYXIgbsOjbyBtdWRhLCBlIGEgY29yIGRhIG91dGxpbmUgKE9GRiBzdGF0ZSkgdGFtYsOpbSBuw6NvIG11ZGFcbiAgLy8g4oCUIG92ZXJyaWRlcyBlbSBfY29sb3Itc2NoZW1lLnNjc3MgZ2FyYW50ZW0gcXVlIGhvdmVyID09PSByZXN0aW5nIHN0YXRlLlxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgcmFkaW8gYnV0dG9uIOKAlCBhcHBsaWVzIHRoZSBzbGlkZS10b2dnbGUncyBcImJpbmFyeSBjb250cm9sXCJcbi8vIHZpc3VhbCBsYW5ndWFnZSB0byBhIGNpcmN1bGFyIHNoYXBlLiBUb2dldGhlciB3aXRoIHRoZSBjaGVja2JveCAoc3F1YXJlKVxuLy8gYW5kIHNsaWRlLXRvZ2dsZSAocGlsbCksIHRoZSByYWRpbyAoY2lyY2xlKSBjb21wbGV0ZXMgdGhlIGZhbWlseSDigJQgYWxsXG4vLyB0aHJlZSBzaGFyZTogb3V0bGluZWQtb2ZmIC8gZmlsbGVkLW9uLCBtZXNtb3MgY29sb3IgdG9rZW5zLCBtZXNtYXMgaW52ZXJzw7Vlc1xuLy8gZGUgaG92ZXIsIGZvY3VzIGJyYW5kLXNhdHVyYWRvLlxuLy9cbi8vICAgLSBPdXRlciByaW5nOiAgMTZweCBjaXJjbGUsIDEuNXB4IGJvcmRlciAodGhlbWUtYXdhcmUpXG4vLyAgIC0gT2ZmIGJnOiAgICAgIHdhcm0gYmVpZ2UgdGludCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gT24gYmc6ICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gSW5uZXIgZG90OiAgIH42cHggKHNjYWxlIDAuMzc1IGRvIG91dGVyIDE2cHgpIG9mZi13aGl0ZSBjcm9zcy10aGVtZSxcbi8vICAgICAgICAgICAgICAgICAgdmlzw612ZWwgc8OzIG5vIGNoZWNrZWQg4oCUIGZheiBvIHBhcGVsIHZpc3VhbCBkbyBcInRodW1iXCIgZG9cbi8vICAgICAgICAgICAgICAgICAgc2xpZGUtdG9nZ2xlIChjdWUgZGUgcG9zacOnw6NvL3NlbGXDp8Ojbylcbi8vXG4vLyBDb3JlcyB0aGVtZS1hd2FyZSBlbSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJpYSArIHRyYW5zacOnw7VlcyBhcXVpLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlLlxuLm1hdC1yYWRpby1idXR0b24gLm1hdC1yYWRpby1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXJhZGlvLWJ1dHRvbiB7XG4gIC8vIENvbnRhaW5lciDigJQgMTZweCBib3ggcXVlIGFicmlnYSBvdXRlciArIGlubmVyLlxuICAubWF0LXJhZGlvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLy8gT3V0ZXIgY2lyY2xlICh0aGUgcmluZykg4oCUIDE2cHgsIGJvcmRlciAxLjVweCAodW5pZm9ybWUgbm9zIGRvaXMgdGVtYXMpLlxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogMS41cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBJbm5lciBjaXJjbGUgKHRoZSBkb3QpIOKAlCBzZW1wcmUgMTZweCBkZSDDoXJlYTsgc2NhbGUgZmF6IGFwYXJlY2VyL3N1bWlyLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0ID0gc2NhbGUoMCkgdW5jaGVja2VkIOKGkiBzY2FsZSgwLjUpIGNoZWNrZWQgKD0gOHB4IGRvdCkuXG4gIC8vIE92ZXJyaWRlOiBzY2FsZSgwLjM3NSkgY2hlY2tlZCA9IDZweCBkb3QsIG1haXMgZGlzY3JldG8gZSBoYXJtw7RuaWNvIGNvbVxuICAvLyBhIGVzY2FsYSBtb25vY3LDs21hdGljYSBkbyBjb21wb25lbnRlLlxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyAkZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjM3NSk7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW8gc2xpZGUtdG9nZ2xlLlxuLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCDigJQgb3BhY2l0eSArIGN1cnNvciAocGFyYWxlbG8gYW9zIG91dHJvcyBjb250cm9sZXMpLlxuLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3InO1xuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2plbXMzci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLmplbXMzciB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogJ2plbXMzcicgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIFxuICAgICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIH1cbiAgICAmLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICB9XG4gICAgJi5mYS1jbG9jazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICB9XG4gICAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIH1cbiAgICAmLmZhLWV5ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICB9XG4gICAgJi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gICAgfVxuICAgICYuZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgfVxuICAgICYuZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIH1cbiAgICAmLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgICB9XG4gICAgJi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICB9XG4gICAgJi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgfVxuICAgICYuZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgfVxuICAgICYuZmEtYmVsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gIH1cbiAgIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3MnO1xuICAgIC8vIE9ubHkgV09GRiDigJQgYWxsIGNoYWlyLVVJIHRhcmdldCBicm93c2VycyBzdXBwb3J0IGl0IChDaHJvbWUsXG4gICAgLy8gRmlyZWZveCwgU2FmYXJpLCBFZGdlKS4gVGhlIGxlZ2FjeSBgLmVvdGAgKElFOC0pIGFuZCBgLnR0ZmBcbiAgICAvLyAoZmFsbGJhY2spIHdlcmUgZHJvcHBlZCBhbG9uZyB3aXRoIHRoZSBvcnBoYW4gYC5zdmdgIGZvbnQgZmlsZS5cbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9qZW1zM3Mud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG4gIFxuLmplbXMzc3tcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdqZW1zM3MnICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgJi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICB9XG4gICYuZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICB9XG4gICYuZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gIH1cbiAgJi5mYS1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgfVxuICAmLmZhLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICB9XG4gICYuZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICB9XG4gICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgfVxuICAmLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgfVxuICAmLmZhLWNhbWVyYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIH1cbiAgJi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICB9XG4gICYuZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgfVxuICAmLmZhLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgfVxuICAmLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gIH1cbiAgJi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGZcIjtcbiAgfVxuICAmLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG4gIH1cbiAgJi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICB9XG4gICYuZmEtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICB9XG4gICYuZmEtY29nczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIH1cbiAgJi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICB9XG4gICYuZmEtY29tbWVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIH1cbiAgJi5mYS1jb21tZW50czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gIH1cbiAgJi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gIH1cbiAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbiAgfVxuICAmLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG4gIH1cbiAgJi5mYS1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xuICB9XG4gICYuZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjFcIjtcbiAgfVxuICAmLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbiAgfVxuICAmLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG4gIH1cbiAgJi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICB9XG4gICYuZmEtZ2xvYmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xuICB9XG4gICYuZmEtaGlzdG9yeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG4gIH1cbiAgJi5mYS1ob21lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjdcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG4gIH1cbiAgJi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG4gIH1cbiAgJi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xuICB9XG4gICYuZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xuICB9XG4gICYuZmEtaW5mbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG4gIH1cbiAgJi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xuICB9XG4gICYuZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xuICB9XG4gICYuZmEtbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG4gIH1cbiAgJi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG4gIH1cbiAgJi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMlwiO1xuICB9XG4gICYuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzM1wiO1xuICB9XG4gICYuZmEtcGVuY2lsLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG4gIH1cbiAgJi5mYS1wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNVwiO1xuICB9XG4gICYuZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xuICB9XG4gICYuZmEtcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG4gIH1cbiAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG4gIH1cbiAgJi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOVwiO1xuICB9XG4gICYuZmEtc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2FcIjtcbiAgfVxuICAmLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG4gIH1cbiAgJi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzY1wiO1xuICB9XG4gICYuZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2RcIjtcbiAgfVxuICAmLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2VcIjtcbiAgfVxuICAmLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2ZcIjtcbiAgfVxuICAmLmZhLXRhZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MlwiO1xuICB9XG4gICYuZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDNcIjtcbiAgfVxuICAmLmZhLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcbiAgfVxuICAmLmZhLXRyYXNoLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG4gIH1cbiAgJi5mYS10cmFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ2XCI7XG4gIH1cbiAgJi5mYS11bmRvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDdcIjtcbiAgfVxuICAmLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xuICB9XG4gICYuZmEtdXBsb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDlcIjtcbiAgfVxuICAmLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGFcIjtcbiAgfVxuICAmLmZhLXVzZXItY29nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGJcIjtcbiAgfVxuICAmLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG4gIH1cbiAgJi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRkXCI7XG4gIH1cbiAgJi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZVwiO1xuICB9XG4gICYuZmEtc3RhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG4gIH1cbiAgJi5mYS11c2VyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUxXCI7XG4gIH1cbiAgJi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MlwiO1xuICB9XG4gICYuZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1M1wiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xuICB9XG4gICYuZmEtaGVhZHNldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG4gIH1cbiAgJi5mYS1jaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTZcIjtcbiAgfVxuICAmLmZhLWZpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1N1wiO1xuICB9XG4gICYuZmEtZmlsZS1hcmNoaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NThcIjtcbiAgfVxuICAmLmZhLWJlbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU5NWFcIlxuICB9XG4gICYuZmEtc3RpY2t5LW5vdGU6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlOTViXCJcbiAgfVxuICAmLmZhLWxhcHRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG4gIH1cbiAgJi5mYS1tb29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWRcIjtcbiAgfVxuICAmLmZhLXN1bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG4gIH1cbn1cblxuIiwiLy8gTWF0ZXJpYWwgRGVzaWduIDMgdHlwb2dyYXBoeSDigJQgc2NvcGVkIHRvIC50cGMtbWQzIChUUEMgY2hhaXIgYXJlYSBvbmx5KS5cbi8vIFJlZmVyZW5jZTogaHR0cHM6Ly9tMy5tYXRlcmlhbC5pby9zdHlsZXMvdHlwb2dyYXBoeS90eXBlLXNjYWxlLXRva2Vuc1xuXG4kbWQzLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBBbGwgMTUgTUQzIHR5cGUtc2NhbGUgdG9rZW5zOiBzaXplIC8gbGluZS1oZWlnaHQgLyB3ZWlnaHQgLyBsZXR0ZXItc3BhY2luZy5cbiRtZDMtdHlwZS1zY2FsZTogKFxuICBkaXNwbGF5LWxhcmdlOiAgICAoMy41NjI1cmVtLCA0cmVtLCAgICA0MDAsIC0wLjAxNTYyNXJlbSksXG4gIGRpc3BsYXktbWVkaXVtOiAgICgyLjgxMjVyZW0sIDMuMjVyZW0sIDQwMCwgMCksXG4gIGRpc3BsYXktc21hbGw6ICAgICgyLjI1cmVtLCAgIDIuNzVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLWxhcmdlOiAgICgycmVtLCAgICAgIDIuNXJlbSwgIDQwMCwgMCksXG4gIGhlYWRsaW5lLW1lZGl1bTogICgxLjc1cmVtLCAgIDIuMjVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLXNtYWxsOiAgICgxLjVyZW0sICAgIDJyZW0sICAgIDQwMCwgMCksXG4gIHRpdGxlLWxhcmdlOiAgICAgICgxLjM3NXJlbSwgIDEuNzVyZW0sIDQwMCwgMCksXG4gIHRpdGxlLW1lZGl1bTogICAgICgxcmVtLCAgICAgIDEuNXJlbSwgIDUwMCwgMC4wMDkzNzVyZW0pLFxuICB0aXRsZS1zbWFsbDogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA1MDAsIDAuMDA2MjVyZW0pLFxuICBib2R5LWxhcmdlOiAgICAgICAoMXJlbSwgICAgICAxLjVyZW0sICA0MDAsIDAuMDMxMjVyZW0pLFxuICBib2R5LW1lZGl1bTogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA0MDAsIDAuMDE1NjI1cmVtKSxcbiAgYm9keS1zbWFsbDogICAgICAgKDAuNzVyZW0sICAgMXJlbSwgICAgNDAwLCAwLjAyNXJlbSksXG4gIGxhYmVsLWxhcmdlOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDUwMCwgMC4wMDYyNXJlbSksXG4gIGxhYmVsLW1lZGl1bTogICAgICgwLjc1cmVtLCAgIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4gIGxhYmVsLXNtYWxsOiAgICAgICgwLjY4NzVyZW0sIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4pO1xuXG5AbWl4aW4gbWQzLXR5cGUoJHRva2VuKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJG1kMy10eXBlLXNjYWxlLCAkdG9rZW4pO1xuICBmb250LXNpemU6IG50aCgkdmFsdWVzLCAxKTtcbiAgbGluZS1oZWlnaHQ6IG50aCgkdmFsdWVzLCAyKTtcbiAgZm9udC13ZWlnaHQ6IG50aCgkdmFsdWVzLCAzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IG50aCgkdmFsdWVzLCA0KTtcbn1cblxuLnRwYy1tZDMge1xuICBmb250LWZhbWlseTogJG1kMy1mb250LWZhbWlseTtcbiAgLy8gdG51bSBnaXZlcyB1bmlmb3JtLXdpZHRoIGRpZ2l0cyBmb3IgdGFibGVzIG9mIElEcy9zY29yZXMvZGF0ZXMgKHN1cHBvcnRlZCBieVxuICAvLyBTRiBQcm8sIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYSBOZXVlKS4ga2Vybi9saWdhIGFyZSB1bml2ZXJzYWwuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcImNhbHRcIiwgXCJ0bnVtXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIEBpbmNsdWRlIG1kMy10eXBlKGJvZHktbWVkaXVtKTtcblxuICAvLyBVdGlsaXR5IGNsYXNzZXMgZm9yIGVhY2ggTUQzIHRva2VuIChzY29wZWQgdW5kZXIgLnRwYy1tZDMgc28gdGhleSBkb24ndCBsZWFrKS5cbiAgQGVhY2ggJHRva2VuLCAkXyBpbiAkbWQzLXR5cGUtc2NhbGUge1xuICAgIC5tZDMtI3skdG9rZW59IHtcbiAgICAgIEBpbmNsdWRlIG1kMy10eXBlKCR0b2tlbik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBDb3JlcyBkZSBGSUxMIHBvciBzdGF0dXMgZXhwb3N0YXMgY29tbyBDU1MgY3VzdG9tIHByb3BlcnRpZXMsIGEgcGFydGlyIGRvc1xuLy8gbWFwYXMtdG9rZW4gYCRzdWJtaXNzaW9uLXN0YXR1c2AgLyBgJHJldmlldy1zdGF0dXNgIChvIDHCuiB2YWxvciBkZSBjYWRhIHR1cGxhXG4vLyDDqSBvIGZpbGwpLiBPIG5neC1jaGFydHMgY29sb3JlIHZpYSBKUyAobsOjbyBDU1MpLCBlbnTDo28gYSBGT05URSBEQSBWRVJEQURFIGZpY2Fcbi8vIG5vcyB0b2tlbnMgU0NTUyBlIG8gYERhc2hib2FyZENoYXJ0Q29tcG9uZW50YCBzw7MgTMOKIG9zIHZhbG9yZXMgcmVzb2x2aWRvc1xuLy8gKGdldENvbXB1dGVkU3R5bGUpIHByYSBtb250YXIgbyBgW2N1c3RvbUNvbG9yc11gLiBBc3NpbSBzdGF0dXMgbXVkYSBkZSBjb3IgbnVtXG4vLyBsdWdhciBzw7MgKG9zIG1hcGFzKSwgc2VtIGhleCBsaXRlcmFsIGVzcGFsaGFkbyBubyBUUy5cbjpyb290IHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkc3VibWlzc2lvbi1zdGF0dXMge1xuICAgIC0tY2hhcnQtc3RhdHVzLSN7JGtleX06ICN7bnRoKCR2YWwsIDEpfTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRyZXZpZXctc3RhdHVzIHtcbiAgICAtLWNoYXJ0LXN0YXR1cy0jeyRrZXl9OiAje250aCgkdmFsLCAxKX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgYXBsaWNhZG9zIEFQRU5BUyBxdWFuZG8gbyBhcHAgZXN0w6Egcm9kYW5kbyBjb21vIFBXQSBpbnN0YWxhZGFcbi8vIChzdGFuZGFsb25lIC8gbWluaW1hbC11aSAvIGZ1bGxzY3JlZW4gLyBDaHJvbWUgLS1hcHAgLyBpT1MgQWRpY2lvbmFyXG4vLyDDoCBUZWxhIGRlIEluw61jaW8pLiBBIGNsYXNzZSBgaW5zdGFsbGVkLWFwcGAgbm8gYDxib2R5PmAgw6kgYWRpY2lvbmFkYVxuLy8gcGVsbyBgQmFzZUNvbXBvbmVudGAgY29uc3VsdGFuZG8gbyBgUGxhdGZvcm1TZXJ2aWNlYC5cbi8vXG4vLyBCb3JkYSBzdXBlcmlvciBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyBFTlRSRSBFVkVOVE9TIChldmVudC1icmVhZGNydW1iKVxuLy8gKyBtZW51IGxhdGVyYWwgZG8gbGF5b3V0IG1vZGVybm8gKGV4cGVyaW1lbnRhbC1zaWRlYmFyKTogY29tcGVuc2EgYVxuLy8gYXVzw6puY2lhIGRvIGNocm9tZSBkbyBuYXZlZ2Fkb3IgKGJhcnJhIGRlIGVuZGVyZcOnbywgYWJhcykgZGFuZG8gdW1hXG4vLyBsaW5oYSBzdXRpbCBxdWUgYW5jb3JhIHZpc3VhbG1lbnRlIG8gdG9wbyBkYSBVSS5cblxuYm9keS5pbnN0YWxsZWQtYXBwIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIGNvbSBhIGNhZGVpYSBjbGljw6F2ZWwgZGUgZXZlbnRvc1xuICAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyAgICAgIC8vIG1lbnUgbGF0ZXJhbCBkbyBsYXlvdXQgbW9kZXJubyAoY2hhaXIgVUkpXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbmJvZHkuaW5zdGFsbGVkLWFwcC5kYXJrLXRoZW1lIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsXG4gIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuIl19 */
