/* SASS VARIABLES */
/* WAS: 20201205 NALEX

@import url(https://fonts.googleapis.com/css?family=Poppins:400,300,500,600);
@import url(https://fonts.googleapis.com/css?family=Montserrat);
@import url(https://fonts.googleapis.com/css?family=Lato);

 */
@import url(https://fonts.googleapis.com/css?family=Poppins:400,300,500,600|Montserrat:300,400,500,600|Lato:300,400,500,600);
/* 20190422 NALEX STROLLER TRAFFIC */
@import url(https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600|Lato:300,400,500,700,900);
.z-depth-1, .wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active, .header-container, .header-container .dropdown-menu.with-arrow.panel {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.z-depth-1-half {
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }

.z-depth-2, .page-signin .card,
.page-signup .card,
.page-forgot .card {
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }

.z-depth-3 {
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19); }

.z-depth-4 {
  box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); }

.z-depth-5 {
  box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); }

@media print {
  .no-print {
    display: none; } }

.click-blocked {
  cursor: default; }

.md-select-menu-container.md-active {
  z-index: 9999; }

.top-margin {
  margin-top: 15px; }

.bottom-margin {
  margin-bottom: 15px; }

.oh {
  overflow: hidden; }

md-toast.md-success-theme .md-toast-content {
  background-color: #8BC34A; }

md-toast.md-error-theme .md-toast-content {
  background-color: #F44336; }

.admin-menu-label {
  color: #F44336 !important; }

.social-icons .fa-facebook {
  color: #3C599F; }

.social-icons .fa-google-plus {
  color: #CF3D2E; }

.social-icons .fa-instagram {
  color: #000000; }

.social-icons .fa-linkedin {
  color: #0085AE; }

.social-icons .fa-pinterest {
  color: #CC2127; }

.social-icons .fa-twitter {
  color: #32CCFE; }

.social-icons .fa-youtube {
  color: #C52F30; }

.well > h4 {
  margin-top: 0; }

@media (min-width: 992px) {
  .admin-dashboard > div:nth-of-type(odd) {
    clear: both; } }

@media (min-width: 1200px) {
  .admin-dashboard > div:nth-of-type(odd) {
    clear: none; }
  .admin-dashboard > div:nth-of-type(3n + 1) {
    clear: both; } }

.hint {
  color: rgba(0, 0, 0, 0.25);
  font-size: 0.75em;
  padding: 0.25em 1em; }

md-checkbox.checkbox-small {
  font-size: 0.8em;
  margin: 5px 0;
  min-height: 15px;
  min-width: 15px; }
  md-checkbox.checkbox-small .md-container {
    height: 20px;
    top: 70%;
    width: 20px; }
    md-checkbox.checkbox-small .md-container .md-icon {
      height: 15px;
      width: 15px; }
      md-checkbox.checkbox-small .md-container .md-icon:after {
        height: 10px;
        left: 5px;
        top: 1px;
        width: 6px; }
  md-checkbox.checkbox-small .md-label {
    margin-left: 20px; }

md-checkbox + .hint {
  margin-top: -1.5em; }

md-input-container > md-select {
  margin-bottom: 1rem; }

.md-inline-form td md-checkbox {
  margin: 0; }

.btn:hover, .btn:active, .btn:focus {
  color: #E11383; }

.form-row {
  margin-bottom: 2rem; }

.form-value {
  margin-bottom: 2rem;
  margin-top: -2rem; }

.headline-preview {
  margin: 0 auto;
  max-width: 500px; }

.dark-hr {
  border-color: #A7A9AC;
  padding-bottom: 2rem; }

.btn-actions {
  font-size: 2rem; }

.image-list .remove-file {
  background: white;
  color: #E11383;
  margin-bottom: -2rem;
  padding: 0.25rem 0.5rem;
  position: relative;
  z-index: 1; }
  .image-list .remove-file:hover, .image-list .remove-file:focus {
    background: #F44336;
    color: white; }

.image-list .image-list-item {
  margin-bottom: 1rem; }
  .image-list .image-list-item.col-lg-6:nth-of-type(odd) {
    clear: both; }

.image-form-header {
  margin-bottom: 1rem; }
  .image-form-header h5 {
    margin: 0; }

.custom-tags-autocomplete {
  width: auto; }

.md-virtual-repeat-container.md-autocomplete-suggestions-container {
  z-index: 9999;
  width: 450px; }

.md-autocomplete-suggestions li {
  color: #000000; }

md-dialog .town-switcher-dialog {
  padding-bottom: 0; }

.image-picker-container {
  width: 100%; }

.image-picker-wrapper h3 {
  margin-top: 0; }

.image-picker-wrapper .well.chosen {
  border: 6px solid #E11383 !important;
  box-shadow: 1px 1px 5px #E11383 !important; }

@media (min-width: 768px) {
  .existing-image-wrapper {
    min-width: 600px; }
    .existing-image-wrapper .col-md-4:nth-of-type(odd) {
      clear: both; } }

@media (min-width: 992px) {
  .existing-image-wrapper {
    min-width: 800px; }
    .existing-image-wrapper .col-sm-6:nth-of-type(odd) {
      clear: none; }
    .existing-image-wrapper .col-md-4:nth-of-type(3n+1) {
      clear: both; } }

@media (min-width: 1200px) {
  .existing-image-wrapper {
    min-width: 1000px; }
    .existing-image-wrapper .col-md-4:nth-of-type(3n+1) {
      clear: none; }
    .existing-image-wrapper .col-lg-3:nth-of-type(4n+1) {
      clear: both; } }

.ui-editor .ta-editor.ta-html,
.ui-editor .ta-scroll-window.form-control {
  max-height: 400px; }

img {
  max-width: 100%; }

.content-active {
  background: lightgreen !important; }

md-toolbar.md-default-theme.md-hue-1:not(.md-menu-toolbar), md-toolbar.md-hue-1:not(.md-menu-toolbar) {
  background-color: #aaa; }

.ui-datepicker .glyphicon,
.ui-timepicker .glyphicon {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.ui-datepicker .glyphicon.glyphicon-chevron-left:before {
  content: "\f104"; }

.ui-datepicker .glyphicon.glyphicon-chevron-right:before {
  content: "\f105"; }

.ui-timepicker .glyphicon.glyphicon-chevron-up:before {
  content: "\f106"; }

.ui-timepicker .glyphicon-chevron-down:before {
  content: "\f107"; }

.ui-datepicker table {
  margin: 0 5px; }
  .ui-datepicker table th,
  .ui-datepicker table td {
    padding: 1px; }
    .ui-datepicker table th .active span,
    .ui-datepicker table td .active span {
      color: #ffffff; }
  .ui-datepicker table:focus {
    outline: none; }

.ui-timepicker td {
  padding: 1px; }

.ui-timepicker a.btn-link {
  color: #3D4051; }

.ui-timepicker .btn:focus {
  outline: 0; }

.ui-typeahead > .dropdown-menu {
  right: 15px; }

.ui-rating:hover {
  cursor: pointer; }

.ui-rating:focus {
  outline: none; }

.ui-rating .glyphicon .fa {
  margin-right: 2px; }

.ui-rating .glyphicon-star,
.ui-rating .fa-star {
  color: #E11383; }

.ui-rating.ui-rating-success .glyphicon-star,
.ui-rating.ui-rating-success .fa-star {
  color: #8BC34A; }

.ui-rating.ui-rating-info .glyphicon-star,
.ui-rating.ui-rating-info .fa-star {
  color: #00BCD4; }

.ui-rating.ui-rating-warning .glyphicon-star,
.ui-rating.ui-rating-warning .fa-star {
  color: #FFCA28; }

.ui-rating.ui-rating-danger .glyphicon-star,
.ui-rating.ui-rating-danger .fa-star {
  color: #F44336; }

md-backdrop.md-dialog-backdrop {
  z-index: 1040; }

.md-dialog-container {
  z-index: 1041; }

md-icon.zmdi {
  font-size: 24px; }

.ui-md-radio-group-inline md-radio-button {
  display: inline-block;
  margin: 0 10px 10px; }

md-radio-group {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0 !important; }

md-radio-button {
  display: flex !important;
  align-items: center; }
  md-radio-button[disabled] .md-on {
    background-color: #ccc; }

md-toast.md-toast-primary > .md-toast-content {
  background-color: #E11383; }

.md-datepicker-calendar-pane .md-datepicker-input-mask {
  width: auto; }

md-toast {
  z-index: 999999 !important;
  position: fixed !important; }

.md-primary md-tabs-wrapper md-prev-button md-icon,
.md-primary md-tabs-wrapper md-next-button md-icon {
  color: white; }

.angular-ui-tree {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 20px;
  list-style: none; }

.angular-ui-tree-placeholder {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  border: 1px dashed #e2edeb;
  background-color: #E6F5FD;
  border-radius: 2px; }

.angular-ui-tree-handle {
  position: relative;
  display: block;
  margin: 5px 0;
  padding: 10px 10px;
  text-decoration: none;
  border: 1px solid #e2edeb;
  background: #fff;
  cursor: move;
  border-radius: 2px; }
  .angular-ui-tree-handle:hover .angular-ui-tree-icon-action {
    display: inline; }

.angular-ui-tree-icon:hover {
  cursor: pointer; }

.angular-ui-tree-icon-collapse {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 40px;
  margin: -10px 0 0 -10px;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 40px;
  text-align: center;
  font-weight: bold; }
  .angular-ui-tree-icon-collapse:before {
    content: '+';
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    text-indent: 0; }
  .angular-ui-tree-icon-collapse.uncollapsed:before {
    content: '-'; }

.angular-ui-tree-icon-action {
  margin-left: 7px;
  display: none;
  color: #c4c4c4;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .angular-ui-tree-icon-action:hover {
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    -o-transform: scale(1.3);
    transform: scale(1.3);
    color: #3D4051; }

.angular-ui-tree-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #fff;
  background-size: 60px 60px;
  background-position: 0 0,30px 30px; }

.angular-ui-tree-nodes {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none; }

.angular-ui-tree-nodes .angular-ui-tree-nodes {
  padding-left: 30px; }

.angular-ui-tree-node, .angular-ui-tree-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  line-height: 20px; }

.angular-ui-tree-hidden {
  display: none; }

.angular-ui-tree-drag {
  position: absolute;
  pointer-events: none;
  z-index: 999;
  opacity: .8; }

table.responsive {
  border: 1px solid #ddd; }

@media only screen and (max-width: 767px) {
  table.responsive {
    margin-bottom: 0; }
  .pinned {
    position: absolute;
    left: 0;
    top: 0;
    background: #fff;
    width: 35%;
    overflow: hidden;
    overflow-x: scroll;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc; }
  .pinned table {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-right: none;
    border-left: none;
    width: 100%; }
  .pinned table th, .pinned table td {
    white-space: nowrap; }
  .pinned td:last-child {
    border-bottom: 0; }
  div.table-wrapper {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    border-right: 1px solid #ccc; }
  div.table-wrapper div.scrollable {
    margin-left: 35%; }
  div.table-wrapper div.scrollable {
    overflow: scroll;
    overflow-y: hidden; }
  table.responsive td, table.responsive th {
    position: relative;
    white-space: nowrap;
    overflow: hidden; }
  table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td {
    display: none; } }

.wizard,
.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden; }

.wizard a,
.tabcontrol a {
  outline: 0; }

.wizard ul,
.tabcontrol ul {
  list-style: none !important;
  padding: 0;
  margin: 0; }

.wizard ul > li,
.tabcontrol ul > li {
  display: block;
  padding: 0; }

/* Accessibility */
.wizard > .steps .current-info,
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em; }

.wizard > .content > .title,
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em; }

/*
    Wizard
*/
.wizard > .steps {
  position: relative;
  display: block;
  width: 100%; }
  .wizard > .steps > ul > li {
    width: 100%; }
    @media (min-width: 600px) {
      .wizard > .steps > ul > li {
        width: 25%; } }

.wizard.vertical > .steps {
  display: block;
  width: 100%; }
  @media (min-width: 600px) {
    .wizard.vertical > .steps {
      display: inline;
      float: left;
      width: 30%; } }
  .wizard.vertical > .steps > ul > li {
    float: none;
    width: 100%; }

.wizard.vertical > .content {
  width: 100%; }
  @media (min-width: 600px) {
    .wizard.vertical > .content {
      display: inline;
      float: left;
      margin: 0 2.5% 0.5em 2.5%;
      width: 65%; } }

.wizard > .steps .number {
  font-size: 1.429em; }

.wizard > .steps > ul > li,
.wizard > .actions > ul > li {
  float: left; }

.wizard > .steps a,
.wizard > .steps a:hover,
.wizard > .steps a:active {
  display: block;
  width: auto;
  margin: 0 0.5em 0.5em;
  padding: 1em 1em;
  text-decoration: none;
  border-radius: 2px; }

.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  background: #eee;
  color: #aaa;
  cursor: default;
  box-shadow: none; }

.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background: #E11383;
  color: #fff;
  cursor: default; }

.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  background: #E11383;
  color: #fff;
  opacity: .6; }

.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  background: #F44336;
  color: #fff; }

.wizard > .content {
  background-color: #eee;
  display: block;
  margin: 0.5em;
  min-height: 25em;
  overflow: hidden;
  position: relative;
  width: auto;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.wizard > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%; }

.wizard > .content > .body ul {
  list-style: disc !important; }

.wizard > .content > .body ul > li {
  display: list-item; }

.wizard > .content > .body > iframe {
  border: 0 none;
  width: 100%;
  height: 100%; }

.wizard > .content > .body input {
  display: block;
  border: 1px solid #ccc; }

.wizard > .content > .body input[type="checkbox"] {
  display: inline-block; }

.wizard > .content > .body input.error {
  background: #fbe3e4;
  border: 1px solid #fbc2c4;
  color: #8a1f11; }

.wizard > .content > .body label {
  display: inline-block;
  margin-bottom: 0.5em; }

.wizard > .content > .body label.error {
  color: #8a1f11;
  display: inline-block;
  margin-left: 1.5em; }

.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%; }

.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%; }

.wizard > .actions > ul {
  display: inline-block;
  text-align: right; }

.wizard > .actions > ul > li {
  margin: 0 0.5em; }

.wizard.vertical > .actions > ul > li {
  margin: 0 0 0 1em; }

.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  background-color: #E11383;
  color: #fff;
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  min-width: 100px;
  border-radius: 2px;
  text-align: center; }

.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  background: #eee;
  color: #aaa; }

/*
    Tabcontrol
*/
.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%; }

.tabcontrol > .steps > ul {
  position: relative;
  margin: 6px 0 0 0;
  top: 1px;
  z-index: 1; }

.tabcontrol > .steps > ul > li {
  float: left;
  margin: 5px 2px 0 0;
  padding: 1px;
  -webkit-border-top-left-radius: 2px;
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topleft: 2px;
  -moz-border-radius-topright: 2px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

.tabcontrol > .steps > ul > li:hover {
  background: #edecec;
  border: 1px solid #bbb;
  padding: 0; }

.tabcontrol > .steps > ul > li.current {
  background: #fff;
  border: 1px solid #bbb;
  border-bottom: 0 none;
  padding: 0 0 1px 0;
  margin-top: 0; }

.tabcontrol > .steps > ul > li > a {
  color: #5f5f5f;
  display: inline-block;
  border: 0 none;
  margin: 0;
  padding: 10px 30px;
  text-decoration: none; }

.tabcontrol > .steps > ul > li > a:hover {
  text-decoration: none; }

.tabcontrol > .steps > ul > li.current > a {
  padding: 15px 30px 10px 30px; }

.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 35em;
  overflow: hidden;
  border-top: 1px solid #bbb;
  padding-top: 20px; }

.tabcontrol > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%; }

.tabcontrol > .content > .body ul {
  list-style: disc !important; }

.tabcontrol > .content > .body ul > li {
  display: list-item; }

.ui-angular-wizard .steps {
  border: 1px solid #e1e1e1;
  margin-bottom: 3em;
  padding: 0;
  border-radius: 2px; }
  .ui-angular-wizard .steps h2 {
    font-size: 20px;
    line-height: 1;
    padding: 1.2em 1em;
    margin: 0;
    text-transform: uppercase;
    border-bottom: 1px solid #e1e1e1; }

.ui-angular-wizard .ui-wizard-content {
  background-color: #fafafa;
  padding: 3em 1em; }

.ui-angular-wizard .ui-wizard-actions {
  margin: 0;
  padding: 1.2em 1em;
  text-align: right;
  border-top: 1px solid #e1e1e1; }

.steps-indicator {
  /* ---- steps quantity ---- */
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 20px 0 0 0;
  height: 30px;
  list-style: none;
  /* --- http://www.paulirish.com/2012/box-sizing-border-box-ftw/ ---- */ }
  .steps-indicator:before {
    background-color: #E6E6E6;
    content: '';
    position: absolute;
    height: 1px; }
  .steps-indicator.steps-2:before {
    left: calc(100% / 2 / 2);
    right: calc(100% / 2 / 2); }
  .steps-indicator.steps-3:before {
    left: calc(100% / 3 / 2);
    right: calc(100% / 3 / 2); }
  .steps-indicator.steps-4:before {
    left: calc(100% / 4 / 2);
    right: calc(100% / 4 / 2); }
  .steps-indicator.steps-5:before {
    left: calc(100% / 5 / 2);
    right: calc(100% / 5 / 2); }
  .steps-indicator.steps-6:before {
    left: calc(100% / 6 / 2);
    right: calc(100% / 6 / 2); }
  .steps-indicator.steps-7:before {
    left: calc(100% / 7 / 2);
    right: calc(100% / 7 / 2); }
  .steps-indicator.steps-8:before {
    left: calc(100% / 8 / 2);
    right: calc(100% / 8 / 2); }
  .steps-indicator.steps-9:before {
    left: calc(100% / 9 / 2);
    right: calc(100% / 9 / 2); }
  .steps-indicator.steps-10:before {
    left: calc(100% / 10 / 2);
    right: calc(100% / 10 / 2); }
  .steps-indicator * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .steps-indicator li {
    position: relative;
    float: left;
    margin: 0;
    padding: 0;
    padding-top: 10px;
    text-align: center;
    line-height: 15px; }
    .steps-indicator li a {
      color: #808080;
      text-decoration: none;
      text-transform: uppercase;
      font-weight: bold;
      transition: 0.25s;
      cursor: pointer; }
      .steps-indicator li a:before {
        position: absolute;
        top: -7px;
        left: calc(50% - 7px);
        width: 14px;
        height: 14px;
        border-radius: 100%;
        background-color: #E6E6E6;
        content: '';
        transition: 0.25s; }
      .steps-indicator li a:hover {
        color: #4d4d4d; }
  .steps-indicator.steps-2 li {
    width: calc(100% / 2); }
  .steps-indicator.steps-3 li {
    width: calc(100% / 3); }
  .steps-indicator.steps-4 li {
    width: calc(100% / 4); }
  .steps-indicator.steps-5 li {
    width: calc(100% / 5); }
  .steps-indicator.steps-6 li {
    width: calc(100% / 6); }
  .steps-indicator.steps-7 li {
    width: calc(100% / 7); }
  .steps-indicator.steps-8 li {
    width: calc(100% / 8); }
  .steps-indicator.steps-9 li {
    width: calc(100% / 9); }
  .steps-indicator.steps-10 li {
    width: calc(100% / 10); }
  .steps-indicator.steps-11 li {
    width: calc(100% / 11); }
  .steps-indicator li.default {
    pointer-events: none; }
    .steps-indicator li.default a:hover {
      color: #808080; }
  .steps-indicator li.current,
  .steps-indicator li.editing {
    pointer-events: none; }
  .steps-indicator li.current a:before {
    background-color: #808080; }
  .steps-indicator li.done a:before {
    background-color: #8BC34A; }
  .steps-indicator li.editing a:before {
    background-color: #E11383; }

.page-dashboard h3 {
  font-size: 22px;
  font-weight: normal;
  line-height: 1;
  margin: 0 0 30px; }

.page-dashboard .sm-charts {
  margin: 0 auto; }

.page-dashboard .box-stats {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 20px; }
  .page-dashboard .box-stats.no-border .box-num {
    border: 0; }
  .page-dashboard .box-stats .box-desc {
    font-size: 12px;
    line-height: 26px;
    color: #A7A9AC;
    text-transform: uppercase; }
  .page-dashboard .box-stats .box-num {
    font-size: 42px;
    line-height: 80px;
    font-weight: 300; }
    @media screen and (min-width: 768px) {
      .page-dashboard .box-stats .box-num {
        border-right: 2px solid #F0F0F1; } }
  .page-dashboard .box-stats .box-row {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .page-dashboard .box-stats .box-row a {
      margin-bottom: 16px; }

.page-dashboard .metrics {
  margin-bottom: 55px; }
  .page-dashboard .metrics .metric {
    display: block;
    margin-bottom: 10px;
    font-size: 26px;
    color: #E11383; }
  .page-dashboard .metrics .metric-info {
    text-transform: uppercase;
    font-size: 16px;
    color: #aaa; }

.page-dashboard .progressbar-container {
  margin-bottom: 25px; }

.page-dashboard .panel-box {
  position: relative;
  border-radius: 2px; }
  .page-dashboard .panel-box .panel-top,
  .page-dashboard .panel-box .panel-bottom {
    height: 100px;
    padding: 30px 15px;
    font-size: 40px;
    line-height: 1; }
  .page-dashboard .panel-box .panel-bottom {
    border-top: 1px solid #dfdfdf; }
  .page-dashboard .panel-box .panel-info {
    position: absolute;
    width: 100%;
    top: 50%;
    margin-top: -12px;
    text-align: center; }
    .page-dashboard .panel-box .panel-info span {
      height: 24px;
      display: inline-block;
      padding: 4px 10px;
      text-transform: uppercase;
      line-height: 14px;
      background-color: #fff;
      border: 1px solid #dfdfdf;
      font-size: 11px;
      color: #c4c4c4;
      border-radius: 1em; }
  .page-dashboard .panel-box .bg-light {
    background-color: #f9f9f9; }

.page-dashboard .dashboard-well {
  height: 120px; }

.mk-broadcast-panel .fa {
  font-size: 15px !important;
  float: left;
  margin-top: 9px; }

.mk-broadcast-panel .col-xs-10.tl, .mk-broadcast-panel .mt3 {
  padding-left: 0px !important;
  margin-top: 3px;
  margin-bottom: 3px;
  color: #555555;
  font-size: 13px;
  text-align: right; }

.mk-broadcast-panel .col-xs-12.f3.b.tc {
  text-align: left;
  margin-top: 5px;
  padding-bottom: 6px; }

.mk-broadcast-panel .row.pointer {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important; }

.mk-broadcast-panel {
  border-radius: 5px;
  border: 0px;
  margin-bottom: 15px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); }

.mk-broadcast-panel > .row {
  border-radius: 5px; }

.mk-broadcast-panel .pa1 p, .mk-broadcast-panel .pa1 p a {
  font-size: 14px;
  color: #333 !important; }

.mk-broadcast-panel .f5 {
  color: #333333;
  padding-left: 12px; }

.mk-broadcast-panel .f5 {
  text-align: left !important;
  padding-left: 16px !important;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 15px; }

.mk-broadcast-panel .pointer .f5 {
  display: none; }

.pa2.ng-scope[ng-controller="BroadcastPlayCtrl"] .col-xs-12.small-caps.tc {
  font-variant: initial;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 3px; }

.lt-ie9-bg {
  z-index: 11111;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #333;
  color: #999;
  padding: 100px 20px;
  text-align: center;
  font-size: 26px; }
  .lt-ie9-bg a {
    color: #f5f5f5;
    border-bottom: 2px solid #fff; }
    .lt-ie9-bg a:hover {
      text-decoration: none; }

.non-display {
  display: none; }

.page {
  padding: 15px 30px; }
  .page > .ui-section:last-child {
    margin-bottom: 0; }

.page-form-ele h3 {
  margin: 0; }

.body-err {
  background-color: #262B33;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover; }

.page-err {
  position: relative;
  height: 100%; }
  .page-err .err-container {
    padding: 45px 10px 0; }
    @media (min-width: 768px) {
      .page-err .err-container {
        padding: 100px 0 0; } }
  .page-err .err {
    color: #fafafa; }
    .page-err .err h1 {
      margin-bottom: 35px;
      color: #fafafa;
      color: rgba(255, 255, 255, 0.8);
      font-size: 150px;
      font-weight: 300;
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); }
      @media (min-width: 768px) {
        .page-err .err h1 {
          font-size: 180px; } }
    .page-err .err h2 {
      color: #fafafa;
      color: rgba(255, 255, 255, 0.6);
      margin: 0;
      font-weight: 300;
      font-size: 28px;
      text-transform: uppercase; }
      @media (min-width: 768px) {
        .page-err .err h2 {
          font-size: 36px; } }
  .page-err .err-body {
    padding: 20px 10px; }
  .page-err .btn-goback {
    color: #ffffff;
    color: rgba(255, 255, 255, 0.8);
    background-color: transparent;
    border-color: #ffffff;
    border-color: rgba(255, 255, 255, 0.8); }
    .page-err .btn-goback:hover, .page-err .btn-goback:focus, .page-err .btn-goback:active, .page-err .btn-goback.active {
      color: #ffffff;
      background-color: rgba(255, 255, 255, 0.1); }
    .open .page-err .btn-goback.dropdown-toggle {
      color: #ffffff;
      background-color: rgba(255, 255, 255, 0.1); }
  .page-err .footer {
    position: absolute;
    bottom: 20px;
    width: 100%; }

.body-auth {
  background-color: #F0F0F1;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover; }

.btn-minimal {
  color: #ffffff;
  color: rgba(255, 255, 255, 0.8);
  background-color: transparent;
  border-color: #ffffff;
  border-color: rgba(255, 255, 255, 0.8); }
  .btn-minimal:hover, .btn-minimal:focus, .btn-minimal:active, .btn-minimal.active {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1); }
  .open .btn-minimal.dropdown-toggle {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1); }

.page-signin .wrapper,
.page-signup .wrapper,
.page-forgot .wrapper {
  padding: 0 10px; }

.page-signin .main-body,
.page-signup .main-body,
.page-forgot .main-body {
  max-width: 480px;
  margin: 10px auto; }

.page-signin .body-inner,
.page-signup .body-inner,
.page-forgot .body-inner {
  position: relative;
  padding: 20px; }
  .page-signin .body-inner:before,
  .page-signup .body-inner:before,
  .page-forgot .body-inner:before {
    z-index: -1;
    content: ' ';
    line-height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #E11383;
    height: 220px; }

.page-signin .additional-info,
.page-signup .additional-info,
.page-forgot .additional-info {
  text-align: center;
  font-size: 12px; }
  .page-signin .additional-info a,
  .page-signup .additional-info a,
  .page-forgot .additional-info a {
    color: #fafafa; }
  .page-signin .additional-info .divider-h,
  .page-signup .additional-info .divider-h,
  .page-forgot .additional-info .divider-h {
    border-right: 1px solid #fafafa;
    margin: 0 15px; }

.page-signin h1,
.page-signup h1,
.page-forgot h1 {
  font-weight: normal;
  color: #E11383;
  font-size: 38px;
  margin-bottom: 40px; }
  .page-signin h1 a,
  .page-signup h1 a,
  .page-forgot h1 a {
    color: #E11383; }

.page-signin .card .card-content,
.page-signup .card .card-content,
.page-forgot .card .card-content {
  padding: 30px 20px; }

.page-signin .ui-input-group .form-control,
.page-signup .ui-input-group .form-control,
.page-forgot .ui-input-group .form-control {
  color: #a2a2a2; }

.page-signin .form-group,
.page-signup .form-group,
.page-forgot .form-group {
  position: relative;
  margin: 0; }

.page-signin .wrapper,
.page-signup .wrapper,
.page-forgot .wrapper {
  margin-top: 50px; }
  @media (min-width: 768px) {
    .page-signin .wrapper,
    .page-signup .wrapper,
    .page-forgot .wrapper {
      margin-top: 150px; } }

.page-signin .logo,
.page-signup .logo,
.page-forgot .logo {
  font-size: 26px;
  font-weight: normal; }
  .page-signin .logo a:hover,
  .page-signup .logo a:hover,
  .page-forgot .logo a:hover {
    text-decoration: none; }

.page-profile {
  margin: -15px 0 0; }
  .page-profile .profile-header {
    position: relative;
    margin: 0 -30px 15px;
    padding: 50px 30px 90px;
    background: url("../images/background/1.jpg") no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover; }
  .page-profile .profile-img {
    display: inline-block;
    margin-right: 20px; }
    .page-profile .profile-img img {
      max-width: 120px;
      height: auto;
      box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.5), 0 0 10px rgba(0, 0, 0, 0.2); }
  .page-profile .profile-social {
    display: inline-block; }
    .page-profile .profile-social > a {
      margin-right: 15px;
      box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); }
  .page-profile .profile-info {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    line-height: 20px;
    padding: 10px 30px;
    color: #fafafa; }
    .page-profile .profile-info ul {
      margin: 0; }
  .page-profile img.media-object {
    border-radius: 2px; }

.page-invoice .invoice-wrapper {
  padding: 0 0 30px;
  background-color: #ffffff; }

.invoice-inner {
  padding: 15px 15px 30px;
  background-color: #ffffff; }
  .invoice-inner .invoice-sum li {
    margin-bottom: 5px;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 2px; }
  .invoice-inner .table.table-bordered {
    border: 0; }
  .invoice-inner .table .bg-dark > th {
    border: 0; }

.page-icons .page-header {
  border-bottom: 0; }

.page-icons .icon-material .zmdi {
  display: block;
  height: 80px;
  font-size: 1.5em;
  line-height: 100px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.page-icons .icon-material .col-sm-4 {
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  .page-icons .icon-material .col-sm-4:hover {
    color: #262B33; }
    .page-icons .icon-material .col-sm-4:hover .zmdi {
      font-size: 3em;
      color: #E11383; }

.ta-editor.form-control.mkHTMLTextArea,
.ta-scroll-window.form-control.mkHTMLTextArea,
.ta-editor.form-control.mkHTMLTextAreaShort,
.ta-scroll-window.form-control.mkHTMLTextAreaShort {
  min-height: 100px;
  height: auto;
  overflow: auto;
  font-family: inherit;
  font-size: 100%; }

.ta-editor.form-control.mkHTMLTextAreaShort,
.ta-scroll-window.form-control.mkHTMLTextAreaShort {
  min-height: 30px; }

.form-control.mkHTMLTextArea > .ta-bind,
.form-control.mkHTMLTextAreaShort > .ta-bind {
  height: auto;
  min-height: 100px;
  padding: 6px 12px; }

.form-control.mkHTMLTextAreaShort > .ta-bind {
  min-height: 30px; }

.page-features .panel {
  border: 0; }

.page-features .feature-list-container .panel-body {
  background-color: #405161;
  padding: 30px 50px; }

.page-features .feature-list-container .col-xs-4 {
  margin-bottom: 50px; }

.autocompletedemoCustomTemplate .autocomplete-custom-template li {
  border-bottom: 1px solid #ccc;
  height: auto;
  padding-top: 8px;
  padding-bottom: 8px;
  white-space: normal; }

.autocompletedemoCustomTemplate .autocomplete-custom-template li:last-child {
  border-bottom-width: 0; }

.autocompletedemoCustomTemplate .autocomplete-custom-template .item-title,
.autocompletedemoCustomTemplate .autocomplete-custom-template .item-metadata {
  display: block;
  line-height: 2; }

.autocompletedemoCustomTemplate .autocomplete-custom-template .item-title md-icon {
  height: 18px;
  width: 18px; }

.page-form-ele .list-checkbox-radio li:nth-child(even) {
  margin-bottom: 20px; }

.page-form-ele .list-checkbox-radio li > div {
  float: left;
  margin-right: 10px; }

.demoslider-container {
  max-width: 600px;
  margin: auto; }

.page-grid .grid-structure .row {
  margin-top: 10px; }
  .page-grid .grid-structure .row .widget-container {
    margin-top: 5px;
    background: #eee;
    padding: 10px 15px 12px;
    font-size: 12px;
    min-height: 0;
    border-radius: 2px; }

.table.table-demo tr:first-child td {
  border-top: 0; }

.table.table-demo .type-info {
  vertical-align: middle; }

.whiteframedemoBasicUsage md-whiteframe {
  background: #fff;
  margin: 30px;
  height: 100px; }

@media screen and (max-width: 599px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 7px;
    height: 50px;
    background-color: #c8e4fa; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.4em; } }

@media screen and (min-width: 600px) and (max-width: 959px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 20px;
    height: 75px; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.6em; } }

@media screen and (min-width: 960px) and (max-width: 1199px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 20px;
    height: 90px;
    background-color: #fcddde; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 0.9em; } }

@media screen and (min-width: 1200px) {
  .whiteframedemoBasicUsage md-whiteframe {
    margin: 25px;
    height: 100px;
    background-color: #F2FCE2; }
  .whiteframedemoBasicUsage md-whiteframe > span {
    font-size: 1em; } }

.radioButtondemoMultiColumn md-divider {
  margin: 0 -15px; }

.radioButtondemoMultiColumn div.radioDemo2 {
  margin-bottom: 20px; }

.radioButtondemoMultiColumn h2 {
  margin-left: 15px; }

.radioButtondemoMultiColumn p {
  width: 400px;
  margin-top: 10px;
  margin-left: 10px;
  padding-top: 10px;
  border-top: 2px solid #ddd; }

.radioButtondemoMultiColumn .md-checked {
  background-color: #ECFAFB;
  border-radius: 2px; }

.radioButtondemoMultiColumn md-button.md-raised, .radioButtondemoMultiColumn button.md-raised {
  width: 200px; }

.radioButtondemoMultiColumn .row {
  border-bottom: 1px dashed #ddd; }

.radioButtondemoMultiColumn div.row:last-child {
  border-bottom: 0px dashed #ddd; }

.radioButtondemoMultiColumn .summary {
  width: 100%;
  padding-top: 10px;
  margin-left: 25px;
  margin-top: 20px;
  margin-bottom: -5px; }

.radioButtondemoMultiColumn .title {
  font-weight: bolder; }

.radioButtondemoMultiColumn .selectedUser .md-checked {
  padding: 8px;
  width: 100px; }

.article-preview {
  max-width: 795px;
  margin-left: auto;
  margin-right: auto; }
  .article-preview .article-heading {
    font-weight: 400;
    text-transform: uppercase;
    color: white;
    display: inline-block;
    margin-top: 20px; }
    .article-preview .article-heading a {
      color: white !important;
      text-decoration: none;
      background: #e11383;
      padding: 5px 10px; }
  .article-preview .sponsored {
    color: #0892b2;
    font-size: 12px !important;
    text-transform: uppercase;
    margin-top: 20px;
    margin-bottom: -15px; }
  .article-preview h1 {
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
    line-height: 1.1;
    margin-bottom: 10px;
    font-size: 32px;
    color: black; }
  .article-preview .subheading {
    font-weight: 300;
    font-size: 16px;
    font-family: "Montserrat", Arial, sans-serif;
    margin-top: 0px;
    color: black; }
  .article-preview .meta {
    font-family: "Lato", sans-serif;
    width: calc(100% - 170px);
    display: inline-block;
    margin-bottom: 20px; }
    .article-preview .meta span {
      display: block;
      font-size: 13px; }
      .article-preview .meta span.author {
        color: #666; }
      .article-preview .meta span.publishDate {
        color: black; }
  .article-preview .article-content {
    color: black; }
    .article-preview .article-content h1,
    .article-preview .article-content h2,
    .article-preview .article-content h3,
    .article-preview .article-content h4,
    .article-preview .article-content h5 {
      font-family: "Montserrat", sans-serif;
      line-height: 1.1;
      margin-bottom: 10px;
      font-weight: 500; }
    .article-preview .article-content h1 {
      font-size: 32px; }
    .article-preview .article-content h2 {
      font-size: 24px; }
    .article-preview .article-content h3 {
      font-size: 22px; }
    .article-preview .article-content h4 {
      font-size: 20px; }
    .article-preview .article-content h5 {
      font-size: 18px; }
    .article-preview .article-content h6 {
      font-size: 16px; }
    .article-preview .article-content p,
    .article-preview .article-content p span,
    .article-preview .article-content td,
    .article-preview .article-content td span,
    .article-preview .article-content td a,
    .article-preview .article-content li {
      font-family: "Lato", Arial, sans-serif;
      line-height: 1.55;
      font-weight: 300;
      font-size: inherit; }
    .article-preview .article-content strong span,
    .article-preview .article-content strong a,
    .article-preview .article-content strong a span {
      font-weight: bold !important; }
    .article-preview .article-content a {
      color: #e11383; }
  .article-preview .featured-images {
    margin-bottom: 50px; }
    .article-preview .featured-images .image-container {
      margin-bottom: 20px; }
      .article-preview .featured-images .image-container img {
        border-radius: 5px;
        max-width: 100%;
        margin-bottom: 10px;
        border: 1px solid rgba(155, 155, 155, 0.2); }
      .article-preview .featured-images .image-container .author,
      .article-preview .featured-images .image-container .caption {
        color: #666; }
      .article-preview .featured-images .image-container .caption {
        text-align: right;
        font-size: 12px; }
  .article-preview .social {
    display: inline-flex;
    align-items: center; }
    .article-preview .social a {
      margin-left: 5px;
      margin-bottom: 5px;
      cursor: pointer; }
      .article-preview .social a div {
        background-color: #e11383 !important;
        border-radius: 5px !important; }
        .article-preview .social a div img {
          fill: white;
          width: 32px;
          height: 32px; }

.info {
  text-align: center;
  border: 1px solid #E11383;
  border-radius: 5px;
  margin: 20px;
  padding: 10px;
  font-size: 0.8em;
  background: #ffff2217; }

.layout-boxed > .header-container .top-header {
  max-width: 1200px;
  margin: 0 auto; }

.layout-boxed > .main-container {
  max-width: 1200px;
  margin: 0 auto; }

.body-wide.app > .main-container > .nav-container,
.body-wide.app > .main-container > .content-container,
.body-wide .header-container > .top-header .logo,
.body-wide .header-container > .top-header .top-nav {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none; }

html {
  position: relative;
  min-height: 100%;
  height: 100%;
  background: none; }

.app {
  position: relative;
  min-height: 100%;
  height: 100%; }
  .app > .header-container.header-fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030; }
    .app > .header-container.header-fixed + .main-container {
      padding-top: 128px; }
      @media (min-width: 768px) {
        .app > .header-container.header-fixed + .main-container {
          padding-top: 64px; } }
  .app > .main-container {
    position: relative;
    min-height: 100%;
    padding-bottom: 0; }
    .app > .main-container:before {
      content: " ";
      line-height: 0;
      z-index: -2;
      position: absolute;
      display: block;
      width: 100%;
      max-width: inherit;
      top: 0;
      bottom: 0;
      background-color: #efefef;
      box-shadow: 0 -2px 2px rgba(0, 0, 0, 0.2); }
    .app > .main-container > .nav-vertical:before {
      left: 0; }
    .app > .main-container > .nav-container {
      display: none;
      z-index: 11;
      position: static;
      float: left;
      width: 210px;
      -webkit-transition: width 0.25s ease-in-out;
      -moz-transition: width 0.25s ease-in-out;
      transition: width 0.25s ease-in-out; }
      @media (min-width: 768px) {
        .app > .main-container > .nav-container {
          display: block; } }
      .app > .main-container > .nav-container:before {
        z-index: -1;
        content: " ";
        line-height: 0;
        position: absolute;
        display: block;
        top: 0;
        bottom: 0;
        width: inherit;
        background-color: inherit;
        border-width: inherit;
        border-style: inherit;
        border-color: inherit; }
      .app > .main-container > .nav-container.nav-fixed {
        position: fixed;
        top: 128px;
        bottom: 0;
        float: none; }
        @media (min-width: 768px) {
          .app > .main-container > .nav-container.nav-fixed {
            top: 64px; } }
    .app > .main-container > .content-container {
      overflow: hidden;
      min-height: 100%;
      margin-left: 0;
      -webkit-transition: margin-left 0.25s ease-in-out;
      -moz-transition: margin-left 0.25s ease-in-out;
      transition: margin-left 0.25s ease-in-out; }
      @media (min-width: 768px) {
        .app > .main-container > .content-container {
          margin-left: 210px; } }

md-pagination-wrapper {
  width: auto !important; }

.article-teaser,
.article-teaser-twin,
.st-article-teaser,
.st-article-teaser-twin {
  margin-bottom: 1rem;
  height: 20em;
  overflow: hidden;
  border-radius: 5px 5px 5px 5px;
  border: thin solid #dddddd;
  background-color: white; }
  .article-teaser .category,
  .article-teaser-twin .category,
  .st-article-teaser .category,
  .st-article-teaser-twin .category {
    background: #F0F0F1;
    bottom: 35px;
    color: #4D4D4D;
    display: inline-block;
    font-size: 0.875rem;
    left: 0;
    padding: 0.25rem 0.5rem;
    position: absolute;
    text-transform: uppercase; }
  .article-teaser .article-img-wrapper,
  .article-teaser .st-article-img-wrapper,
  .article-teaser-twin .article-img-wrapper,
  .article-teaser-twin .st-article-img-wrapper,
  .st-article-teaser .article-img-wrapper,
  .st-article-teaser .st-article-img-wrapper,
  .st-article-teaser-twin .article-img-wrapper,
  .st-article-teaser-twin .st-article-img-wrapper {
    padding: 0;
    display: block;
    position: relative; }
  .article-teaser a,
  .article-teaser-twin a,
  .st-article-teaser a,
  .st-article-teaser-twin a {
    color: black; }
  .article-teaser img,
  .article-teaser-twin img,
  .st-article-teaser img,
  .st-article-teaser-twin img {
    padding: 0;
    margin: 0;
    width: 100%; }

.article-teaser-twin,
.st-article-teaser-twin {
  height: 24em; }

.st-article-teaser,
.st-article-teaser-twin {
  border: 1px #22C0C1 dashed;
  border-radius: 0; }

.article-card-title,
.article-card-title > a,
.st-article-card-title,
.st-article-card-title > a {
  font-family: Optima, sans-serif;
  display: block;
  font-size: 1.3rem;
  line-height: 90%;
  margin-top: 0 !important;
  color: #E11383;
  padding: 3px;
  text-align: center;
  background-color: #FFF0F0; }

.st-article-card-title,
.st-article-card-title > a {
  color: #9F2E62;
  background-color: #F0F0F0; }

.article-card-summary,
.st-article-card-summary {
  font-family: "Lato", Arial, sans-serif;
  font-weight: 400;
  display: block;
  color: dimgray;
  font-size: 18px;
  padding: 3px;
  text-align: left; }

.article-card-title.guide,
.article-card-title.guide > a {
  color: #0892B2;
  background-color: lightcyan; }

@media (max-width: 576px) {
  .article-teaser,
  .st-article-teaser {
    height: 24em; }
  .article-card-title,
  .article-card-title > a,
  .st-article-card-title,
  .st-article-card-title > a {
    font-size: 1.5rem; }
  .article-card-summary,
  .st-article-card-summary {
    font-size: .9rem; } }

@media (max-width: 768px) {
  .article-card-title,
  .article-card-title > a,
  .st-article-card-title,
  .st-article-card-title > a {
    font-size: 1.2rem; }
  .article-card-summary,
  .st-article-card-summary {
    font-size: .9rem; } }

@media (max-width: 992px) {
  .article-card-title,
  .article-card-title > a,
  .st-article-card-title,
  .st-article-card-title > a {
    font-size: 1.3rem; }
  .article-card-summary,
  .st-article-card-summary {
    font-size: .9rem; } }

@media (max-width: 1200px) {
  .article-card-title,
  .article-card-title > a,
  .st-article-card-title,
  .st-article-card-title > a {
    font-size: 1.5rem; }
  .article-card-summary,
  .st-article-card-summary {
    font-size: .9rem; } }

.article-img,
.st-article-img {
  margin-bottom: 0 !important; }
  .article-img img.single,
  .st-article-img img.single {
    border: 3px solid #E11383; }

.st-article-img img.single {
  border: 3px solid #605367; }

#nav-container ul {
  padding-left: 0;
  list-style: none; }

#nav-container > .nav-wrapper {
  overflow: scroll;
  position: relative;
  width: 100%;
  height: 100%; }

.nav-container .md-button {
  text-align: left;
  min-width: 20px;
  text-transform: none;
  border-radius: 0; }

.nav-container .nav {
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-overflow-scrolling: -blackberry-touch; }
  .nav-container .nav .nav-title {
    margin: 15px 15px 10px;
    font-weight: normal;
    font-size: 12px; }
  .nav-container .nav .nav-divider {
    margin: 10px 0 10px 15px;
    border-width: 1px;
    border-style: solid;
    border-color: transparent; }
  .nav-container .nav > li > a > i,
  .nav-container .nav > li > a > .nav-icon {
    display: inline-block;
    margin-right: 10px;
    width: 20px;
    line-height: 20px;
    text-align: center;
    font-size: 16px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
  .nav-container .nav a {
    font-size: 13px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
    .nav-container .nav a:hover, .nav-container .nav a:focus, .nav-container .nav a:active {
      text-decoration: none; }
  .nav-container .nav > li {
    position: relative;
    margin: 0;
    text-align: left;
    font-weight: bold;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
    .nav-container .nav > li.open .icon-has-ul {
      -webkit-transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      transform: rotate(180deg); }
    .nav-container .nav > li.li-small {
      font-size: 12px;
      font-weight: normal; }
      .nav-container .nav > li.li-small > a {
        padding: 10px 15px; }
        .nav-container .nav > li.li-small > a > i {
          font-size: 12px; }
    .nav-container .nav > li:first-child > a {
      border-top: 0; }
    .nav-container .nav > li > a {
      position: relative;
      white-space: nowrap;
      display: block;
      padding: 15px 15px;
      -webkit-transition: all 0.25s ease-in-out;
      -moz-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out; }
      .nav-container .nav > li > a .badge {
        position: absolute;
        top: 16px;
        right: 8px; }
      .nav-container .nav > li > a > .icon-has-ul {
        position: absolute;
        top: 15px;
        right: 0;
        font-size: 9px;
        line-height: 19px;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out; }
    .nav-container .nav > li > .icon-has-ul-h {
      display: none; }
  .nav-container .nav ul {
    display: none; }
    .nav-container .nav ul a {
      font-size: 13px; }
    .nav-container .nav ul li {
      position: relative;
      padding: 0; }
      .nav-container .nav ul li:last-child > a {
        border-bottom: 0; }
      .nav-container .nav ul li > a {
        position: relative;
        display: block;
        padding: 13px 0 13px 25px;
        -webkit-transition: all 0.25s ease-in-out;
        -moz-transition: all 0.25s ease-in-out;
        transition: all 0.25s ease-in-out; }
        .nav-container .nav ul li > a:first-child {
          border-top: none; }
        .nav-container .nav ul li > a > i {
          font-size: 4px;
          line-height: 16px;
          margin-right: 16px;
          vertical-align: middle; }
        .nav-container .nav ul li > a > .badge {
          position: absolute;
          right: 8px;
          top: 12px; }

.nav-vertical {
  box-shadow: 2px 0 2px 0 rgba(0, 0, 0, 0.12); }

@media (max-width: 767px) {
  .on-canvas #header {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 12; }
  .on-canvas #nav-container {
    display: block;
    position: fixed;
    top: 128px;
    bottom: 0;
    float: none; }
  .on-canvas .main-container {
    overflow: hidden; }
    .on-canvas .main-container #content {
      margin-left: 180px;
      margin-right: -180px; } }

@media (min-width: 768px) {
  .app > .main-container > .nav-container.nav-horizontal {
    z-index: 9;
    border-width: 0 0 1px;
    border-style: solid;
    border-color: #d5d5d5; }
    .app > .main-container > .nav-container.nav-horizontal:before {
      border: 0; }
    .app > .main-container > .nav-container.nav-horizontal .nav-title,
    .app > .main-container > .nav-container.nav-horizontal .nav-divider,
    .app > .main-container > .nav-container.nav-horizontal .li-small {
      display: none !important; }
    .app > .main-container > .nav-container.nav-horizontal.nav-fixed {
      border-width: 0 1px 1px 0;
      left: 0;
      right: 0;
      bottom: auto; }
      .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav {
        text-align: center; }
        .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li {
          display: inline-block;
          float: none; }
          .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li.nav-title, .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li.nav-divider {
            display: none; }
          .app > .main-container > .nav-container.nav-horizontal.nav-fixed #nav > li > a {
            padding: 17.5px 28px 12.5px; }
      .app > .main-container > .nav-container.nav-horizontal.nav-fixed + .content-container {
        margin: 80px 0 0; } }

@media (min-width: 768px) {
  .main-container > .nav-container.nav-horizontal {
    float: none;
    width: auto; }
    .main-container > .nav-container.nav-horizontal + .content-container {
      margin-left: 0; }
  .nav-horizontal {
    background-color: #eee; }
    .nav-horizontal .slimScrollDiv {
      overflow: visible !important;
      height: auto !important; }
      .nav-horizontal .slimScrollDiv .slimScrollBar,
      .nav-horizontal .slimScrollDiv .slimScrollRail {
        display: none !important; }
    .nav-horizontal .nav {
      overflow: visible !important; }
      .nav-horizontal .nav > li {
        position: relative;
        float: left; }
        .nav-horizontal .nav > li:hover > a {
          background-color: #e1e1e1;
          color: #3D4051; }
        .nav-horizontal .nav > li:hover > i {
          color: #3D4051; }
        .nav-horizontal .nav > li.active > a {
          background-color: transparent;
          color: #E11383; }
        .nav-horizontal .nav > li.active > .icon-has-ul-h {
          color: #E11383; }
        .nav-horizontal .nav > li > a {
          padding: 15px 30px;
          text-align: center;
          font-weight: normal; }
          .nav-horizontal .nav > li > a > i {
            margin: 0;
            font-size: 26px;
            line-height: 1; }
          .nav-horizontal .nav > li > a > span {
            margin: 0;
            display: block;
            font-size: 12px; }
          .nav-horizontal .nav > li > a .badge {
            top: 15px; }
          .nav-horizontal .nav > li > a > .icon-has-ul {
            display: none; }
        .nav-horizontal .nav > li > .icon-has-ul-h {
          display: block;
          position: absolute;
          bottom: 16px;
          right: 10px;
          font-size: 10px; }
        .nav-horizontal .nav > li:hover > ul {
          display: block !important; }
        .nav-horizontal .nav > li > ul {
          z-index: 9;
          position: absolute;
          left: 0;
          top: 100%;
          min-width: 100%;
          width: auto;
          background-color: #e1e1e1;
          border-bottom-left-radius: 2px;
          border-bottom-right-radius: 2px; }
          .nav-horizontal .nav > li > ul li {
            white-space: nowrap; }
            .nav-horizontal .nav > li > ul li:hover > a, .nav-horizontal .nav > li > ul li.active > a {
              color: #E11383; }
            .nav-horizontal .nav > li > ul li > a {
              padding: 13px 40px 13px 20px; } }

@media (min-width: 768px) {
  .app.nav-collapsed-min .slimScrollDiv {
    overflow: visible !important;
    height: auto !important; }
    .app.nav-collapsed-min .slimScrollDiv .slimScrollBar,
    .app.nav-collapsed-min .slimScrollDiv .slimScrollRail {
      display: none !important; }
  .app.nav-collapsed-min #nav-container {
    width: 60px; }
  .app.nav-collapsed-min .content-container {
    margin-left: 60px; }
  .app.nav-collapsed-min #nav-wrapper {
    overflow: visible !important; }
  .app.nav-collapsed-min #nav {
    overflow: visible !important; }
    .app.nav-collapsed-min #nav > li.li-small > a > i {
      font-size: 12px; }
    .app.nav-collapsed-min #nav > li > a {
      padding: 15px 15px;
      text-align: center; }
      .app.nav-collapsed-min #nav > li > a > i {
        margin: 0;
        font-size: 22px; }
      .app.nav-collapsed-min #nav > li > a > span {
        display: none; }
    .app.nav-collapsed-min #nav > li .icon-has-ul {
      display: none; }
    .app.nav-collapsed-min #nav > li > ul {
      z-index: 9;
      position: absolute;
      left: 100%;
      top: 0;
      width: 220px;
      border-bottom-right-radius: 2px;
      border-top-right-radius: 2px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); }
    .app.nav-collapsed-min #nav > li:hover > ul, .app.nav-collapsed-min #nav > li.open > ul {
      display: block !important; }
  .app.nav-collapsed-min .nav-title {
    display: none; }
  .app.nav-collapsed-min .nav-horizontal#nav-container {
    width: auto; }
  .app.nav-collapsed-min .nav-horizontal + .content-container {
    margin: 0; }
  .app.nav-collapsed-min .nav-horizontal.nav-fixed + .content-container {
    margin: 50px 0 0; }
  .app.nav-collapsed-min .nav-horizontal #nav > li > .icon-has-ul-h {
    display: none; }
  .app.nav-collapsed-min .nav-horizontal #nav > li > ul {
    left: 0;
    top: 100%; } }

.nav-container:before {
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  width: 2px;
  z-index: 2; }

.nav-container.bg-white:before {
  box-shadow: inset -1px 0 1px rgba(255, 255, 255, 0.3); }

.nav-container.bg-white .nav a {
  color: #3D4051; }

.nav-container.bg-white .nav .nav-title {
  color: #999; }

.nav-container.bg-white .nav .nav-divider {
  border-color: white; }

.nav-container.bg-white .nav > li:hover > a {
  background-color: transparent;
  color: #E11383; }
  .nav-container.bg-white .nav > li:hover > a > .icon-has-ul {
    color: #E11383; }

.nav-container.bg-white .nav > li:hover > .icon-has-ul-h {
  color: #E11383; }

.nav-container.bg-white .nav > li.active > a {
  color: #E11383; }
  .nav-container.bg-white .nav > li.active > a > .icon-has-ul {
    color: #E11383; }

.nav-container.bg-white .nav > li > a:focus {
  background-color: transparent; }

.nav-container.bg-white .nav ul {
  background-color: #f6f6f6; }
  .nav-container.bg-white .nav ul > li:hover > a, .nav-container.bg-white .nav ul > li.active > a {
    color: #E11383; }

.nav-container.bg-white.nav-vertical .nav > li.open > a {
  background-color: #f6f6f6;
  color: #E11383; }

.nav-container.bg-white.nav-vertical .nav > li.open > .icon-has-ul,
.nav-container.bg-white.nav-vertical .nav > li.open > .icon-has-ul-h {
  color: #E11383; }

.nav-container.bg-dark {
  background-color: #262B33; }
  .nav-container.bg-dark:before {
    box-shadow: inset -1px 0 1px rgba(0, 0, 0, 0.3); }
  .nav-container.bg-dark .nav a {
    color: #ccc;
    color: rgba(255, 255, 255, 0.5); }
  .nav-container.bg-dark .nav .nav-title {
    color: #666; }
  .nav-container.bg-dark .nav .nav-divider {
    border-color: #1b1f24; }
  .nav-container.bg-dark .nav > li:hover > a {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.8); }
    .nav-container.bg-dark .nav > li:hover > a > .icon-has-ul {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li:hover > .icon-has-ul-h {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li.active > a {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li.active > .icon-has-ul {
    color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark .nav > li > a:focus {
    background-color: transparent; }
  .nav-container.bg-dark .nav ul {
    background-color: #1f242a; }
    .nav-container.bg-dark .nav ul > li:hover > a, .nav-container.bg-dark .nav ul > li.active > a {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark.nav-vertical .nav > li.open > a {
    background-color: #1f242a;
    color: rgba(255, 255, 255, 0.8); }
    .nav-container.bg-dark.nav-vertical .nav > li.open > a > .icon-has-ul {
      color: rgba(255, 255, 255, 0.8); }
  .nav-container.bg-dark.nav-vertical .nav > li.open > .icon-has-ul-h {
    color: rgba(255, 255, 255, 0.8); }

@media (min-width: 768px) {
  .app.nav-collapsed-min .nav-container.bg-white .nav > li:hover a {
    background-color: #f6f6f6; }
  .app.nav-collapsed-min .nav-container.bg-dark .nav > li:hover a {
    background-color: #1f242a; } }

@media (max-width: 767px) {
  .nav-horizontal .nav > li.open > a {
    color: #E11383; }
  .nav-horizontal .nav > li.open > i {
    color: #E11383; } }

@media (min-width: 768px) {
  .app.nav-collapsed-min .top-header .logo {
    width: 60px; } }

.app.nav-collapsed-min .top-header .logo .logo-text {
  display: none; }

.app.nav-collapsed-min .top-header .top-nav {
  padding: 0 0 0 60px; }

.header-container .md-button {
  min-width: 66px; }

.header-container > .top-header a {
  color: #aaa; }
  .header-container > .top-header a:hover {
    text-decoration: none; }

.header-container > .top-header .dropdown-menu a {
  color: #3D4051; }

.header-container > .top-header .hidden-mobile {
  display: none; }
  @media (min-width: 480px) {
    .header-container > .top-header .hidden-mobile {
      display: inline; } }

.header-container > .top-header .logo {
  background: url("/images/logo.png") center no-repeat;
  background-size: contain;
  background-color: white;
  position: absolute;
  width: 100%;
  height: 64px;
  line-height: 64px;
  text-align: center;
  -webkit-transition: width 0.25s ease-in-out;
  -moz-transition: width 0.25s ease-in-out;
  transition: width 0.25s ease-in-out; }
  @media (min-width: 768px) {
    .header-container > .top-header .logo {
      display: inline-block;
      width: 220px;
      border-right: 1px solid rgba(255, 255, 255, 0.06); } }
  .header-container > .top-header .logo .logo-icon {
    font-size: 20px; }
  .header-container > .top-header .logo > a {
    font-size: 24px;
    vertical-align: middle;
    white-space: nowrap; }

.header-container > .top-header .menu-button {
  background-color: #c4c4c4;
  display: block;
  position: absolute;
  top: 15px;
  right: 20px;
  width: 46px;
  padding: 10px 12px;
  border-radius: 4px; }
  .header-container > .top-header .menu-button:hover {
    cursor: pointer;
    background-color: #b20f68; }
  .header-container > .top-header .menu-button .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff; }
  .header-container > .top-header .menu-button .icon-bar + .icon-bar {
    margin-top: 4px; }
  @media (min-width: 768px) {
    .header-container > .top-header .menu-button {
      display: none; } }

.header-container > .top-header .admin-options {
  z-index: 20;
  line-height: 20px; }

.header-container > .top-header .skin-options .panel-body {
  min-width: 330px;
  background-color: #f9f9f9; }

.header-container > .top-header .dropdown-menu.panel {
  padding: 0;
  white-space: nowrap; }
  .header-container > .top-header .dropdown-menu.panel .panel-heading,
  .header-container > .top-header .dropdown-menu.panel .panel-footer {
    padding: 10px 15px; }
  .header-container > .top-header .dropdown-menu.panel .list-group-item {
    padding: 10px 15px; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > a {
      display: block; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > p {
      margin-bottom: 0; }
    .header-container > .top-header .dropdown-menu.panel .list-group-item > .divider {
      background-color: transparent; }
  .header-container > .top-header .dropdown-menu.panel .media .media-body {
    padding-right: 75px; }

.header-container > .top-header .top-nav {
  width: 100%;
  height: 130px;
  padding: 64px 0 0;
  -webkit-transition: padding 0.25s ease-in-out;
  -moz-transition: padding 0.25s ease-in-out;
  transition: padding 0.25s ease-in-out; }
  @media (min-width: 768px) {
    .header-container > .top-header .top-nav {
      height: 64px;
      padding: 0 0px 0 230px; } }
  .header-container > .top-header .top-nav md-input-container {
    margin: 0; }
  .header-container > .top-header .top-nav > ul {
    margin-bottom: 0; }
  @media (max-width: 768px) {
    .header-container > .top-header .top-nav .collapse {
      display: block;
      margin-top: -25px; }
      .header-container > .top-header .top-nav .collapse .dropdown-toggle {
        display: none; }
      .header-container > .top-header .top-nav .collapse .dropdown-menu {
        display: block;
        left: auto;
        right: 0;
        border: none;
        background: transparent;
        box-shadow: none;
        min-width: 120px; } }
  .header-container > .top-header .top-nav .nav-left,
  .header-container > .top-header .top-nav .nav-right {
    font-size: 16px;
    line-height: 20px; }
    .header-container > .top-header .top-nav .nav-left > li,
    .header-container > .top-header .top-nav .nav-right > li {
      float: left; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile > a,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile > a {
        padding: 17px 15px; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile .hidden-xs,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile .hidden-xs {
        padding-right: 8px; }
      .header-container > .top-header .top-nav .nav-left > li.nav-profile i,
      .header-container > .top-header .top-nav .nav-right > li.nav-profile i {
        width: 18px;
        font-size: 18px;
        margin-right: 5px;
        line-height: 20px; }
      .header-container > .top-header .top-nav .nav-left > li > .toggle-min,
      .header-container > .top-header .top-nav .nav-right > li > .toggle-min {
        display: none; }
        @media (min-width: 768px) {
          .header-container > .top-header .top-nav .nav-left > li > .toggle-min,
          .header-container > .top-header .top-nav .nav-right > li > .toggle-min {
            display: block; } }
      .header-container > .top-header .top-nav .nav-left > li a:hover, .header-container > .top-header .top-nav .nav-left > li a:focus,
      .header-container > .top-header .top-nav .nav-right > li a:hover,
      .header-container > .top-header .top-nav .nav-right > li a:focus {
        text-decoration: none; }
      .header-container > .top-header .top-nav .nav-left > li > .btn-group > a,
      .header-container > .top-header .top-nav .nav-left > li > a,
      .header-container > .top-header .top-nav .nav-right > li > .btn-group > a,
      .header-container > .top-header .top-nav .nav-right > li > a {
        position: relative;
        display: block;
        height: 64px;
        padding: 22px 16px; }
        @media (min-width: 768px) {
          .header-container > .top-header .top-nav .nav-left > li > .btn-group > a,
          .header-container > .top-header .top-nav .nav-left > li > a,
          .header-container > .top-header .top-nav .nav-right > li > .btn-group > a,
          .header-container > .top-header .top-nav .nav-right > li > a {
            padding: 22px 20px; } }
        .header-container > .top-header .top-nav .nav-left > li > .btn-group > a > i,
        .header-container > .top-header .top-nav .nav-left > li > a > i,
        .header-container > .top-header .top-nav .nav-right > li > .btn-group > a > i,
        .header-container > .top-header .top-nav .nav-right > li > a > i {
          font-size: 18px; }
        .header-container > .top-header .top-nav .nav-left > li > .btn-group > a .badge,
        .header-container > .top-header .top-nav .nav-left > li > a .badge,
        .header-container > .top-header .top-nav .nav-right > li > .btn-group > a .badge,
        .header-container > .top-header .top-nav .nav-right > li > a .badge {
          position: absolute;
          top: 6px;
          right: 3px; }
          @media (min-width: 768px) {
            .header-container > .top-header .top-nav .nav-left > li > .btn-group > a .badge,
            .header-container > .top-header .top-nav .nav-left > li > a .badge,
            .header-container > .top-header .top-nav .nav-right > li > .btn-group > a .badge,
            .header-container > .top-header .top-nav .nav-right > li > a .badge {
              background-color: transparent;
              color: #aaa; } }
      .header-container > .top-header .top-nav .nav-left > li ul.dropdown-menu a:hover,
      .header-container > .top-header .top-nav .nav-right > li ul.dropdown-menu a:hover {
        background-color: #E11383;
        color: #fff; }
      .header-container > .top-header .top-nav .nav-left > li ul.dropdown-menu .glyphicon,
      .header-container > .top-header .top-nav .nav-right > li ul.dropdown-menu .glyphicon {
        margin-right: 10px; }
  .header-container > .top-header .top-nav .search-box {
    max-width: 180px;
    padding: 12px 0; }
    .header-container > .top-header .top-nav .search-box i {
      font-size: 18px;
      line-height: 20px; }
    .header-container > .top-header .top-nav .search-box .input-group-addon {
      padding: 6px 0 6px 12px;
      border: none;
      background-color: transparent; }
    .header-container > .top-header .top-nav .search-box .form-control {
      border: none;
      background: transparent; }
    .header-container > .top-header .top-nav .search-box .input-bar {
      position: absolute;
      display: block;
      width: 90%;
      bottom: 0;
      left: 5%; }
    .header-container > .top-header .top-nav .search-box .input-bar:before,
    .header-container > .top-header .top-nav .search-box .input-bar:after {
      position: absolute;
      content: '';
      height: 1px;
      width: 0;
      bottom: 1px;
      -webkit-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      -moz-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); }
    .header-container > .top-header .top-nav .search-box .input-bar:before {
      left: 50%; }
    .header-container > .top-header .top-nav .search-box .input-bar:after {
      right: 50%; }
    .header-container > .top-header .top-nav .search-box input:focus ~ .input-bar:before,
    .header-container > .top-header .top-nav .search-box input:focus ~ .input-bar:after {
      width: 50%; }
  .header-container > .top-header .top-nav .nav-left {
    float: left;
    padding: 0; }
    .header-container > .top-header .top-nav .nav-left > li {
      border-right: 1px solid rgba(255, 255, 255, 0.06); }
  .header-container > .top-header .top-nav .nav-right {
    padding: 0; }
    .header-container > .top-header .top-nav .nav-right > li > a {
      text-align: center;
      border-left: 1px solid rgba(255, 255, 255, 0.06); }
    .header-container > .top-header .top-nav .nav-right > li:last-child {
      border-right: 1px solid rgba(255, 255, 255, 0.06); }
      .header-container > .top-header .top-nav .nav-right > li:last-child .dropdown-menu.pull-right {
        right: 10px; }

.header-container > .top-header .langs .active-flag .flag {
  margin-top: -5px; }

.header-container > .top-header .langs .list-langs a {
  position: relative;
  padding: 8px 20px 8px 57px; }
  .header-container > .top-header .langs .list-langs a .flag {
    position: absolute;
    top: 2px;
    left: 15px; }

.skin-check {
  position: relative;
  display: block; }
  .skin-check input[type="radio"] {
    display: none; }
  .skin-check input[type="radio"] + span:hover {
    cursor: pointer; }
  .skin-check input[type="radio"] + span {
    position: relative; }
    .skin-check input[type="radio"] + span > .overlay {
      display: none;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.3);
      text-align: center;
      line-height: 30px;
      color: #fff; }
  .skin-check input[type="radio"]:checked + span > .overlay {
    display: block; }

.skin-item {
  overflow: hidden;
  display: block;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
  margin-bottom: 15px; }
  .skin-item > span {
    display: block;
    float: left;
    width: 50%;
    height: 20px; }
  .skin-item .item-header {
    height: 10px; }

.header-container .dropdown {
  color: #3D4051; }
  .header-container .dropdown a {
    color: #3D4051; }
    .header-container .dropdown a:hover {
      color: #3D4051; }

.header-container.bg-white {
  color: #3D4051; }
  .header-container.bg-white .input-group-addon,
  .header-container.bg-white a {
    color: #3D4051; }
    .header-container.bg-white .input-group-addon:hover,
    .header-container.bg-white a:hover {
      color: #3D4051; }
  .header-container.bg-white a.btn-info,
  .header-container.bg-white a.btn-primary {
    color: white; }
  .header-container.bg-white .search-box .input-bar:before,
  .header-container.bg-white .search-box .input-bar:after {
    background: #3D4051; }

.header-container.bg-dark {
  color: #fafafa; }
  .header-container.bg-dark .input-group-addon,
  .header-container.bg-dark a {
    color: #fafafa; }
    .header-container.bg-dark .input-group-addon:hover,
    .header-container.bg-dark a:hover {
      color: #fafafa; }
  .header-container.bg-dark .search-box .form-control {
    color: #fafafa; }
  .header-container.bg-dark .search-box .input-bar:before,
  .header-container.bg-dark .search-box .input-bar:after {
    background: #fafafa; }

.header-container.bg-primary, .header-container.bg-success, .header-container.bg-info, .header-container.bg-info-alt, .header-container.bg-warning, .header-container.bg-danger {
  color: #fafafa; }
  .header-container.bg-primary a, .header-container.bg-success a, .header-container.bg-info a, .header-container.bg-info-alt a, .header-container.bg-warning a, .header-container.bg-danger a {
    color: #fafafa; }
    .header-container.bg-primary a:hover, .header-container.bg-success a:hover, .header-container.bg-info a:hover, .header-container.bg-info-alt a:hover, .header-container.bg-warning a:hover, .header-container.bg-danger a:hover {
      color: #fafafa; }
  .header-container.bg-primary .dropdown-menu, .header-container.bg-success .dropdown-menu, .header-container.bg-info .dropdown-menu, .header-container.bg-info-alt .dropdown-menu, .header-container.bg-warning .dropdown-menu, .header-container.bg-danger .dropdown-menu {
    color: #3D4051; }
    .header-container.bg-primary .dropdown-menu a, .header-container.bg-success .dropdown-menu a, .header-container.bg-info .dropdown-menu a, .header-container.bg-info-alt .dropdown-menu a, .header-container.bg-warning .dropdown-menu a, .header-container.bg-danger .dropdown-menu a {
      color: #3D4051; }
      .header-container.bg-primary .dropdown-menu a:hover, .header-container.bg-success .dropdown-menu a:hover, .header-container.bg-info .dropdown-menu a:hover, .header-container.bg-info-alt .dropdown-menu a:hover, .header-container.bg-warning .dropdown-menu a:hover, .header-container.bg-danger .dropdown-menu a:hover {
        color: #3D4051; }
  .header-container.bg-primary .input-group-addon, .header-container.bg-success .input-group-addon, .header-container.bg-info .input-group-addon, .header-container.bg-info-alt .input-group-addon, .header-container.bg-warning .input-group-addon, .header-container.bg-danger .input-group-addon {
    color: white; }
  .header-container.bg-primary ::-webkit-input-placeholder, .header-container.bg-success ::-webkit-input-placeholder, .header-container.bg-info ::-webkit-input-placeholder, .header-container.bg-info-alt ::-webkit-input-placeholder, .header-container.bg-warning ::-webkit-input-placeholder, .header-container.bg-danger ::-webkit-input-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary :-moz-placeholder, .header-container.bg-success :-moz-placeholder, .header-container.bg-info :-moz-placeholder, .header-container.bg-info-alt :-moz-placeholder, .header-container.bg-warning :-moz-placeholder, .header-container.bg-danger :-moz-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary ::-moz-placeholder, .header-container.bg-success ::-moz-placeholder, .header-container.bg-info ::-moz-placeholder, .header-container.bg-info-alt ::-moz-placeholder, .header-container.bg-warning ::-moz-placeholder, .header-container.bg-danger ::-moz-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary :-ms-input-placeholder, .header-container.bg-success :-ms-input-placeholder, .header-container.bg-info :-ms-input-placeholder, .header-container.bg-info-alt :-ms-input-placeholder, .header-container.bg-warning :-ms-input-placeholder, .header-container.bg-danger :-ms-input-placeholder {
    color: #eaeaea; }
  .header-container.bg-primary .top-nav .nav-left > li > a .badge, .header-container.bg-success .top-nav .nav-left > li > a .badge, .header-container.bg-info .top-nav .nav-left > li > a .badge, .header-container.bg-info-alt .top-nav .nav-left > li > a .badge, .header-container.bg-warning .top-nav .nav-left > li > a .badge, .header-container.bg-danger .top-nav .nav-left > li > a .badge {
    color: #eaeaea; }
  .header-container.bg-primary .search-box .form-control, .header-container.bg-success .search-box .form-control, .header-container.bg-info .search-box .form-control, .header-container.bg-info-alt .search-box .form-control, .header-container.bg-warning .search-box .form-control, .header-container.bg-danger .search-box .form-control {
    color: #fafafa; }
  .header-container.bg-primary .search-box .input-bar:before,
  .header-container.bg-primary .search-box .input-bar:after, .header-container.bg-success .search-box .input-bar:before,
  .header-container.bg-success .search-box .input-bar:after, .header-container.bg-info .search-box .input-bar:before,
  .header-container.bg-info .search-box .input-bar:after, .header-container.bg-info-alt .search-box .input-bar:before,
  .header-container.bg-info-alt .search-box .input-bar:after, .header-container.bg-warning .search-box .input-bar:before,
  .header-container.bg-warning .search-box .input-bar:after, .header-container.bg-danger .search-box .input-bar:before,
  .header-container.bg-danger .search-box .input-bar:after {
    background: #fafafa; }

.header-container > .top-header .logo {
  border: 1px solid rgba(0, 0, 0, 0.1); }
  @media (min-width: 768px) {
    .header-container > .top-header .logo {
      border: 0; } }
  .header-container > .top-header .logo.bg-white {
    color: #262B33; }
    .header-container > .top-header .logo.bg-white a {
      color: #262B33; }
      .header-container > .top-header .logo.bg-white a:hover {
        color: #262B33; }
    .header-container > .top-header .logo.bg-white + .menu-button .icon-bar {
      background-color: #3D4051; }
    .header-container > .top-header .logo.bg-white + .menu-button:hover .icon-bar {
      background-color: #ffffff; }
  .header-container > .top-header .logo.bg-dark, .header-container > .top-header .logo.bg-primary, .header-container > .top-header .logo.bg-success, .header-container > .top-header .logo.bg-info, .header-container > .top-header .logo.bg-info-alt, .header-container > .top-header .logo.bg-warning, .header-container > .top-header .logo.bg-danger {
    color: #fafafa; }
    .header-container > .top-header .logo.bg-dark a, .header-container > .top-header .logo.bg-primary a, .header-container > .top-header .logo.bg-success a, .header-container > .top-header .logo.bg-info a, .header-container > .top-header .logo.bg-info-alt a, .header-container > .top-header .logo.bg-warning a, .header-container > .top-header .logo.bg-danger a {
      color: #fafafa; }
      .header-container > .top-header .logo.bg-dark a:hover, .header-container > .top-header .logo.bg-primary a:hover, .header-container > .top-header .logo.bg-success a:hover, .header-container > .top-header .logo.bg-info a:hover, .header-container > .top-header .logo.bg-info-alt a:hover, .header-container > .top-header .logo.bg-warning a:hover, .header-container > .top-header .logo.bg-danger a:hover {
        color: #fafafa; }

.preloaderbar {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  margin-bottom: -4px; }
  .preloaderbar .bar {
    position: absolute;
    width: 100%;
    height: 0;
    text-indent: -9999px;
    background-color: #23b7e5; }
    .preloaderbar .bar:before {
      position: absolute;
      right: 50%;
      left: 50%;
      height: 4px;
      background-color: inherit;
      content: ""; }
  .preloaderbar.active {
    -webkit-animation: changebar 2.25s infinite 0.75s;
    -moz-animation: changebar 2.25s infinite 0.75s;
    animation: changebar 2.25s infinite 0.75s; }
  .preloaderbar.active .bar {
    -webkit-animation: changebar 2.25s infinite;
    -moz-animation: changebar 2.25s infinite;
    animation: changebar 2.25s infinite; }
  .preloaderbar.active .bar:before {
    -webkit-animation: movingbar 0.75s infinite;
    -moz-animation: movingbar 0.75s infinite;
    animation: movingbar 0.75s infinite; }

@-webkit-keyframes movingbar {
  0% {
    right: 50%;
    left: 50%; }
  99.9% {
    right: 0;
    left: 0; }
  100% {
    right: 50%;
    left: 50%; } }

@-moz-keyframes movingbar {
  0% {
    right: 50%;
    left: 50%; }
  99.9% {
    right: 0;
    left: 0; }
  100% {
    right: 50%;
    left: 50%; } }

@keyframes movingbar {
  0% {
    right: 50%;
    left: 50%; }
  99.9% {
    right: 0;
    left: 0; }
  100% {
    right: 50%;
    left: 50%; } }

@-webkit-keyframes changebar {
  0% {
    background-color: #8BC34A; }
  33.3% {
    background-color: #8BC34A; }
  33.33% {
    background-color: #FFCA28; }
  66.6% {
    background-color: #FFCA28; }
  66.66% {
    background-color: #F44336; }
  99.9% {
    background-color: #F44336; } }

@-moz-keyframes changebar {
  0% {
    background-color: #8BC34A; }
  33.3% {
    background-color: #8BC34A; }
  33.33% {
    background-color: #FFCA28; }
  66.6% {
    background-color: #FFCA28; }
  66.66% {
    background-color: #F44336; }
  99.9% {
    background-color: #F44336; } }

@keyframes changebar {
  0% {
    background-color: #8BC34A; }
  33.3% {
    background-color: #8BC34A; }
  33.33% {
    background-color: #FFCA28; }
  66.6% {
    background-color: #FFCA28; }
  66.66% {
    background-color: #F44336; }
  99.9% {
    background-color: #F44336; } }

.user-menu-toggle {
  background-color: white; }

body {
  background: #efefef;
  font-family: "Lato", Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55; }

body {
  overflow: hidden;
  max-width: 100%;
  max-height: 100%; }
  body > div {
    overflow: auto;
    display: block;
    max-height: 100%; }

.body-auth.app > .main-container:before,
.body-err.app > .main-container:before {
  background: none; }

@media (min-width: 768px) {
  .body-auth .page-signin,
  .body-auth .page-signup,
  .body-auth .page-forgot,
  .body-auth .page-err,
  .body-err .page-signin,
  .body-err .page-signup,
  .body-err .page-forgot,
  .body-err .page-err {
    margin-right: 220px; } }

@media (min-width: 768px) {
  .body-auth.nav-collapsed-min .page-signin,
  .body-auth.nav-collapsed-min .page-signup,
  .body-auth.nav-collapsed-min .page-forgot,
  .body-auth.nav-collapsed-min .page-err,
  .body-err.nav-collapsed-min .page-signin,
  .body-err.nav-collapsed-min .page-signup,
  .body-err.nav-collapsed-min .page-forgot,
  .body-err.nav-collapsed-min .page-err {
    margin-right: 60px; } }

@media (min-width: 768px) {
  .body-auth .nav-horizontal + .content-container .page-signin,
  .body-auth .nav-horizontal + .content-container .page-signup,
  .body-auth .nav-horizontal + .content-container .page-forgot,
  .body-auth .nav-horizontal + .content-container .page-err,
  .body-err .nav-horizontal + .content-container .page-signin,
  .body-err .nav-horizontal + .content-container .page-signup,
  .body-err .nav-horizontal + .content-container .page-forgot,
  .body-err .nav-horizontal + .content-container .page-err {
    margin-right: 0; } }

.body-wide #header,
.body-wide #nav-container {
  display: none; }

.body-wide > .main-container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0; }

.body-wide #content {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-bottom: 0; }

.body-wide.on-canvas .main-container #content {
  margin-left: 0;
  margin-right: 0; }

text-angular .popover {
  display: none; }

.mkHTMLEditor .ta-toolbar {
  background: #EEEEEE;
  margin-left: 0;
  /*
    position:fixed;
    top:80px;
    z-index: 1000;
    right:40px;
    left:40px;
    */ }

/*

.statictoolbar
{
    position: fixed;
    top: 0px;
    z-index: 200;
    left: 37px;
    right: 32px;
    background:#0FF;
    border:thin solid red;
}

 */
.mkHTMLEditor .ta-toolbar .btn-group {
  margin: 5px; }

.mkHTMLEditor .ta-toolbar .btn-group .btn {
  border: thin solid lightgray;
  background: white !important; }

.mkHTMLEditor .ta-toolbar .btn-group .btn:first-child {
  border-radius: 6px 0 0 6px; }

.mkHTMLEditor .ta-toolbar .btn-group .btn:last-child {
  border-radius: 0 6px 6px 0; }

.mdp-calendar-monthyear {
  font-size: 1.5em !important; }

.mdp-timepicker-selected-time span.active,
.mdp-datepicker-date {
  color: deeppink;
  text-shadow: 1px 1px 2px lightgrey; }

#eventEditorTab li.active a {
  background-color: white !important;
  color: dimgray !important;
  font-weight: bold; }

/*

body > header
{
    margin-top:-1.45em;
}

 */
.mk-tag {
  display: inline-block;
  border-radius: 5px;
  background-color: white;
  font-family: "Arial Rounded MT Bold",sans-serif;
  color: dimgray;
  border: 1px solid #DDD;
  padding: 4px;
  margin-right: 5px;
  margin-top: 5px; }

.mk-tag-delete {
  display: inline;
  color: black;
  margin-left: 6px;
  cursor: pointer; }

.mk-tag-delete:hover,
.mk-tag-delete:focus,
.mk-tag-add:hover,
.mk-tag-add:focus {
  color: red; }

.mk-tag-add {
  color: darkgreen;
  cursor: pointer;
  padding-left: 10px;
  padding-right: 10px; }

.mk-tag input {
  border: none; }

.md-toast.success {
  background-color: green; }

@keyframes blink {
  50% {
    opacity: 0.0; } }

@-webkit-keyframes blink {
  50% {
    opacity: 0.0; } }

.blink {
  animation: blink 1s step-start 0s infinite;
  -webkit-animation: blink 1s step-start 0s infinite; }

.mk-dashboard-stat-gradient {
  /* can be treated like a fallback */
  background-color: #FFEEEE;
  /* will be "on top", if browser supports it */
  background-image: linear-gradient(#EEEEEE, #FFFFFF);
  /* these will reset other properties, like background-position, but it does know what you mean */
  background: #FFEEEE;
  background: linear-gradient(#FFEEEE, #FFFFFF);
  border-right: thin dotted white; }

/* 20181018 */
/**
 * Scoops
 * Please note heights are custom-coded for MK main Web page 20180913
 */
/* OLD

.scoop-wrapper
{
    padding:5px;
    margin:0;
    background-color:white;
    overflow: hidden;
    border:thin solid $pink;
    height:auto;
    margin-bottom:10px;

    .scoop-title
    {
        font-family: Impact, Charcoal, sans-serif;
        font-size: 2.0em;
        color:#4D4D4D;
    }

    @media only screen and (min-width:767px )
    {
        height:285px;

        background-color:white;

        .scoop-title
        {
            font-size:1.5em;
        }
    }

    @media only screen and ( min-width:900px )
    {
        height:441px;

        background-color:white;

        .scoop-title
        {
            font-size:1.75em;
        }
    }

    @media only screen and (min-width:1000px )
    {
        height:525px;

        background-color:white;

        .scoop-title
        {
            font-size:2.1em;
        }
    }

    @media only screen and (min-width:1050px )
    {
        height:525px;
        width:360px;

        background-color:white;

        .scoop-title
        {
            font-size:2.1em;
        }
    }

    .scoop-body
    {
        color: inherit;
        margin:0;

    }
}

 */
/**
 * Scoops
 * Please note heights are custom-coded for MK main Web page 20180913
 */
.scoop-detail-wrapper,
.scoop-previous-wrapper {
  padding: 5px;
  background-color: white;
  border: thin solid #E11383;
  border-radius: 0 20px 0 0;
  font-family: "Lato", Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55; }

.scoop-previous-wrapper {
  padding: 0; }

.scoop-teaser-wrapper {
  padding: 5px;
  margin: 0;
  background-color: white;
  border: thin solid #E11383;
  font-family: "Lato", Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.55; }
  .scoop-teaser-wrapper .scoop-title {
    font-family: Impact, Charcoal, sans-serif;
    font-size: 2.0em;
    color: #4D4D4D; }
  @media only screen and (min-width: 600px) {
    .scoop-teaser-wrapper {
      height: auto; }
      .scoop-teaser-wrapper .scoop-title {
        font-size: 2.0em; }
      .scoop-teaser-wrapper .scoop-body {
        height: auto !important; } }
  @media only screen and (min-width: 767px) {
    .scoop-teaser-wrapper {
      height: 272px; }
      .scoop-teaser-wrapper .scoop-title {
        font-size: 1.25em; }
      .scoop-teaser-wrapper .scoop-body {
        height: 240px !important; } }
  @media only screen and (min-width: 900px) {
    .scoop-teaser-wrapper {
      height: 428px; }
      .scoop-teaser-wrapper .scoop-title {
        font-size: 1.5em; }
      .scoop-teaser-wrapper .scoop-body {
        height: 396px !important; } }
  @media only screen and (min-width: 1000px) {
    .scoop-teaser-wrapper {
      height: 512px;
      width: 350px; }
      .scoop-teaser-wrapper .scoop-title {
        font-size: 1.75em; }
      .scoop-teaser-wrapper .scoop-body {
        height: 480px !important; } }
  .scoop-teaser-wrapper .scoop-body {
    font-family: "Lato", Arial, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.55;
    height: auto;
    color: black;
    margin: 0 !important;
    overflow: hidden;
    padding: 0 !important; }

.scoopTeaserClicker {
  color: #E11383;
  text-align: center;
  height: 22px !important;
  line-height: 22px !important;
  font-size: 14px !important;
  margin-top: 3px;
  border-top: thin solid lightgray; }

.scoop-teaser-body {
  padding-top: 3px !important; }

.scoop-teaser-body,
.scoop-teaser-body p {
  font-family: "Lato", Arial, sans-serif;
  font-size: 18px;
  line-height: 16px !important;
  font-weight: normal !important; }

.scoop-teaser-body p {
  margin: 6px 0 3px 0 !important; }

.scoop-teaser-body img {
  margin-top: 0 !important;
  border: none !important; }

.stat-count + .tooltip > .tooltip-inner {
  text-align: left;
  min-width: 300px; }
  .stat-count + .tooltip > .tooltip-inner ul {
    padding-left: 20px;
    padding-top: 10px; }

.ta-editor.form-control.mkHTMLTextArea,
.ta-scroll-window.form-control.mkHTMLTextArea,
.ta-editor.form-control.mkHTMLTextAreaShort,
.ta-scroll-window.form-control.mkHTMLTextAreaShort {
  min-height: 100px;
  height: auto;
  overflow: auto;
  font-family: inherit;
  font-size: 100%; }

.ta-editor.form-control.mkHTMLTextAreaShort,
.ta-scroll-window.form-control.mkHTMLTextAreaShort {
  min-height: 30px; }

.form-control.mkHTMLTextArea > .ta-bind,
.form-control.mkHTMLTextAreaShort > .ta-bind {
  height: auto;
  min-height: 100px;
  padding: 6px 12px; }

.form-control.mkHTMLTextAreaShort > .ta-bind {
  /* min-height: 500px; */ }

.ta-toolbar {
  display: none; }

.ta-toolbar.focussed {
  display: block; }

.input-group-addon {
  min-width: 95px !important;
  text-shadow: 1px 1px 2px white;
  border-radius: 5px 0 0 0; }

.btn-mini {
  padding: 2px 6px;
  font-size: 11px;
  line-height: 13px; }

.input-group-addon.group-wide {
  min-width: 130px !important; }

/* FOLLOWING FOR FILE UPLOAD DND: 20200108*/
.plannerEditBotRight {
  z-index: 100;
  position: fixed;
  top: 50%;
  right: 10px;
  width: 300px !important;
  height: 200px !important; }

.plannerEditBotLeft {
  position: absolute;
  bottom: 250px;
  left: 0;
  width: 300px !important;
  height: 250px !important; }

.modal-backdrop.in {
  z-index: auto !important; }

.imageUploadDropzone {
  width: 200px;
  height: 200px;
  border: 2px solid #ccc;
  background-color: #FFFFDD;
  color: darkred;
  text-align: center;
  padding: 10px;
  font-family: Arial,sans-serif; }

.imageUploadContainer {
  width: 200px;
  height: 200px; }

.imageUploadContainer img {
  max-width: 100%; }

.imageUploadFileName {
  font-family: Arial; }

.grab {
  cursor: grab; }

/**
 * The dnd-list should always have a min-height,
 * otherwise you can't drop to it once it's empty
 */
.basicPlanner ul[dnd-list] {
  min-height: 1.3em;
  padding-left: 0; }

/**
 * The dndDraggingSource class will be applied to
 * the source element of a drag operation. It makes
 * sense to hide it to give the user the feeling
 * that he's actually moving it.
 */
.basicPlanner ul[dnd-list] .dndDraggingSource {
  display: none; }

/**
 * An element with .dndPlaceholder class will be
 * added to the dnd-list while the user is dragging
 * over it.
 */
.basicPlanner ul[dnd-list] .dndPlaceholder {
  background-color: #ddd;
  display: block;
  min-height: 1.3em; }

.basicPlanner ul[dnd-list] li {
  background-color: #fff;
  /* border: 1px solid #ddd; */
  display: block;
  padding: 5px 5px;
  margin-bottom: -1px; }

/**
 * Show selected elements in green
 */
.basicPlanner ul[dnd-list] li.selected {
  background-color: #dff0d8;
  color: #3c763d; }

.basicPlanner ul[dnd-list] li.separator {
  background-color: #E11383;
  color: white; }

.nowrap {
  white-space: nowrap; }

.textEllipsis {
  padding-top: 7px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap; }

.w-05 {
  width: 5% !important; }

.gray-row {
  background-color: #f4f4f4 !important; }

.custom-tags .md-chips md-chip {
  background: #e11383;
  color: white;
  height: auto;
  line-height: normal;
  padding: 4px 12px;
  display: flex;
  align-items: center; }
  .custom-tags .md-chips md-chip p {
    font-size: 13px;
    margin-bottom: 2px; }
  .custom-tags .md-chips md-chip .md-chip-remove-container {
    position: relative; }

.custom-tags .md-chips.md-removable md-chip {
  padding-right: 4px; }

.bg-light-orange {
  background-color: #fe8b0f; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImdsb2JhbC9fdmFyLnNjc3MiLCJnbG9iYWwvX3Zhci1leHRyYS5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fbGFiZWxzLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19wYW5lbHMuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19wcm9ncmVzcy1iYXIuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19uYXYtdmVydGljYWwtYWxpZ24uc2NzcyIsImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsImJvdXJib24vX2JvdXJib24uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy1mYWxzeS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbnVtYmVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwiYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXN0eWxlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsImdsb2JhbC9fc2hhcmVkLnNjc3MiLCJwbHVnaW5zL19hbmd1bGFyLWJvb3RzdHJhcC5zY3NzIiwicGx1Z2lucy9fYW5ndWxhci1tYXRlcmlhbC5zY3NzIiwicGx1Z2lucy9fYW5ndWxhci11aS10cmVlLnNjc3MiLCJwbHVnaW5zL19yZXNwb25zaXZlLXRhYmxlcy5zY3NzIiwicGx1Z2lucy9fanF1ZXJ5LXN0ZXBzLnNjc3MiLCJwbHVnaW5zL19hbmd1bGFyLXdpemFyZC5zY3NzIiwiZ2xvYmFsL192YXItcGFnZXMuc2NzcyIsInBhZ2VzL19kYXNoYm9hcmQuc2NzcyIsInBhZ2VzL19wYWdlcy5zY3NzIiwicGFnZXMvX2Vycm9yLnNjc3MiLCJwYWdlcy9fYXV0aC5zY3NzIiwicGFnZXMvX3Byb2ZpbGUuc2NzcyIsInBhZ2VzL19pbnZvaWNlLnNjc3MiLCJwYWdlcy9fdWkuc2NzcyIsInBhZ2VzL19mZWF0dXJlcy5zY3NzIiwicGFnZXMvX2RlbW8uc2NzcyIsInBhZ2VzL19kZW1vLW1hdGVyaWFsLnNjc3MiLCJwYWdlcy9fYXJ0aWNsZS5zY3NzIiwibGF5b3V0L19sYXlvdXRzLnNjc3MiLCJsYXlvdXQvX25hdi5zY3NzIiwibGF5b3V0L19uYXYtb2ZmLWNhbnZhcy5zY3NzIiwibGF5b3V0L19uYXYtaG9yaXpvbnRhbC5zY3NzIiwibGF5b3V0L19uYXYtbWluLnNjc3MiLCJsYXlvdXQvX25hdi1jb2xvci5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fYm9keS5zY3NzIiwibGF5b3V0L19sYXN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU2hhcmVkIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiZ2xvYmFsL3ZhclwiIC8vIGdsb2JhbCB2YXJpYWJsZXNcbiwgXCJnbG9iYWwvdmFyLWV4dHJhXCIgLy8gZXh0cmEgZ2xvYmFsIHZhcmlhYmxlc1xuLCBcImJvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zXCIgLy8gQm9vdHN0cmFwIG1peGluc1xuLCBcImJvdXJib24vYm91cmJvblwiIC8vIG1peGluc1xuO1xuXG5cbkBpbXBvcnQgXCJnbG9iYWwvc2hhcmVkXCJcblxuLy8gUGx1Z2lucywgb3ZlcnJpZGVzIHBsdWdpbnMnIHN0eWxlXG4sIFwicGx1Z2lucy9hbmd1bGFyLWJvb3RzdHJhcFwiXG4sIFwicGx1Z2lucy9hbmd1bGFyLW1hdGVyaWFsXCJcbiwgXCJwbHVnaW5zL2FuZ3VsYXItdWktdHJlZVwiXG4sIFwicGx1Z2lucy9yZXNwb25zaXZlLXRhYmxlc1wiXG4sIFwicGx1Z2lucy9qcXVlcnktc3RlcHNcIlxuLCBcInBsdWdpbnMvYW5ndWxhci13aXphcmRcIlxuXG4vLyBQYWdlc1xuLCBcImdsb2JhbC92YXItcGFnZXNcIlxuLCBcInBhZ2VzL2Rhc2hib2FyZFwiXG4sIFwicGFnZXMvcGFnZXNcIlxuLCBcInBhZ2VzL2Vycm9yXCJcbiwgXCJwYWdlcy9hdXRoXCJcbiwgXCJwYWdlcy9wcm9maWxlXCJcbiwgXCJwYWdlcy9pbnZvaWNlXCJcbiwgXCJwYWdlcy91aVwiXG4sIFwicGFnZXMvZmVhdHVyZXNcIlxuLCBcInBhZ2VzL2RlbW9cIlxuLCBcInBhZ2VzL2RlbW8tbWF0ZXJpYWxcIlxuLCBcInBhZ2VzL19hcnRpY2xlXCJcblxuLy8gc2VjdGlvbnNcbiwgXCJsYXlvdXQvbGF5b3V0c1wiXG4sIFwibGF5b3V0L25hdlwiXG4sIFwibGF5b3V0L25hdi1vZmYtY2FudmFzXCJcbiwgXCJsYXlvdXQvbmF2LWhvcml6b250YWxcIlxuLCBcImxheW91dC9uYXYtbWluXCJcbiwgXCJsYXlvdXQvbmF2LWNvbG9yXCJcbiwgXCJsYXlvdXQvaGVhZGVyXCJcbiwgXCJsYXlvdXQvYm9keVwiXG4sIFwibGF5b3V0L2xhc3RcIlxuO1xuXG4uY3VzdG9tLXRhZ3Mge1xuICAgIC5tZC1jaGlwcyBtZC1jaGlwIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiKDIyNSwgMTksIDEzMSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZC1jaGlwLXJlbW92ZS1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kLWNoaXBzLm1kLXJlbW92YWJsZSBtZC1jaGlwIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIH1cbn1cbi5iZy1saWdodC1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZThiMGY7XG59XG4iLCIvLyBXaGVuIHRydWUsIGFzc2V0IHBhdGggaGVscGVycyBhcmUgdXNlZCwgb3RoZXJ3aXNlIHRoZSByZWd1bGFyIENTUyBgdXJsKClgIGlzIHVzZWQuXG4vLyBXaGVuIHRoZXJlIG5vIGZ1bmN0aW9uIGlzIGRlZmluZWQsIGBmbignJylgIGlzIHBhcnNlZCBhcyBzdHJpbmcgdGhhdCBlcXVhbHMgdGhlIHJpZ2h0IGhhbmQgc2lkZVxuLy8gTkI6IGluIFNhc3MgMy4zIHRoZXJlIGlzIGEgbmF0aXZlIGZ1bmN0aW9uOiBmdW5jdGlvbi1leGlzdHModHdicy1mb250LXBhdGgpXG4kYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiAodHdicy1mb250LXBhdGgoXCJcIikgIT0gdW5xdW90ZSgndHdicy1mb250LXBhdGgoXCJcIiknKSkgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBTQVNTIFZBUklBQkxFUyAqL1xuLyogV0FTOiAyMDIwMTIwNSBOQUxFWFxuXG5AaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczo0MDAsMzAwLDUwMCw2MDApO1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQpO1xuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxhdG8pO1xuXG4gKi9cblxuQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvcHBpbnM6NDAwLDMwMCw1MDAsNjAwfE1vbnRzZXJyYXQ6MzAwLDQwMCw1MDAsNjAwfExhdG86MzAwLDQwMCw1MDAsNjAwKTtcblxuJGdyZXk6ICAgICAgICAgICAgICAjNEQ0RDREO1xuJGxpZ2h0LWdyZXk6ICAgICAgICAjQTdBOUFDO1xuJGxpZ2h0ZXItZ3JleTogICAgICAjRjBGMEYxO1xuJGJsdWU6ICAgICAgICAgICAgICAjMDg5MkIyO1xuJGxpZ2h0LWJsdWU6ICAgICAgICAjNzJEMEVCO1xuJHBpbms6ICAgICAgICAgICAgICAjRTExMzgzO1xuJGxpZ2h0LXBpbms6ICAgICAgICByZ2JhKDIyNSwxOSwxMzEsMC42KTtcbiRsaWdodGVyLXBpbms6ICAgICAgcmdiYSgyMjUsMTksMTMxLDAuNSk7XG5cbiRwb3BwaW5zOiAgICAgICAgICAgJ1BvcHBpbnMnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kbW9udHNlcnJhdDogICAgICAgICdNb250c2VycmF0JywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbiRkZWZhdWx0LWZvbnQ6ICAgICAgICdMYXRvJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZGVmYXVsdC13ZWlnaHQ6IDQwMDtcbiRkZWZhdWx0LWZvbnQtc2l6ZTogMThweDtcbiRkZWZhdWx0LWxpbmUtaGVpZ2h0OiAxLjU1O1xuXG4vKiAyMDE5MDQyMiBOQUxFWCBTVFJPTExFUiBUUkFGRklDICovXG5cbiRzdC1ncmVlbjogICAgICAgICAgIzIyQzBDMTtcbiRzdC1saWdodC1wdXJwbGU6ICAgIzlGMkU2MjtcbiRzdC1kYXJrLXB1cnBsZTogICAgIzYwNTM2NztcblxuJGhvbWVzdGVhZDogICAgICAgICAnSG9tZXN0ZWFkJywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuJGdyYXktYmFzZTogICAgICAgICAgICAgICRncmV5ICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjOEJDMzRBICFkZWZhdWx0OyAvLyBMaWdodCBHcmVlbiA1MDBcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICMwMEJDRDQgIWRlZmF1bHQ7IC8vIEN5YW4gNTAwXG4kYnJhbmQtaW5mby1hbHQ6ICAgICAgICAjN0U1N0MyICFkZWZhdWx0OyAvLyBEZWVwIFB1cnBsZSA0MDBcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNGRkNBMjggIWRlZmF1bHQ7IC8vIEFtYmVyIDQwMFxuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI0Y0NDMzNiAhZGVmYXVsdDsgLy8gUmVkIDUwMFxuXG4kc2tpbjogICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRza2luLWxpZ2h0OiAgICAgICAgICAgICM1QzZCQzA7XG4kc2tpbi1hY2NlbnQ6ICAgICAgICAgICAkbGlnaHQtYmx1ZTtcbiRza2luLXdhcm46ICAgICAgICAgICAgICRicmFuZC1kYW5nZXI7XG4kc2tpbi1ncmF5LWRhcms6ICAgICAgICAkbGlnaHQtZ3JleTtcbiRza2luLWdyYXk6ICAgICAgICAgICAgICRsaWdodGVyLWdyZXk7XG5cbiRkYXJrOiAgICAgICAgICAgICAgICAgICMyNjJCMzM7XG4kZGFyay1saWdodDogICAgICAgICAgICAjM0Q0MDUxO1xuJGRhcmstbGlnaHRlcjogICAgICAgICAgI0EwQTJBQTtcbiRicmlnaHQ6ICAgICAgICAgICAgICAgICNmYWZhZmE7XG4kcmV2ZXJzZTogICAgICAgICAgICAgICAjZmZmZmZmO1xuXG4kc3RhdGUtZGVmYXVsdC1iZzogICAgICAgICAgICAgICNGMkY3Rjc7IC8vIGFsc286IGZsYXQgYnV0dG9uIGJnLCBwYWdpbmF0aW9uIGJnXG4kc3RhdGUtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kZWZhdWx0LWJnLCAtMTApLCA1JSk7XG4kc3RhdGUtZGVmYXVsdC1ib3JkZXItbGlnaHQ6ICAgICNmM2YzZjM7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmM2YzZjMgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGRhcmstbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNCkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIDIwcHggIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG4kaWNvbi1mb250LXBhdGg6ICAgICAgICAgIFwiLi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgOHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDJweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAycHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgMnB4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0b3IgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgZm9yIGNlbGxzIGluIGAudGFibGUtY29uZGVuc2VkYC5cbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICAjZjlmOWY5ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkdGFibGUtYmctaG92ZXIgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuXG4kYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICRicmlnaHQgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAkYnRuLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgICRidG4td2FybmluZy1iZyAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAkYnRuLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWFsdC1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1hbHQtYmc6ICAgICAgICAgICAgICAgICRicmFuZC1pbmZvLWFsdCAhZGVmYXVsdDtcbiRidG4taW5mby1hbHQtYm9yZGVyOiAgICAgICAgICAgICRidG4taW5mby1hbHQtYmcgIWRlZmF1bHQ7XG5cbiRidG4tZGFyay1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgICAkZGFyayAhZGVmYXVsdDtcbiRidG4tZGFyay1ib3JkZXI6ICAgICAgICAgICAgICAgICRidG4tZGFyay1iZyAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI0NCRDVERCAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBOb3RlOiBEZXByZWNhdGVkICRkcm9wZG93bi1jYXJldC1jb2xvciBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICgoJG5hdmJhci1oZWlnaHQgLSAkbGluZS1oZWlnaHQtY29tcHV0ZWQpIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkY2UwZTAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNhYWEgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1kZWZhdWx0LWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWRlZmF1bHQtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzY4N0Y0MiAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNGMEZCRTMgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjM0I3OTlBICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI0U2RjVGRCAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM5QTdFMjYgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjRkZGQUVEICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI0ExNTEzQyAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNGQkU5RTYgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAkZGFyayAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRkYXJrICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgJGRhcmsgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgJGRhcmsgIWRlZmF1bHQ7XG5cblxuLy89PSBMYWJlbHNcbi8vXG4vLyMjXG5cbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBsYWJlbCB0ZXh0IGNvbG9yXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcbiRsYWJlbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBNb2RhbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIGNvbnRlbnQgYXJlYVxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBiYWNrZHJvcCBvcGFjaXR5XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLz09IEFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcblxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBWYXJpYWJsZSBmb3Igc2V0dGluZyByb3VuZGVkIGNvcm5lcnMgb24gcHJvZ3Jlc3MgYmFyLlxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgMCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmc6ICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy89PSBMaXN0IGdyb3VwXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIGAubGlzdC1ncm91cC1pdGVtYCBib3JkZXIgY29sb3JcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2VmZjJmNyAhZGVmYXVsdDtcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBlbGVtZW50cyBvbiBob3ZlclxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3Igb2YgYWN0aXZlIGxpc3QgZWxlbWVudHNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYm9yZGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yOiAgICRsaXN0LWdyb3VwLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBQYW5lbHNcbi8vXG4vLyMjXG5cbiRwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtYm9keS1wYWRkaW5nOiAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgJHBhbmVsLWhlYWRpbmctcGFkZGluZyAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBlbGVtZW50cyB3aXRoaW4gcGFuZWxzXG4kcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAkc3RhdGUtZGVmYXVsdC1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZmFmYWZhICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICRzdGF0ZS1kZWZhdWx0LWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICRzdGF0ZS1kZWZhdWx0LWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktYm9yZGVyOiAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciBjb2xvclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbiR0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xuJHRodW1ibmFpbC1jYXB0aW9uLWNvbG9yOiAgICAgJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxuJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gV2VsbHNcbi8vXG4vLyMjXG5cbiR3ZWxsLWJnOiAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcblxuXG4vLz09IEJhZGdlc1xuLy9cbi8vIyNcblxuJGJhZGdlLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYmFkZ2UtYmc6ICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBCcmVhZGNydW1ic1xuLy9cbi8vIyNcblxuJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbDogICA4cHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkc3RhdGUtZGVmYXVsdC1iZyAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICRzdGF0ZS1kZWZhdWx0LWJvcmRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcbiRicmVhZGNydW1iLXNlcGFyYXRvcjogICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDYXJvdXNlbFxuLy9cbi8vIyNcblxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2xvc2Vcbi8vXG4vLyMjXG5cbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29kZVxuLy9cbi8vIyNcblxuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZSAhZGVmYXVsdDtcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG4kcHJlLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLz09IFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuLy8qKiBUZXh0IG11dGVkIGNvbG9yXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBmb250IHNpemVcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogV2lkdGggb2YgaG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0IHRpdGxlc1xuJGRsLWhvcml6b250YWwtb2Zmc2V0OiAgICAgICAgJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXG4kZGwtaG9yaXpvbnRhbC1icmVha3BvaW50OiAgICAkZ3JpZC1mbG9hdC1icmVha3BvaW50ICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiXG5cbi8vPT0gVHlwb2dyYXBoeVxuJGZvbnQtd2VpZ2h0LXRoaW46ICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWNvbmRlbnNlZDogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cblxuLy8gQ2FyZHMgXG4kY2FyZC1wYWRkaW5nOiAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtY2FyZDogICAgMnB4ICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgVmFyaWFibGVzXG4kZWxlbWVudC10b3AtbWFyZ2luOiAgICAgICAgKCRncmlkLWd1dHRlci13aWR0aC8zKSAhZGVmYXVsdDtcbiRlbGVtZW50LWJvdHRvbS1tYXJnaW46ICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoKjIpLzMgIWRlZmF1bHQ7XG5cbi8vIEFuaW1hdGlvblxuJG1hdGVyaWFsX2FuaW1hdGlvbjogICAgICAgIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuXG5cbi8vIGJveCBzaGFkb3dcbi56LWRlcHRoLTEge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLnotZGVwdGgtMS1oYWxmIHtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KSwgMCA0cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4uei1kZXB0aC0yIHtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDZweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE5KTtcbn1cbi56LWRlcHRoLTMge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI0KSwgMCAxN3B4IDUwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xufVxuLnotZGVwdGgtNCB7XG4gICAgYm94LXNoYWRvdzogMCAxNnB4IDI4cHggMCByZ2JhKDAsIDAsIDAsIDAuMjIpLCAwIDI1cHggNTVweCAwIHJnYmEoMCwgMCwgMCwgMC4yMSk7XG59XG4uei1kZXB0aC01IHtcbiAgICBib3gtc2hhZG93OiAwIDI3cHggMjRweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA0MHB4IDc3cHggMCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufSIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsc1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC1maWx0ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYi1mb2N1c1wiO1xuQGltcG9ydCBcIm1peGlucy9yZXNldC10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtZW1waGFzaXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1vdmVyZmxvd1wiO1xuQGltcG9ydCBcIm1peGlucy92ZW5kb3ItcHJlZml4ZXNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9wYW5lbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzLWJhclwiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jZW50ZXItYmxvY2tcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuLy9cbi8vIEhlYWRzIHVwISB2MyBsYXVuY2hlZCB3aXRoIG9ubHkgYC5oaWRlLXRleHQoKWAsIGJ1dCBwZXIgb3VyIHBhdHRlcm4gZm9yXG4vLyBtaXhpbnMgYmVpbmcgcmV1c2VkIGFzIGNsYXNzZXMgd2l0aCB0aGUgc2FtZSBuYW1lLCB0aGlzIGRvZXNuJ3QgaG9sZCB1cC4gQXNcbi8vIG9mIHYzLjAuMSB3ZSBoYXZlIGFkZGVkIGAudGV4dC1oaWRlKClgIGFuZCBkZXByZWNhdGVkIGAuaGlkZS10ZXh0KClgLlxuLy9cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvY29tbWl0L2FhMDM5NmVhZTc1N1xuXG4vLyBEZXByZWNhdGVkIGFzIG9mIHYzLjAuMSAoaGFzIGJlZW4gcmVtb3ZlZCBpbiB2NClcbkBtaXhpbiBoaWRlLXRleHQoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuQG1peGluIHRleHQtaGlkZSgpIHtcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xufVxuIiwiLy8gT3BhY2l0eVxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgLy8gSUU4IGZpbHRlclxuICAkb3BhY2l0eS1pZTogKCRvcGFjaXR5ICogMTAwKTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRvcGFjaXR5LWllKTtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBMYWJlbHNcblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG5AbWl4aW4gcmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpO1xufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgQGluY2x1ZGUgc2l6ZSgkc2l6ZSwgJHNpemUpO1xufVxuIiwiLy8gV2ViS2l0LXN0eWxlIGZvY3VzXG5cbkBtaXhpbiB0YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIC8vIFdlYktpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBQYW5lbHNcblxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmLCBidXR0b24mIHRvIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSwgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX1cbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xufVxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgZmxvb3IoKCRndXR0ZXIgLyAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNlaWwoKCRndXR0ZXIgLyAyKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gQm91cmJvbiA0LjIuMlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiBudWxsO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XG4gIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IHJhZGlhbClcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogaXMtbnVtYmVyKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDAsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDAsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgdGhlIHNwZWMgYW5kIHByZWZpeGVkIHZlcnNpb25zIG9mIHRoZSBgOjpzZWxlY3Rpb25gIHBzZXVkby1lbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXG4vLy8gICBJZiBzZXQgdG8gYHRydWVgLCBpdCB0YWtlcyB0aGUgY3VycmVudCBlbGVtZW50IGludG8gY29uc2lkZXJhdGlvbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYjUyO1xuLy8vICAgfVxuXG5AbWl4aW4gc2VsZWN0aW9uKCRjdXJyZW50LXNlbGVjdG9yOiBmYWxzZSkge1xuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xuICAgICY6Oi1tb3otc2VsZWN0aW9uIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgOjpzZWxlY3Rpb24ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcblxuJGFsbC10ZXh0LWlucHV0czogICAgICAgIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QpO1xuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgZm9jdXMpO1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGhvdmVyKTtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8vXG4vLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtb2VkIGhlcmU6IGh0dHA6Ly9qcXVlcnl1aS5jb20vcmVzb3VyY2VzL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuLy8vXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXG5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZS1vdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWFydDogICAgY3ViaWMtYmV6aWVyKDAuMTY1LCAgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlLW91dC1leHBvOiAgICAgY3ViaWMtYmV6aWVyKDAuMTkwLCAgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpID09IDIsIG50aCgkY29sb3IsIDIpLCB0cmFuc3BhcmVudCk7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdyYXAgW2JyZWFrLXdvcmRdXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLndyYXBwZXIge1xuLy8vICAgICBAaW5jbHVkZSB3b3JkLXdyYXAoYnJlYWstd29yZCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vLyAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuLy8vICAgfVxuXG5AbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA5JSwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gU2hpbnkgQnV0dG9uXG5AbWl4aW4gc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTI2LCAkZ3JlZW46IC0xMjcsICRibHVlOiAtMTIyKTtcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcbiAgJHNlY29uZC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTU2LCAgJGdyZWVuOiAtNTAsICAkYmx1ZTogLTMzKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkZm91cnRoLXN0b3A6ICAgZ3JheXNjYWxlKCRmb3VydGgtc3RvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICAgICR0aGlyZC1zdG9wOiAgICBncmF5c2NhbGUoJHRoaXJkLXN0b3ApO1xuICB9XG5cbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcbiAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTY2LCAkZ3JlZW46IC02MiwgJGJsdWU6IC01MSk7XG4gICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC05MywgJGdyZWVuOiAtODUsICRibHVlOiAtNjYpO1xuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xuICAgICAgJHNlY29uZC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJHNlY29uZC1zdG9wLWhvdmVyKTtcbiAgICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wLWhvdmVyKTtcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFBpbGwgQnV0dG9uXG5AbWl4aW4gcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTExJSwgJGxpZ2h0bmVzczogLTI2JSk7XG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTElLCAgJGxpZ2h0bmVzczogIDclKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICRib3JkZXItdG9wOiAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xuICAgICRib3JkZXItc2lkZXM6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIlLCAgICAkbGlnaHRuZXNzOiAtMjclKTtcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtNCUsICAgICRsaWdodG5lc3M6IC0xNS41JSk7XG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICAgJGJvcmRlci1zaWRlczogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcblxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cblxuQG1peGluIGJveC1zaXppbmcoJGJveCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIEB3YXJuIFwiVGhlIGJveC1zaXppbmcgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gVGhpcyBwcm9wZXJ0eSBjYW4gbm93IGJlIHVzZWQgdW4tcHJlZml4ZWQuXCI7XG59XG4iLCJAbWVkaWEgcHJpbnQge1xuICAgLm5vLXByaW50e1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuXG4uY2xpY2stYmxvY2tlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLWFjdGl2ZSB7XG4gICAgei1pbmRleDogOTk5OTtcbn1cblxuLnRvcC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG4uYm90dG9tLW1hcmdpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbi5vaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxubWQtdG9hc3QubWQtc3VjY2Vzcy10aGVtZSAubWQtdG9hc3QtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1zdWNjZXNzO1xufVxubWQtdG9hc3QubWQtZXJyb3ItdGhlbWUgLm1kLXRvYXN0LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xufVxuXG4uYWRtaW4tbWVudS1sYWJlbCB7XG4gICAgY29sb3I6ICRicmFuZC1kYW5nZXIgIWltcG9ydGFudDtcbn1cblxuLnNvY2lhbC1pY29ucyAuZmEtZmFjZWJvb2sge2NvbG9yOiMzQzU5OUY7fVxuLnNvY2lhbC1pY29ucyAuZmEtZ29vZ2xlLXBsdXMge2NvbG9yOiNDRjNEMkU7fVxuLnNvY2lhbC1pY29ucyAuZmEtaW5zdGFncmFte2NvbG9yOiMwMDAwMDA7fVxuLnNvY2lhbC1pY29ucyAuZmEtbGlua2VkaW4ge2NvbG9yOiMwMDg1QUU7fVxuLnNvY2lhbC1pY29ucyAuZmEtcGludGVyZXN0IHtjb2xvcjojQ0MyMTI3O31cbi5zb2NpYWwtaWNvbnMgLmZhLXR3aXR0ZXIge2NvbG9yOiMzMkNDRkU7fVxuLnNvY2lhbC1pY29ucyAuZmEteW91dHViZSB7Y29sb3I6I0M1MkYzMDt9XG5cbi53ZWxsID4gaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5hZG1pbi1kYXNoYm9hcmQge1xuICAgID4gZGl2IHtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDNuICsgMSkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGludCB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgcGFkZGluZzogMC4yNWVtIDFlbTtcbn1cblxubWQtY2hlY2tib3guY2hlY2tib3gtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBtaW4taGVpZ2h0OiAxNXB4O1xuICAgIG1pbi13aWR0aDogMTVweDtcblxuICAgIC5tZC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogNzAlO1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAubWQtaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxufVxubWQtY2hlY2tib3ggKyAuaGludCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNWVtO1xufVxuXG5tZC1pbnB1dC1jb250YWluZXIgPiBtZC1zZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tZC1pbmxpbmUtZm9ybSB0ZCBtZC1jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYnRuIHtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG59XG5cbi5mb3JtLXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5mb3JtLXZhbHVlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi10b3A6IC0ycmVtO1xufVxuLmhlYWRsaW5lLXByZXZpZXcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG59XG4uZGFyay1ociB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JleTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cbi5idG4tYWN0aW9ucyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xufVxuXG4uaW1hZ2UtbGlzdCB7XG4gICAgLnJlbW92ZS1maWxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkcGluaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtZGFuZ2VyO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLWxpc3QtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgJi5jb2wtbGctNjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW1hZ2UtZm9ybS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICBoNSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5jdXN0b20tdGFncy1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ubWQtdmlydHVhbC1yZXBlYXQtY29udGFpbmVyLm1kLWF1dG9jb21wbGV0ZS1zdWdnZXN0aW9ucy1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgd2lkdGg6IDQ1MHB4O1xufVxuLm1kLWF1dG9jb21wbGV0ZS1zdWdnZXN0aW9ucyBsaSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG59XG5tZC1kaWFsb2cgLnRvd24tc3dpdGNoZXItZGlhbG9nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmltYWdlLXBpY2tlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaW1hZ2UtcGlja2VyLXdyYXBwZXIge1xuXG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC53ZWxsIHtcblxuICAgICAgICAmLmNob3NlbiB7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAkcGluayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA1cHggJHBpbmsgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmV4aXN0aW5nLWltYWdlLXdyYXBwZXIge1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAgICAgLmNvbC1tZC00Om50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogODAwcHg7XG5cbiAgICAgICAgLmNvbC1zbS02Om50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC1tZC00Om50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAwcHg7XG5cbiAgICAgICAgLmNvbC1tZC00Om50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jb2wtbGctMzpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVpLWVkaXRvciAudGEtZWRpdG9yLnRhLWh0bWwsXG4udWktZWRpdG9yIC50YS1zY3JvbGwtd2luZG93LmZvcm0tY29udHJvbCB7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGVudC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0Z3JlZW4gIWltcG9ydGFudDtcbn1cblxubWQtdG9vbGJhci5tZC1kZWZhdWx0LXRoZW1lLm1kLWh1ZS0xOm5vdCgubWQtbWVudS10b29sYmFyKSwgbWQtdG9vbGJhci5tZC1odWUtMTpub3QoLm1kLW1lbnUtdG9vbGJhcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG59XG4iLCIvLyBkZXBlbmRlbmN5OiBodHRwOi8vYW5ndWxhci11aS5naXRodWIuaW8vYm9vdHN0cmFwL1xuXG5cbi8vIFJlcGxhY2UgZ2x5cGhpY29uIHdpdGggZm9udC1hd2Vzb21lXG4vLyBzZWFyY2ggYm93ZXJfY29tcG9uZW50cy9hbmd1bGFyLWJvb3RzdHJhcC91aS1ib290c3RyYXAtdHBscy5qc1xuLnVpLWRhdGVwaWNrZXIsXG4udWktdGltZXBpY2tlciB7XG4gICAgLmdseXBoaWNvbiB7XG4gICAgICAgIC8vIC5mYSB2NC41LnhcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cbi51aS1kYXRlcGlja2VyIHtcbiAgICAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQge1xuICAgICAgICAvLyAuZmEgLmZhLWFuZ2xlLWxlZnRcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2x5cGhpY29uLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICAgICAgLy8gLmZhIC5mYS1hbmdsZS1yaWdodFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuLnVpLXRpbWVwaWNrZXIge1xuICAgIC5nbHlwaGljb24uZ2x5cGhpY29uLWNoZXZyb24tdXAge1xuICAgICAgICAvLyAuZmEgLmZhLWFuZ2xlLXVwXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWRvd24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAvLyAuZmEtYW5nbGUtZG93blxuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuLy8gRGF0ZXBpY2tlclxuLnVpLWRhdGVwaWNrZXIge1xuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcblxuICAgICAgICAgICAgLmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1ncm91cCAuYnRuLFxuICAgIGxpID4gLmJ0biB7XG4gICAgICAgIEBleHRlbmQgLmJ0bi1mbGF0ICFvcHRpb25hbDtcbiAgICB9XG59XG5cblxuLy8gVGltZXBpY2tlciwgdGhlIGNsYXNzIGlzIGFkZGVkIGJ5IGFuZ3VsYXItYm9vdHN0cmFwXG4udWktdGltZXBpY2tlciB7XG4gICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgfVxuICAgIGEuYnRuLWxpbmsge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICAgIC5idG4ge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbi8vIFR5cGVhaGVhZFxuLnVpLXR5cGVhaGVhZCB7XG4gICAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIHJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoLzIpO1xuICAgIH1cbn1cblxuXG4vLyBSYXRpbmdcbi51aS1yYXRpbmcge1xuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5nbHlwaGljb25cbiAgICAuZmEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyB3aGVuIGFjdGl2ZVxuICAgIC5nbHlwaGljb24tc3RhcixcbiAgICAuZmEtc3RhciB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG4gICAgJi51aS1yYXRpbmctc3VjY2VzcyB7XG4gICAgICAgIC5nbHlwaGljb24tc3RhcixcbiAgICAgICAgLmZhLXN0YXIge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuICAgICAgICB9XG4gICAgfVxuICAgICYudWktcmF0aW5nLWluZm8ge1xuICAgICAgICAuZ2x5cGhpY29uLXN0YXIsXG4gICAgICAgIC5mYS1zdGFyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtaW5mbztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnVpLXJhdGluZy13YXJuaW5nIHtcbiAgICAgICAgLmdseXBoaWNvbi1zdGFyLFxuICAgICAgICAuZmEtc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi51aS1yYXRpbmctZGFuZ2VyIHtcbiAgICAgICAgLmdseXBoaWNvbi1zdGFyLFxuICAgICAgICAuZmEtc3RhciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWRhbmdlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIERpYWxvZ1xubWQtYmFja2Ryb3AubWQtZGlhbG9nLWJhY2tkcm9we1xuICAgIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDtcbn1cbi5tZC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQgKyAxOyAvLyBoaWdoZXIgdGhhbiB0aGUgYmFja2Ryb3Bcbn1cblxuLy8gbWQtaWNvblxubWQtaWNvbiB7XG4gICAgJi56bWRpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbn1cblxuLnVpLW1kLXJhZGlvLWdyb3VwLWlubGluZSB7XG4gICAgbWQtcmFkaW8tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAxMHB4O1xuICAgIH1cbn1cblxubWQtcmFkaW8tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBSYWRpb1xubWQtcmFkaW8tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAmW2Rpc2FibGVkXSAubWQtb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIH1cbn1cblxuXG4vLyBcbm1kLXRvYXN0IHtcbiAgICAmLm1kLXRvYXN0LXByaW1hcnkge1xuICAgICAgICA+IC5tZC10b2FzdC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIERhdGVwaWNrZXJcbi5tZC1kYXRlcGlja2VyLWNhbGVuZGFyLXBhbmUgLm1kLWRhdGVwaWNrZXItaW5wdXQtbWFzayB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8vIE1hdGVyaWFsIFRvYXN0XG5tZC10b2FzdCB7XG4gICAgei1pbmRleDogOTk5OTk5ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFRhYlxuLm1kLXByaW1hcnkge1xuICAgIG1kLXRhYnMtd3JhcHBlciB7XG4gICAgICAgIG1kLXByZXYtYnV0dG9uLFxuICAgICAgICBtZC1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtZC1pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIuYW5ndWxhci11aS10cmVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbn1cblxuLmFuZ3VsYXItdWktdHJlZS1wbGFjZWhvbGRlcntcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJHN0YXRlLWRlZmF1bHQtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS1pbmZvLWJnO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtaGFuZGxle1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgbWFyZ2luOiA1cHggMDsgXG4gICAgcGFkZGluZzogMTBweCAxMHB4OyBcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdGF0ZS1kZWZhdWx0LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjptb3ZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLmFuZ3VsYXItdWktdHJlZS1pY29uLWFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmFuZ3VsYXItdWktdHJlZS1pY29uIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cbi5hbmd1bGFyLXVpLXRyZWUtaWNvbi1jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAtMTBweCAwIDAgLTEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKyc7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHRleHQtaW5kZW50OiAwO1xuICAgIH1cbiAgICAmLnVuY29sbGFwc2VkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICB9XG59XG4uYW5ndWxhci11aS10cmVlLWljb24tYWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMykpO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxufVxuXG4uYW5ndWxhci11aS10cmVlLWVtcHR5e1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOjYwcHggNjBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCwzMHB4IDMwcHg7XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtbm9kZXN7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gICAgbGlzdC1zdHlsZTpub25lfVxuXG4uYW5ndWxhci11aS10cmVlLW5vZGVzIC5hbmd1bGFyLXVpLXRyZWUtbm9kZXN7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtbm9kZSwuYW5ndWxhci11aS10cmVlLXBsYWNlaG9sZGVye1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIG1pbi1oZWlnaHQ6MjBweDtcbiAgICBsaW5lLWhlaWdodDoyMHB4fVxuXG4uYW5ndWxhci11aS10cmVlLWhpZGRlbntkaXNwbGF5Om5vbmV9XG5cblxuXG5cbi5hbmd1bGFyLXVpLXRyZWUtZHJhZ3tcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHotaW5kZXg6OTk5O1xuICAgIG9wYWNpdHk6Ljh9XG4iLCIvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9yZXNwb25zaXZlLXRhYmxlc1xudGFibGUucmVzcG9uc2l2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBcbiAgICB0YWJsZS5yZXNwb25zaXZlIHsgXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgIC5waW5uZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHRvcDogMDsgYmFja2dyb3VuZDogI2ZmZjsgd2lkdGg6IDM1JTsgb3ZlcmZsb3c6IGhpZGRlbjsgb3ZlcmZsb3cteDogc2Nyb2xsOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAucGlubmVkIHRhYmxlIHsgXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItbGVmdDogbm9uZTsgd2lkdGg6IDEwMCU7IFxuICAgIH1cbiAgICAucGlubmVkIHRhYmxlIHRoLCAucGlubmVkIHRhYmxlIHRkIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5waW5uZWQgdGQ6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDA7IH1cbiAgICBcbiAgICBkaXYudGFibGUtd3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMjBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYzsgfVxuICAgIGRpdi50YWJsZS13cmFwcGVyIGRpdi5zY3JvbGxhYmxlIHsgbWFyZ2luLWxlZnQ6IDM1JTsgfVxuICAgIGRpdi50YWJsZS13cmFwcGVyIGRpdi5zY3JvbGxhYmxlIHsgb3ZlcmZsb3c6IHNjcm9sbDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9ICBcbiAgICBcbiAgICB0YWJsZS5yZXNwb25zaXZlIHRkLCB0YWJsZS5yZXNwb25zaXZlIHRoIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgdGFibGUucmVzcG9uc2l2ZSB0aDpmaXJzdC1jaGlsZCwgdGFibGUucmVzcG9uc2l2ZSB0ZDpmaXJzdC1jaGlsZCwgdGFibGUucmVzcG9uc2l2ZSB0ZDpmaXJzdC1jaGlsZCwgdGFibGUucmVzcG9uc2l2ZS5waW5uZWQgdGQgeyBkaXNwbGF5OiBub25lOyB9XG59IiwiXG4vLyBodHRwczovL2dpdGh1Yi5jb20vcnN0YWliL2pxdWVyeS1zdGVwc1xuXG4ud2l6YXJkLFxuLnRhYmNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53aXphcmQgYSxcbi50YWJjb250cm9sIGEge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi53aXphcmQgdWwsXG4udGFiY29udHJvbCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ud2l6YXJkIHVsID4gbGksXG4udGFiY29udHJvbCB1bCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBBY2Nlc3NpYmlsaXR5ICovXG4ud2l6YXJkID4gLnN0ZXBzIC5jdXJyZW50LWluZm8sXG4udGFiY29udHJvbCA+IC5zdGVwcyAuY3VycmVudC1pbmZvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OWVtO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAudGl0bGUsXG4udGFiY29udHJvbCA+IC5jb250ZW50ID4gLnRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OWVtO1xufVxuXG5cblxuLypcbiAgICBXaXphcmRcbiovXG5cbi53aXphcmQge1xuICAgID4gLnN0ZXBzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndpemFyZC52ZXJ0aWNhbCAge1xuICAgID4gLnN0ZXBzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMi41JSAwLjVlbSAyLjUlO1xuICAgICAgICAgICAgd2lkdGg6IDY1JTsgICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndpemFyZCA+IC5zdGVwcyAubnVtYmVyXG57XG4gICAgZm9udC1zaXplOiAxLjQyOWVtO1xufVxuXG4ud2l6YXJkID4gLnN0ZXBzID4gdWwgPiBsaSxcbi53aXphcmQgPiAuYWN0aW9ucyA+IHVsID4gbGlcbntcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuXG4ud2l6YXJkID4gLnN0ZXBzIGEsXG4ud2l6YXJkID4gLnN0ZXBzIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIGE6YWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgMC41ZW0gMC41ZW07XG4gICAgcGFkZGluZzogMWVtIDFlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBAZXh0ZW5kIC56LWRlcHRoLTE7XG59XG5cbi53aXphcmQgPiAuc3RlcHMgLmRpc2FibGVkIGEsXG4ud2l6YXJkID4gLnN0ZXBzIC5kaXNhYmxlZCBhOmhvdmVyLFxuLndpemFyZCA+IC5zdGVwcyAuZGlzYWJsZWQgYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYSxcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgLmN1cnJlbnQgYTphY3RpdmVcbntcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi53aXphcmQgPiAuc3RlcHMgLmRvbmUgYSxcbi53aXphcmQgPiAuc3RlcHMgLmRvbmUgYTpob3Zlcixcbi53aXphcmQgPiAuc3RlcHMgLmRvbmUgYTphY3RpdmVcbntcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAuNjtcbn1cblxuLndpemFyZCA+IC5zdGVwcyAuZXJyb3IgYSxcbi53aXphcmQgPiAuc3RlcHMgLmVycm9yIGE6aG92ZXIsXG4ud2l6YXJkID4gLnN0ZXBzIC5lcnJvciBhOmFjdGl2ZVxue1xuICAgIGJhY2tncm91bmQ6ICRicmFuZC1kYW5nZXI7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi53aXphcmQgPiAuY29udGVudFxue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwLjVlbTtcbiAgICBtaW4taGVpZ2h0OiAyNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG5cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHlcbntcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBoZWlnaHQ6IDk1JTtcbiAgICBwYWRkaW5nOiAyLjUlO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSB1bFxue1xuICAgIGxpc3Qtc3R5bGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHkgdWwgPiBsaVxue1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHkgPiBpZnJhbWVcbntcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi53aXphcmQgPiAuY29udGVudCA+IC5ib2R5IGlucHV0XG57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdXG57XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSBpbnB1dC5lcnJvclxue1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTEsIDIyNywgMjI4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJjMmM0O1xuICAgIGNvbG9yOiAjOGExZjExO1xufVxuXG4ud2l6YXJkID4gLmNvbnRlbnQgPiAuYm9keSBsYWJlbFxue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLndpemFyZCA+IC5jb250ZW50ID4gLmJvZHkgbGFiZWwuZXJyb3JcbntcbiAgICBjb2xvcjogIzhhMWYxMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuXG4ud2l6YXJkID4gLmFjdGlvbnNcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi53aXphcmQudmVydGljYWwgPiAuYWN0aW9uc1xue1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDIuNSU7XG4gICAgd2lkdGg6IDk1JTtcbn1cblxuLndpemFyZCA+IC5hY3Rpb25zID4gdWxcbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi53aXphcmQgPiAuYWN0aW9ucyA+IHVsID4gbGlcbntcbiAgICBtYXJnaW46IDAgMC41ZW07XG59XG5cbi53aXphcmQudmVydGljYWwgPiAuYWN0aW9ucyA+IHVsID4gbGlcbntcbiAgICBtYXJnaW46IDAgMCAwIDFlbTtcbn1cblxuLndpemFyZCA+IC5hY3Rpb25zIGEsXG4ud2l6YXJkID4gLmFjdGlvbnMgYTpob3Zlcixcbi53aXphcmQgPiAuYWN0aW9ucyBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGEsXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGE6aG92ZXIsXG4ud2l6YXJkID4gLmFjdGlvbnMgLmRpc2FibGVkIGE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIGNvbG9yOiAjYWFhO1xufVxuXG4ud2l6YXJkID4gLmxvYWRpbmdcbntcbn1cblxuLndpemFyZCA+IC5sb2FkaW5nIC5zcGlubmVyXG57XG59XG5cblxuXG4vKlxuICAgIFRhYmNvbnRyb2xcbiovXG5cbi50YWJjb250cm9sID4gLnN0ZXBzXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udGFiY29udHJvbCA+IC5zdGVwcyA+IHVsXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgIHRvcDogMXB4O1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaVxue1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDJweCAwIDA7XG4gICAgcGFkZGluZzogMXB4O1xuXG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaTpob3Zlclxue1xuICAgIGJhY2tncm91bmQ6ICNlZGVjZWM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udGFiY29udHJvbCA+IC5zdGVwcyA+IHVsID4gbGkuY3VycmVudFxue1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItYm90dG9tOiAwIG5vbmU7XG4gICAgcGFkZGluZzogMCAwIDFweCAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaSA+IGFcbntcbiAgICBjb2xvcjogIzVmNWY1ZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaSA+IGE6aG92ZXJcbntcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50YWJjb250cm9sID4gLnN0ZXBzID4gdWwgPiBsaS5jdXJyZW50ID4gYVxue1xuICAgIHBhZGRpbmc6IDE1cHggMzBweCAxMHB4IDMwcHg7XG59XG5cbi50YWJjb250cm9sID4gLmNvbnRlbnRcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzVlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4udGFiY29udHJvbCA+IC5jb250ZW50ID4gLmJvZHlcbntcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBoZWlnaHQ6IDk1JTtcbiAgICBwYWRkaW5nOiAyLjUlO1xufVxuXG4udGFiY29udHJvbCA+IC5jb250ZW50ID4gLmJvZHkgdWxcbntcbiAgICBsaXN0LXN0eWxlOiBkaXNjICFpbXBvcnRhbnQ7XG59XG5cbi50YWJjb250cm9sID4gLmNvbnRlbnQgPiAuYm9keSB1bCA+IGxpXG57XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufSIsIiR3ei1jb2xvci1kZWZhdWx0OiAjRTZFNkU2O1xuJHd6LWNvbG9yLWN1cnJlbnQ6ICM4MDgwODA7XG4kd3otY29sb3ItZG9uZTogICAgJGJyYW5kLXN1Y2Nlc3M7XG4kd3otY29sb3ItZWRpdGluZzogJGJyYW5kLXByaW1hcnk7XG5cbi51aS1hbmd1bGFyLXdpemFyZCB7XG4gICAgLnN0ZXBzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMS4yZW0gMWVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLXdpemFyZC1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgcGFkZGluZzogM2VtIDFlbTtcbiAgICB9XG5cbiAgICAudWktd2l6YXJkLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEuMmVtIDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlMWUxO1xuICAgIH1cbn1cblxuLnN0ZXBzLWluZGljYXRvciB7XG4gICAgLyogLS0tLSBzdGVwcyBxdWFudGl0eSAtLS0tICovXG5cblxuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIFxuXG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3ei1jb2xvci1kZWZhdWx0O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTI6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC8gMiAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gMiAvIDIpO1xuICAgIH1cblxuICAgICYuc3RlcHMtMzpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyAzIC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyAzIC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy00OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDQgLyAyKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAvIDQgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC8gNSAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gNSAvIDIpO1xuICAgIH1cblxuICAgICYuc3RlcHMtNjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyA2IC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyA2IC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy03OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAvIDcgLyAyKTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAvIDcgLyAyKTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTg6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC8gOCAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gOCAvIDIpO1xuICAgIH1cblxuICAgICYuc3RlcHMtOTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyA5IC8gMik7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLyA5IC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy0xMDpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLyAxMCAvIDIpO1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC8gMTAgLyAyKTtcbiAgICB9XG5cbiAgICAvKiAtLS0gaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy8gLS0tLSAqL1xuICAgICogeyBcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3ei1jb2xvci1jdXJyZW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXM7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gN3B4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3otY29sb3ItZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkd3otY29sb3ItY3VycmVudCwgMjAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RlcHMtMiAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgfVxuXG4gICAgJi5zdGVwcy0zICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgICBcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTQgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuICAgIH1cblxuICAgICYuc3RlcHMtNSAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7XG4gICAgfVxuXG4gICAgJi5zdGVwcy02ICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTcgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDcpO1xuICAgIH1cblxuICAgICYuc3RlcHMtOCAgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gOCk7XG4gICAgfVxuXG4gICAgJi5zdGVwcy05ICBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA5KTtcbiAgICB9XG5cbiAgICAmLnN0ZXBzLTEwIGxpICB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMCk7XG4gICAgfVxuXG4gICAgJi5zdGVwcy0xMSBsaSAge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMTEpO1xuICAgIH1cblxuICAgIGxpLmRlZmF1bHQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd3otY29sb3ItY3VycmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpLmN1cnJlbnQsXG4gICAgbGkuZWRpdGluZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIGxpLmN1cnJlbnQgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd3otY29sb3ItY3VycmVudDtcbiAgICB9XG5cbiAgICBsaS5kb25lIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHd6LWNvbG9yLWRvbmU7XG4gICAgfVxuXG4gICAgbGkuZWRpdGluZyBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3ei1jb2xvci1lZGl0aW5nO1xuICAgIH1cbn1cbiIsIlxuLy8gTGF5b3V0XG4kYm94ZWRfbGF5b3V0X3dpZHRoOiAgICAxMjAwcHg7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAoJHNjcmVlbi1zbSAtIDEpO1xuXG4vLyBUb3AgaGVhZGVyXG4kaGVhZGVyX2hlaWdodDogICAgICAgICAgICAgNjRweDsgICAgICAgICAgIC8vKiogXG4kaGVhZGVyX2xpbmVfaGVpZ2h0OiAgICAgICAgMjBweDsgICAgICAgICAgIC8vKiogbGluZS1oZWlnaHQgb2YgdGhlIGhlYWRlciB0ZXh0XG4kaGVhZGVyX2NvbnRhaW5lcl9iZzogICAgICAgJGRhcms7XG4kaGVhZGVyLWJvcmRlcjogICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMDYpO1xuJGhlYWRlcl9saW5rX2NvbG9yOiAgICAgICAgICNhYWE7XG5cbi8vIE1haW4gY29udGFpbmVyLCBsaWtlIGJvZHlfYmdcbiRtYWluX2NvbnRhaW5lcl9iZzogICAgICAgICAjZWZlZmVmO1xuXG4vLyBTaWRlYmFyLCBkZWZhdWx0IGlzIHZlcnRpY2FsXG4kbmF2LXRyYW5zaXRpb25fZHVyYXRpb246IC4yNXM7XG5cbiRsaWdodF9iZ19saW5rX2hvdmVyX2JnOiAgICAgICAgICAgICB0cmFuc3BhcmVudDsgLy8jZjZmNmY2O1xuJGxpZ2h0X2JnX2xpbmtfaG92ZXJfY29sb3I6ICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnOiAgICAgICAgICAgICNmNmY2ZjY7XG4kbGlnaHRfYmdfbGlua19hY3RpdmVfY29sb3I6ICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kbGlnaHRfYmdfbGlua19vcGVuX2JnOiAgICAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnOyAgICAgIC8vIHZlcnRpY2FsIG5hdiBvbmx5XG4kbGlnaHRfYmdfbGlua19vcGVuX2NvbG9yOiAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2NvbG9yOyAgIC8vIHZlcnRpY2FsIG5hdiBvbmx5XG4kbGlnaHRfYmdfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgJGxpZ2h0X2JnX2xpbmtfYWN0aXZlX2JnO1xuJGxpZ2h0X2JnX3N1Yl9saW5rX2FjdGl2ZV9jb2xvcjogICAgICRicmFuZC1wcmltYXJ5O1xuXG4kZGFya19iZ19saW5rX2hvdmVyX2JnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4kZGFya19iZ19saW5rX2hvdmVyX2NvbG9yOiAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4kZGFya19iZ19saW5rX2FjdGl2ZV9iZzogICAgICAgICAgICAgZGFya2VuKCRkYXJrLCAzJSk7XG4kZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjogICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG4kZGFya19iZ19saW5rX29wZW5fYmc6ICAgICAgICAgICAgICAgJGRhcmtfYmdfbGlua19hY3RpdmVfYmc7ICAgICAgLy8gdmVydGljYWwgbmF2IG9ubHlcbiRkYXJrX2JnX2xpbmtfb3Blbl9jb2xvcjogICAgICAgICAgICAkZGFya19iZ19saW5rX2FjdGl2ZV9jb2xvcjsgICAvLyB2ZXJ0aWNhbCBuYXYgb25seVxuJGRhcmtfYmdfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgICRkYXJrX2JnX2xpbmtfYWN0aXZlX2JnO1xuJGRhcmtfYmdfc3ViX2xpbmtfYWN0aXZlX2NvbG9yOiAgICAgICRkYXJrX2JnX2xpbmtfYWN0aXZlX2NvbG9yO1xuXG4kaG9yaXpvbnRhbF9zaWRlYmFyX2JnOiAgICAgICAgICAgICAgICAjZWVlO1xuJGhvcml6b250YWxfc3ViX25hdl9iZzogICAgICAgICAgICAgICAgZGFya2VuKCRob3Jpem9udGFsX3NpZGViYXJfYmcsIDUlKTtcbiRob3Jpem9udGFsX2xpbmtfY29sb3I6ICAgICAgICAgICAgICAgICR0ZXh0LWNvbG9yO1xuJGhvcml6b250YWxfbGlua19hY3RpdmVfYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4kaG9yaXpvbnRhbF9saW5rX2FjdGl2ZV9jb2xvcjogICAgICAgICAkYnJhbmQtcHJpbWFyeTsiLCIucGFnZS1kYXNoYm9hcmQge1xuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIH1cblxuICAgIC5zbS1jaGFydHMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuYm94LXN0YXRzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAmLm5vLWJvcmRlciB7XG4gICAgICAgICAgICAuYm94LW51bSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ib3gtZGVzYyB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgICAgIGNvbG9yOiAkc2tpbi1ncmF5LWRhcms7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtbnVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHNraW4tZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib3gtcm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWV0cmljcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG5cbiAgICAgICAgLm1ldHJpYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAubWV0cmljLWluZm8ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyZXNzYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLy8gXG4gICAgLnBhbmVsLWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cbiAgICAgICAgLnBhbmVsLXRvcCxcbiAgICAgICAgLnBhbmVsLWJvdHRvbSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwtYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZkZmRmO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhbmVsLWluZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZkZmRmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJnLWxpZ2h0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGFzaGJvYXJkLXdlbGwge1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIH0gICAgXG5cbn1cbi5tay1icm9hZGNhc3QtcGFuZWwgLmZhIHtcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG59XG5cbi5tay1icm9hZGNhc3QtcGFuZWwgLmNvbC14cy0xMC50bCwgLm1rLWJyb2FkY2FzdC1wYW5lbCAubXQzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOjNweDtcbiAgICBjb2xvcjojNTU1NTU1O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1rLWJyb2FkY2FzdC1wYW5lbCAuY29sLXhzLTEyLmYzLmIudGMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG59XG5cbi5tay1icm9hZGNhc3QtcGFuZWwgLnJvdy5wb2ludGVyIHtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpICFpbXBvcnRhbnQ7XG59XG5cbi5tay1icm9hZGNhc3QtcGFuZWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOjE1cHg7XG4gICAgYm94LXNoYWRvdzoycHggMnB4IDVweCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5tay1icm9hZGNhc3QtcGFuZWw+LnJvdyB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ubWstYnJvYWRjYXN0LXBhbmVsIC5wYTEgcCwgLm1rLWJyb2FkY2FzdC1wYW5lbCAucGExIHAgYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG5cbi5tay1icm9hZGNhc3QtcGFuZWwgLmY1IHtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cblxuLm1rLWJyb2FkY2FzdC1wYW5lbCAuZjUge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLm1rLWJyb2FkY2FzdC1wYW5lbCAucG9pbnRlciAuZjUge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuLnBhMi5uZy1zY29wZVtuZy1jb250cm9sbGVyPVwiQnJvYWRjYXN0UGxheUN0cmxcIl0gLmNvbC14cy0xMi5zbWFsbC1jYXBzLnRjIHtcbiAgICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn0iLCJcbi8vIE9sZCBicm93c2Vyc1xuLmx0LWllOS1iZyB7XG4gICAgei1pbmRleDogMTExMTE7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHBhZGRpbmc6IDEwMHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogI2Y1ZjVmNTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIFxuLm5vbi1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZSB7XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xuXG4gICAgPiAudWktc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYWdlLWZvcm0tZWxlIHtcbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4iLCIuYm9keS1lcnIge1xuICAgIC8vICNjb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBcbiAgICAvLyB9XG59XG5cbi5wYWdlLWVyciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIC5lcnItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAxMHB4IDA7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgMDtcbiAgICAgICAgfSBcbiAgICB9XG5cbiAgICAuZXJyIHtcbiAgICAgICAgY29sb3I6ICRicmlnaHQ7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNTBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLDAsMCwuMik7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxODBweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgfVxuXG4gICAgLmJ0bi1nb2JhY2sge1xuICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxuICAgICAgICBib3JkZXItY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgICAgICAgfVxuICAgICAgICAub3BlbiAmIHtcbiAgICAgICAgICAgICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxufSIsIi5ib2R5LWF1dGgge1xuICAgIC8vICNjb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNraW4tZ3JheTtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYmFja2dyb3VuZC8xLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIGZpeGVkOyBcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IFxuICAgIC8vIH0gICAgXG59XG5cblxuLmJ0bi1taW5pbWFsIHtcbiAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcbiAgICBib3JkZXItY29sb3I6ICRyZXZlcnNlO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOCk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHJldmVyc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAgIH1cbiAgICAub3BlbiAmIHtcbiAgICAgICAgJi5kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgY29sb3I6ICRyZXZlcnNlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnBhZ2Utc2lnbmluLFxuLnBhZ2Utc2lnbnVwLFxuLnBhZ2UtZm9yZ290IHtcblxuICAgIC8vIFxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5tYWluLWJvZHkge1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICB9XG4gICAgLmJvZHktaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZGl0aW9uYWwtaW5mbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyLWgge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJyaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgICAgQGV4dGVuZCAuei1kZXB0aC0yO1xuICAgICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1pbnB1dC1ncm91cCB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWdlLXByb2ZpbGUge1xuICAgIG1hcmdpbjogLTE1cHggMCAwO1xuXG4gICAgLnByb2ZpbGUtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgLTMwcHggMTVweDtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4IDkwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2JhY2tncm91bmQvMS5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBmaXhlZDsgXG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5wcm9maWxlLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCByZ2JhKDI1NSwyNTUsMjU1LC41KSwgMCAwIDEwcHggcmdiYSgwLDAsMCwuMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZS1zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZy5tZWRpYS1vYmplY3Qge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIH1cbn0iLCIucGFnZS1pbnZvaWNlIHtcblxuICAgIC5pbnZvaWNlLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVyc2U7XG4gICAgfVxuXG59XG5cbi5pbnZvaWNlLWlubmVyIHtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZXJzZTtcblxuICAgIC5pbnZvaWNlLXN1bSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgICYudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJnLWRhcmsge1xuICAgICAgICAgICAgPiB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIlxuLnBhZ2UtaWNvbnMge1xuICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICAgIC5pY29uLW1hdGVyaWFsIHtcbiAgICAgICAgLnptZGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2UtaW4tb3V0KTsgICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtc20tNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZSk7ICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICAgICAgLnptZGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4udGEtZWRpdG9yLmZvcm0tY29udHJvbC5ta0hUTUxUZXh0QXJlYSxcbi50YS1zY3JvbGwtd2luZG93LmZvcm0tY29udHJvbC5ta0hUTUxUZXh0QXJlYSxcbi50YS1lZGl0b3IuZm9ybS1jb250cm9sLm1rSFRNTFRleHRBcmVhU2hvcnQsXG4udGEtc2Nyb2xsLXdpbmRvdy5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydFxue1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5cbi50YS1lZGl0b3IuZm9ybS1jb250cm9sLm1rSFRNTFRleHRBcmVhU2hvcnQsXG4udGEtc2Nyb2xsLXdpbmRvdy5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydFxue1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWEgPiAudGEtYmluZCxcbi5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydCA+IC50YS1iaW5kXG57XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4uZm9ybS1jb250cm9sLm1rSFRNTFRleHRBcmVhU2hvcnQgPiAudGEtYmluZFxue1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG4iLCIucGFnZS1mZWF0dXJlcyB7XG4gICAgLnBhbmVsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICAuZmVhdHVyZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDUxNjE7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC14cy00IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGVkZW1vQ3VzdG9tVGVtcGxhdGUgLmF1dG9jb21wbGV0ZS1jdXN0b20tdGVtcGxhdGUgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmF1dG9jb21wbGV0ZWRlbW9DdXN0b21UZW1wbGF0ZSAuYXV0b2NvbXBsZXRlLWN1c3RvbS10ZW1wbGF0ZSBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuXG4uYXV0b2NvbXBsZXRlZGVtb0N1c3RvbVRlbXBsYXRlIC5hdXRvY29tcGxldGUtY3VzdG9tLXRlbXBsYXRlIC5pdGVtLXRpdGxlLFxuLmF1dG9jb21wbGV0ZWRlbW9DdXN0b21UZW1wbGF0ZSAuYXV0b2NvbXBsZXRlLWN1c3RvbS10ZW1wbGF0ZSAuaXRlbS1tZXRhZGF0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG59XG5cbi5hdXRvY29tcGxldGVkZW1vQ3VzdG9tVGVtcGxhdGUgLmF1dG9jb21wbGV0ZS1jdXN0b20tdGVtcGxhdGUgLml0ZW0tdGl0bGUgbWQtaWNvbiB7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xufSIsIi8vIGZvcm0gXG4ucGFnZS1mb3JtLWVsZSB7XG4gICAgLmxpc3QtY2hlY2tib3gtcmFkaW8gbGkge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gZGVtbyBzbGlkZXIgXG4uZGVtb3NsaWRlci1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4vLyBHcmlkXG4ucGFnZS1ncmlkIC5ncmlkLXN0cnVjdHVyZSAucm93IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLndpZGdldC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMnB4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgfVxuXG59XG5cbi8vIFRhYmxlXG4udGFibGUge1xuICAgICYudGFibGUtZGVtbyB7XG4gICAgICAgIHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IFxuXG4gICAgICAgIC50eXBlLWluZm8ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT1cbi8vID0gSnVzdCBmb3IgZGVtbyA9XG4vLyA9PT09PT09PT09PT1cblxuLy8gd2hpdGVmcmFtZVxuLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1hcmdpbjogMzBweDtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSB7XG4gICAgICAgIG1hcmdpbjogN3B4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGU0ZmE7IH1cbiAgICAud2hpdGVmcmFtZWRlbW9CYXNpY1VzYWdlIG1kLXdoaXRlZnJhbWUgPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjRlbTsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDc1cHg7IH1cbiAgICAud2hpdGVmcmFtZWRlbW9CYXNpY1VzYWdlIG1kLXdoaXRlZnJhbWUgPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjZlbTsgfSB9XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC53aGl0ZWZyYW1lZGVtb0Jhc2ljVXNhZ2UgbWQtd2hpdGVmcmFtZSB7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNkZGRlOyB9XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH0gfVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGQ0UyOyB9XG4gICAgLndoaXRlZnJhbWVkZW1vQmFzaWNVc2FnZSBtZC13aGl0ZWZyYW1lID4gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuXG4vLyBodHRwczovL21hdGVyaWFsLmFuZ3VsYXJqcy5vcmcvbGF0ZXN0L2RlbW8vcmFkaW9CdXR0b25cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBtZC1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDAgLTE1cHg7IH1cbi5yYWRpb0J1dHRvbmRlbW9NdWx0aUNvbHVtbiBkaXYucmFkaW9EZW1vMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIGgyIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIHAge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkOyB9XG4ucmFkaW9CdXR0b25kZW1vTXVsdGlDb2x1bW4gLm1kLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQ0ZBRkI7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4ucmFkaW9CdXR0b25kZW1vTXVsdGlDb2x1bW4gbWQtYnV0dG9uLm1kLXJhaXNlZCwgLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIGJ1dHRvbi5tZC1yYWlzZWQge1xuICAgIHdpZHRoOiAyMDBweDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIC5yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2RkZDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIGRpdi5yb3c6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4IGRhc2hlZCAjZGRkOyB9XG4ucmFkaW9CdXR0b25kZW1vTXVsdGlDb2x1bW4gLnN1bW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuLnJhZGlvQnV0dG9uZGVtb011bHRpQ29sdW1uIC5zZWxlY3RlZFVzZXIgLm1kLWNoZWNrZWQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICB3aWR0aDogMTAwcHg7IH0gICAgICAgICIsIi5hcnRpY2xlLXByZXZpZXcge1xuICBAaW1wb3J0IHVybChodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TW9udHNlcnJhdDozMDAsNDAwLDUwMCw2MDB8TGF0bzozMDAsNDAwLDUwMCw3MDAsOTAwKTtcbiAgbWF4LXdpZHRoOiA3OTVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLmFydGljbGUtaGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI2UxMTM4MztcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIH1cbiAgfVxuICAuc3BvbnNvcmVkIHtcbiAgICBjb2xvcjogIzA4OTJiMjtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG4gIC5zdWJoZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbiAgLm1ldGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTcwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAmLmF1dGhvciB7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgfVxuICAgICAgJi5wdWJsaXNoRGF0ZSB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFydGljbGUtY29udGVudCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgaDYge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIHAsXG4gICAgcCBzcGFuLFxuICAgIHRkLFxuICAgIHRkIHNwYW4sXG4gICAgdGQgYSxcbiAgICBsaSB7XG4gICAgICBmb250LWZhbWlseTogXCJMYXRvXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cbiAgICBzdHJvbmcgc3BhbixcbiAgICBzdHJvbmcgYSxcbiAgICBzdHJvbmcgYSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICNlMTEzODM7XG4gICAgfVxuICB9XG4gIC5mZWF0dXJlZC1pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTU1LCAxNTUsIDE1NSwgMC4yKTtcbiAgICAgIH1cbiAgICAgIC5hdXRob3IsXG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgfVxuICAgICAgLmNhcHRpb24ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc29jaWFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxMTM4MyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmluZm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMTEzODM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbWFyZ2luOiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOGVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZjIyMTc7XG59IiwiXG4ubGF5b3V0LWJveGVkIHtcbiAgICA+IC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgLnRvcC1oZWFkZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm94ZWRfbGF5b3V0X3dpZHRoO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogJGJveGVkX2xheW91dF93aWR0aDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuXG4uYm9keS13aWRlIHtcbiAgICAmLmFwcCA+IC5tYWluLWNvbnRhaW5lciA+IC5uYXYtY29udGFpbmVyLFxuICAgICYuYXBwID4gLm1haW4tY29udGFpbmVyID4gLmNvbnRlbnQtY29udGFpbmVyLFxuICAgIC5oZWFkZXItY29udGFpbmVyID4gLnRvcC1oZWFkZXIgLmxvZ28sXG4gICAgLmhlYWRlci1jb250YWluZXIgPiAudG9wLWhlYWRlciAudG9wLW5hdiB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obm9uZSk7XG4gICAgfVxufVxuXG5cbmh0bWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyAvLyBpbXBvcnRhbnQhXG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBpbXBvcnRhbnQhXG4gICAgYmFja2dyb3VuZDogbm9uZTsgLy8gaW1wb3J0YW50ISwgZml4IGFuZ3VsYXItbWF0ZXJpYWwgY3NzIGNhdXNlIHNpZGViYXIgYmFja2dyb3VuZCB0byBicmVhayBidWdcbn1cblxuLy8gZGVmYXVsdFxuLmFwcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIGltcG9ydGFudCFcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIGltcG9ydGFudCFcblxuICAgID4gLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAmLmhlYWRlci1maXhlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAgICAgICAgICAgJiArIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXJfaGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyX2hlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtaGVhZGVyIHt9XG4gICAgfVxuXG4gICAgPiAubWFpbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIGltcG9ydGFudCFcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICY6YmVmb3JlIHsgLy8gY29udGVudCBjb250YWluZXIgYmFja2dyb3VuZCBmb3IgYm94ZWQgbGF5b3V0XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogLTI7IC8vIHNvIHRoYXQgaXQgaXMgYmVuZWF0aCBzaWRlYmFyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0OyAvL1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5fY29udGFpbmVyX2JnO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDJweCByZ2JhKDAsMCwwLC4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLm5hdi12ZXJ0aWNhbCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gLm5hdi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDExOyAvLyBzaG91bGQgYmUgaGlnaHRlciB0aGFuIHRvcCBoZWFkZXJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggLjI1cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAvLyBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcbiAgICAgICAgICAgIC8vIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAvLyBib3JkZXItY29sb3I6IGRhcmtlbigkc2lkZWJhcl9iZywgMTAlKTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTsgLy8gc28gdGhhdCBpdCBpcyBiZW5lYXRoIHRvcCBoZWFkZXJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uYXYtZml4ZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0ICogMjtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6JHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obWFyZ2luLWxlZnQgLjI1cyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuXG5tZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgIHdpZHRoOmF1dG8gIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLmFydGljbGUtdGVhc2VyLFxuLmFydGljbGUtdGVhc2VyLXR3aW4sXG4uc3QtYXJ0aWNsZS10ZWFzZXIsXG4uc3QtYXJ0aWNsZS10ZWFzZXItdHdpblxue1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAuY2F0ZWdvcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmV5O1xuICAgICAgICBib3R0b206IDM1cHg7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWltZy13cmFwcGVyLFxuICAgIC5zdC1hcnRpY2xlLWltZy13cmFwcGVyXG4gICAge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoZWlnaHQ6MjBlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6NXB4IDVweCA1cHggNXB4O1xuICAgIGJvcmRlcjp0aGluIHNvbGlkICNkZGRkZGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbn1cblxuLmFydGljbGUtdGVhc2VyLXR3aW4sXG4uc3QtYXJ0aWNsZS10ZWFzZXItdHdpblxue1xuICAgIGhlaWdodDoyNGVtO1xufVxuXG4uc3QtYXJ0aWNsZS10ZWFzZXIsXG4uc3QtYXJ0aWNsZS10ZWFzZXItdHdpblxue1xuICAgIGJvcmRlcjogMXB4ICRzdC1ncmVlbiBkYXNoZWQ7XG4gICAgYm9yZGVyLXJhZGl1czowO1xufVxuXG4uYXJ0aWNsZS1jYXJkLXRpdGxlLFxuLmFydGljbGUtY2FyZC10aXRsZT5hLFxuLnN0LWFydGljbGUtY2FyZC10aXRsZSxcbi5zdC1hcnRpY2xlLWNhcmQtdGl0bGU+YVxue1xuICAgIGZvbnQtZmFtaWx5OiBPcHRpbWEsIHNhbnMtc2VyaWY7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBmb250LXNpemU6MS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OjkwJTtcbiAgICBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDtcbiAgICBjb2xvcjokcGluaztcbiAgICBwYWRkaW5nOjNweDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkYwRjA7XG59XG5cbi5zdC1hcnRpY2xlLWNhcmQtdGl0bGUsXG4uc3QtYXJ0aWNsZS1jYXJkLXRpdGxlPmFcbntcbiAgICBjb2xvcjokc3QtbGlnaHQtcHVycGxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7XG59XG5cbi5hcnRpY2xlLWNhcmQtc3VtbWFyeSxcbi5zdC1hcnRpY2xlLWNhcmQtc3VtbWFyeVxue1xuICAgIGZvbnQtZmFtaWx5OiRkZWZhdWx0LWZvbnQ7XG4gICAgZm9udC13ZWlnaHQ6JGRlZmF1bHQtd2VpZ2h0O1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgY29sb3I6ZGltZ3JheTtcbiAgICBmb250LXNpemU6JGRlZmF1bHQtZm9udC1zaXplO1xuICAgIHBhZGRpbmc6M3B4O1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuLmFydGljbGUtY2FyZC10aXRsZS5ndWlkZSxcbi5hcnRpY2xlLWNhcmQtdGl0bGUuZ3VpZGU+YVxue1xuICAgIGNvbG9yOiRibHVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6bGlnaHRjeWFuO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpXG57XG4gICAgLmFydGljbGUtdGVhc2VyLFxuICAgIC5zdC1hcnRpY2xlLXRlYXNlclxuICAgIHtcbiAgICAgICAgaGVpZ2h0OjI0ZW07XG4gICAgfVxuXG4gICAgLmFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuYXJ0aWNsZS1jYXJkLXRpdGxlPmEsXG4gICAgLnN0LWFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuc3QtYXJ0aWNsZS1jYXJkLXRpdGxlPmFcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjVyZW07XG4gICAgfVxuXG4gICAgLmFydGljbGUtY2FyZC1zdW1tYXJ5LFxuICAgIC5zdC1hcnRpY2xlLWNhcmQtc3VtbWFyeVxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOi45cmVtO1xuICAgIH1cblxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpXG57XG4gICAgLmFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuYXJ0aWNsZS1jYXJkLXRpdGxlPmEsXG4gICAgLnN0LWFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuc3QtYXJ0aWNsZS1jYXJkLXRpdGxlPmFcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjJyZW07XG4gICAgfVxuXG4gICAgLmFydGljbGUtY2FyZC1zdW1tYXJ5LFxuICAgIC5zdC1hcnRpY2xlLWNhcmQtc3VtbWFyeVxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOi45cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KVxue1xuICAgIC5hcnRpY2xlLWNhcmQtdGl0bGUsXG4gICAgLmFydGljbGUtY2FyZC10aXRsZT5hLFxuICAgIC5zdC1hcnRpY2xlLWNhcmQtdGl0bGUsXG4gICAgLnN0LWFydGljbGUtY2FyZC10aXRsZT5hXG4gICAge1xuICAgICAgICBmb250LXNpemU6MS4zcmVtO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWNhcmQtc3VtbWFyeSxcbiAgICAuc3QtYXJ0aWNsZS1jYXJkLXN1bW1hcnlcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpXG57XG4gICAgLmFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuYXJ0aWNsZS1jYXJkLXRpdGxlPmEsXG4gICAgLnN0LWFydGljbGUtY2FyZC10aXRsZSxcbiAgICAuc3QtYXJ0aWNsZS1jYXJkLXRpdGxlPmFcbiAgICB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjVyZW07XG4gICAgfVxuXG4gICAgLmFydGljbGUtY2FyZC1zdW1tYXJ5LFxuICAgIC5zdC1hcnRpY2xlLWNhcmQtc3VtbWFyeVxuICAgIHtcbiAgICAgICAgZm9udC1zaXplOi45cmVtO1xuICAgIH1cbn1cblxuLmFydGljbGUtaW1nLFxuLnN0LWFydGljbGUtaW1nXG57XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgaW1nLnNpbmdsZSB7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRwaW5rO1xuICAgIH1cbn1cblxuLnN0LWFydGljbGUtaW1nXG57XG4gICAgaW1nLnNpbmdsZXtcbiAgICAgICAgYm9yZGVyOjNweCBzb2xpZCAkc3QtZGFyay1wdXJwbGU7XG4gICAgfVxufVxuXG4iLCJcbiNuYXYtY29udGFpbmVyIHtcbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICA+IC5uYXYtd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi8vIFxuLm5hdi1jb250YWluZXIge1xuICAgIC5tZC1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAubmF2IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiAtYmxhY2tiZXJyeS10b3VjaDtcblxuICAgICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHggMTVweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+bGk+YT5pLFxuICAgICAgICA+bGk+YT4ubmF2LWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJG5hdi10cmFuc2l0aW9uX2R1cmF0aW9uIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJG5hdi10cmFuc2l0aW9uX2R1cmF0aW9uIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID5saSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkbmF2LXRyYW5zaXRpb25fZHVyYXRpb24gZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAuaWNvbi1oYXMtdWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGktc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgPiBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRuYXYtdHJhbnNpdGlvbl9kdXJhdGlvbiBlYXNlLWluLW91dCk7XG5cbiAgICAgICAgICAgICAgICAuYmFkZ2Uge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IC8vIGljb24gZm9yIGRlZmF1bHQgdmVydGljYWwgbmF2XG4gICAgICAgICAgICAgICAgICAgIC8vIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHsgLy8gaWNvbiBmb3IgaG9yaXpvbnRhbCBuYXZcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdWIgbWVudVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMCAxM3B4IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsICRuYXYtdHJhbnNpdGlvbl9kdXJhdGlvbiBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXYtdmVydGljYWwge1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDJweCAwIHJnYmEoMCwwLDAsMC4xMik7XG59XG5cblxuXG4iLCJcblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgLm9uLWNhbnZhcyB7XG4gICAgICAgICNoZWFkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTI7IC8vIHNvIHRoYXQgZHJvcCBkb3duIGlzIG92ZXIgb24gb2ZmLWNhbnZhcyBuYXZcbiAgICAgICAgfVxuXG4gICAgICAgICNuYXYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiAkaGVhZGVyX2hlaWdodCAqIDI7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgI2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxODBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufSIsIlxuXG4vLyBsYXlvdXQgZm9yIGhvcml6b250YWwgbmF2XG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgIC5hcHAge1xuICAgICAgICA+IC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICA+IC5uYXYtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAmLm5hdi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTsgLy8gbGVzcyB0aGVuIGhlYWRlciwgZm9yIGRyb3Bkb3duc1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRob3Jpem9udGFsX3NpZGViYXJfYmcsIDEwJSk7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtZGl2aWRlcixcbiAgICAgICAgICAgICAgICAgICAgLmxpLXNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubmF2LWZpeGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICNuYXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5uYXYtdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYubmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTcuNXB4IDI4cHggMTIuNXB4OyAvLyAxNy41cHggLSAxMi41cHggPSA1IHRvIGhhY2sgdGhlIGJvdHRvbSA1cHggY2F1c2VkIGJ5IGlubGluZS1ibG9jayBvbiAnbGknO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDgwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEhvcml6b250YWwgbmF2IGlzIGRlc2t0b3Agb25seVxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG5cbiAgICAubWFpbi1jb250YWluZXIge1xuXG4gICAgICAgID4gLm5hdi1jb250YWluZXIubmF2LWhvcml6b250YWwge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gY29udGVudFxuICAgICAgICAgICAgJiArIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWhvcml6b250YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9yaXpvbnRhbF9zaWRlYmFyX2JnO1xuXG4gICAgICAgIC5zbGltU2Nyb2xsRGl2IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyBzbGltU2Nyb2xsIHBsdWdpblxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5zbGltU2Nyb2xsQmFyLFxuICAgICAgICAgICAgLnNsaW1TY3JvbGxSYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgIFxuXG4gICAgICAgIC5uYXYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRob3Jpem9udGFsX3NpZGViYXJfYmcsIDUlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IGkgeyBjb2xvcjogJHRleHQtY29sb3I7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvcml6b250YWxfbGlua19hY3RpdmVfYmc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvcml6b250YWxfbGlua19hY3RpdmVfY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IGNvbG9yOiAkaG9yaXpvbnRhbF9saW5rX2FjdGl2ZV9jb2xvcjsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5iYWRnZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IC8vIGljb24gZm9yIGRlZmF1bHQgdmVydGljYWwgbmF2XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHsgLy8gaWNvbiBmb3IgaG9yaXpvbnRhbCBuYXZcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIHN1YiBtZW51XG4gICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7IC8vIGxlc3MgdGhlbiBoZWFkZXIsIHNvIHRoYXQgaXQncyBiZWxvdyBoZWFkZXIgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Jpem9udGFsX3N1Yl9uYXZfYmc7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRob3Jpem9udGFsX3N1Yl9uYXZfYmcsIDUlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCA0MHB4IDEzcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59XG4iLCJAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgIFxuICAgIC5hcHAubmF2LWNvbGxhcHNlZC1taW4ge1xuXG4gICAgICAgIC8vIGRlZmF1bHRcbiAgICAgICAgLnNsaW1TY3JvbGxEaXYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGVzIHNsaW1TY3JvbGwgcGx1Z2luXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnNsaW1TY3JvbGxCYXIsXG4gICAgICAgICAgICAuc2xpbVNjcm9sbFJhaWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNuYXYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI25hdi13cmFwcGVyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI25hdiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgJi5saS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgID4gYSA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pY29uLWhhcy11bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggM3B4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIb3Jpem9udGFsIG1lbnVcbiAgICAgICAgLm5hdi1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgICYjbmF2LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5uYXYtZml4ZWQgKyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNTBweCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNuYXYge1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCJcbi8vIFNpZGViYXIgLSBDb2xvclxuLm5hdi1jb250YWluZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmLmJnLXdoaXRlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICAgIH1cbiAgICAgICAgLm5hdiB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9iZ19saW5rX2hvdmVyX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodF9iZ19saW5rX2hvdmVyX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwgeyBjb2xvcjogJGxpZ2h0X2JnX2xpbmtfaG92ZXJfY29sb3I7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHsgY29sb3I6ICRsaWdodF9iZ19saW5rX2hvdmVyX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9iZ19saW5rX2FjdGl2ZV9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRfYmdfbGlua19hY3RpdmVfY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IGNvbG9yOiAkbGlnaHRfYmdfbGlua19hY3RpdmVfY29sb3I7IH1cbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIG92ZXJyaWRlcyBCb290c3RyYXAgXG4gICAgICAgICAgICAgICAgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2JnX2xpbmtfaG92ZXJfYmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzdWIgbWVudVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9iZ19zdWJfbmF2X2JnO1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzdWJfbmF2X2JnLCA1JSk7XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIH0gICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZlcnRpY2FsIE5BViBvbmx5XG4gICAgICAgICYubmF2LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDYpO1xuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRfYmdfbGlua19vcGVuX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRfYmdfbGlua19vcGVuX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwsXG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bC1oIHsgY29sb3I6ICRsaWdodF9iZ19saW5rX29wZW5fY29sb3I7IH0gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuXG4gICAgJi5iZy1kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcms7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICB9XG4gICAgICAgIC5uYXYge1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRkYXJrLCA1JSk7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19iZ19saW5rX2hvdmVyX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX2JnX2xpbmtfaG92ZXJfY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IC5pY29uLWhhcy11bCB7IGNvbG9yOiAkZGFya19iZ19saW5rX2hvdmVyX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IGNvbG9yOiAkZGFya19iZ19saW5rX2hvdmVyX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JnX2xpbmtfYWN0aXZlX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX2JnX2xpbmtfYWN0aXZlX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsIHsgY29sb3I6ICRkYXJrX2JnX2xpbmtfYWN0aXZlX2NvbG9yOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG92ZXJyaWRlcyBCb290c3RyYXAgXG4gICAgICAgICAgICAgICAgPiBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmdfbGlua19ob3Zlcl9iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHN1YiBtZW51XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfYmdfc3ViX25hdl9iZztcblxuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19iZ19zdWJfbGlua19hY3RpdmVfY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZlcnRpY2FsIE5BViBvbmx5XG4gICAgICAgICYubmF2LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIC5uYXYge1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwgMC4wNSk7XG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JnX2xpbmtfb3Blbl9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfYmdfbGlua19vcGVuX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gLmljb24taGFzLXVsIHsgY29sb3I6ICRkYXJrX2JnX2xpbmtfb3Blbl9jb2xvcjsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPiAuaWNvbi1oYXMtdWwtaCB7IGNvbG9yOiAkZGFya19iZ19saW5rX29wZW5fY29sb3I7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgXG5cbiAgICB9XG5cbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgIC5hcHAubmF2LWNvbGxhcHNlZC1taW4ge1xuXG4gICAgICAgIC5uYXYtY29udGFpbmVyIHtcblxuICAgICAgICAgICAgJi5iZy13aGl0ZSB7XG4gICAgICAgICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9iZ19saW5rX2FjdGl2ZV9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmctZGFyayB7XG4gICAgICAgICAgICAgICAgLm5hdiB7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrX2JnX2xpbmtfYWN0aXZlX2JnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLyBtYWtlICcub3BlbicgY2xhc3MgZWZmZWN0aXZlIG1vYmlsZSBvbmx5XG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXggKSB7IFxuICAgIC5uYXYtaG9yaXpvbnRhbCB7XG4gICAgICAgIC5uYXYge1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRsaW5rX2FjdGl2ZV9iZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA+IGkgeyBjb2xvcjogJGJyYW5kLXByaW1hcnk7IH0gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBIb3Jpem9udGFsIG5hdiBpcyBkZXNrdG9wIG9ubHlcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuXG59XG4iLCJcbi8vIFdoZW4gTmF2IGNvbGxhcHNlZFxuLmFwcC5uYXYtY29sbGFwc2VkLW1pbiB7XG4gICAgLnRvcC1oZWFkZXIge1xuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4OyAvLyA1OSArIDEgKGJvcmRlcilcbiAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgIC5sb2dvLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9ICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtbmF2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFxuLmhlYWRlci1jb250YWluZXIge1xuICAgIC8vIGhlaWdodDooICRoZWFkZXJfaGVpZ2h0ICogMik7XG4gICAgLy8gQG1lZGlhIChtaW4td2lkdGg6JHNjcmVlbi1zbSkge1xuICAgIC8vICAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgIC8vIH1cbiAgICBAZXh0ZW5kIC56LWRlcHRoLTE7XG5cbiAgICAuZHJvcGRvd24tbWVudS53aXRoLWFycm93LnBhbmVsIHtcbiAgICAgICAgQGV4dGVuZCAuei1kZXB0aC0xO1xuICAgIH1cbiAgICAubWQtYnV0dG9uIHtcbiAgICAgICAgbWluLXdpZHRoOiA2NnB4O1xuICAgIH1cblxuICAgID4gLnRvcC1oZWFkZXIge1xuICAgICAgICAvLyBzaGFyZWRcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlcl9saW5rX2NvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhpZGRlbi1tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXhzKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9cbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvaW1hZ2VzL2xvZ28ucG5nJykgY2VudGVyICBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlcl9oZWlnaHQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlcl9oZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoIC4yNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRoZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9nby1pY29uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFxuICAgICAgICAubWVudS1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogICggJGhlYWRlcl9oZWlnaHQvMiAtIDE3cHgpO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyYW5kLXByaW1hcnksIDEwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWJhciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gXG4gICAgICAgIC5hZG1pbi1vcHRpb25zIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2tpbi1vcHRpb25zIHtcbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUucGFuZWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5wYW5lbC1oZWFkaW5nLFxuICAgICAgICAgICAgLnBhbmVsLWZvb3RlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gLmRpdmlkZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZWRpYSB7XG4gICAgICAgICAgICAgICAgLm1lZGlhLWJvZHkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gXG4gICAgICAgIC50b3AtbmF2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDY0cHggMCAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIC4yNXMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMHB4IDAgMjMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1kLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIC5jb2xsYXBzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcblxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFxuICAgICAgICAgICAgLm5hdi1sZWZ0LFxuICAgICAgICAgICAgLm5hdi1yaWdodCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyX2xpbmVfaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAmLm5hdi1wcm9maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCAkaGVhZGVyX2hlaWdodC8yIC0gMTVweCApIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuaGlkZGVuLXhzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC50b2dnbGUtbWluIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IC5idG4tZ3JvdXAgPiBhLFxuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogKCAoJGhlYWRlcl9oZWlnaHQgLSAkaGVhZGVyX2xpbmVfaGVpZ2h0KS8yICkgMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAoICgkaGVhZGVyX2hlaWdodCAtICRoZWFkZXJfbGluZV9oZWlnaHQpLzIgKSAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDokc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlcl9saW5rX2NvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNraW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlYXJjaC1ib3gge1xuICAgICAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMCA2cHggMTJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmlucHV0LWJhciB7IFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YmVmb3JlLFxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDsgXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDFweDsgXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yOyBcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIC4zNXMgJG1hdGVyaWFsX2FuaW1hdGlvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbnB1dC1iYXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDUwJTsgXG4gICAgICAgICAgICAgICAgfSAgXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzIH4gLmlucHV0LWJhcjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMgfiAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFxuICAgICAgICAgICAgLm5hdi1sZWZ0IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkaGVhZGVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFxuICAgICAgICAgICAgLm5hdi1yaWdodCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGhlYWRlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRoZWFkZXItYm9yZGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBcbiAgICAgICAgLmxhbmdzIHtcbiAgICAgICAgICAgIC5hY3RpdmUtZmxhZyB7XG4gICAgICAgICAgICAgICAgLmZsYWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4OyAvLyAwIGZvciBmbGF0XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1sYW5ncyB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDU3cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLmZsYWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7IC8vIDdweCBmb3IgZmxhdFxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbn1cblxuLy8gXG4uc2tpbi1jaGVjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgc3Bhbjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgPiAub3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyBcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW4ge1xuICAgICAgICA+IC5vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5za2luLWl0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsMCwwLC4xKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLml0ZW0taGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgIH1cbn1cblxuXG4vLyBIZWFkZXIgLSBDb2xvclxuLmhlYWRlci1jb250YWluZXIge1xuICAgIC8vIFRleHQgY29sb3IgaW4gZHJvcGRvd24gaXMgYWx3YXlzIHRoZSBzYW1lXG4gICAgLmRyb3Bkb3duIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuXG4gICAgJi5iZy13aGl0ZSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcblxuICAgICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5idG4taW5mbyxcbiAgICAgICAgYS5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgICAgICAuaW5wdXQtYmFyOmJlZm9yZSxcbiAgICAgICAgICAgIC5pbnB1dC1iYXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYmctZGFyayB7XG4gICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuXG4gICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWJhcjpiZWZvcmUsXG4gICAgICAgICAgICAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYmctcHJpbWFyeSxcbiAgICAmLmJnLXN1Y2Nlc3MsXG4gICAgJi5iZy1pbmZvLFxuICAgICYuYmctaW5mby1hbHQsXG4gICAgJi5iZy13YXJuaW5nLFxuICAgICYuYmctZGFuZ2VyIHtcbiAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7IGNvbG9yOiAkZ3JheS1saWdodGVyOyB9XG4gICAgICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAjZWFlYWVhOyB9XG4gICAgICAgIDotbW96LXBsYWNlaG9sZGVyIHsgY29sb3I6ICNlYWVhZWE7IH0gLy8gRmlyZWZveCAxOC1cbiAgICAgICAgOjotbW96LXBsYWNlaG9sZGVyIHsgIGNvbG9yOiAjZWFlYWVhOyB9IC8vIEZpcmVmb3ggMTkrXG4gICAgICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiAjZWFlYWVhOyB9ICAgXG5cbiAgICAgICAgLnRvcC1uYXYgLm5hdi1sZWZ0ID4gbGkgPiBhIC5iYWRnZSB7XG4gICAgICAgICAgICBjb2xvcjogI2VhZWFlYTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmlucHV0LWJhcjpiZWZvcmUsXG4gICAgICAgICAgICAuaW5wdXQtYmFyOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gXG4gICAgPiAudG9wLWhlYWRlciB7XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5iZy13aGl0ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiArIC5tZW51LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIC5pY29uLWJhciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmljb24tYmFyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZXJzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5iZy1kYXJrLFxuICAgICAgICAgICAgJi5iZy1wcmltYXJ5LFxuICAgICAgICAgICAgJi5iZy1zdWNjZXNzLFxuICAgICAgICAgICAgJi5iZy1pbmZvLFxuICAgICAgICAgICAgJi5iZy1pbmZvLWFsdCxcbiAgICAgICAgICAgICYuYmctd2FybmluZyxcbiAgICAgICAgICAgICYuYmctZGFuZ2VyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyaWdodDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5cbi5wcmVsb2FkZXJiYXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC00cHg7XG5cbiAgICAuYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzYjdlNTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKGNoYW5nZWJhciAyLjI1cyBpbmZpbml0ZSAwLjc1cyk7XG4gICAgfVxuICAgICYuYWN0aXZlIC5iYXIge1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24oY2hhbmdlYmFyIDIuMjVzIGluZmluaXRlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUgLmJhcjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24obW92aW5nYmFyIDAuNzVzIGluZmluaXRlKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyAobW92aW5nYmFyKSB7XG4gICAgMCUge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuICAgIDk5LjklIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgfVxufVxuQGluY2x1ZGUga2V5ZnJhbWVzIChjaGFuZ2ViYXIpIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuICAgIH1cbiAgICAzMy4zJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1zdWNjZXNzO1xuICAgIH1cbiAgICAzMy4zMyUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtd2FybmluZztcbiAgICB9XG4gICAgNjYuNiUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtd2FybmluZztcbiAgICB9XG4gICAgNjYuNjYlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWRhbmdlcjtcbiAgICB9XG4gICAgOTkuOSUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGFuZ2VyO1xuICAgIH1cbn1cblxuLnVzZXItbWVudS10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG59XG5cbiIsImJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRtYWluX2NvbnRhaW5lcl9iZztcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udDtcbiAgICBmb250LXdlaWdodDogJGRlZmF1bHQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcbn1cblxuYm9keXtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDoxMDAlO1xuICAgIG1heC1oZWlnaHQ6MTAwJTtcblxuICAgID4gZGl2IHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuXG4uYm9keS1hdXRoLFxuLmJvZHktZXJyIHtcbiAgICAmLmFwcCA+IC5tYWluLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC8vIHdoZW4gaXQncyBub3JtYWwgbmF2XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgLnBhZ2Utc2lnbmluLFxuICAgICAgICAucGFnZS1zaWdudXAsXG4gICAgICAgIC5wYWdlLWZvcmdvdCxcbiAgICAgICAgLnBhZ2UtZXJyIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gd2hlbiBpdCdzIGNvbGxhcHNlZCBuYXZcbiAgICAmLm5hdi1jb2xsYXBzZWQtbWluIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIC5wYWdlLXNpZ25pbixcbiAgICAgICAgICAgIC5wYWdlLXNpZ251cCxcbiAgICAgICAgICAgIC5wYWdlLWZvcmdvdCxcbiAgICAgICAgICAgIC5wYWdlLWVyciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHdoZW4gaXQncyBob3Jpem9udGFsIG5hdlxuICAgIC5uYXYtaG9yaXpvbnRhbCArIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAucGFnZS1zaWduaW4sXG4gICAgICAgICAgICAucGFnZS1zaWdudXAsXG4gICAgICAgICAgICAucGFnZS1mb3Jnb3QsXG4gICAgICAgICAgICAucGFnZS1lcnIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gZnVsbHNjcmVlbiwgaGlkZSBoZWFkZXIgYW5kIHNpZGViYXJcbi5ib2R5LXdpZGUge1xuXG4gICAgI2hlYWRlcixcbiAgICAjbmF2LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiAubWFpbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgI2NvbnRlbnQge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8vIGJvdHRvbTogMDtcbiAgICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgLy9cbiAgICAmLm9uLWNhbnZhcyAubWFpbi1jb250YWluZXIgI2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxudGV4dC1hbmd1bGFyIC5wb3BvdmVyIHtcbiAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiAubWtIVE1MRWRpdG9yXG4ge1xuIH1cblxuLm1rSFRNTEVkaXRvciAudGEtdG9vbGJhclxue1xuICAgIGJhY2tncm91bmQ6I0VFRUVFRTtcbiAgICBtYXJnaW4tbGVmdDowO1xuXG4gICAgLypcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB0b3A6ODBweDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHJpZ2h0OjQwcHg7XG4gICAgbGVmdDo0MHB4O1xuICAgICovXG59XG5cbi8qXG5cbi5zdGF0aWN0b29sYmFyXG57XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBsZWZ0OiAzN3B4O1xuICAgIHJpZ2h0OiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IzBGRjtcbiAgICBib3JkZXI6dGhpbiBzb2xpZCByZWQ7XG59XG5cbiAqL1xuXG4ubWtIVE1MRWRpdG9yIC50YS10b29sYmFyIC5ldmVudEVkaXRvclxue1xuXG59XG5cbi5ta0hUTUxFZGl0b3IgLnRhLXRvb2xiYXIgLmJ0bi1ncm91cFxue1xuICAgIG1hcmdpbjo1cHg7XG59XG5cbi5ta0hUTUxFZGl0b3IgLnRhLXRvb2xiYXIgLmJ0bi1ncm91cFxue1xuXG59XG5cbi5ta0hUTUxFZGl0b3IgLnRhLXRvb2xiYXIgLmJ0bi1ncm91cCAuYnRuXG57XG4gICAgYm9yZGVyOnRoaW4gc29saWQgbGlnaHRncmF5O1xuICAgIGJhY2tncm91bmQ6d2hpdGUgIWltcG9ydGFudDtcbn1cblxuLm1rSFRNTEVkaXRvciAudGEtdG9vbGJhciAuYnRuLWdyb3VwIC5idG46Zmlyc3QtY2hpbGRcbntcbiAgICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDtcbn1cblxuLm1rSFRNTEVkaXRvciAudGEtdG9vbGJhciAuYnRuLWdyb3VwIC5idG46bGFzdC1jaGlsZFxue1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwO1xufVxuXG4ubWRwLWNhbGVuZGFyLW1vbnRoeWVhclxue1xuICAgIGZvbnQtc2l6ZToxLjVlbSAhaW1wb3J0YW50O1xufVxuXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSBzcGFuLmFjdGl2ZSxcbi5tZHAtZGF0ZXBpY2tlci1kYXRlXG57XG4gICAgY29sb3I6ZGVlcHBpbms7XG4gICAgdGV4dC1zaGFkb3c6MXB4IDFweCAycHggbGlnaHRncmV5O1xufVxuXG4jZXZlbnRFZGl0b3JUYWIgbGkuYWN0aXZlIGFcbntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ZGltZ3JheSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG59XG5cbi8qXG5cbmJvZHkgPiBoZWFkZXJcbntcbiAgICBtYXJnaW4tdG9wOi0xLjQ1ZW07XG59XG5cbiAqL1xuXG5cbi5tay10YWdcbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFyaWFsIFJvdW5kZWQgTVQgQm9sZFwiLHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ZGltZ3JheTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5tay10YWctZGVsZXRlXG57XG4gICAgZGlzcGxheTppbmxpbmU7XG4gICAgY29sb3I6YmxhY2s7XG4gICAgbWFyZ2luLWxlZnQ6NnB4O1xuICAgIGN1cnNvcjpwb2ludGVyO1xufVxuXG4ubWstdGFnLWRlbGV0ZTpob3Zlcixcbi5tay10YWctZGVsZXRlOmZvY3VzLFxuLm1rLXRhZy1hZGQ6aG92ZXIsXG4ubWstdGFnLWFkZDpmb2N1c1xue1xuICAgIGNvbG9yOnJlZDtcbn1cblxuLm1rLXRhZy1hZGRcbntcbiAgICBjb2xvcjpkYXJrZ3JlZW47XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OjEwcHg7XG4gICAgcGFkZGluZy1yaWdodDoxMHB4O1xufVxuXG4ubWstdGFnIGlucHV0XG57XG4gICAgYm9yZGVyOm5vbmU7XG59XG5cbi5tZC10b2FzdC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbn1cblxuQGtleWZyYW1lcyBibGluayB7XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBibGluayB7XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4wO1xuICAgIH1cbn1cbi5ibGluayB7XG4gICAgYW5pbWF0aW9uOiBibGluayAxcyBzdGVwLXN0YXJ0IDBzIGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBibGluayAxcyBzdGVwLXN0YXJ0IDBzIGluZmluaXRlO1xufVxuXG4ubWstZGFzaGJvYXJkLXN0YXQtZ3JhZGllbnRcbntcblxuICAgIC8qIGNhbiBiZSB0cmVhdGVkIGxpa2UgYSBmYWxsYmFjayAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkVFRUU7XG5cbiAgICAvKiB3aWxsIGJlIFwib24gdG9wXCIsIGlmIGJyb3dzZXIgc3VwcG9ydHMgaXQgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI0VFRUVFRSwgI0ZGRkZGRik7XG5cbiAgICAvKiB0aGVzZSB3aWxsIHJlc2V0IG90aGVyIHByb3BlcnRpZXMsIGxpa2UgYmFja2dyb3VuZC1wb3NpdGlvbiwgYnV0IGl0IGRvZXMga25vdyB3aGF0IHlvdSBtZWFuICovXG4gICAgYmFja2dyb3VuZDogI0ZGRUVFRTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI0ZGRUVFRSwgI0ZGRkZGRik7XG5cbiAgYm9yZGVyLXJpZ2h0OnRoaW4gZG90dGVkIHdoaXRlO1xufVxuXG4vKiAyMDE4MTAxOCAqL1xuXG4vKipcbiAqIFNjb29wc1xuICogUGxlYXNlIG5vdGUgaGVpZ2h0cyBhcmUgY3VzdG9tLWNvZGVkIGZvciBNSyBtYWluIFdlYiBwYWdlIDIwMTgwOTEzXG4gKi9cblxuLyogT0xEXG5cbi5zY29vcC13cmFwcGVyXG57XG4gICAgcGFkZGluZzo1cHg7XG4gICAgbWFyZ2luOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjp0aGluIHNvbGlkICRwaW5rO1xuICAgIGhlaWdodDphdXRvO1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcblxuICAgIC5zY29vcC10aXRsZVxuICAgIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEltcGFjdCwgQ2hhcmNvYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4wZW07XG4gICAgICAgIGNvbG9yOiM0RDRENEQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2N3B4IClcbiAgICB7XG4gICAgICAgIGhlaWdodDoyODVweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXG4gICAgICAgIC5zY29vcC10aXRsZVxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6MS41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICggbWluLXdpZHRoOjkwMHB4IClcbiAgICB7XG4gICAgICAgIGhlaWdodDo0NDFweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXG4gICAgICAgIC5zY29vcC10aXRsZVxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6MS43NWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwMDBweCApXG4gICAge1xuICAgICAgICBoZWlnaHQ6NTI1cHg7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcblxuICAgICAgICAuc2Nvb3AtdGl0bGVcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOjIuMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwNTBweCApXG4gICAge1xuICAgICAgICBoZWlnaHQ6NTI1cHg7XG4gICAgICAgIHdpZHRoOjM2MHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cbiAgICAgICAgLnNjb29wLXRpdGxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToyLjFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zY29vcC1ib2R5XG4gICAge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luOjA7XG5cbiAgICB9XG59XG5cbiAqL1xuXG5cblxuLyoqXG4gKiBTY29vcHNcbiAqIFBsZWFzZSBub3RlIGhlaWdodHMgYXJlIGN1c3RvbS1jb2RlZCBmb3IgTUsgbWFpbiBXZWIgcGFnZSAyMDE4MDkxM1xuICovXG5cbi5zY29vcC1kZXRhaWwtd3JhcHBlcixcbi5zY29vcC1wcmV2aW91cy13cmFwcGVyXG57XG4gICAgcGFkZGluZzo1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICBib3JkZXI6dGhpbiBzb2xpZCAkcGluaztcbiAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZGVmYXVsdC1mb250O1xuICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZGVmYXVsdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0O1xufVxuXG4uc2Nvb3AtcHJldmlvdXMtd3JhcHBlclxue1xuICAgIHBhZGRpbmc6MDtcbn1cblxuLnNjb29wLXRlYXNlci13cmFwcGVyXG57XG4gICAgcGFkZGluZzo1cHg7XG4gICAgbWFyZ2luOjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICBib3JkZXI6dGhpbiBzb2xpZCAkcGluaztcbiAgICBmb250LWZhbWlseTogJGRlZmF1bHQtZm9udDtcbiAgICBmb250LXdlaWdodDogJGRlZmF1bHQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcblxuICAgIC5zY29vcC10aXRsZVxuICAgIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEltcGFjdCwgQ2hhcmNvYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4wZW07XG4gICAgICAgIGNvbG9yOiM0RDRENEQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjYwMHB4IClcbiAgICB7XG4gICAgICAgIGhlaWdodDphdXRvO1xuXG4gICAgICAgIC5zY29vcC10aXRsZVxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6Mi4wZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nvb3AtYm9keVxuICAgICAgICB7XG4gICAgICAgICAgICBoZWlnaHQ6YXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2N3B4IClcbiAgICB7XG4gICAgICAgIGhlaWdodDoyNzJweDtcblxuICAgICAgICAuc2Nvb3AtdGl0bGVcbiAgICAgICAge1xuICAgICAgICAgICAgZm9udC1zaXplOjEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY29vcC1ib2R5XG4gICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDoyNDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi13aWR0aDo5MDBweCApXG4gICAge1xuICAgICAgICBoZWlnaHQ6NDI4cHg7XG5cbiAgICAgICAgLnNjb29wLXRpdGxlXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxLjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY29vcC1ib2R5XG4gICAgICAgIHtcbiAgICAgICAgICAgIGhlaWdodDozOTZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwMDBweCApXG4gICAge1xuICAgICAgICBoZWlnaHQ6NTEycHg7XG4gICAgICAgIHdpZHRoOjM1MHB4O1xuXG4gICAgICAgIC5zY29vcC10aXRsZVxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6MS43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjb29wLWJvZHlcbiAgICAgICAge1xuICAgICAgICAgICAgaGVpZ2h0OjQ4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Nvb3AtYm9keVxuICAgIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRkZWZhdWx0LWZvbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC13ZWlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQ7XG4gICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zY29vcFRlYXNlckNsaWNrZXJcbntcbiAgICBjb2xvcjokcGluaztcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBoZWlnaHQ6MjJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OjIycHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6MTRweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6M3B4O1xuICAgIGJvcmRlci10b3A6dGhpbiBzb2xpZCBsaWdodGdyYXk7XG59XG5cbi5zY29vcC10ZWFzZXItYm9keVxue1xuICAgIHBhZGRpbmctdG9wOjNweCAhaW1wb3J0YW50O1xufVxuXG4uc2Nvb3AtdGVhc2VyLWJvZHksXG4uc2Nvb3AtdGVhc2VyLWJvZHkgcFxue1xuICAgIGZvbnQtZmFtaWx5OiAkZGVmYXVsdC1mb250O1xuICAgIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OjE2cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5zY29vcC10ZWFzZXItYm9keSBwXG57XG4gICAgbWFyZ2luOiA2cHggMCAzcHggMCAhaW1wb3J0YW50O1xufVxuXG4uc2Nvb3AtdGVhc2VyLWJvZHkgaW1nXG57XG4gICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbn1cblxuLnN0YXQtY291bnQgKyAudG9vbHRpcCA+IC50b29sdGlwLWlubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cbn1cblxuIiwiXG4udGEtZWRpdG9yLmZvcm0tY29udHJvbC5ta0hUTUxUZXh0QXJlYSxcbi50YS1zY3JvbGwtd2luZG93LmZvcm0tY29udHJvbC5ta0hUTUxUZXh0QXJlYSxcbi50YS1lZGl0b3IuZm9ybS1jb250cm9sLm1rSFRNTFRleHRBcmVhU2hvcnQsXG4udGEtc2Nyb2xsLXdpbmRvdy5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydFxue1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuLnRhLWVkaXRvci5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydCxcbi50YS1zY3JvbGwtd2luZG93LmZvcm0tY29udHJvbC5ta0hUTUxUZXh0QXJlYVNob3J0XG57XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG59XG5cbi5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWEgPiAudGEtYmluZCxcbi5mb3JtLWNvbnRyb2wubWtIVE1MVGV4dEFyZWFTaG9ydCA+IC50YS1iaW5kXG57XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4uZm9ybS1jb250cm9sLm1rSFRNTFRleHRBcmVhU2hvcnQgPiAudGEtYmluZFxue1xuICAvKiBtaW4taGVpZ2h0OiA1MDBweDsgKi9cbn1cblxuLnRhLXRvb2xiYXJcbntcbiAgZGlzcGxheTpub25lO1xufVxuXG4udGEtdG9vbGJhci5mb2N1c3NlZFxue1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG4uaW5wdXQtZ3JvdXAtYWRkb25cbntcbiAgbWluLXdpZHRoOjk1cHggIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6MXB4IDFweCAycHggd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgMDtcbn1cblxuLmJ0bi1taW5pIHtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTNweDtcbn1cblxuLmlucHV0LWdyb3VwLWFkZG9uLmdyb3VwLXdpZGVcbntcbiAgbWluLXdpZHRoOjEzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZPTExPV0lORyBGT1IgRklMRSBVUExPQUQgRE5EOiAyMDIwMDEwOCovXG5cbi5wbGFubmVyRWRpdEJvdFJpZ2h0XG57XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIHRvcDo1MCU7XG4gIHJpZ2h0OjEwcHg7XG4gIHdpZHRoOjMwMHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDoyMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGxhbm5lckVkaXRCb3RMZWZ0XG57XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICBib3R0b206MjUwcHg7XG4gIGxlZnQ6MDtcbiAgd2lkdGg6MzAwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OjI1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1iYWNrZHJvcC5pblxue1xuICB6LWluZGV4OmF1dG8gIWltcG9ydGFudDtcbn1cblxuLmltYWdlVXBsb2FkRHJvcHpvbmUge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDoyMDBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjojRkZGRkREO1xuICBjb2xvcjpkYXJrcmVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCxzYW5zLXNlcmlmO1xufVxuXG4uaW1hZ2VVcGxvYWRDb250YWluZXIge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG59XG5cbi5pbWFnZVVwbG9hZENvbnRhaW5lciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5pbWFnZVVwbG9hZEZpbGVOYW1lIHtcbiAgZm9udC1mYW1pbHk6IEFyaWFsO1xufVxuXG4uZ3JhYlxue1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi8qKlxuICogVGhlIGRuZC1saXN0IHNob3VsZCBhbHdheXMgaGF2ZSBhIG1pbi1oZWlnaHQsXG4gKiBvdGhlcndpc2UgeW91IGNhbid0IGRyb3AgdG8gaXQgb25jZSBpdCdzIGVtcHR5XG4gKi9cbi5iYXNpY1BsYW5uZXIgdWxbZG5kLWxpc3RdIHtcbiAgbWluLWhlaWdodDogMS4zZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLyoqXG4gKiBUaGUgZG5kRHJhZ2dpbmdTb3VyY2UgY2xhc3Mgd2lsbCBiZSBhcHBsaWVkIHRvXG4gKiB0aGUgc291cmNlIGVsZW1lbnQgb2YgYSBkcmFnIG9wZXJhdGlvbi4gSXQgbWFrZXNcbiAqIHNlbnNlIHRvIGhpZGUgaXQgdG8gZ2l2ZSB0aGUgdXNlciB0aGUgZmVlbGluZ1xuICogdGhhdCBoZSdzIGFjdHVhbGx5IG1vdmluZyBpdC5cbiAqL1xuLmJhc2ljUGxhbm5lciB1bFtkbmQtbGlzdF0gLmRuZERyYWdnaW5nU291cmNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBbiBlbGVtZW50IHdpdGggLmRuZFBsYWNlaG9sZGVyIGNsYXNzIHdpbGwgYmVcbiAqIGFkZGVkIHRvIHRoZSBkbmQtbGlzdCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZ1xuICogb3ZlciBpdC5cbiAqL1xuLmJhc2ljUGxhbm5lciB1bFtkbmQtbGlzdF0gLmRuZFBsYWNlaG9sZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDEuM2VtO1xufVxuXG4uYmFzaWNQbGFubmVyIHVsW2RuZC1saXN0XSBsaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7ICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuXG4vKipcbiAqIFNob3cgc2VsZWN0ZWQgZWxlbWVudHMgaW4gZ3JlZW5cbiAqL1xuLmJhc2ljUGxhbm5lciB1bFtkbmQtbGlzdF0gbGkuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICBjb2xvcjogIzNjNzYzZDtcbn1cblxuLmJhc2ljUGxhbm5lciB1bFtkbmQtbGlzdF0gbGkuc2VwYXJhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxMTM4MztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ubm93cmFwXG57XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZXh0RWxsaXBzaXNcbntcbiAgcGFkZGluZy10b3A6N3B4O1xuICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIHdoaXRlLXNwYWNlOm5vd3JhcDtcbn1cblxuLnctMDVcbntcbiAgd2lkdGg6NSUgIWltcG9ydGFudDtcbn1cblxuLmdyYXktcm93XG57XG4gIGJhY2tncm91bmQtY29sb3I6I2Y0ZjRmNCAhaW1wb3J0YW50O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ1FBLG9CQUFvQjtBQUNwQjs7Ozs7O0dBTUc7QUFFSCxPQUFPLENBQUMsb0hBQUk7QUFtQloscUNBQXFDO0FpSW5DbkMsT0FB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 */
