/* Styling for the ngProgress itself */
#ngProgress {
    margin: 0;
    padding: 0;
    z-index: 99998;
    background-color: green;
    color: green;
    box-shadow: 0 0 10px 0; /* Inherits the font color */
    height: 2px;
    opacity: 0;

    /* Add CSS3 styles for transition smoothing */
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

/* Styling for the ngProgress-container */
#ngProgress-container {
    position: fixed;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}

.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  width: 278px;
  padding: 4px;
  margin-top: 1px;
  top: 100px;
  left: 20px;
  /* Calendars */ }
  .daterangepicker:before, .daterangepicker:after {
    position: absolute;
    display: inline-block;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: ''; }
  .daterangepicker:before {
    top: -7px;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-bottom: 7px solid #ccc; }
  .daterangepicker:after {
    top: -6px;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent; }
  .daterangepicker.opensleft:before {
    right: 9px; }
  .daterangepicker.opensleft:after {
    right: 10px; }
  .daterangepicker.openscenter:before {
    left: 0;
    right: 0;
    width: 0;
    margin-left: auto;
    margin-right: auto; }
  .daterangepicker.openscenter:after {
    left: 0;
    right: 0;
    width: 0;
    margin-left: auto;
    margin-right: auto; }
  .daterangepicker.opensright:before {
    left: 9px; }
  .daterangepicker.opensright:after {
    left: 10px; }
  .daterangepicker.dropup {
    margin-top: -5px; }
    .daterangepicker.dropup:before {
      top: initial;
      bottom: -7px;
      border-bottom: initial;
      border-top: 7px solid #ccc; }
    .daterangepicker.dropup:after {
      top: initial;
      bottom: -6px;
      border-bottom: initial;
      border-top: 6px solid #fff; }
  .daterangepicker.dropdown-menu {
    max-width: none;
    z-index: 3001; }
  .daterangepicker.single .ranges, .daterangepicker.single .calendar {
    float: none; }
  .daterangepicker.show-calendar .calendar {
    display: block; }
  .daterangepicker .calendar {
    display: none;
    max-width: 270px;
    margin: 4px; }
    .daterangepicker .calendar.single .calendar-table {
      border: none; }
    .daterangepicker .calendar th, .daterangepicker .calendar td {
      white-space: nowrap;
      text-align: center;
      min-width: 32px; }
  .daterangepicker .calendar-table {
    border: 1px solid #fff;
    padding: 4px;
    border-radius: 4px;
    background-color: #fff; }
  .daterangepicker table {
    width: 100%;
    margin: 0; }
  .daterangepicker td, .daterangepicker th {
    text-align: center;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid transparent;
    white-space: nowrap;
    cursor: pointer; }
    .daterangepicker td.available:hover, .daterangepicker th.available:hover {
      background-color: #eee;
      border-color: transparent;
      color: inherit; }
    .daterangepicker td.week, .daterangepicker th.week {
      font-size: 80%;
      color: #ccc; }
  .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
    background-color: #fff;
    border-color: transparent;
    color: #999; }
  .daterangepicker td.in-range {
    background-color: #ebf4f8;
    border-color: transparent;
    color: #000;
    border-radius: 0; }
  .daterangepicker td.start-date {
    border-radius: 4px 0 0 4px; }
  .daterangepicker td.end-date {
    border-radius: 0 4px 4px 0; }
  .daterangepicker td.start-date.end-date {
    border-radius: 4px; }
  .daterangepicker td.active, .daterangepicker td.active:hover {
    background-color: #357ebd;
    border-color: transparent;
    color: #fff; }
  .daterangepicker th.month {
    width: auto; }
  .daterangepicker td.disabled, .daterangepicker option.disabled {
    color: #999;
    cursor: not-allowed;
    text-decoration: line-through; }
  .daterangepicker select.monthselect, .daterangepicker select.yearselect {
    font-size: 12px;
    padding: 1px;
    height: auto;
    margin: 0;
    cursor: default; }
  .daterangepicker select.monthselect {
    margin-right: 2%;
    width: 56%; }
  .daterangepicker select.yearselect {
    width: 40%; }
  .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
    width: 50px;
    margin-bottom: 0; }
  .daterangepicker .input-mini {
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #555;
    height: 30px;
    line-height: 30px;
    display: block;
    vertical-align: middle;
    margin: 0 0 5px 0;
    padding: 0 6px 0 28px;
    width: 100%; }
    .daterangepicker .input-mini.active {
      border: 1px solid #08c;
      border-radius: 4px; }
  .daterangepicker .daterangepicker_input {
    position: relative; }
    .daterangepicker .daterangepicker_input i {
      position: absolute;
      left: 8px;
      top: 8px; }
  .daterangepicker.rtl .input-mini {
    padding-right: 28px;
    padding-left: 6px; }
  .daterangepicker.rtl .daterangepicker_input i {
    left: auto;
    right: 8px; }
  .daterangepicker .calendar-time {
    text-align: center;
    margin: 5px auto;
    line-height: 30px;
    position: relative;
    padding-left: 28px; }
    .daterangepicker .calendar-time select.disabled {
      color: #ccc;
      cursor: not-allowed; }

.ranges {
  font-size: 11px;
  float: none;
  margin: 4px;
  text-align: left; }
  .ranges ul {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    width: 100%; }
  .ranges li {
    font-size: 13px;
    background-color: #f5f5f5;
    border: 1px solid #f5f5f5;
    border-radius: 4px;
    color: #08c;
    padding: 3px 12px;
    margin-bottom: 8px;
    cursor: pointer; }
    .ranges li:hover {
      background-color: #08c;
      border: 1px solid #08c;
      color: #fff; }
    .ranges li.active {
      background-color: #08c;
      border: 1px solid #08c;
      color: #fff; }

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto; }
    .daterangepicker .ranges ul {
      width: 160px; }
    .daterangepicker.single .ranges ul {
      width: 100%; }
    .daterangepicker.single .calendar.left {
      clear: none; }
    .daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .calendar {
      float: left; }
    .daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .calendar {
      float: right; }
    .daterangepicker.ltr {
      direction: ltr;
      text-align: left; }
      .daterangepicker.ltr .calendar.left {
        clear: left;
        margin-right: 0; }
        .daterangepicker.ltr .calendar.left .calendar-table {
          border-right: none;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
      .daterangepicker.ltr .calendar.right {
        margin-left: 0; }
        .daterangepicker.ltr .calendar.right .calendar-table {
          border-left: none;
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
      .daterangepicker.ltr .left .daterangepicker_input {
        padding-right: 12px; }
      .daterangepicker.ltr .calendar.left .calendar-table {
        padding-right: 12px; }
      .daterangepicker.ltr .ranges, .daterangepicker.ltr .calendar {
        float: left; }
    .daterangepicker.rtl {
      direction: rtl;
      text-align: right; }
      .daterangepicker.rtl .calendar.left {
        clear: right;
        margin-left: 0; }
        .daterangepicker.rtl .calendar.left .calendar-table {
          border-left: none;
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
      .daterangepicker.rtl .calendar.right {
        margin-right: 0; }
        .daterangepicker.rtl .calendar.right .calendar-table {
          border-right: none;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
      .daterangepicker.rtl .left .daterangepicker_input {
        padding-left: 12px; }
      .daterangepicker.rtl .calendar.left .calendar-table {
        padding-left: 12px; }
      .daterangepicker.rtl .ranges, .daterangepicker.rtl .calendar {
        text-align: right;
        float: right; } }
@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto; }
  .daterangepicker.ltr .ranges {
    float: left; }
  .daterangepicker.rtl .ranges {
    float: right; }
  .daterangepicker .calendar.left {
    clear: none !important; } }

/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.19.8 - 2017-04-18T05:43:43.881Z
 * License: MIT
 */


/* Style when highlighting a search. */
.ui-select-highlight {
  font-weight: bold;
}

.ui-select-offscreen {
  clip: rect(0 0 0 0) !important;
  width: 1px !important;
  height: 1px !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  outline: 0 !important;
  left: 0px !important;
  top: 0px !important;
}


.ui-select-choices-row:hover {
  background-color: #f5f5f5;
}

/* Select2 theme */

/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
    border-color: #D44950;
}

.select2-result-single {
  padding-left: 0;
}

.select2-locked > .select2-search-choice-close{
  display:none;
}

.select-locked > .ui-select-match-close{
    display:none;
}

body > .select2-container.open {
  z-index: 9999; /* The z-index Select2 applies to the select2-drop */
}

/* Handle up direction Select2 */
.ui-select-container[theme="select2"].direction-up .ui-select-match,
.ui-select-container.select2.direction-up .ui-select-match {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown,
.ui-select-container.select2.direction-up .ui-select-dropdown {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    border-top-width: 1px;  /* FIXME hardcoded value :-/ */
    border-top-style: solid;

    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);

    margin-top: -4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search,
.ui-select-container.select2.direction-up .ui-select-dropdown .select2-search {
    margin-top: 4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match,
.ui-select-container.select2.direction-up.select2-dropdown-open .ui-select-match {
    border-bottom-color: #5897fb;
}

.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden,
.ui-select-container[theme="select2"] .ui-select-dropdown .ui-select-search-hidden input{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

/* Selectize theme */

/* Helper class to show styles when focus */
.selectize-input.selectize-focus{
  border-color: #007FBB !important;
}

/* Fix input width for Selectize theme */
.selectize-control.single > .selectize-input > input {
  width: 100%;
}

/* Fix line break when there's at least one item selected with the Selectize theme */
.selectize-control.multi > .selectize-input > input {
  margin: 0 !important;
}

/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
  width: 100%;
}

/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
    border-color: #D44950;
}

/* Handle up direction Selectize */
.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
    margin-top: -2px; /* FIXME hardcoded value :-/ */
}

.ui-select-container[theme="selectize"] input.ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
    width: 0;
}

/* Bootstrap theme */

/* Helper class to show styles when focus */
.btn-default-focus {
  color: #333;
  background-color: #EBEBEB;
  border-color: #ADADAD;
  text-decoration: none;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.ui-select-bootstrap .ui-select-toggle {
  position: relative;
}

.ui-select-bootstrap .ui-select-toggle > .caret {
  position: absolute;
  height: 10px;
  top: 50%;
  right: 10px;
  margin-top: -2px;
}

/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
  /* Instead of relative */
  position: static;
}

.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
  border-radius: 4px; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
  border-radius: 4px !important; /* FIXME hardcoded value :-/ */
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.ui-select-bootstrap .ui-select-search-hidden{
    opacity: 0;
    height: 0;
    min-height: 0;
    padding: 0;
    margin: 0;
    border:0;
}

.ui-select-bootstrap > .ui-select-match > .btn{
  /* Instead of center because of .btn */
  text-align: left !important;
}

.ui-select-bootstrap > .ui-select-match > .caret {
  position: absolute;
  top: 45%;
  right: 15px;
}

/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices ,.ui-select-bootstrap > .ui-select-no-choice {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-x: hidden;
  margin-top: -1px;
}

body > .ui-select-bootstrap.open {
  z-index: 1000; /* Standard Bootstrap dropdown z-index */
}

.ui-select-multiple.ui-select-bootstrap {
  height: auto;
  padding: 3px 3px 0 3px;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
  background-color: transparent !important; /* To prevent double background when disabled */
  border: none;
  outline: none;
  height: 1.666666em;
  margin-bottom: 3px;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
  font-size: 1.6em;
  line-height: 0.75;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
  outline: 0;
  margin: 0 3px 3px 0;
}

.ui-select-multiple .ui-select-match-item {
  position: relative;
}

.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
  pointer-events: none;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  height: 100%;
  margin-right: 2px;
  border-left: 1px solid #428bca;
}

.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  margin-left: 2px;
  border-right: 1px solid #428bca;
}

.ui-select-bootstrap .ui-select-choices-row>span {
    cursor: pointer;
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.ui-select-bootstrap .ui-select-choices-row>span:hover, .ui-select-bootstrap .ui-select-choices-row>span:focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
}

.ui-select-bootstrap .ui-select-choices-row.active>span {
    color: #fff;
    text-decoration: none;
    outline: 0;
    background-color: #428bca;
}

.ui-select-bootstrap .ui-select-choices-row.disabled>span,
.ui-select-bootstrap .ui-select-choices-row.active.disabled>span {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
}

/* fix hide/show angular animation */
.ui-select-match.ng-hide-add,
.ui-select-search.ng-hide-add {
    display: none !important;
}

/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
    border-color: #D44950;
}

/* Handle up direction Bootstrap */
.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}

.ui-select-bootstrap .ui-select-match-text {
    width: 100%;
    padding-right: 1em;
}
.ui-select-bootstrap .ui-select-match-text span {
    display: inline-block;
    width: 100%;
    overflow: hidden;
}
.ui-select-bootstrap .ui-select-toggle > a.btn {
  position: absolute;
  height: 10px;
  right: 10px;
  margin-top: -2px;
}

/* Spinner */
.ui-select-refreshing.glyphicon {
    position: absolute;
    right: 0;
    padding: 8px 27px;
 }

@-webkit-keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes ui-select-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

.ui-select-spin {
  -webkit-animation: ui-select-spin 2s infinite linear;
  animation: ui-select-spin 2s infinite linear;
}

.ui-select-refreshing.ng-animate {
  -webkit-animation: none 0s;
}

.ngn{color:#FFF;cursor:default;display:none;font-size:1.3em;left:0;opacity:1;padding:25px 80px;position:fixed;right:0;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999}.ngn-top{top:0}.ngn-bottom{bottom:0}.ngn-dismiss{background-color:#333;border-radius:15px;box-shadow:inset 2px 2px 7px 2px #000;color:#DDD;cursor:pointer;display:none;font-size:1.25em;font-weight:700;height:30px;line-height:30px;opacity:.2;position:absolute;right:45px;text-shadow:1px 1px 5px #000;width:30px}.ngn-sticky .ngn-dismiss{display:block}.ngn-dismiss:hover{background-color:#000}.ngn-dismiss:active{background-color:#666}@media only screen and (max-width:480px){.ngn{font-size:1em;padding:12px 25px}.ngn-dismiss{font-size:1em;height:20px;line-height:20px;right:5px;top:5px;width:20px}}.ngn-info{background-color:#0e90d2}.ngn-error{background-color:#dd514c}.ngn-success{background-color:#5eb95e}.ngn-warn{background-color:#f37b1d}.ngn-grimace{background-color:#8058a5}.ngn-prime.ngn-info{background-color:#03c}.ngn-prime.ngn-error{background-color:red}.ngn-prime.ngn-success{background-color:#0c0}.ngn-prime.ngn-warn{background-color:#f90}.ngn-prime.ngn-grimace{background-color:#609}.ngn-pastel.ngn-info{background-color:#7EA7D8}.ngn-pastel.ngn-error{background-color:#F6989D}.ngn-pastel.ngn-success{background-color:#82CA9D}.ngn-pastel.ngn-warn{background-color:#FDC68A}.ngn-pastel.ngn-grimace{background-color:#A187BE}.ngn-pitchy.ngn-info{background-color:#003471}.ngn-pitchy.ngn-error{background-color:#9E0B0F}.ngn-pitchy.ngn-success{background-color:#007236}.ngn-pitchy.ngn-warn{background-color:#A36209}.ngn-pitchy.ngn-grimace{background-color:#440E62}
/*
 * Container style
 */
.ps {
  overflow: hidden !important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
  display: none;
  opacity: 0;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  height: 15px;
  /* there must be 'bottom' or 'top' for ps__rail-x */
  bottom: 0px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-y {
  display: none;
  opacity: 0;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  width: 15px;
  /* there must be 'right' or 'left' for ps__rail-y */
  right: 0;
  /* please don't change 'position' */
  position: absolute;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
  display: block;
  background-color: transparent;
}

.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
  opacity: 0.6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
  background-color: #eee;
  opacity: 0.9;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color .2s linear, height .2s ease-in-out;
  -webkit-transition: background-color .2s linear, height .2s ease-in-out;
  height: 6px;
  /* there must be 'bottom' for ps__thumb-x */
  bottom: 2px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__thumb-y {
  background-color: #aaa;
  border-radius: 6px;
  transition: background-color .2s linear, width .2s ease-in-out;
  -webkit-transition: background-color .2s linear, width .2s ease-in-out;
  width: 6px;
  /* there must be 'right' for ps__thumb-y */
  right: 2px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
  background-color: #999;
  height: 11px;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #999;
  width: 11px;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbmdwcm9ncmVzcy9uZ1Byb2dyZXNzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLWRhdGVyYW5nZXBpY2tlci9kYXRlcmFuZ2VwaWNrZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aS1zZWxlY3QvZGlzdC9zZWxlY3QuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9uZy1ub3RpZnkvZGlzdC9uZy1ub3RpZnkubWluLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGVyZmVjdC1zY3JvbGxiYXIvY3NzL3BlcmZlY3Qtc2Nyb2xsYmFyLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEM7SUFDSSxTQUFTO0lBQ1QsVUFBVTtJQUNWLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLHNCQUFzQixFQUFFLDRCQUE0QjtJQUNwRCxXQUFXO0lBQ1gsVUFBVTs7SUFFViw2Q0FBNkM7SUFDN0Msd0NBQXdDO0lBQ3hDLHFDQUFxQztJQUNyQyxtQ0FBbUM7SUFDbkMsZ0NBQWdDO0FBQ3BDOztBQUVBLHlDQUF5QztBQUN6QztJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsVUFBVTtJQUNWLE1BQU07SUFDTixPQUFPO0lBQ1AsUUFBUTtJQUNSLGNBQWM7QUFDbEI7O0FDM0JBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixZQUFZO0VBQ1osZUFBZTtFQUNmLFVBQVU7RUFDVixVQUFVO0VBQ1YsY0FBYyxFQUFFO0VBQ2hCO0lBQ0Usa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQix1Q0FBdUM7SUFDdkMsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxTQUFTO0lBQ1QsbUNBQW1DO0lBQ25DLGtDQUFrQztJQUNsQyw2QkFBNkIsRUFBRTtFQUNqQztJQUNFLFNBQVM7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RTtFQUN0RSxVQUFVO0VBQ1YsMENBQTBDO0VBQzFDLFVBQVU7RUFDVixtQ0FBbUM7RUFDbkMsa0JBQWtCO0FBQ3BCOztBQUVBOzs7RUFHRSxzQkFBc0I7RUFDdEIsWUFBWTtBQUNkOztBQUVBOzs7RUFHRSxzQkFBc0I7RUFDdEIsV0FBVztBQUNiOztBQUVBLGdCQUFnQjtBQUNoQjtFQUNFO0lBQ0UseUJBQXlCO0VBQzNCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHlCQUF5QjtFQUMzQjtBQUNGIiwiZmlsZSI6ImNzcy8xLjUxZTAyMmRiYWVkZDJlYmZmNDgzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIFN0eWxpbmcgZm9yIHRoZSBuZ1Byb2dyZXNzIGl0c2VsZiAqL1xuI25nUHJvZ3Jlc3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDk5OTk4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICAgIGNvbG9yOiBncmVlbjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwOyAvKiBJbmhlcml0cyB0aGUgZm9udCBjb2xvciAqL1xuICAgIGhlaWdodDogMnB4O1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAvKiBBZGQgQ1NTMyBzdHlsZXMgZm9yIHRyYW5zaXRpb24gc21vb3RoaW5nICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBTdHlsaW5nIGZvciB0aGUgbmdQcm9ncmVzcy1jb250YWluZXIgKi9cbiNuZ1Byb2dyZXNzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk5O1xufVxuIiwiLmRhdGVyYW5nZXBpY2tlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHdpZHRoOiAyNzhweDtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgbWFyZ2luLXRvcDogMXB4O1xyXG4gIHRvcDogMTAwcHg7XHJcbiAgbGVmdDogMjBweDtcclxuICAvKiBDYWxlbmRhcnMgKi8gfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXI6YmVmb3JlLCAuZGF0ZXJhbmdlcGlja2VyOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgIGNvbnRlbnQ6ICcnOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlcjpiZWZvcmUge1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyOmFmdGVyIHtcclxuICAgIHRvcDogLTZweDtcclxuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XHJcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5vcGVuc2xlZnQ6YmVmb3JlIHtcclxuICAgIHJpZ2h0OiA5cHg7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zbGVmdDphZnRlciB7XHJcbiAgICByaWdodDogMTBweDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIub3BlbnNjZW50ZXI6YmVmb3JlIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zY2VudGVyOmFmdGVyIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyLm9wZW5zcmlnaHQ6YmVmb3JlIHtcclxuICAgIGxlZnQ6IDlweDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIub3BlbnNyaWdodDphZnRlciB7XHJcbiAgICBsZWZ0OiAxMHB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5kcm9wdXAge1xyXG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxyXG4gICAgLmRhdGVyYW5nZXBpY2tlci5kcm9wdXA6YmVmb3JlIHtcclxuICAgICAgdG9wOiBpbml0aWFsO1xyXG4gICAgICBib3R0b206IC03cHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XHJcbiAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjY2NjOyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyLmRyb3B1cDphZnRlciB7XHJcbiAgICAgIHRvcDogaW5pdGlhbDtcclxuICAgICAgYm90dG9tOiAtNnB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiBpbml0aWFsO1xyXG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmZjsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIuZHJvcGRvd24tbWVudSB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAzMDAxOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUgLnJhbmdlcywgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUgLmNhbGVuZGFyIHtcclxuICAgIGZsb2F0OiBub25lOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5zaG93LWNhbGVuZGFyIC5jYWxlbmRhciB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXgtd2lkdGg6IDI3MHB4O1xyXG4gICAgbWFyZ2luOiA0cHg7IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLnNpbmdsZSAuY2FsZW5kYXItdGFibGUge1xyXG4gICAgICBib3JkZXI6IG5vbmU7IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyIHRoLCAuZGF0ZXJhbmdlcGlja2VyIC5jYWxlbmRhciB0ZCB7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWluLXdpZHRoOiAzMnB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciAuY2FsZW5kYXItdGFibGUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICAgIHBhZGRpbmc6IDRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZCwgLmRhdGVyYW5nZXBpY2tlciB0aCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gICAgLmRhdGVyYW5nZXBpY2tlciB0ZC5hdmFpbGFibGU6aG92ZXIsIC5kYXRlcmFuZ2VwaWNrZXIgdGguYXZhaWxhYmxlOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgdGQud2VlaywgLmRhdGVyYW5nZXBpY2tlciB0aC53ZWVrIHtcclxuICAgICAgZm9udC1zaXplOiA4MCU7XHJcbiAgICAgIGNvbG9yOiAjY2NjOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5vZmYsIC5kYXRlcmFuZ2VwaWNrZXIgdGQub2ZmLmluLXJhbmdlLCAuZGF0ZXJhbmdlcGlja2VyIHRkLm9mZi5zdGFydC1kYXRlLCAuZGF0ZXJhbmdlcGlja2VyIHRkLm9mZi5lbmQtZGF0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjOTk5OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5pbi1yYW5nZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNGY4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuc3RhcnQtZGF0ZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgdGQuZW5kLWRhdGUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRkLnN0YXJ0LWRhdGUuZW5kLWRhdGUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5hY3RpdmUsIC5kYXRlcmFuZ2VwaWNrZXIgdGQuYWN0aXZlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTdlYmQ7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICNmZmY7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyIHRoLm1vbnRoIHtcclxuICAgIHdpZHRoOiBhdXRvOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciB0ZC5kaXNhYmxlZCwgLmRhdGVyYW5nZXBpY2tlciBvcHRpb24uZGlzYWJsZWQge1xyXG4gICAgY29sb3I6ICM5OTk7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyIHNlbGVjdC5tb250aHNlbGVjdCwgLmRhdGVyYW5nZXBpY2tlciBzZWxlY3QueWVhcnNlbGVjdCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuICAuZGF0ZXJhbmdlcGlja2VyIHNlbGVjdC5tb250aHNlbGVjdCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgd2lkdGg6IDU2JTsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0LnllYXJzZWxlY3Qge1xyXG4gICAgd2lkdGg6IDQwJTsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0LmhvdXJzZWxlY3QsIC5kYXRlcmFuZ2VwaWNrZXIgc2VsZWN0Lm1pbnV0ZXNlbGVjdCwgLmRhdGVyYW5nZXBpY2tlciBzZWxlY3Quc2Vjb25kc2VsZWN0LCAuZGF0ZXJhbmdlcGlja2VyIHNlbGVjdC5hbXBtc2VsZWN0IHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmlucHV0LW1pbmkge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcclxuICAgIHBhZGRpbmc6IDAgNnB4IDAgMjhweDtcclxuICAgIHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyIC5pbnB1dC1taW5pLmFjdGl2ZSB7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwOGM7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIgLmRhdGVyYW5nZXBpY2tlcl9pbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmRhdGVyYW5nZXBpY2tlcl9pbnB1dCBpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgIHRvcDogOHB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmlucHV0LW1pbmkge1xyXG4gICAgcGFkZGluZy1yaWdodDogMjhweDtcclxuICAgIHBhZGRpbmctbGVmdDogNnB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmRhdGVyYW5nZXBpY2tlcl9pbnB1dCBpIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogOHB4OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciAuY2FsZW5kYXItdGltZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLmNhbGVuZGFyLXRpbWUgc2VsZWN0LmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6ICNjY2M7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cclxuXHJcbi5yYW5nZXMge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBmbG9hdDogbm9uZTtcclxuICBtYXJnaW46IDRweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgLnJhbmdlcyB1bCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IH1cclxuICAucmFuZ2VzIGxpIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICMwOGM7XHJcbiAgICBwYWRkaW5nOiAzcHggMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gICAgLnJhbmdlcyBsaTpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwOGM7XHJcbiAgICAgIGNvbG9yOiAjZmZmOyB9XHJcbiAgICAucmFuZ2VzIGxpLmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwOGM7XHJcbiAgICAgIGNvbG9yOiAjZmZmOyB9XHJcblxyXG4vKiAgTGFyZ2VyIFNjcmVlbiBTdHlsaW5nICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA1NjRweCkge1xyXG4gIC5kYXRlcmFuZ2VwaWNrZXIge1xyXG4gICAgd2lkdGg6IGF1dG87IH1cclxuICAgIC5kYXRlcmFuZ2VwaWNrZXIgLnJhbmdlcyB1bCB7XHJcbiAgICAgIHdpZHRoOiAxNjBweDsgfVxyXG4gICAgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUgLnJhbmdlcyB1bCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlOyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyLnNpbmdsZSAuY2FsZW5kYXIubGVmdCB7XHJcbiAgICAgIGNsZWFyOiBub25lOyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyLnNpbmdsZS5sdHIgLnJhbmdlcywgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUubHRyIC5jYWxlbmRhciB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyLnNpbmdsZS5ydGwgLnJhbmdlcywgLmRhdGVyYW5nZXBpY2tlci5zaW5nbGUucnRsIC5jYWxlbmRhciB7XHJcbiAgICAgIGZsb2F0OiByaWdodDsgfVxyXG4gICAgLmRhdGVyYW5nZXBpY2tlci5sdHIge1xyXG4gICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxyXG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuY2FsZW5kYXIubGVmdCB7XHJcbiAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XHJcbiAgICAgICAgLmRhdGVyYW5nZXBpY2tlci5sdHIgLmNhbGVuZGFyLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cclxuICAgICAgLmRhdGVyYW5nZXBpY2tlci5sdHIgLmNhbGVuZGFyLnJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxyXG4gICAgICAgIC5kYXRlcmFuZ2VwaWNrZXIubHRyIC5jYWxlbmRhci5yaWdodCAuY2FsZW5kYXItdGFibGUge1xyXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxyXG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAubGVmdCAuZGF0ZXJhbmdlcGlja2VyX2lucHV0IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XHJcbiAgICAgIC5kYXRlcmFuZ2VwaWNrZXIubHRyIC5jYWxlbmRhci5sZWZ0IC5jYWxlbmRhci10YWJsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDsgfVxyXG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLmx0ciAucmFuZ2VzLCAuZGF0ZXJhbmdlcGlja2VyLmx0ciAuY2FsZW5kYXIge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XHJcbiAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCB7XHJcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4gICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuY2FsZW5kYXIubGVmdCB7XHJcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XHJcbiAgICAgICAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmNhbGVuZGFyLmxlZnQgLmNhbGVuZGFyLXRhYmxlIHtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cclxuICAgICAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmNhbGVuZGFyLnJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuICAgICAgICAuZGF0ZXJhbmdlcGlja2VyLnJ0bCAuY2FsZW5kYXIucmlnaHQgLmNhbGVuZGFyLXRhYmxlIHtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cclxuICAgICAgLmRhdGVyYW5nZXBpY2tlci5ydGwgLmxlZnQgLmRhdGVyYW5nZXBpY2tlcl9pbnB1dCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XHJcbiAgICAgIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5jYWxlbmRhci5sZWZ0IC5jYWxlbmRhci10YWJsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XHJcbiAgICAgIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5yYW5nZXMsIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5jYWxlbmRhciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cclxuQG1lZGlhIChtaW4td2lkdGg6IDczMHB4KSB7XHJcbiAgLmRhdGVyYW5nZXBpY2tlciAucmFuZ2VzIHtcclxuICAgIHdpZHRoOiBhdXRvOyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlci5sdHIgLnJhbmdlcyB7XHJcbiAgICBmbG9hdDogbGVmdDsgfVxyXG4gIC5kYXRlcmFuZ2VwaWNrZXIucnRsIC5yYW5nZXMge1xyXG4gICAgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgLmRhdGVyYW5nZXBpY2tlciAuY2FsZW5kYXIubGVmdCB7XHJcbiAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50OyB9IH1cclxuIiwiLyohXG4gKiB1aS1zZWxlY3RcbiAqIGh0dHA6Ly9naXRodWIuY29tL2FuZ3VsYXItdWkvdWktc2VsZWN0XG4gKiBWZXJzaW9uOiAwLjE5LjggLSAyMDE3LTA0LTE4VDA1OjQzOjQzLjg4MVpcbiAqIExpY2Vuc2U6IE1JVFxuICovXG5cblxuLyogU3R5bGUgd2hlbiBoaWdobGlnaHRpbmcgYSBzZWFyY2guICovXG4udWktc2VsZWN0LWhpZ2hsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udWktc2VsZWN0LW9mZnNjcmVlbiB7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuXG4udWktc2VsZWN0LWNob2ljZXMtcm93OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLyogU2VsZWN0MiB0aGVtZSAqL1xuXG4vKiBNYXJrIGludmFsaWQgU2VsZWN0MiAqL1xuLm5nLWRpcnR5Lm5nLWludmFsaWQgPiBhLnNlbGVjdDItY2hvaWNlIHtcbiAgICBib3JkZXItY29sb3I6ICNENDQ5NTA7XG59XG5cbi5zZWxlY3QyLXJlc3VsdC1zaW5nbGUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zZWxlY3QyLWxvY2tlZCA+IC5zZWxlY3QyLXNlYXJjaC1jaG9pY2UtY2xvc2V7XG4gIGRpc3BsYXk6bm9uZTtcbn1cblxuLnNlbGVjdC1sb2NrZWQgPiAudWktc2VsZWN0LW1hdGNoLWNsb3Nle1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuYm9keSA+IC5zZWxlY3QyLWNvbnRhaW5lci5vcGVuIHtcbiAgei1pbmRleDogOTk5OTsgLyogVGhlIHotaW5kZXggU2VsZWN0MiBhcHBsaWVzIHRvIHRoZSBzZWxlY3QyLWRyb3AgKi9cbn1cblxuLyogSGFuZGxlIHVwIGRpcmVjdGlvbiBTZWxlY3QyICovXG4udWktc2VsZWN0LWNvbnRhaW5lclt0aGVtZT1cInNlbGVjdDJcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtbWF0Y2gsXG4udWktc2VsZWN0LWNvbnRhaW5lci5zZWxlY3QyLmRpcmVjdGlvbi11cCAudWktc2VsZWN0LW1hdGNoIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuLnVpLXNlbGVjdC1jb250YWluZXJbdGhlbWU9XCJzZWxlY3QyXCJdLmRpcmVjdGlvbi11cCAudWktc2VsZWN0LWRyb3Bkb3duLFxuLnVpLXNlbGVjdC1jb250YWluZXIuc2VsZWN0Mi5kaXJlY3Rpb24tdXAgLnVpLXNlbGVjdC1kcm9wZG93biB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyAvKiBGSVhNRSBoYXJkY29kZWQgdmFsdWUgOi0vICovXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblxuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDsgIC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblxuICAgIGJveC1zaGFkb3c6IDAgLTRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuICAgIG1hcmdpbi10b3A6IC00cHg7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbn1cbi51aS1zZWxlY3QtY29udGFpbmVyW3RoZW1lPVwic2VsZWN0MlwiXS5kaXJlY3Rpb24tdXAgLnVpLXNlbGVjdC1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2gsXG4udWktc2VsZWN0LWNvbnRhaW5lci5zZWxlY3QyLmRpcmVjdGlvbi11cCAudWktc2VsZWN0LWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogNHB4OyAvKiBGSVhNRSBoYXJkY29kZWQgdmFsdWUgOi0vICovXG59XG4udWktc2VsZWN0LWNvbnRhaW5lclt0aGVtZT1cInNlbGVjdDJcIl0uZGlyZWN0aW9uLXVwLnNlbGVjdDItZHJvcGRvd24tb3BlbiAudWktc2VsZWN0LW1hdGNoLFxuLnVpLXNlbGVjdC1jb250YWluZXIuc2VsZWN0Mi5kaXJlY3Rpb24tdXAuc2VsZWN0Mi1kcm9wZG93bi1vcGVuIC51aS1zZWxlY3QtbWF0Y2gge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1ODk3ZmI7XG59XG5cbi51aS1zZWxlY3QtY29udGFpbmVyW3RoZW1lPVwic2VsZWN0MlwiXSAudWktc2VsZWN0LWRyb3Bkb3duIC51aS1zZWxlY3Qtc2VhcmNoLWhpZGRlbixcbi51aS1zZWxlY3QtY29udGFpbmVyW3RoZW1lPVwic2VsZWN0MlwiXSAudWktc2VsZWN0LWRyb3Bkb3duIC51aS1zZWxlY3Qtc2VhcmNoLWhpZGRlbiBpbnB1dHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjowO1xufVxuXG4vKiBTZWxlY3RpemUgdGhlbWUgKi9cblxuLyogSGVscGVyIGNsYXNzIHRvIHNob3cgc3R5bGVzIHdoZW4gZm9jdXMgKi9cbi5zZWxlY3RpemUtaW5wdXQuc2VsZWN0aXplLWZvY3Vze1xuICBib3JkZXItY29sb3I6ICMwMDdGQkIgIWltcG9ydGFudDtcbn1cblxuLyogRml4IGlucHV0IHdpZHRoIGZvciBTZWxlY3RpemUgdGhlbWUgKi9cbi5zZWxlY3RpemUtY29udHJvbC5zaW5nbGUgPiAuc2VsZWN0aXplLWlucHV0ID4gaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogRml4IGxpbmUgYnJlYWsgd2hlbiB0aGVyZSdzIGF0IGxlYXN0IG9uZSBpdGVtIHNlbGVjdGVkIHdpdGggdGhlIFNlbGVjdGl6ZSB0aGVtZSAqL1xuLnNlbGVjdGl6ZS1jb250cm9sLm11bHRpID4gLnNlbGVjdGl6ZS1pbnB1dCA+IGlucHV0IHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZpeCBkcm9wZG93biB3aWR0aCBmb3IgU2VsZWN0aXplIHRoZW1lICovXG4uc2VsZWN0aXplLWNvbnRyb2wgPiAuc2VsZWN0aXplLWRyb3Bkb3duIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIE1hcmsgaW52YWxpZCBTZWxlY3RpemUgKi9cbi5uZy1kaXJ0eS5uZy1pbnZhbGlkID4gZGl2LnNlbGVjdGl6ZS1pbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDQ0OTUwO1xufVxuXG4vKiBIYW5kbGUgdXAgZGlyZWN0aW9uIFNlbGVjdGl6ZSAqL1xuLnVpLXNlbGVjdC1jb250YWluZXJbdGhlbWU9XCJzZWxlY3RpemVcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtZHJvcGRvd24ge1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyAvKiBGSVhNRSBoYXJkY29kZWQgdmFsdWUgOi0vICovXG59XG5cbi51aS1zZWxlY3QtY29udGFpbmVyW3RoZW1lPVwic2VsZWN0aXplXCJdIGlucHV0LnVpLXNlbGVjdC1zZWFyY2gtaGlkZGVue1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOjA7XG4gICAgd2lkdGg6IDA7XG59XG5cbi8qIEJvb3RzdHJhcCB0aGVtZSAqL1xuXG4vKiBIZWxwZXIgY2xhc3MgdG8gc2hvdyBzdHlsZXMgd2hlbiBmb2N1cyAqL1xuLmJ0bi1kZWZhdWx0LWZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7XG4gIGJvcmRlci1jb2xvcjogI0FEQURBRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC10b2dnbGUgPiAuY2FyZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vKiBGaXggQm9vdHN0cmFwIGRyb3Bkb3duIHBvc2l0aW9uIHdoZW4gaW5zaWRlIGEgaW5wdXQtZ3JvdXAgKi9cbi5pbnB1dC1ncm91cCA+IC51aS1zZWxlY3QtYm9vdHN0cmFwLmRyb3Bkb3duIHtcbiAgLyogSW5zdGVhZCBvZiByZWxhdGl2ZSAqL1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAudWktc2VsZWN0LWJvb3RzdHJhcCA+IGlucHV0LnVpLXNlbGVjdC1zZWFyY2guZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyAvKiBGSVhNRSBoYXJkY29kZWQgdmFsdWUgOi0vICovXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbi5pbnB1dC1ncm91cCA+IC51aS1zZWxlY3QtYm9vdHN0cmFwID4gaW5wdXQudWktc2VsZWN0LXNlYXJjaC5mb3JtLWNvbnRyb2wuZGlyZWN0aW9uLXVwIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1zZWFyY2gtaGlkZGVue1xuICAgIG9wYWNpdHk6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOjA7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwID4gLnVpLXNlbGVjdC1tYXRjaCA+IC5idG57XG4gIC8qIEluc3RlYWQgb2YgY2VudGVyIGJlY2F1c2Ugb2YgLmJ0biAqL1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwID4gLnVpLXNlbGVjdC1tYXRjaCA+IC5jYXJldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NSU7XG4gIHJpZ2h0OiAxNXB4O1xufVxuXG4vKiBTZWUgU2Nyb2xsYWJsZSBNZW51IHdpdGggQm9vdHN0cmFwIDMgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xOTIyNzQ5NiAqL1xuLnVpLXNlbGVjdC1ib290c3RyYXAgPiAudWktc2VsZWN0LWNob2ljZXMgLC51aS1zZWxlY3QtYm9vdHN0cmFwID4gLnVpLXNlbGVjdC1uby1jaG9pY2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG5ib2R5ID4gLnVpLXNlbGVjdC1ib290c3RyYXAub3BlbiB7XG4gIHotaW5kZXg6IDEwMDA7IC8qIFN0YW5kYXJkIEJvb3RzdHJhcCBkcm9wZG93biB6LWluZGV4ICovXG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUudWktc2VsZWN0LWJvb3RzdHJhcCB7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogM3B4IDNweCAwIDNweDtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZS51aS1zZWxlY3QtYm9vdHN0cmFwIGlucHV0LnVpLXNlbGVjdC1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvKiBUbyBwcmV2ZW50IGRvdWJsZSBiYWNrZ3JvdW5kIHdoZW4gZGlzYWJsZWQgKi9cbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBoZWlnaHQ6IDEuNjY2NjY2ZW07XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZS51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtbWF0Y2ggLmNsb3NlIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzU7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUudWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LW1hdGNoLWl0ZW0ge1xuICBvdXRsaW5lOiAwO1xuICBtYXJnaW46IDAgM3B4IDNweCAwO1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlIC51aS1zZWxlY3QtbWF0Y2gtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZSAudWktc2VsZWN0LW1hdGNoLWl0ZW0uZHJvcHBpbmcgLnVpLXNlbGVjdC1tYXRjaC1jbG9zZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlOmhvdmVyIC51aS1zZWxlY3QtbWF0Y2gtaXRlbS5kcm9wcGluZy1iZWZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM0MjhiY2E7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGU6aG92ZXIgLnVpLXNlbGVjdC1tYXRjaC1pdGVtLmRyb3BwaW5nLWFmdGVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyOGJjYTtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdz5zcGFuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgICBjb2xvcjogIzMzMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LWNob2ljZXMtcm93PnNwYW46aG92ZXIsIC51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3c+c3Bhbjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuYWN0aXZlPnNwYW4ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuZGlzYWJsZWQ+c3Bhbixcbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuYWN0aXZlLmRpc2FibGVkPnNwYW4ge1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyogZml4IGhpZGUvc2hvdyBhbmd1bGFyIGFuaW1hdGlvbiAqL1xuLnVpLXNlbGVjdC1tYXRjaC5uZy1oaWRlLWFkZCxcbi51aS1zZWxlY3Qtc2VhcmNoLm5nLWhpZGUtYWRkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1hcmsgaW52YWxpZCBCb290c3RyYXAgKi9cbi51aS1zZWxlY3QtYm9vdHN0cmFwLm5nLWRpcnR5Lm5nLWludmFsaWQgPiBidXR0b24uYnRuLnVpLXNlbGVjdC1tYXRjaCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDQ0OTUwO1xufVxuXG4vKiBIYW5kbGUgdXAgZGlyZWN0aW9uIEJvb3RzdHJhcCAqL1xuLnVpLXNlbGVjdC1jb250YWluZXJbdGhlbWU9XCJib290c3RyYXBcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtZHJvcGRvd24ge1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1tYXRjaC10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LW1hdGNoLXRleHQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LXRvZ2dsZSA+IGEuYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vKiBTcGlubmVyICovXG4udWktc2VsZWN0LXJlZnJlc2hpbmcuZ2x5cGhpY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogOHB4IDI3cHg7XG4gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdWktc2VsZWN0LXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1aS1zZWxlY3Qtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5cbi51aS1zZWxlY3Qtc3BpbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiB1aS1zZWxlY3Qtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogdWktc2VsZWN0LXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4udWktc2VsZWN0LXJlZnJlc2hpbmcubmctYW5pbWF0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBub25lIDBzO1xufVxuIiwiLm5nbntjb2xvcjojRkZGO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MS4zZW07bGVmdDowO29wYWNpdHk6MTtwYWRkaW5nOjI1cHggODBweDtwb3NpdGlvbjpmaXhlZDtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt6LWluZGV4Ojk5OTl9Lm5nbi10b3B7dG9wOjB9Lm5nbi1ib3R0b217Ym90dG9tOjB9Lm5nbi1kaXNtaXNze2JhY2tncm91bmQtY29sb3I6IzMzMztib3JkZXItcmFkaXVzOjE1cHg7Ym94LXNoYWRvdzppbnNldCAycHggMnB4IDdweCAycHggIzAwMDtjb2xvcjojREREO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MS4yNWVtO2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O29wYWNpdHk6LjI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NDVweDt0ZXh0LXNoYWRvdzoxcHggMXB4IDVweCAjMDAwO3dpZHRoOjMwcHh9Lm5nbi1zdGlja3kgLm5nbi1kaXNtaXNze2Rpc3BsYXk6YmxvY2t9Lm5nbi1kaXNtaXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMH0ubmduLWRpc21pc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6IzY2Nn1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDgwcHgpey5uZ257Zm9udC1zaXplOjFlbTtwYWRkaW5nOjEycHggMjVweH0ubmduLWRpc21pc3N7Zm9udC1zaXplOjFlbTtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3JpZ2h0OjVweDt0b3A6NXB4O3dpZHRoOjIwcHh9fS5uZ24taW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMwZTkwZDJ9Lm5nbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNkZDUxNGN9Lm5nbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzVlYjk1ZX0ubmduLXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjM3YjFkfS5uZ24tZ3JpbWFjZXtiYWNrZ3JvdW5kLWNvbG9yOiM4MDU4YTV9Lm5nbi1wcmltZS5uZ24taW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMwM2N9Lm5nbi1wcmltZS5uZ24tZXJyb3J7YmFja2dyb3VuZC1jb2xvcjpyZWR9Lm5nbi1wcmltZS5uZ24tc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiMwYzB9Lm5nbi1wcmltZS5uZ24td2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmOTB9Lm5nbi1wcmltZS5uZ24tZ3JpbWFjZXtiYWNrZ3JvdW5kLWNvbG9yOiM2MDl9Lm5nbi1wYXN0ZWwubmduLWluZm97YmFja2dyb3VuZC1jb2xvcjojN0VBN0Q4fS5uZ24tcGFzdGVsLm5nbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiNGNjk4OUR9Lm5nbi1wYXN0ZWwubmduLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojODJDQTlEfS5uZ24tcGFzdGVsLm5nbi13YXJue2JhY2tncm91bmQtY29sb3I6I0ZEQzY4QX0ubmduLXBhc3RlbC5uZ24tZ3JpbWFjZXtiYWNrZ3JvdW5kLWNvbG9yOiNBMTg3QkV9Lm5nbi1waXRjaHkubmduLWluZm97YmFja2dyb3VuZC1jb2xvcjojMDAzNDcxfS5uZ24tcGl0Y2h5Lm5nbi1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOiM5RTBCMEZ9Lm5nbi1waXRjaHkubmduLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMDA3MjM2fS5uZ24tcGl0Y2h5Lm5nbi13YXJue2JhY2tncm91bmQtY29sb3I6I0EzNjIwOX0ubmduLXBpdGNoeS5uZ24tZ3JpbWFjZXtiYWNrZ3JvdW5kLWNvbG9yOiM0NDBFNjJ9IiwiLypcbiAqIENvbnRhaW5lciBzdHlsZVxuICovXG4ucHMge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICB0b3VjaC1hY3Rpb246IGF1dG87XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG87XG59XG5cbi8qXG4gKiBTY3JvbGxiYXIgcmFpbCBzdHlsZXNcbiAqL1xuLnBzX19yYWlsLXgge1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIG9wYWNpdHkgLjJzIGxpbmVhcjtcbiAgaGVpZ2h0OiAxNXB4O1xuICAvKiB0aGVyZSBtdXN0IGJlICdib3R0b20nIG9yICd0b3AnIGZvciBwc19fcmFpbC14ICovXG4gIGJvdHRvbTogMHB4O1xuICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHNfX3JhaWwteSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGxpbmVhciwgb3BhY2l0eSAuMnMgbGluZWFyO1xuICB3aWR0aDogMTVweDtcbiAgLyogdGhlcmUgbXVzdCBiZSAncmlnaHQnIG9yICdsZWZ0JyBmb3IgcHNfX3JhaWwteSAqL1xuICByaWdodDogMDtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzLS1hY3RpdmUteCA+IC5wc19fcmFpbC14LFxuLnBzLS1hY3RpdmUteSA+IC5wc19fcmFpbC15IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucHM6aG92ZXIgPiAucHNfX3JhaWwteCxcbi5wczpob3ZlciA+IC5wc19fcmFpbC15LFxuLnBzLS1mb2N1cyA+IC5wc19fcmFpbC14LFxuLnBzLS1mb2N1cyA+IC5wc19fcmFpbC15LFxuLnBzLS1zY3JvbGxpbmcteCA+IC5wc19fcmFpbC14LFxuLnBzLS1zY3JvbGxpbmcteSA+IC5wc19fcmFpbC15IHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ucHMgLnBzX19yYWlsLXg6aG92ZXIsXG4ucHMgLnBzX19yYWlsLXk6aG92ZXIsXG4ucHMgLnBzX19yYWlsLXg6Zm9jdXMsXG4ucHMgLnBzX19yYWlsLXk6Zm9jdXMsXG4ucHMgLnBzX19yYWlsLXgucHMtLWNsaWNraW5nLFxuLnBzIC5wc19fcmFpbC15LnBzLS1jbGlja2luZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLypcbiAqIFNjcm9sbGJhciB0aHVtYiBzdHlsZXNcbiAqL1xuLnBzX190aHVtYi14IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBsaW5lYXIsIGhlaWdodCAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCBoZWlnaHQgLjJzIGVhc2UtaW4tb3V0O1xuICBoZWlnaHQ6IDZweDtcbiAgLyogdGhlcmUgbXVzdCBiZSAnYm90dG9tJyBmb3IgcHNfX3RodW1iLXggKi9cbiAgYm90dG9tOiAycHg7XG4gIC8qIHBsZWFzZSBkb24ndCBjaGFuZ2UgJ3Bvc2l0aW9uJyAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5wc19fdGh1bWIteSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgbGluZWFyLCB3aWR0aCAuMnMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiA2cHg7XG4gIC8qIHRoZXJlIG11c3QgYmUgJ3JpZ2h0JyBmb3IgcHNfX3RodW1iLXkgKi9cbiAgcmlnaHQ6IDJweDtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBzX19yYWlsLXg6aG92ZXIgPiAucHNfX3RodW1iLXgsXG4ucHNfX3JhaWwteDpmb2N1cyA+IC5wc19fdGh1bWIteCxcbi5wc19fcmFpbC14LnBzLS1jbGlja2luZyAucHNfX3RodW1iLXgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICBoZWlnaHQ6IDExcHg7XG59XG5cbi5wc19fcmFpbC15OmhvdmVyID4gLnBzX190aHVtYi15LFxuLnBzX19yYWlsLXk6Zm9jdXMgPiAucHNfX3RodW1iLXksXG4ucHNfX3JhaWwteS5wcy0tY2xpY2tpbmcgLnBzX190aHVtYi15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgd2lkdGg6IDExcHg7XG59XG5cbi8qIE1TIHN1cHBvcnRzICovXG5Ac3VwcG9ydHMgKC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZSkge1xuICAucHMge1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnBzIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/