@charset "UTF-8";

/*TODO move this to the style guide*/

/* For the sticky footer */

html,
body {
  height: 100%;
}

span {
  font-size: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.pa-none {
  padding: 0;
}

.page-content-wrapper {
  min-height: 100%;
}

.ie8 .page-content-wrapper {
  padding-bottom: 0px;
}

.ie8 .hidden-ie8 {
  display: none !important;
}

.ie8 .search-results-logo {
  float: left;
  padding-left: 15px;
  padding-right: 15px;
}

.footer {
  position: relative;
  clear: both;
}

/* So things look pretty */

.distance-facet-input {
  width: 25px;
}

.no-wrap {
  white-space: nowrap;
}

.search-container {
  position: relative;
}

div.modal {
  width: 100% !important;
  background-color: initial;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  position: fixed;
  white-space: nowrap;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin-left: 0px;
}

div.modal .modal-dialog {
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}

div.modal .modal-content {
  position: absolute;
}

@media (min-width: 992px) {
  div.modal .modal-dialog.panel-1 {
    width: 310px;
  }

  div.modal .modal-dialog.panel-2 {
    width: 590px;
  }

  div.modal .modal-dialog.panel-3 {
    width: 870px;
  }
}

@media (min-width: 420px) {
  div.modal .modal-dialog {
    width: 420px;
  }
}

@media (max-width: 992px) {
  div.modal {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  div.modal .modal-dialog {
    margin-top: 0px !important;
  }
}

#modal-header {
  white-space: normal;
}

#modal-header .close span {
  font-size: 28px;
  font-weight: 400;
}

@media (max-width: 992px) {
  #modal-header {
    padding: 15px;
  }
}

.close-icon {
  color: #2a3d51;
  font-size: 26px;
}

.make-appt-box {
  width: 250px;
  height: 250px;
  margin-bottom: 30px;
  margin-left: 15px;
  margin-right: 15px;
  padding: 20px;
  display: inline-block;
}

.modal-icon {
  font-size: 60px;
  color: #2a3d51;
  display: inline-block;
  padding-bottom: 25px;
}

.modal-icon-container {
  padding-top: 15px;
}

.modal-text {
  line-height: 1.42857;
  min-height: 2.85714em;
  padding-bottom: 30px;
  text-align: center;
  white-space: normal;
}

.modal-phone-text {
  height: 36px;
  line-height: 36px;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
}

.modal-phone-text.multi-line {
  line-height: 1;
}

.modal-phone-text.multi-line span {
  font-size: inherit;
}

#locationfilter + div.tooltip.left {
  margin-left: -20px;
}

ul.subspecialty-list {
  list-style-position: outside;
}

#clear-location-btn {
  margin-top: 42px;
  font-size: 25px;
  color: #748496;
  position: absolute;
  right: 85px;
  top: 0px;
}

#clear-location-btn:hover {
  text-decoration: none;
}

.filter-group .icon-event-available:before {
  vertical-align: top;
}

.filter-group > label {
  text-indent: 0;
}

.filter-group label span {
  white-space: inherit;
}

.clear-filters {
  white-space: nowrap;
}

.location-input {
  display: table;
}

.location-input input {
  width: 100%;
  line-height: 20px;
  display: table-cell;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.location-input a.btn-m {
  display: table-cell;
  width: 1%;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

button.location-inputbutton {
  position: absolute;
  right: 0px;
  top: 10px;
  border-radius: 0;
}

a.powered-by-link,
a:hover.powered-by-link {
  text-decoration: none;
}

.consumer-facets-mobile,
h2.consumer-facets-mobile {
  display: none;
}

.powered-by-link {
  float: right;
}

.logo-pagination {
  padding-bottom: 20px;
}

.logo-pagination button {
  background: transparent;
}

.search-bar-row {
  padding: 0 15px;
}

@media (max-width: 768px) {
  .search-bar-row .ky-search .ky-search-bar label {
    font-size: 16px;
  }

  .search-bar-row .ky-search .ky-search-bar input[type=text] {
    font-size: 16px;
    padding: 8px;
  }
}

img.provider-image-lg {
  max-width: auto;
  max-height: auto;
  width: 130px;
  height: auto;
  border: 1px solid #ccc;
  border-radius: 4px;
}

img.affiliation-logo {
  max-height: 50px;
  max-width: 110px;
  width: auto;
}

img.search-results-logo {
  max-height: 50px;
  max-width: 110px;
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 8px;
}

.about-panel-item {
  white-space: pre-wrap;
}

div.about-panel-item.has-logo-image {
  padding-bottom: 0;
  line-height: 2;
  margin-bottom: 15px;
}

a.about-panel-item.has-logo-image {
  box-sizing: border-box;
  padding-bottom: 0;
  line-height: 2;
  margin-bottom: 15px;
}

address {
  font-style: normal;
  line-height: 1.5em;
}

.typeahead-filter {
  margin-top: 10px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #f5f5f5;
}

.horizontal-rule:before {
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
  padding-top: 20px;
  border-top: 1px solid #d9d9d9;
}

.horizontal-rule:first-child:before {
  border-top: none;
  padding-top: 0;
}

.horizontal-rule-wide:before {
  width: 96%;
  margin-left: 2%;
  margin-right: 2%;
  padding-top: 20px;
  border-top: 1px solid #d9d9d9;
}

.horizontal-rule-wide:first-child:before {
  border-top: none;
  padding-top: 0;
}

@media (max-width: 767px) {
  .horizontal-rule-wide:before {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    padding-top: 20px;
    border-top: 1px solid #d9d9d9;
  }

  .horizontal-rule-wide:first-child:before {
    border-top: none;
    padding-top: 0;
  }
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.img-wrapper-for-overlay {
  float: left;
  position: relative;
}

.has-provider-video {
  position: absolute;
  bottom: 2px;
  left: 0;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #0996df;
  padding-top: 3px;
  padding-bottom: 3px;
  width: 100%;
  opacity: 0.8;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.has-provider-video span {
  vertical-align: middle;
  margin-left: 3px;
}

.stars {
  display: inline-block;
  width: 5.75em;
  height: 1em;
  letter-spacing: 0.25em;
}

.stars div {
  font-size: inherit;
}

.stars [class^=icon-] {
  font-size: inherit;
  color: #f0ad4e;
}

.stars .star-wrapper {
  position: relative;
  width: 100%;
}

.stars .filled,
.stars .empty {
  position: absolute;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.summary-stars .stars {
  margin-right: 5px;
  font-size: 16px;
  line-height: 1.42857;
}

.summary-stars {
  line-height: 1.42857;
}

.ratings {
  padding-bottom: 30px;
}

.ratings .ratings-title .ratings-column {
  font-size: 32px;
}

.ratings .ratings-title .stars {
  padding-top: 5px;
  font-size: 20px;
}

.ratings .ratings-title > div {
  padding-bottom: 20px;
}

.ratings .stars {
  margin-right: 20px;
}

.ratings .review-count {
  font-size: 14px;
  color: #748496;
  margin-top: 5px;
}

.ratings .ratings-column {
  font-weight: 500;
  font-size: 16px;
  border-right: 1px solid #d9d9d9;
  padding-bottom: 10px;
  padding-right: 30px;
  text-align: right;
}

.ratings .star-column {
  border-left: 1px solid #d9d9d9;
  padding-bottom: 10px;
  padding-left: 30px;
  margin-left: -1px;
}

.ratings .metric,
.ratings .review-count {
  line-height: 1.42857;
  display: inline-block;
}

.ratings .average_rating {
  text-align: right;
}

.review .review-date {
  color: #748496;
}

.review .review-question {
  font-weight: 600;
  margin-bottom: 5px;
}

.review .review-question-response {
  margin-bottom: 20px;
}

.review-disclaimer-text {
  font-size: 12px;
  color: #748496;
}

.review-disclaimer-text a {
  font-size: inherit;
}

.show-more .show-more-hidden {
  display: none;
}

.show-more .show-more-button,
.show-more .button.show-more-button {
  color: #748496;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  text-decoration: none;
  border-top: 1px solid #d9d9d9;
  width: 100%;
}

.show-more .show-more-button:hover,
.show-more .button.show-more-button:hover {
  color: #2a3d51;
}

.show-more.show-more-expanded .show-more-hidden {
  display: block;
}

.show-more.show-more-expanded .show-more-button {
  display: none;
}

.experience-field-title {
  font-weight: 500;
  font-size: 16px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  opacity: .4;
  z-index: 1010;
}

.loading-overlay .spinner-container {
  position: fixed;
  left: 50%;
  top: 50%;
}

#map-canvas {
  border-bottom: 1px solid #d9d9d9;
  height: 215px;
  background-color: #d9d9d9;
}

span.sort-menu-item:before {
  content: " | ";
}

span.sort-menu-item:nth-child(2):before {
  content: "";
}

@media (max-width: 992px) {
  .appt-request {
    max-width: 460px;
  }

  .make-appt-box {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 15px;
    width: 100%;
    height: auto;
    padding: 15px;
  }

  .modal-message {
    position: relative;
  }

  .modal-icon-container {
    display: inline;
    float: left;
    padding-top: 0;
    padding-bottom: 15px;
    padding-right: 15px;
  }

  .modal-icon {
    font-size: 40px;
    color: #2a3d51;
    padding-bottom: 0;
  }

  .modal-text {
    text-align: left;
    padding-bottom: 0;
    margin-left: 0;
    overflow: hidden;
    height: 40px;
    display: table-cell;
    vertical-align: middle;
  }
}

@media (max-width: 767px) {
  .consumer-facets-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: scroll;
    background: white;
    z-index: 1000;
    display: none;
  }

  .consumer-facets-overlay .filter-group {
    max-width: 100%;
  }

  .consumer-facets-overlay select {
    padding: 5px;
  }

  .consumer-facets-mobile,
  h2.consumer-facets-mobile {
    display: block;
  }

  .facets-back {
    background-color: #f5f5f5;
    margin-bottom: 10px;
  }

  body.facets-open {
    overflow: hidden;
  }

  img.provider-image {
    max-width: 100%;
    box-sizing: border-box;
  }

  .pagination-col {
    text-align: center;
  }

  .pagination {
    display: inline-block;
  }

  .powered-by-link {
    float: none;
    display: inline;
    text-align: center;
  }

  .icon-powered-by-logo:before {
    overflow: hidden;
  }

  .has-provider-video {
    max-width: 100%;
  }

  .ratings .metric,
  .ratings .review-count {
    display: block;
  }

  .loading-overlay {
    position: fixed;
  }

  .sort-dropdown {
    width: 100%;
  }
}

button.button.btn-anchor {
  color: #0996df;
  background: transparent;
  border-radius: 0;
}

button.button.btn-anchor:hover,
button.button.btn-anchor:focus {
  text-decoration: underline;
}

button.button.btn-anchor:focus {
  outline: 1px solid #0996df;
  outline: -webkit-focus-ring-color auto 5px;
}

ul.two-col-horizontal li:nth-child(2n+1) {
  clear: left;
}

ul.two-col-horizontal li {
  float: left;
  width: 50%;
  box-sizing: border-box;
}

ul.two-col-horizontal.list-m li {
  padding-left: 5px;
  padding-right: 5px;
}

.hide {
  display: none;
  visibility: hidden;
}

.d-block {
  display: block;
}

.d-inline-block {
  display: inline-block;
}

.d-table {
  display: table;
}

.d-inline {
  display: inline;
}

.btnGroup:after,
.d-table:after {
  content: "";
  display: table;
  clear: both;
}

.btnGroup:before,
.d-table:before {
  display: table;
  content: "";
}

.f-left {
  float: left;
}

.f-right {
  float: right;
}

.f-none {
  float: none;
}

.refresh-results {
  position: relative;
  opacity: 1;
}

.refresh-results:after {
  display: block;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 5%;
  left: 40%;
  opacity: 1;
  content: "";
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  background-image: url("https://cdn.kyruus.com/lib/providermatch-consumer/276.0.0/loading.gif");
  background-position: 50% 50%;
  background-size: 50%;
  background-repeat: no-repeat;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.refresh-results .result-column {
  display: inline-block;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=15);
  opacity: 0.15;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.update-result-item {
  display: inline-block;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=15);
  opacity: 0.15;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: .67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace,monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: 700;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

.offset-left-s {
  margin-left: -10px;
  margin-right: 10px;
}

.offset-left-m {
  margin-left: -20px;
  margin-right: 20px;
}

.offset-left-l {
  margin-left: -30px;
  margin-right: 30px;
}

.offset-left-xl {
  margin-left: -40px;
  margin-right: 40px;
}

.offset-left-xl {
  margin-left: -50px;
  margin-right: 50px;
}

.offset-right-s {
  margin-left: 10px;
  margin-right: -10px;
}

.offset-right-m {
  margin-left: 20px;
  margin-right: -20px;
}

.offset-right-l {
  margin-left: 40px;
  margin-right: -10px;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-nowrap {
  white-space: nowrap;
}

.va-t {
  vertical-align: top;
}

.va-m {
  vertical-align: middle;
}

.va-b {
  vertical-align: bottom;
}

.va-tt {
  vertical-align: text-top;
}

.va-tb {
  vertical-align: text-bottom;
}

.provider-image {
  max-width: 90px;
  max-height: 150px;
  height: auto;
  width: auto;
  border: 1px solid #ccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.br-s {
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -ms-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;
}

.br-m {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.br-l {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
}

.filter-group {
  margin-bottom: 20px;
}

.filter-group h3 {
  color: #748496;
}

.filter-group .filter-box {
  border: 1px solid #d9d9d9;
  margin-top: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.filter-group .filter-box.no-top {
  margin-top: 0;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  -ms-border-radius: 0 0 4px 4px;
  -o-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

.filter-group .filter-box.no-top ul {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  -ms-border-radius: 0 0 4px 4px;
  -o-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}

.filter-group .filter-box.no-top ulli:first-child {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
}

.filter-group .filter-box ul {
  background: #f5f5f5;
  border-radius: 4px;
}

.filter-group .filter-box ul li {
  line-height: 30px;
  color: #2a3d51;
  font-size: 12px;
  padding-left: 10px;
}

.filter-group .filter-box ul li:hover {
  background: #fff;
  color: #0996df;
}

.filter-group .filter-box ul li .count {
  color: #9aa5b2;
  white-space: nowrap;
}

.filter-group .filter-box ul li:hover .count {
  color: #2a3d51;
  white-space: nowrap;
}

.filter-group .filter-box ul li label {
  cursor: pointer;
}

.filter-group .filter-box ul li:first-child {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  -ms-border-radius: 4px 4px 0 0;
  -o-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}

.filter-group .filter-box ul li.disabled,
.filter-group .filter-box ul li.disabled:hover {
  background: none;
  color: #9aa5b2;
  cursor: not-allowed;
}

.filter-group .filter-box ul li.disabled label,
.filter-group .filter-box ul li.disabled input,
.filter-group .filter-box ul li.disabled:hover label,
.filter-group .filter-box ul li.disabled:hover input {
  cursor: not-allowed;
}

.filter-group .filter-box ul li input[type=checkbox]:checked + label .count {
  color: #2a3d51;
}

.filter-group .filter-box ul hr {
  margin: 0px auto;
  border-width: 1.5px;
  border-style: solid;
  border-color: #d9d9d9;
}

.filter-group .filter-box.multi li {
  border-bottom: 1px solid #d9d9d9;
}

.filter-group .filter-box.radio .show-more {
  border-top: 1px solid #d9d9d9;
}

.filter-group .filter-box.custom {
  background: #eee;
}

.filter-group .filter-box .show-more {
  font-size: 12px;
  padding: 5px;
  text-align: center;
}

.filter-group .clear {
  display: none;
  font-size: 12px;
  padding-top: 2px;
}

.filter-group .clear.show {
  display: inline-block;
}

.filter-group:hover .clear {
  display: inline-block;
}

.map-marker {
  display: inline-block;
  padding: 4px;
  width: 16px;
  height: 16px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  background: red;
  color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}

.icons-pin {
  font-size: 28px;
  display: inline-block;
  position: relative;
  top: 20px;
  left: -7px;
}

.icons-pin:after {
  display: block;
  width: 5px;
  height: 5px;
  color: #fff;
  font-size: 12px;
  position: relative;
  top: -23px;
  left: -1px;
  margin: 0 auto;
  font-weight: 800;
  font-family: helvetica;
  text-shadow: rgba(61, 61, 61, 0.7) 1px 1px 1px, rgba(61, 61, 61, 0.7) -0.5px -0.5px 1px;
}

.indent {
  margin-left: 27px;
}

.ma-xs {
  margin: 5px;
}

.ma-s {
  margin: 10px;
}

.ma-m {
  margin: 20px;
}

.ma-l {
  margin: 30px;
}

.ma-xl {
  margin: 40px;
}

.ma-xxl {
  margin: 50px;
}

.mt-xs {
  margin-top: 5px;
}

.mt-s {
  margin-top: 10px;
}

.mt-m {
  margin-top: 20px;
}

.mt-l {
  margin-top: 30px;
}

.mt-xl {
  margin-top: 40px;
}

.mt-xxl {
  margin-top: 50px;
}

.mr-xs {
  margin-right: 5px;
}

.mr-s {
  margin-right: 10px;
}

.mr-m {
  margin-right: 20px;
}

.mr-l {
  margin-right: 30px;
}

.mr-xl {
  margin-right: 40px;
}

.mr-xxl {
  margin-right: 50px;
}

.mb-xs {
  margin-bottom: 5px;
}

.mb-s {
  margin-bottom: 10px;
}

.mb-m {
  margin-bottom: 20px;
}

.mb-l {
  margin-bottom: 30px;
}

.mb-xl {
  margin-bottom: 40px;
}

.mb-xxl {
  margin-bottom: 50px;
}

.ml-xs {
  margin-left: 5px;
}

.ml-s {
  margin-left: 10px;
}

.ml-m {
  margin-left: 20px;
}

.ml-l {
  margin-left: 30px;
}

.ml-xl {
  margin-left: 40px;
}

.ml-xl {
  margin-left: 50px;
}

.pa-s {
  padding: 10px;
}

.pa-m {
  padding: 20px;
}

.pa-l {
  padding: 30px;
}

.pa-xl {
  padding: 40px;
}

.pt-s {
  padding-top: 10px;
}

.pt-m {
  padding-top: 20px;
}

.pt-l {
  padding-top: 30px;
}

.pt-xl {
  padding-top: 40px;
}

.pr-s {
  padding-right: 10px;
}

.pr-m {
  padding-right: 20px;
}

.pr-l {
  padding-right: 30px;
}

.pr-xl {
  padding-right: 40px;
}

.pb-s {
  padding-bottom: 10px;
}

.pb-m {
  padding-bottom: 20px;
}

.pb-l {
  padding-bottom: 30px;
}

.pb-xl {
  padding-bottom: 40px;
}

.pl-s {
  padding-left: 10px;
}

.pl-m {
  padding-left: 20px;
}

.pl-l {
  padding-left: 30px;
}

.pl-xl {
  padding-left: 40px;
}

.profile-summary {
  border: 1px solid #d9d9d9;
  margin-bottom: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.profile-summary .top {
  min-height: 160px;
}

.profile-summary .top .affiliation-logo {
  float: right;
}

.profile-summary .top ul {
  color: #748496;
}

.profile-detailed {
  min-height: 400px;
  border: 1px solid #d9d9d9;
  -webkit-border-radius: 0 4 4 4;
  -moz-border-radius: 0 4 4 4;
  -ms-border-radius: 0 4 4 4;
  -o-border-radius: 0 4 4 4;
  border-radius: 0 4 4 4;
}

.action-panel {
  background: #f5f5f5;
  border: 1px solid #d9d9d9;
  min-height: 250px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.utility-bar.border-bottom {
  border-bottom: 1px solid #d9d9d9;
}

.consumer-embed-widget {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.consumer-embed-widget h1 {
  text-align: center;
  margin-bottom: 20px;
}

.consumer-embed-widget .search-bar {
  margin: 0;
  background: #f5f5f5;
  padding: 30px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.consumer-embed-widget .search-bar label {
  margin-bottom: 8px;
}

.consumer-embed-widget .search-bar button {
  width: 100%;
  font-weight: 600;
  white-space: nowrap;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline-style: none;
  vertical-align: middle;
  cursor: pointer;
}

.consumer-embed-widget .search-bar button.btn-positive {
  color: #fff;
  background-color: #25c159;
  font-size: 16px;
  height: 34px;
  padding: 0 12px;
  line-height: 40px;
}

.consumer-embed-widget .search-bar button.btn-positive [class^="icon-"],
.consumer-embed-widget .search-bar button.btn-positive [class*=" icon-"] {
  position: relative;
  top: 0;
}

.consumer-embed-widget .search-bar input {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: auto;
}

.consumer-embed-widget .search-bar .input-m {
  height: 34px;
}

.alert {
  width: 100%;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.alert:hover .icons-cancel {
  cursor: hand;
}

.alert [class^="icons-"] {
  top: 4px;
  position: relative;
}

.alert .icons-cancel {
  top: 1px;
}

.alert.disclaimer {
  background: #f5f5f5;
  border-left: 8px solid #327fa6;
}

.alert.info {
  background: #e1eff6;
  border-left: 8px solid #327fa6;
}

.alert.info:hover {
  background: #d5e9f2;
}

.alert.warning {
  background: #fbf7de;
  border-left: 8px solid #e2cf00;
}

.alert.warning:hover {
  background: #f9f4d0;
}

.alert.error {
  background: #f4dedc;
  border-left: 8px solid #c34c41;
}

.alert.error:hover {
  background: #f0d3d0;
}

.alert.success {
  background: #ecf6e8;
  border-left: 8px solid #5ba03f;
}

.alert.success:hover {
  background: #e3f2dd;
}

.alert.success.icons-success {
  color: red;
}

.button {
  font-weight: 400;
  white-space: nowrap;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline-style: none;
  vertical-align: middle;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  text-align: center;
  border: none;
}

.button:hover {
  text-decoration: none;
}

.button.full-width {
  width: 100%;
}

.button.btn-s {
  font-size: 12px;
  height: 26px;
  padding: 0 8px;
  line-height: 26px;
}

.button.btn-s [class^="icon-"],
.button.btn-s [class*=" icon-"] {
  position: relative;
  top: 1px;
}

.button.btn-m {
  font-size: 14px;
  height: 30px;
  padding: 0 10px;
  line-height: 30px;
}

.button.btn-m [class^="icon-"],
.button.btn-m [class*=" icon-"] {
  position: relative;
  top: 1px;
}

.button.btn-l {
  font-size: 16px;
  height: 36px;
  padding: 0 12px;
  line-height: 36px;
}

.button.btn-l [class^="icon-"],
.button.btn-l [class*=" icon-"] {
  position: relative;
  top: 1px;
}

.button.btn-xl {
  font-size: 18px;
  height: 52px;
  padding: 0 16px;
  line-height: 52px;
}

.button.btn-xl [class^="icon-"],
.button.btn-xl [class*=" icon-"] {
  position: relative;
  top: 0px;
}

.button.btn-light {
  color: #2a3d51;
  background-color: #e9ebed;
  border: 1px solid #d9d9d9;
}

.button.btn-light.delete {
  color: #ff1a29;
}

.button.btn-positive {
  color: #fff;
  background-color: #25c159;
}

.button.btn-link {
  color: #fff;
  background-color: #0996df;
}

.button.btn-soft {
  color: #0996df;
  background-color: #fff;
  border: 1px solid #0996df;
}

.button.btn-simple {
  color: #0996df;
  border-width: 0;
  border-color: transparent;
  background-color: transparent;
}

.button.btn-simple:hover {
  text-decoration: underline;
}

.button.disabled {
  opacity: .5;
  border-color: #b1bac4 #9aa5b2 #718193;
  text-shadow: 0 1px 0 #fff;
  cursor: not-allowed;
  background: #f6f7f8;
  color: #2a3d51;
}

.button.disabled:hover {
  box-shadow: none;
  border-color: #b1bac4 #9aa5b2 #718193;
}

.btnGroup .btnGroup-item {
  display: inline-block;
  float: left;
}

.btnGroup .btnGroup-item:not(:first-child) {
  border-left: 0;
  border-radius: 0;
}

.btnGroup .btnGroup-item:first-child {
  border-radius: 4px 0 0 4px;
}

.btnGroup .btnGroup-item:last-child {
  border-radius: 0 4px 4px 0;
}

.fc-gray-1,
button.button.btn-anchor.dark-link {
  color: #2a3d51;
}

.fc-gray-2 {
  color: #748496;
}

.fc-gray-3 {
  color: #9aa5b2;
}

.fc-gray-4 {
  color: #d9d9d9;
}

.fc-gray-5 {
  color: #f5f5f5;
}

.fc-blue {
  color: #0996df;
}

.fc-success {
  color: #4FA500;
}

.fc-positive {
  color: #42ce67;
}

.bc-black {
  background: #000;
}

.bc-white {
  background: #fff;
}

.bc-gray-1 {
  background: #2a3d51;
}

.bc-gray-2 {
  background: #748496;
}

.bc-gray-3 {
  background: #9aa5b2;
}

.bc-gray-4 {
  background: #d9d9d9;
}

.bc-gray-5 {
  background: #f5f5f5;
}

.bc-positive {
  background: #42ce67;
}

.bc-warning {
  background: #f0ad4e;
}

.bc-negative {
  background: #e54e5b;
}

.bc-link {
  background: #0996df;
}

.bc-soft {
  background: #e7fafd;
}

input,
select {
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input:focus,
select:focus {
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.08);
}

input.input-s,
select.input-s {
  padding: 5px;
  font-size: 12px;
}

input.input-m,
select.input-m {
  padding: 7px;
  font-size: 16px;
}

input.input-l,
select.input-l {
  padding: 9px;
  font-size: 18px;
}

input.full-width,
select.full-width {
  width: 100%;
}

textarea {
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  border: 1px solid #ccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

textarea:focus {
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.08);
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  box-sizing: border-box;
  padding: 0;
  margin-right: 5px;
  border: 0px;
  width: 14px;
  height: 14px;
}

label {
  display: block;
  padding-left: 26px;
  text-indent: -24px;
  line-height: 22px;
  padding-top: 5px;
  padding-bottom: 5px;
  word-wrap: break-word;
}

label span {
  white-space: pre;
}

label.input-s {
  font-size: 12px;
  line-height: 22px;
}

label.input-m {
  font-size: 16px;
  line-height: 22px;
}

label.input-l {
  font-size: 18px;
  line-height: 22px;
}

.form-inline {
  position: relative;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 35px;
  display: inline-block;
}

.form-inline input {
  height: 100%;
  width: 100%;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.form-inline .input-wrapper {
  position: absolute;
  right: 20%;
  left: 0px;
  top: 0px;
  bottom: 0px;
}

.form-inline a.button {
  position: absolute;
  right: 0px;
  overflow: visible;
}

.form-inline a.button.btn-s {
  top: 18px;
}

.form-inline a.button.btn-m {
  top: 18px;
}

.form-inline a.button.btn-m {
  top: 18px;
}

.inputGroup small {
  font-size: 12px;
  color: #748496;
  display: block;
}

@media (max-width: 767px) {
  .col-xs-1,
  .col-xs-2,
  .col-xs-3,
  .col-xs-4,
  .col-xs-5,
  .col-xs-6,
  .col-xs-7,
  .col-xs-8,
  .col-xs-9,
  .col-xs-10,
  .col-xs-11,
  .col-xs-12 {
    float: left;
  }

  .col-xs-12 {
    width: 100%;
  }

  .col-xs-11 {
    width: 91.66666667%;
  }

  .col-xs-10 {
    width: 83.33333333%;
  }

  .col-xs-9 {
    width: 75%;
  }

  .col-xs-8 {
    width: 66.66666667%;
  }

  .col-xs-7 {
    width: 58.33333333%;
  }

  .col-xs-6 {
    width: 50%;
  }

  .col-xs-5 {
    width: 41.66666667%;
  }

  .col-xs-4 {
    width: 33.33333333%;
  }

  .col-xs-3 {
    width: 25%;
  }

  .col-xs-2 {
    width: 16.66666667%;
  }

  .col-xs-1 {
    width: 8.33333333%;
  }

  .col-xs-pull-12 {
    right: 100%;
  }

  .col-xs-pull-11 {
    right: 91.66666667%;
  }

  .col-xs-pull-10 {
    right: 83.33333333%;
  }

  .col-xs-pull-9 {
    right: 75%;
  }

  .col-xs-pull-8 {
    right: 66.66666667%;
  }

  .col-xs-pull-7 {
    right: 58.33333333%;
  }

  .col-xs-pull-6 {
    right: 50%;
  }

  .col-xs-pull-5 {
    right: 41.66666667%;
  }

  .col-xs-pull-4 {
    right: 33.33333333%;
  }

  .col-xs-pull-3 {
    right: 25%;
  }

  .col-xs-pull-2 {
    right: 16.66666667%;
  }

  .col-xs-pull-1 {
    right: 8.33333333%;
  }

  .col-xs-pull-0 {
    right: auto;
  }

  .col-xs-push-12 {
    left: 100%;
  }

  .col-xs-push-11 {
    left: 91.66666667%;
  }

  .col-xs-push-10 {
    left: 83.33333333%;
  }

  .col-xs-push-9 {
    left: 75%;
  }

  .col-xs-push-8 {
    left: 66.66666667%;
  }

  .col-xs-push-7 {
    left: 58.33333333%;
  }

  .col-xs-push-6 {
    left: 50%;
  }

  .col-xs-push-5 {
    left: 41.66666667%;
  }

  .col-xs-push-4 {
    left: 33.33333333%;
  }

  .col-xs-push-3 {
    left: 25%;
  }

  .col-xs-push-2 {
    left: 16.66666667%;
  }

  .col-xs-push-1 {
    left: 8.33333333%;
  }

  .col-xs-push-0 {
    left: auto;
  }

  .col-xs-offset-12 {
    margin-left: 100%;
  }

  .col-xs-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-xs-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-xs-offset-9 {
    margin-left: 75%;
  }

  .col-xs-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-xs-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-xs-offset-6 {
    margin-left: 50%;
  }

  .col-xs-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-xs-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-xs-offset-3 {
    margin-left: 25%;
  }

  .col-xs-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-xs-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-xs-offset-0 {
    margin-left: 0%;
  }

  .visible-xs {
    display: block !important;
  }

  table.visible-xs {
    display: table;
  }

  tr.visible-xs {
    display: table-row !important;
  }

  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }

  .visible-xs-block {
    display: block !important;
  }

  .visible-xs-inline {
    display: inline !important;
  }

  .visible-xs-inline-block {
    display: inline-block !important;
  }

  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .container {
    width: 750px;
  }

  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    float: left;
  }

  .col-sm-12 {
    width: 100%;
  }

  .col-sm-11 {
    width: 91.66666667%;
  }

  .col-sm-10 {
    width: 83.33333333%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-8 {
    width: 66.66666667%;
  }

  .col-sm-7 {
    width: 58.33333333%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-5 {
    width: 41.66666667%;
  }

  .col-sm-4 {
    width: 33.33333333%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-2 {
    width: 16.66666667%;
  }

  .col-sm-1 {
    width: 8.33333333%;
  }

  .col-sm-pull-12 {
    right: 100%;
  }

  .col-sm-pull-11 {
    right: 91.66666667%;
  }

  .col-sm-pull-10 {
    right: 83.33333333%;
  }

  .col-sm-pull-9 {
    right: 75%;
  }

  .col-sm-pull-8 {
    right: 66.66666667%;
  }

  .col-sm-pull-7 {
    right: 58.33333333%;
  }

  .col-sm-pull-6 {
    right: 50%;
  }

  .col-sm-pull-5 {
    right: 41.66666667%;
  }

  .col-sm-pull-4 {
    right: 33.33333333%;
  }

  .col-sm-pull-3 {
    right: 25%;
  }

  .col-sm-pull-2 {
    right: 16.66666667%;
  }

  .col-sm-pull-1 {
    right: 8.33333333%;
  }

  .col-sm-pull-0 {
    right: auto;
  }

  .col-sm-push-12 {
    left: 100%;
  }

  .col-sm-push-11 {
    left: 91.66666667%;
  }

  .col-sm-push-10 {
    left: 83.33333333%;
  }

  .col-sm-push-9 {
    left: 75%;
  }

  .col-sm-push-8 {
    left: 66.66666667%;
  }

  .col-sm-push-7 {
    left: 58.33333333%;
  }

  .col-sm-push-6 {
    left: 50%;
  }

  .col-sm-push-5 {
    left: 41.66666667%;
  }

  .col-sm-push-4 {
    left: 33.33333333%;
  }

  .col-sm-push-3 {
    left: 25%;
  }

  .col-sm-push-2 {
    left: 16.66666667%;
  }

  .col-sm-push-1 {
    left: 8.33333333%;
  }

  .col-sm-push-0 {
    left: auto;
  }

  .col-sm-offset-12 {
    margin-left: 100%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }

  table.visible-sm {
    display: table;
  }

  tr.visible-sm {
    display: table-row !important;
  }

  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }

  .visible-sm-block {
    display: block !important;
  }

  .visible-sm-inline {
    display: inline !important;
  }

  .visible-sm-inline-block {
    display: inline-block !important;
  }

  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }

  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12 {
    float: left;
  }

  .col-md-12 {
    width: 100%;
  }

  .col-md-11 {
    width: 91.66666667%;
  }

  .col-md-10 {
    width: 83.33333333%;
  }

  .col-md-9 {
    width: 75%;
  }

  .col-md-8 {
    width: 66.66666667%;
  }

  .col-md-7 {
    width: 58.33333333%;
  }

  .col-md-6 {
    width: 50%;
  }

  .col-md-5 {
    width: 41.66666667%;
  }

  .col-md-4 {
    width: 33.33333333%;
  }

  .col-md-3 {
    width: 25%;
  }

  .col-md-2 {
    width: 16.66666667%;
  }

  .col-md-1 {
    width: 8.33333333%;
  }

  .col-md-pull-12 {
    right: 100%;
  }

  .col-md-pull-11 {
    right: 91.66666667%;
  }

  .col-md-pull-10 {
    right: 83.33333333%;
  }

  .col-md-pull-9 {
    right: 75%;
  }

  .col-md-pull-8 {
    right: 66.66666667%;
  }

  .col-md-pull-7 {
    right: 58.33333333%;
  }

  .col-md-pull-6 {
    right: 50%;
  }

  .col-md-pull-5 {
    right: 41.66666667%;
  }

  .col-md-pull-4 {
    right: 33.33333333%;
  }

  .col-md-pull-3 {
    right: 25%;
  }

  .col-md-pull-2 {
    right: 16.66666667%;
  }

  .col-md-pull-1 {
    right: 8.33333333%;
  }

  .col-md-pull-0 {
    right: auto;
  }

  .col-md-push-12 {
    left: 100%;
  }

  .col-md-push-11 {
    left: 91.66666667%;
  }

  .col-md-push-10 {
    left: 83.33333333%;
  }

  .col-md-push-9 {
    left: 75%;
  }

  .col-md-push-8 {
    left: 66.66666667%;
  }

  .col-md-push-7 {
    left: 58.33333333%;
  }

  .col-md-push-6 {
    left: 50%;
  }

  .col-md-push-5 {
    left: 41.66666667%;
  }

  .col-md-push-4 {
    left: 33.33333333%;
  }

  .col-md-push-3 {
    left: 25%;
  }

  .col-md-push-2 {
    left: 16.66666667%;
  }

  .col-md-push-1 {
    left: 8.33333333%;
  }

  .col-md-push-0 {
    left: auto;
  }

  .col-md-offset-12 {
    margin-left: 100%;
  }

  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-md-offset-9 {
    margin-left: 75%;
  }

  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-md-offset-6 {
    margin-left: 50%;
  }

  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-md-offset-3 {
    margin-left: 25%;
  }

  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-md-offset-0 {
    margin-left: 0%;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }

  table.visible-md {
    display: table;
  }

  tr.visible-md {
    display: table-row !important;
  }

  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }

  .visible-md-block {
    display: block !important;
  }

  .visible-md-inline {
    display: inline !important;
  }

  .visible-md-inline-block {
    display: inline-block !important;
  }

  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }

  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    float: left;
  }

  .col-lg-12 {
    width: 100%;
  }

  .col-lg-11 {
    width: 91.66666667%;
  }

  .col-lg-10 {
    width: 83.33333333%;
  }

  .col-lg-9 {
    width: 75%;
  }

  .col-lg-8 {
    width: 66.66666667%;
  }

  .col-lg-7 {
    width: 58.33333333%;
  }

  .col-lg-6 {
    width: 50%;
  }

  .col-lg-5 {
    width: 41.66666667%;
  }

  .col-lg-4 {
    width: 33.33333333%;
  }

  .col-lg-3 {
    width: 25%;
  }

  .col-lg-2 {
    width: 16.66666667%;
  }

  .col-lg-1 {
    width: 8.33333333%;
  }

  .col-lg-pull-12 {
    right: 100%;
  }

  .col-lg-pull-11 {
    right: 91.66666667%;
  }

  .col-lg-pull-10 {
    right: 83.33333333%;
  }

  .col-lg-pull-9 {
    right: 75%;
  }

  .col-lg-pull-8 {
    right: 66.66666667%;
  }

  .col-lg-pull-7 {
    right: 58.33333333%;
  }

  .col-lg-pull-6 {
    right: 50%;
  }

  .col-lg-pull-5 {
    right: 41.66666667%;
  }

  .col-lg-pull-4 {
    right: 33.33333333%;
  }

  .col-lg-pull-3 {
    right: 25%;
  }

  .col-lg-pull-2 {
    right: 16.66666667%;
  }

  .col-lg-pull-1 {
    right: 8.33333333%;
  }

  .col-lg-pull-0 {
    right: auto;
  }

  .col-lg-push-12 {
    left: 100%;
  }

  .col-lg-push-11 {
    left: 91.66666667%;
  }

  .col-lg-push-10 {
    left: 83.33333333%;
  }

  .col-lg-push-9 {
    left: 75%;
  }

  .col-lg-push-8 {
    left: 66.66666667%;
  }

  .col-lg-push-7 {
    left: 58.33333333%;
  }

  .col-lg-push-6 {
    left: 50%;
  }

  .col-lg-push-5 {
    left: 41.66666667%;
  }

  .col-lg-push-4 {
    left: 33.33333333%;
  }

  .col-lg-push-3 {
    left: 25%;
  }

  .col-lg-push-2 {
    left: 16.66666667%;
  }

  .col-lg-push-1 {
    left: 8.33333333%;
  }

  .col-lg-push-0 {
    left: auto;
  }

  .col-lg-offset-12 {
    margin-left: 100%;
  }

  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }

  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-lg-offset-9 {
    margin-left: 75%;
  }

  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-lg-offset-6 {
    margin-left: 50%;
  }

  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-lg-offset-3 {
    margin-left: 25%;
  }

  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-lg-offset-0 {
    margin-left: 0%;
  }

  .visible-lg {
    display: block !important;
  }

  table.visible-lg {
    display: table;
  }

  tr.visible-lg {
    display: table-row !important;
  }

  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }

  .visible-lg-block {
    display: block !important;
  }

  .visible-lg-inline {
    display: inline !important;
  }

  .visible-lg-inline-block {
    display: inline-block !important;
  }

  .hidden-lg {
    display: none !important;
  }
}

.ie8 .container {
  width: 970px;
}

.ie8 .col-sm-1,
.ie8 .col-sm-2,
.ie8 .col-sm-3,
.ie8 .col-sm-4,
.ie8 .col-sm-5,
.ie8 .col-sm-6,
.ie8 .col-sm-7,
.ie8 .col-sm-8,
.ie8 .col-sm-9,
.ie8 .col-sm-10,
.ie8 .col-sm-11,
.ie8 .col-sm-12 {
  float: left;
}

.ie8 .col-sm-12 {
  width: 100%;
}

.ie8 .col-sm-11 {
  width: 91.66666667%;
}

.ie8 .col-sm-10 {
  width: 83.33333333%;
}

.ie8 .col-sm-9 {
  width: 75%;
}

.ie8 .col-sm-8 {
  width: 66.66666667%;
}

.ie8 .col-sm-7 {
  width: 58.33333333%;
}

.ie8 .col-sm-6 {
  width: 50%;
}

.ie8 .col-sm-5 {
  width: 41.66666667%;
}

.ie8 .col-sm-4 {
  width: 33.33333333%;
}

.ie8 .col-sm-3 {
  width: 25%;
}

.ie8 .col-sm-2 {
  width: 16.66666667%;
}

.ie8 .col-sm-1 {
  width: 8.33333333%;
}

.ie8 .col-sm-pull-12 {
  right: 100%;
}

.ie8 .col-sm-pull-11 {
  right: 91.66666667%;
}

.ie8 .col-sm-pull-10 {
  right: 83.33333333%;
}

.ie8 .col-sm-pull-9 {
  right: 75%;
}

.ie8 .col-sm-pull-8 {
  right: 66.66666667%;
}

.ie8 .col-sm-pull-7 {
  right: 58.33333333%;
}

.ie8 .col-sm-pull-6 {
  right: 50%;
}

.ie8 .col-sm-pull-5 {
  right: 41.66666667%;
}

.ie8 .col-sm-pull-4 {
  right: 33.33333333%;
}

.ie8 .col-sm-pull-3 {
  right: 25%;
}

.ie8 .col-sm-pull-2 {
  right: 16.66666667%;
}

.ie8 .col-sm-pull-1 {
  right: 8.33333333%;
}

.ie8 .col-sm-pull-0 {
  right: auto;
}

.ie8 .col-sm-push-12 {
  left: 100%;
}

.ie8 .col-sm-push-11 {
  left: 91.66666667%;
}

.ie8 .col-sm-push-10 {
  left: 83.33333333%;
}

.ie8 .col-sm-push-9 {
  left: 75%;
}

.ie8 .col-sm-push-8 {
  left: 66.66666667%;
}

.ie8 .col-sm-push-7 {
  left: 58.33333333%;
}

.ie8 .col-sm-push-6 {
  left: 50%;
}

.ie8 .col-sm-push-5 {
  left: 41.66666667%;
}

.ie8 .col-sm-push-4 {
  left: 33.33333333%;
}

.ie8 .col-sm-push-3 {
  left: 25%;
}

.ie8 .col-sm-push-2 {
  left: 16.66666667%;
}

.ie8 .col-sm-push-1 {
  left: 8.33333333%;
}

.ie8 .col-sm-push-0 {
  left: auto;
}

.ie8 .col-sm-offset-12 {
  margin-left: 100%;
}

.ie8 .col-sm-offset-11 {
  margin-left: 91.66666667%;
}

.ie8 .col-sm-offset-10 {
  margin-left: 83.33333333%;
}

.ie8 .col-sm-offset-9 {
  margin-left: 75%;
}

.ie8 .col-sm-offset-8 {
  margin-left: 66.66666667%;
}

.ie8 .col-sm-offset-7 {
  margin-left: 58.33333333%;
}

.ie8 .col-sm-offset-6 {
  margin-left: 50%;
}

.ie8 .col-sm-offset-5 {
  margin-left: 41.66666667%;
}

.ie8 .col-sm-offset-4 {
  margin-left: 33.33333333%;
}

.ie8 .col-sm-offset-3 {
  margin-left: 25%;
}

.ie8 .col-sm-offset-2 {
  margin-left: 16.66666667%;
}

.ie8 .col-sm-offset-1 {
  margin-left: 8.33333333%;
}

.ie8 .col-sm-offset-0 {
  margin-left: 0%;
}

.ie8 .col-md-1,
.ie8 .col-md-2,
.ie8 .col-md-3,
.ie8 .col-md-4,
.ie8 .col-md-5,
.ie8 .col-md-6,
.ie8 .col-md-7,
.ie8 .col-md-8,
.ie8 .col-md-9,
.ie8 .col-md-10,
.ie8 .col-md-11,
.ie8 .col-md-12 {
  float: left;
}

.ie8 .col-md-12 {
  width: 100%;
}

.ie8 .col-md-11 {
  width: 91.66666667%;
}

.ie8 .col-md-10 {
  width: 83.33333333%;
}

.ie8 .col-md-9 {
  width: 75%;
}

.ie8 .col-md-8 {
  width: 66.66666667%;
}

.ie8 .col-md-7 {
  width: 58.33333333%;
}

.ie8 .col-md-6 {
  width: 50%;
}

.ie8 .col-md-5 {
  width: 41.66666667%;
}

.ie8 .col-md-4 {
  width: 33.33333333%;
}

.ie8 .col-md-3 {
  width: 25%;
}

.ie8 .col-md-2 {
  width: 16.66666667%;
}

.ie8 .col-md-1 {
  width: 8.33333333%;
}

.ie8 .col-md-pull-12 {
  right: 100%;
}

.ie8 .col-md-pull-11 {
  right: 91.66666667%;
}

.ie8 .col-md-pull-10 {
  right: 83.33333333%;
}

.ie8 .col-md-pull-9 {
  right: 75%;
}

.ie8 .col-md-pull-8 {
  right: 66.66666667%;
}

.ie8 .col-md-pull-7 {
  right: 58.33333333%;
}

.ie8 .col-md-pull-6 {
  right: 50%;
}

.ie8 .col-md-pull-5 {
  right: 41.66666667%;
}

.ie8 .col-md-pull-4 {
  right: 33.33333333%;
}

.ie8 .col-md-pull-3 {
  right: 25%;
}

.ie8 .col-md-pull-2 {
  right: 16.66666667%;
}

.ie8 .col-md-pull-1 {
  right: 8.33333333%;
}

.ie8 .col-md-pull-0 {
  right: auto;
}

.ie8 .col-md-push-12 {
  left: 100%;
}

.ie8 .col-md-push-11 {
  left: 91.66666667%;
}

.ie8 .col-md-push-10 {
  left: 83.33333333%;
}

.ie8 .col-md-push-9 {
  left: 75%;
}

.ie8 .col-md-push-8 {
  left: 66.66666667%;
}

.ie8 .col-md-push-7 {
  left: 58.33333333%;
}

.ie8 .col-md-push-6 {
  left: 50%;
}

.ie8 .col-md-push-5 {
  left: 41.66666667%;
}

.ie8 .col-md-push-4 {
  left: 33.33333333%;
}

.ie8 .col-md-push-3 {
  left: 25%;
}

.ie8 .col-md-push-2 {
  left: 16.66666667%;
}

.ie8 .col-md-push-1 {
  left: 8.33333333%;
}

.ie8 .col-md-push-0 {
  left: auto;
}

.ie8 .col-md-offset-12 {
  margin-left: 100%;
}

.ie8 .col-md-offset-11 {
  margin-left: 91.66666667%;
}

.ie8 .col-md-offset-10 {
  margin-left: 83.33333333%;
}

.ie8 .col-md-offset-9 {
  margin-left: 75%;
}

.ie8 .col-md-offset-8 {
  margin-left: 66.66666667%;
}

.ie8 .col-md-offset-7 {
  margin-left: 58.33333333%;
}

.ie8 .col-md-offset-6 {
  margin-left: 50%;
}

.ie8 .col-md-offset-5 {
  margin-left: 41.66666667%;
}

.ie8 .col-md-offset-4 {
  margin-left: 33.33333333%;
}

.ie8 .col-md-offset-3 {
  margin-left: 25%;
}

.ie8 .col-md-offset-2 {
  margin-left: 16.66666667%;
}

.ie8 .col-md-offset-1 {
  margin-left: 8.33333333%;
}

.ie8 .col-md-offset-0 {
  margin-left: 0%;
}

.ie8 .visible-md {
  display: block !important;
}

.ie8 table.visible-md {
  display: table;
}

.ie8 tr.visible-md {
  display: table-row !important;
}

.ie8 th.visible-md,
.ie8 td.visible-md {
  display: table-cell !important;
}

.ie8 .visible-md-block {
  display: block !important;
}

.ie8 .visible-md-inline {
  display: inline !important;
}

.ie8 .visible-md-inline-block {
  display: inline-block !important;
}

.ie8 .hidden-md {
  display: none !important;
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.row {
  margin-right: -15px;
  margin-left: -15px;
}

.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.pull-right {
  float: right !important;
}

.pull-left {
  float: left !important;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.invisible {
  visibility: hidden;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.affix {
  position: fixed;
}

.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }

  table.visible-print {
    display: table;
  }

  tr.visible-print {
    display: table-row !important;
  }

  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}

.visible-print-block {
  display: none !important;
}

@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}

@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}

@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}

hr {
  margin-left: -20px;
  margin-right: -20px;
  border-top: 1px solid #d9d9d9;
  border-bottom: 0;
  border-collapse: border-collapse;
}

.icon-pm-logo-large:before {
  font-size: 125px;
  line-height: 32px;
}

.icon-powered-by-logo:before {
  font-size: 140px;
  line-height: 32px;
  display: block;
}

.label {
  display: inline-block;
  font-weight: 600;
  padding: .35em .65em;
  line-height: 1;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.label.default {
  background-color: #748496;
}

.label.primary {
  background-color: #0996df;
}

.label.success {
  background-color: #42ce67;
}

.label.info {
  background-color: #1FA3E1;
}

.label.warning {
  background-color: #f0ad4e;
}

.label.danger {
  background-color: #e54e5b;
}

a,
a:visited {
  display: inline-block;
  color: #0996df;
  cursor: pointer;
  text-decoration: none;
}

a:hover,
a:visited:hover {
  text-decoration: underline;
}

a.dark-link,
a:visited.dark-link {
  color: #2a3d51;
}

a.light-link,
a:visited.light-link {
  color: #748496;
}

a.lighter-link,
a:visited.lighter-link {
  color: #9aa5b2;
}

ul {
  list-style-position: inside;
  color: #2a3d51;
}

ul.bullets {
  list-style-type: disc;
}

ul.no-bullets {
  list-style-type: none;
}

ul.list-s li {
  padding: 2px 0;
  font-size: 14px;
}

ul.list-m li {
  padding: 4px 0;
  font-size: 14px;
}

ul.list-l li {
  padding: 6px 0;
  font-size: 16px;
}

ul.two-col {
  -webkit-column-count: 2;
  -webkit-column-gap: 10px;
  -moz-column-count: 2;
  -moz-column-gap: 10px;
  -o-column-count: 2;
  -o-column-gap: 10px;
  column-count: 2;
  column-gap: 10px;
}

ul.three-col {
  -webkit-column-count: 3;
  -webkit-column-gap: 10px;
  -moz-column-count: 3;
  -moz-column-gap: 10px;
  -o-column-count: 3;
  -o-column-gap: 10px;
  column-count: 3;
  column-gap: 10px;
}

ul.four-col {
  -webkit-column-count: 4;
  -webkit-column-gap: 10px;
  -moz-column-count: 4;
  -moz-column-gap: 10px;
  -o-column-count: 4;
  -o-column-gap: 10px;
  column-count: 4;
  column-gap: 10px;
}

ul.six-col {
  -webkit-column-count: 6;
  -webkit-column-gap: 10px;
  -moz-column-count: 6;
  -moz-column-gap: 10px;
  -o-column-count: 6;
  -o-column-gap: 10px;
  column-count: 6;
  column-gap: 10px;
}

.close {
  float: right;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);
  opacity: 0.2;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
}

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}

.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}

.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}

.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}

.modal-backdrop.fade {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}

.modal-backdrop.in {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
}

.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.42857px;
}

.modal-header .close {
  margin-top: -2px;
}

.modal-title {
  margin: 0;
  line-height: 1.42857;
}

.modal-body {
  position: relative;
  padding: 15px;
}

.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}

.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}

.modal-footer:after {
  clear: both;
}

.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}

.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}

.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}

@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }

  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }

  .modal-sm {
    width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}

/*!
 * Bootstrap Modal
 *
 * Copyright Jordan Schroter
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Boostrap 3 patch for for bootstrap-modal. Include BEFORE bootstrap-modal.css!
 */

body.modal-open,
.modal-open .navbar-fixed-top,
.modal-open .navbar-fixed-bottom {
  margin-right: 0;
}

.modal {
  left: 50%;
  bottom: auto;
  right: auto;
  z-index: 1050;
  padding: 0;
  width: 500px;
  margin-left: -250px;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
}

.modal.container {
  max-width: none;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
}

/*!
 * Bootstrap Modal
 *
 * Copyright Jordan Schroter
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */

.modal-open {
  overflow: hidden;
}

/* add a scroll bar to stop page from jerking around */

.modal-open.page-overflow .page-container,
.modal-open.page-overflow .page-container .navbar-fixed-top,
.modal-open.page-overflow .page-container .navbar-fixed-bottom,
.modal-open.page-overflow .modal-scrollable {
  overflow-y: scroll;
}

@media (max-width: 979px) {
  .modal-open.page-overflow .page-container .navbar-fixed-top,
  .modal-open.page-overflow .page-container .navbar-fixed-bottom {
    overflow-y: visible;
  }
}

.modal-scrollable {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto;
}

.modal {
  outline: none;
  position: absolute;
  margin-top: 0;
  top: 50%;
  overflow: visible;
}

.modal.fade {
  top: -100%;
  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
  -moz-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
  -o-transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
  transition: opacity 0.3s linear, top 0.3s ease-out, bottom 0.3s ease-out, margin-top 0.3s ease-out;
}

.modal.fade.in {
  top: 50%;
}

.modal-body {
  max-height: none;
  overflow: visible;
}

.modal.modal-absolute {
  position: absolute;
  z-index: 950;
}

.modal .loading-mask {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 6px;
}

.modal-backdrop.modal-absolute {
  position: absolute;
  z-index: 940;
}

.modal-backdrop,
.modal-backdrop.fade.in {
  opacity: 0.7;
  filter: alpha(opacity=70);
  background: #fff;
}

.modal.container {
  width: 940px;
  margin-left: -470px;
}

/* Modal Overflow */

.modal-overflow.modal {
  top: 1%;
}

.modal-overflow.modal.fade {
  top: -100%;
}

.modal-overflow.modal.fade.in {
  top: 1%;
}

.modal-overflow .modal-body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* Responsive */

@media (min-width: 1200px) {
  .modal.container {
    width: 1170px;
    margin-left: -585px;
  }
}

@media (max-width: 979px) {
  .modal,
  .modal.container,
  .modal.modal-overflow {
    top: 1%;
    right: 1%;
    left: 1%;
    bottom: auto;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .modal.fade.in,
  .modal.container.fade.in,
  .modal.modal-overflow.fade.in {
    top: 1%;
    bottom: auto;
  }

  .modal-body,
  .modal-overflow .modal-body {
    position: static;
    margin: 0;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .modal-footer,
  .modal-overflow .modal-footer {
    position: static;
  }
}

.loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12px 0 0 -12px;
}

.animated {
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
  }
}

@-moz-keyframes shake {
  0%, 100% {
    -moz-transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -moz-transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -moz-transform: translateX(10px);
  }
}

@-o-keyframes shake {
  0%, 100% {
    -o-transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    -o-transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    -o-transform: translateX(10px);
  }
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }

  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  -o-animation-name: shake;
  animation-name: shake;
}

.modal-lg-1 {
  width: 800px;
  margin-left: -400px;
}

.modal .modal-footer {
  background-color: #f5f5f5;
}

.modal-content {
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
}

.modal-backdrop.in {
  opacity: 0.8;
}

.modal-body {
  padding: 25px;
}

body.modal-open {
  overflow-y: scroll;
  padding-right: 0 !important;
}

.nav {
  display: table;
  margin-bottom: 0;
  font-weight: 600;
}

.nav li {
  margin: 0;
  display: inline-block;
  border: 0;
  border-collapse: collapse;
  float: left;
  position: relative;
}

.nav li a {
  padding: 1em;
  color: #748496;
}

.nav li:hover a {
  color: #0996df;
  text-decoration: none;
}

.nav li.active a {
  color: #0996df;
}

.nav li.active a:hover {
  text-decoration: none;
  cursor: default;
}

.nav li.active a:after {
  position: absolute;
  bottom: -1px;
  left: 1em;
  right: 1em;
  height: 2px;
  background: #0996df;
  content: '';
}

.pagination > li {
  display: inline-block;
  float: left;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #337ab7;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #d9d9d9;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  -ms-border-radius: 4px 0 0 4px;
  -o-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  -ms-border-radius: 0 4px 4px 0;
  -o-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}

.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
  color: #2a3d51;
  background-color: #f5f5f5;
  border-color: #d9d9d9;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
  z-index: 2;
  color: #fff;
  cursor: default;
  background-color: #0996df;
  border-color: #0996df;
}

.pagination > .disabled > a,
.pagination > .disabled a:focus,
.pagination > .disabled a:hover,
.pagination > .disabled > span,
.pagination > .disabled > span:focus,
.pagination > .disabled > span:hover {
  color: #748496;
  cursor: not-allowed;
  background-color: #fff;
  border-color: #d9d9d9;
}

.panel {
  background: #fff;
  border: 1px solid #d9d9d9;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.example-popover .popover {
  position: relative;
  display: block;
  float: left;
  width: 280px;
  margin: 20px !important;
}

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "source-sans-pro", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.42857;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}

.popover.top {
  margin-top: -10px;
}

.popover.right {
  margin-left: 10px;
}

.popover.bottom {
  margin-top: 10px;
}

.popover.left {
  margin-left: -10px;
}

.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 3px 3px 0 0;
}

.popover-content {
  padding: 9px 14px;
}

.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.popover > .arrow {
  border-width: 11px;
}

.popover > .arrow:after {
  border-width: 10px;
  content: "";
}

.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}

.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}

.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}

.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}

.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}

.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}

.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}

.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}

hr {
  color: red;
}

.separator {
  border-bottom: 1px solid #d9d9d9;
}

.tab-nav {
  display: table;
  margin-bottom: -1px;
}

.tab-nav li {
  margin: 0;
  display: inline-block;
  border-top: 1px solid #d9d9d9;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  border-left: 0;
  border-collapse: collapse;
  float: left;
  position: relative;
  background: #f5f5f5;
}

.tab-nav li a {
  padding: 1em;
  color: #2a3d51;
}

.tab-nav li:hover {
  background: #fff;
}

.tab-nav li:hover a {
  color: #0996df;
}

.tab-nav li:first-child {
  border-left: 1px solid #ccc;
  -webkit-border-radius: 4px 0 0 0;
  -moz-border-radius: 4px 0 0 0;
  -ms-border-radius: 4px 0 0 0;
  -o-border-radius: 4px 0 0 0;
  border-radius: 4px 0 0 0;
}

.tab-nav li:last-child {
  -webkit-border-radius: 0 4px 0 0;
  -moz-border-radius: 0 4px 0 0;
  -ms-border-radius: 0 4px 0 0;
  -o-border-radius: 0 4px 0 0;
  border-radius: 0 4px 0 0;
}

.tab-nav li.active {
  background: #fff;
  border-bottom: 1px solid #fff;
}

.tab-nav li.active a {
  color: #2a3d51;
}

.tab-nav li.active a:hover {
  text-decoration: none;
  cursor: default;
}

.tab-nav li.active:after {
  position: absolute;
  top: -6px;
  top: 0\9;
  left: 0;
  width: 100%;
  height: 4px;
  background: #0996df;
  content: '';
  -webkit-transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  -webkit-transform: translate3d(0, 150%, 0);
  transform: translate3d(0, 150%, 0);
}

.tab-nav li.disabled {
  cursor: not-allowed;
  background: #f9f9f9;
  color: #bbb;
}

.tab-nav li.disabled a {
  color: #bbb;
  cursor: not-allowed;
}

.tab-nav li.disabled a:hover {
  text-decoration: none;
}

table {
  max-width: 100%;
}

table th {
  border-bottom: 1px solid #9aa5b2;
  padding: 0 0 8px 0;
  text-align: left;
  color: #2a3d51;
  font-weight: 600;
}

table th:last-child {
  text-align: right;
}

table td {
  border-top: 1px solid #dcdfe4;
  color: #2a3d51;
}

table td:last-child {
  text-align: right;
}

table td strong {
  color: #2a3d51;
}

table.full-width {
  width: 100%;
}

table.table-s td,
table.table-s th {
  padding: 8px;
}

table.table-s td:first-child,
table.table-s th:first-child {
  padding: 8px 8px 8px 0;
}

table.table-s td:last-child,
table.table-s th:last-child {
  padding: 8px 0 8px 8px;
}

table.table-s td {
  font-size: 14px;
}

table.table-m td,
table.table-m th {
  padding: 12px;
}

table.table-m td:first-child,
table.table-m th:first-child {
  padding: 12px 12px 12px 0;
}

table.table-m td:last-child,
table.table-m th:last-child {
  padding: 12px 0 12px 12px;
}

table.table-m td {
  font-size: 14px;
}

table.table-l td,
table.table-l th {
  padding: 18px;
}

table.table-l td:first-child,
table.table-l th:first-child {
  padding: 18px 18px 18px 0;
}

table.table-l td:last-child,
table.table-l th:last-child {
  padding: 18px 0 18px 18px;
}

table.table-l td {
  font-size: 16px;
}

.example-tooltip .tooltip {
  position: relative;
  display: inline-block;
  margin: 10px 20px;
  opacity: 1;
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  visibility: visible;
  font-family: "source-sans-pro", "Helvetica Neue", Helvetica, arial, sans-serif;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}

.tooltip.in {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
  opacity: 0.9;
}

.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}

.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}

.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}

.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #748496;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #748496;
}

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #748496;
}

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #748496;
}

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #748496;
}

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #748496;
}

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #748496;
}

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #748496;
}

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #748496;
}

* {
  font-size: 14px;
}

.fs-xxs {
  font-size: 10px;
}

.fs-xs,
.child-fs-xs * {
  font-size: 12px;
}

.fs-s {
  font-size: 14px;
}

.fs-m {
  font-size: 16px;
}

.fs-l {
  font-size: 20px;
}

.fs-xl {
  font-size: 32px;
}

.fs-xxl {
  font-size: 40px;
}

.fw-4 {
  font-weight: 400;
}

.fw-5 {
  font-weight: 500;
}

.fw-6 {
  font-weight: 600;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
  font-weight: 400;
}

h1 span,
h1 a,
h2 span,
h2 a,
h3 span,
h3 a,
h4 span,
h4 a,
h5 span,
h5 a {
  font-size: inherit;
}

h1 {
  font-size: 32px;
}

h2 {
  font-size: 20px;
}

h3 {
  font-size: 16px;
}

h4 {
  font-size: 14px;
}

h5 {
  font-size: 12px;
}

p {
  font-size: 14px;
  line-height: 1.5em;
  color: #2a3d51;
  margin-bottom: 20px;
}

p:first-child {
  margin-top: -5px;
}

p:last-child {
  margin-bottom: -5px;
}

b,
strong {
  font-size: inherit;
}

.ta-c {
  text-align: center;
}

.ta-l {
  text-align: left;
}

.ta-r {
  text-align: right;
}

body {
  font-family: "Helvetica Neue", Helvetica, arial, sans-serif;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
}

* {
  filter: inherit;
}

section,
div,
article,
aside,
pre {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: 'kyruus-icon-font';
  src: url("https://cdn.kyruus.com/lib/kyruus-icons/1.1.0/kyruus-icon-font.eot?7cyux1");
  src: url("https://cdn.kyruus.com/lib/kyruus-icons/1.1.0/kyruus-icon-font.eot?7cyux1#iefix") format("embedded-opentype"), url("https://cdn.kyruus.com/lib/kyruus-icons/1.1.0/kyruus-icon-font.ttf?7cyux1") format("truetype"), url("https://cdn.kyruus.com/lib/kyruus-icons/1.1.0/kyruus-icon-font.woff?7cyux1") format("woff"), url("https://cdn.kyruus.com/lib/kyruus-icons/1.1.0/kyruus-icon-font.svg?7cyux1#kyruus-icon-font") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'kyruus-icon-font' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-schedule:before {
  content: "";
}

.icon-event-available:before {
  content: "";
}

.icon-mail-outline:before {
  content: "";
}

.icon-videocam:before {
  content: "";
}

.icon-powered-by:before {
  content: "A";
}

.icon-powered-by-logo:before {
  content: "B";
}

.icon-pm-logo-large:before {
  content: "x";
}

.icon-link:before {
  content: "z";
}

.icon-error-circle:before {
  content: "";
}

.icon-error-circle-outline:before {
  content: "";
}

.icon-equalizer:before {
  content: "";
}

.icon-mic:before {
  content: "";
}

.icon-mic-outline:before {
  content: "";
}

.icon-play-arrow:before {
  content: "";
}

.icon-book:before {
  content: "";
}

.icon-add:before {
  content: "";
}

.icon-add-circle:before {
  content: "";
}

.icon-add-circle-outline:before {
  content: "";
}

.icon-cancel:before {
  content: "";
}

.icon-inbox:before {
  content: "";
}

.icon-remove:before {
  content: "";
}

.icon-remove-circle:before {
  content: "";
}

.icon-remove-circle-outline:before {
  content: "";
}

.icon-insert-chart:before {
  content: "";
}

.icon-edit:before {
  content: "";
}

.icon-arrow-down:before {
  content: "";
}

.icon-arrow-up:before {
  content: "";
}

.icon-circle:before {
  content: "";
}

.icon-hamburger-menu:before {
  content: "";
}

.icon-arrow-left:before {
  content: "";
}

.icon-arrow-right:before {
  content: "";
}

.icon-circle-outline:before {
  content: "";
}

.icon-phone:before {
  content: "";
}

.icon-pin-drop:before {
  content: "";
}

.icon-pin:before {
  content: "";
}

.icon-apps:before {
  content: "";
}

.icon-arrow-left-2:before {
  content: "";
}

.icon-arrow-down-3:before {
  content: "";
}

.icon-arrow-up-3:before {
  content: "";
}

.icon-arrow-right-2:before {
  content: "";
}

.icon-cancel-circle:before {
  content: "";
}

.icon-check:before {
  content: "";
}

.icon-error:before {
  content: "";
}

.icon-group:before {
  content: "";
}

.icon-mood-happy:before {
  content: "";
}

.icon-mood-bad:before {
  content: "";
}

.icon-group-outline:before {
  content: "";
}

.icon-person:before {
  content: "";
}

.icon-person-outline:before {
  content: "";
}

.icon-radio-button-active:before {
  content: "";
}

.icon-account-box:before {
  content: "";
}

.icon-account-circle:before {
  content: "";
}

.icon-account-badge:before {
  content: "";
}

.icon-refresh:before {
  content: "";
}

.icon-bookmarks:before {
  content: "";
}

.icon-bookmark-outline:before {
  content: "";
}

.icon-check-circle:before {
  content: "";
}

.icon-delete:before {
  content: "";
}

.icon-face:before {
  content: "";
}

.icon-helper:before {
  content: "";
}

.icon-cancel-circle-outline:before {
  content: "";
}

.icon-home:before {
  content: "";
}

.icon-info-circle:before {
  content: "";
}

.icon-info-circle-outline:before {
  content: "";
}

.icon-print:before {
  content: "";
}

.icon-warning:before {
  content: "";
}

.icon-search:before {
  content: "";
}

.icon-cog:before {
  content: "";
}

.icon-check-badge:before {
  content: "";
}

.icon-work:before {
  content: "";
}

.icon-user-md:before {
  content: "";
}

.icon-lightbulb-outline:before {
  content: "";
}

.icon-calendar:before {
  content: "";
}

.icon-business-center:before {
  content: "";
}

.icon-star:before {
  content: "";
}

.icon-star-empty:before {
  content: "";
}

@-ms-viewport {
  width: device-width;
}

/**
 * React Select Plus
 * =================
 * MIT License: https://github.com/HubSpot/react-select-plus
*/

.Select {
  position: relative;
}

.Select,
.Select div,
.Select input,
.Select span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.Select.is-disabled > .Select-control {
  background-color: #f9f9f9;
}

.Select.is-disabled > .Select-control:hover {
  box-shadow: none;
}

.Select.is-disabled .Select-arrow-zone {
  cursor: default;
  pointer-events: none;
  opacity: 0.35;
}

.Select-control {
  background-color: #fff;
  border-color: #d9d9d9 #ccc #b3b3b3;
  border-radius: 4px;
  border: 1px solid #ccc;
  color: #333;
  cursor: default;
  display: table;
  border-spacing: 0;
  border-collapse: separate;
  height: 36px;
  outline: none;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.Select-control:hover {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.Select-control .Select-input:focus {
  outline: none;
}

.is-searchable.is-open > .Select-control {
  cursor: text;
}

.is-open > .Select-control {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background: #fff;
  border-color: #b3b3b3 #ccc #d9d9d9;
}

.is-open > .Select-control .Select-arrow {
  top: -2px;
  border-color: transparent transparent #999;
  border-width: 0 5px 5px;
}

.is-searchable.is-focused:not(.is-open) > .Select-control {
  cursor: text;
}

.is-focused:not(.is-open) > .Select-control {
  border-color: #007eff;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px rgba(0, 126, 255, 0.1);
}

.Select-placeholder,
.Select--single > .Select-control .Select-value {
  bottom: 0;
  color: #aaa;
  left: 0;
  line-height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  position: absolute;
  right: 0;
  top: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.has-value.is-clearable.Select--single > .Select-control .Select-value {
  padding-right: 42px;
}

.has-value.Select--single > .Select-control .Select-value .Select-value-label,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value .Select-value-label {
  color: #333;
}

.has-value.Select--single > .Select-control .Select-value a.Select-value-label,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label {
  cursor: pointer;
  text-decoration: none;
}

.has-value.Select--single > .Select-control .Select-value a.Select-value-label:hover,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:hover,
.has-value.Select--single > .Select-control .Select-value a.Select-value-label:focus,
.has-value.is-pseudo-focused.Select--single > .Select-control .Select-value a.Select-value-label:focus {
  color: #007eff;
  outline: none;
  text-decoration: underline;
}

.Select-input {
  height: 34px;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle;
}

.Select-input > input {
  width: 100%;
  background: none transparent;
  border: 0 none;
  box-shadow: none;
  cursor: default;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  outline: none;
  line-height: 14px;
  /* For IE 8 compatibility */
  padding: 8px 0 12px;
  /* For IE 8 compatibility */
  -webkit-appearance: none;
}

.is-focused .Select-input > input {
  cursor: text;
}

.has-value.is-pseudo-focused .Select-input {
  opacity: 0;
}

.Select-control:not(.is-searchable) > .Select-input {
  outline: none;
}

.Select-loading-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 16px;
}

.Select-loading {
  -webkit-animation: Select-animation-spin 400ms infinite linear;
  -o-animation: Select-animation-spin 400ms infinite linear;
  animation: Select-animation-spin 400ms infinite linear;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid #ccc;
  border-right-color: #333;
  display: inline-block;
  position: relative;
  vertical-align: middle;
}

.Select-clear-zone {
  -webkit-animation: Select-animation-fadeIn 200ms;
  -o-animation: Select-animation-fadeIn 200ms;
  animation: Select-animation-fadeIn 200ms;
  color: #999;
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 17px;
}

.Select-clear-zone:hover {
  color: #D0021B;
}

.Select-clear {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
}

.Select--multi .Select-clear-zone {
  width: 17px;
}

.Select-arrow-zone {
  cursor: pointer;
  display: table-cell;
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 25px;
  padding-right: 5px;
}

.Select-arrow {
  border-color: #999 transparent transparent;
  border-style: solid;
  border-width: 5px 5px 2.5px;
  display: inline-block;
  height: 0;
  width: 0;
  position: relative;
}

.is-open .Select-arrow,
.Select-arrow-zone:hover > .Select-arrow {
  border-top-color: #666;
}

.Select--multi .Select-multi-value-wrapper {
  display: inline-block;
}

.Select .Select-aria-only {
  display: inline-block;
  height: 1px;
  width: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  float: left;
}

@-webkit-keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes Select-animation-fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.Select-menu-outer {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top-color: #e6e6e6;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  margin-top: -1px;
  max-height: 200px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1;
  -webkit-overflow-scrolling: touch;
}

.Select-menu {
  max-height: 198px;
  overflow-y: auto;
}

.Select-option-group-label {
  box-sizing: border-box;
  background-color: #fff;
  color: #666666;
  font-weight: bold;
  cursor: default;
  display: block;
  padding: 8px 10px;
}

.Select-option-group-label ~ .Select-option,
.Select-option-group-label ~ .Select-option-group {
  padding-left: 20px;
}

.Select-option {
  box-sizing: border-box;
  background-color: #fff;
  color: #666666;
  cursor: pointer;
  display: block;
  padding: 8px 10px;
}

.Select-option:last-child {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.Select-option.is-selected {
  background-color: #f5faff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.04);
  color: #333;
}

.Select-option.is-focused {
  background-color: #ebf5ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.08);
  color: #333;
}

.Select-option.is-disabled {
  color: #cccccc;
  cursor: default;
}

.Select-noresults {
  box-sizing: border-box;
  color: #999999;
  cursor: default;
  display: block;
  padding: 8px 10px;
}

.Select--multi .Select-input {
  vertical-align: middle;
  margin-left: 10px;
  padding: 0;
}

.Select--multi.has-value .Select-input {
  margin-left: 5px;
}

.Select--multi .Select-value {
  background-color: #ebf5ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.08);
  border-radius: 2px;
  border: 1px solid #c2e0ff;
  /* Fallback color for IE 8 */
  border: 1px solid rgba(0, 126, 255, 0.24);
  color: #007eff;
  display: inline-block;
  font-size: 0.9em;
  line-height: 1.4;
  margin-left: 5px;
  margin-top: 5px;
  vertical-align: top;
}

.Select--multi .Select-value-icon,
.Select--multi .Select-value-label {
  display: inline-block;
  vertical-align: middle;
}

.Select--multi .Select-value-label {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  cursor: default;
  padding: 2px 5px;
}

.Select--multi a.Select-value-label {
  color: #007eff;
  cursor: pointer;
  text-decoration: none;
}

.Select--multi a.Select-value-label:hover {
  text-decoration: underline;
}

.Select--multi .Select-value-icon {
  cursor: pointer;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  border-right: 1px solid #c2e0ff;
  /* Fallback color for IE 8 */
  border-right: 1px solid rgba(0, 126, 255, 0.24);
  padding: 1px 5px 3px;
}

.Select--multi .Select-value-icon:hover,
.Select--multi .Select-value-icon:focus {
  background-color: #d8eafd;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 113, 230, 0.08);
  color: #0071e6;
}

.Select--multi .Select-value-icon:active {
  background-color: #c2e0ff;
  /* Fallback color for IE 8 */
  background-color: rgba(0, 126, 255, 0.24);
}

.Select--multi.is-disabled .Select-value {
  background-color: #fcfcfc;
  border: 1px solid #e3e3e3;
  color: #333;
}

.Select--multi.is-disabled .Select-value-icon {
  cursor: not-allowed;
  border-right: 1px solid #e3e3e3;
}

.Select--multi.is-disabled .Select-value-icon:hover,
.Select--multi.is-disabled .Select-value-icon:focus,
.Select--multi.is-disabled .Select-value-icon:active {
  background-color: #fcfcfc;
}

@keyframes Select-animation-spin {
  to {
    transform: rotate(1turn);
  }
}

@-webkit-keyframes Select-animation-spin {
  to {
    -webkit-transform: rotate(1turn);
  }
}

.Select--multi .Select-value {
  line-height: 1.42857;
  background-color: #f5f5f5;
  color: #2a3d51;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 4px;
  font-size: inherit;
}

.Select--multi .Select-value-icon {
  position: absolute;
  border: 0px;
}

.Select--multi .Select-value-icon:hover,
.Select--multi .Select-value-icon:focus {
  background-color: #d9d9d9;
  color: #000;
}

.Select--multi .Select-value-icon:active {
  background-color: #9aa5b2;
}

.Select--multi .Select-value-label {
  padding-left: 20px;
}

.Select--multi .Select-option {
  color: #2a3d51;
}

.Select--multi .Select-option.is-selected {
  background-color: #d9d9d9;
  color: #2a3d51;
}

.Select--multi .Select-option.is-focused {
  background-color: #f5f5f5;
  color: #2a3d51;
}

@media print {
  /*
  * Chrome, Internet Explorer, and Edge all use the Bootstrap 'xs' screen size for printing.
  * Firefox and Safari use the 'sm' and larger screens, i.e. 'md' and 'lg'.
  * Some Bootstrap grid classes have been redefined in this file to achieve a consistent
  * print experience across all browsers.
  */

  .button,
  .show-more,
  #facets,
  #kyruus-search-widget {
    display: none;
  }

  a,
  a:visited {
    color: #2a3d51;
  }

  .horizontal-rule:before,
  .horizontal-rule-wide:before {
    border-top: none;
    padding-top: 0;
  }

  .summary-field-title {
    font-weight: 700;
    margin-bottom: 0;
  }

  .about-panel-row {
    display: inline-block;
    line-height: 1.25;
  }

  .about-panel-row .about-panel-item {
    width: 100%;
    padding-bottom: 0;
  }

  .about-panel-row .about-panel-item:after {
    content: ",";
    padding-right: 5px;
    font-weight: 400;
  }

  .about-panel-row .about-panel-item.is-hierarchy {
    font-weight: 500;
  }

  .about-panel-row .about-panel-item.is-hierarchy ul {
    list-style: none;
    display: inline-block;
    font-weight: 400;
    margin-left: 0;
    margin-top: 0;
  }

  .about-panel-row .about-panel-item.is-hierarchy ul :first-child:before {
    content: ":";
    font-weight: 500;
    padding-right: 5px;
  }

  .about-panel-row .about-panel-item.is-hierarchy ul :last-child:after {
    content: "";
    padding-right: 0;
  }

  .about-panel-row .about-panel-item.has-logo-image {
    margin-bottom: 0;
    line-height: inherit;
  }

  .about-panel-row:last-child .about-panel-item:after {
    content: "";
    padding-right: 0;
  }

  .experience-field-title {
    font-weight: 700;
    font-size: 14px;
    padding-top: 1px;
    padding-bottom: 0;
    width: 25%;
    display: inline-block;
    vertical-align: top;
  }

  .experience-field-title + div {
    width: 75%;
    display: inline-block;
    margin-bottom: 0;
    vertical-align: top;
  }

  .experience-section {
    margin-bottom: 0;
    line-height: 1.25;
  }

  .experience-title {
    display: inline;
    margin-bottom: 0;
  }

  .experience-title a {
    display: inline;
  }

  .experience-subtitle {
    color: inherit;
    display: inline;
  }

  .experience-subtitle:before {
    content: "|";
    padding-left: 5px;
    padding-right: 5px;
  }

  .experience-subtitle br {
    content: "";
  }

  .experience-subtitle br:before {
    content: "|";
    padding-left: 5px;
    padding-right: 5px;
  }

  #left-panels {
    min-height: 180px;
  }

  #provider-details-summary {
    padding-bottom: 0;
  }

  #provider-details-summary .col-xs-12 {
    width: 100%;
    float: left;
    text-align: left;
    margin-left: 155px;
  }

  #provider-details-summary .col-xs-12:first-child {
    width: auto;
    margin-left: 0;
    position: absolute;
  }

  #provider-details-summary .col-xs-offset-2,
  #provider-details-summary .col-sm-offset-2 {
    margin-left: 0;
  }

  #provider-details-locations {
    margin-left: 140px;
  }

  #provider-details-locations .location {
    margin-top: 0;
    width: 50%;
    display: inline-block;
    vertical-align: top;
  }

  #provider-details-locations .location ul {
    margin-top: 0;
  }

  #provider-details-locations .location ul li:first-child {
    padding-top: 0;
  }

  #provider-details-locations .mb-s {
    margin-bottom: 3px;
  }

  #provider-details-locations .mt-s {
    margin-top: 3px;
  }

  .ratings {
    padding-bottom: 10px;
  }

  .ratings .ratings-column {
    width: 100px;
  }

  .ratings .star-column .stars {
    height: auto;
    display: block;
  }

  .ratings .star-column .review-count {
    line-height: 1.25;
    margin-left: 120px;
  }

  .ratings .star-column .metric {
    line-height: 1.25;
    margin-left: 100px;
  }

  .hide.hidden-row {
    display: table-row !important;
    visibility: visible;
  }

  .panel {
    border: none;
  }

  .panel.mb-m {
    margin-bottom: 0;
  }

  #right-panels .panel {
    border-top: 1px solid #2a3d51;
    border-radius: 0;
  }

  .profile-summary {
    page-break-inside: avoid;
  }

  .profile-summary .col-xs-4 {
    width: 25%;
  }

  .profile-summary .col-xs-8 {
    width: 75%;
  }

  .profile-summary .col-xs-12 {
    width: 75%;
  }

  .provider {
    margin-right: -1px;
  }

  .provider .col-sm-3 {
    width: 25%;
    float: left;
  }

  .provider .col-sm-9 {
    width: 75%;
    float: left;
  }

  .provider .col-sm-4,
  .provider .col-sm-8 {
    width: 100%;
  }

  .results {
    width: 99%;
  }

  .results .col-md-4 {
    width: 100%;
  }

  .powered-by-link {
    position: fixed;
    right: 30px;
    bottom: 10px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJtYXRjaC1jb25zdW1lci5jc3MiLCJzb3VyY2VzIjpbInByb3ZpZGVybWF0Y2gtY29uc3VtZXIuc2NzcyIsInBtY19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX3ZhcmlhYmxlcy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2t5cnV1c19zdGF0aWNfYXNzZXRzLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3Mva3lydXVzX3N0YXRpY19hc3NldHNfbm9fcnVsZXMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy91dGlsaXRpZXMvX2Zsb2F0LnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvdXRpbGl0aWVzL19sb2FkLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX2NzczMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fc2hhcmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvX3N1cHBvcnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbmxpbmUtYmxvY2suc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19vcGFjaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3RleHQtc2hhZG93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fY29sdW1ucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19ib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19pbWFnZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy91dGlsaXRpZXMvZ2VuZXJhbC9faGFja3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19saXN0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2Z1bmN0aW9ucy9fY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19ncmFkaWVudF9zdXBwb3J0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvZnVuY3Rpb25zL19jb25zdGFudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9mdW5jdGlvbnMvX2NvbG9ycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtY2xpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2JhY2tncm91bmQtb3JpZ2luLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fYmFja2dyb3VuZC1zaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19yZWdpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMy9faHlwaGVuYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19maWx0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL19waWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzL191c2VyLWludGVyZmFjZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX2ZsZXhib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy91dGlsaXRpZXMvbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvdXRpbGl0aWVzL19vZmZzZXQuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy91dGlsaXRpZXMvX3R5cGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jbGFzc2VzL19hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NsYXNzZXMvX2F2YXRhci5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NsYXNzZXMvX2JvcmRlci1yYWRpdXMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jbGFzc2VzL19maWx0ZXIuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jbGFzc2VzL19tYXAuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9taXhpbnMvX2J1dHRvbi1zdHlsZS5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NsYXNzZXMvX21hcmdpbi5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NsYXNzZXMvX3BhZGRpbmcuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jbGFzc2VzL19zZWFyY2guc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jbGFzc2VzL191dGlsaXR5LWJhci5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NsYXNzZXMvX3dpZGdldC5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX2FsZXJ0LnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fdmFyaWFibGVzLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fYnV0dG9uLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fY29sb3Iuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL19mb3JtLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvZ3JpZC9fcmVzcG9uc2l2ZV9ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9ncmlkL19pZThfZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX2hvcml6b250YWwtcnVsZS5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvaWNvbi1leHRlbnNpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fbGFiZWwuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL19saW5rLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fbGlzdC5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX21vZGFsLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9ib290c3RyYXAtbW9kYWwvX21vZGFsLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvbWl4aW5zL19ib290c3RyYXAtc2Fzcy1taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9taXhpbnMvYm9vdHN0cmFwLXNhc3MvX3ZlbmRvci1wcmVmaXhlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL21peGlucy9ib290c3RyYXAtc2Fzcy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL19jbG9zZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvX21vZGFscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX25hdi5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL19wYW5lbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1zdHlsZS1ndWlkZS9zYXNzL2NvbXBvbmVudHMvX3BvcG92ZXIuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL19ydWxlLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fdGFiLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fdGFibGUuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9reXJ1dXMtc3R5bGUtZ3VpZGUvc2Fzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2t5cnV1cy1pY29ucy9reXJ1dXMtaWNvbi1mb250L3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLWljb25zL2t5cnV1cy1pY29uLWZvbnQvdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMva3lydXVzLXN0eWxlLWd1aWRlL3Nhc3MvbXNfdmlld3BvcnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zZWxlY3QtcGx1cy9kaXN0L3JlYWN0LXNlbGVjdC1wbHVzLmNzcyIsInNlbGVjdC5zY3NzIiwicHJpbnQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwicG1jX3N0eWxlXCI7XG5AaW1wb3J0IFwia3lydXVzX3N0YXRpY19hc3NldHNcIjtcbkBpbXBvcnQgXCJyZWFjdC1zZWxlY3QtcGx1cy9kaXN0L3JlYWN0LXNlbGVjdC1wbHVzXCI7XG5AaW1wb3J0IFwic2VsZWN0XCI7XG5AaW1wb3J0IFwicHJpbnRcIjtcbiIsIkBpbXBvcnQgXCJjb21wb25lbnRzL3ZhcmlhYmxlc1wiO1xuXG4vKlRPRE8gbW92ZSB0aGlzIHRvIHRoZSBzdHlsZSBndWlkZSovXG4vKiBGb3IgdGhlIHN0aWNreSBmb290ZXIgKi9cbmh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuc3BhbiB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLy8gVE9ETzogbW92ZSB0byBzdHlsZSBndWlkZVxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLnBhLW5vbmUge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucGFnZS1jb250ZW50LXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5pZTggLnBhZ2UtY29udGVudC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xufVxuXG4uaWU4IC5oaWRkZW4taWU4IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaWU4IC5zZWFyY2gtcmVzdWx0cy1sb2dvIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4vKiBTbyB0aGluZ3MgbG9vayBwcmV0dHkgKi9cbi5kaXN0YW5jZS1mYWNldC1pbnB1dCB7XG4gICAgd2lkdGg6IDI1cHg7XG59XG5cbi5uby13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNlYXJjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmRpdi5tb2RhbCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy9pZThcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5tb2RhbC1kaWFsb2cge1xuICAgICAgJi5wYW5lbC0xIHtcbiAgICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgfVxuXG4gICAgICAmLnBhbmVsLTIge1xuICAgICAgICB3aWR0aDogNTkwcHg7XG4gICAgICB9XG5cbiAgICAgICYucGFuZWwtMyB7XG4gICAgICAgIHdpZHRoOiA4NzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNDIwcHgpIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgIHdpZHRoOiA0MjBweDtcbiAgICB9XG4gIH1cblxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubW9kYWwtZGlhbG9nIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4jbW9kYWwtaGVhZGVyIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAuY2xvc2Ugc3BhbiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG59XG5cbi5jbG9zZS1pY29uIHtcbiAgY29sb3I6ICRncmF5LTE7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLm1ha2UtYXBwdC1ib3gge1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1vZGFsLWljb24ge1xuICBmb250LXNpemU6IDYwcHg7XG4gIGNvbG9yOiAkZ3JheS0xO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG4ubW9kYWwtaWNvbi1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLm1vZGFsLXRleHQge1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIG1pbi1oZWlnaHQ6ICgyICogJGxpbmUtaGVpZ2h0LWJhc2UpICsgdW5xdW90ZShcImVtXCIpOyAvLyBlbnN1cmVzIGFsaWdubWVudCBiZXR3ZWVuIGJveGVzXG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5tb2RhbC1waG9uZS10ZXh0IHtcbiAgaGVpZ2h0OiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1vZGFsLXBob25lLXRleHQubXVsdGktbGluZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBTaGlmdHMgdG9vbHRpcCBvbiBkaXN0YW5jZSBmYWNldCB0byB0aGUgbGVmdFxuI2xvY2F0aW9uZmlsdGVyICsgZGl2LnRvb2x0aXAubGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxudWwuc3Vic3BlY2lhbHR5LWxpc3Qge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xufVxuXG4jY2xlYXItbG9jYXRpb24tYnRuIHtcbiAgbWFyZ2luLXRvcDogNDJweDtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBjb2xvcjogIzc0ODQ5NjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogODVweDtcbiAgdG9wOiAwcHg7XG59XG5cbiNjbGVhci1sb2NhdGlvbi1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbn1cblxuLmZpbHRlci1ncm91cCAuaWNvbi1ldmVudC1hdmFpbGFibGUge1xuICAmOmJlZm9yZSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4uZmlsdGVyLWdyb3VwID4gbGFiZWwge1xuICB0ZXh0LWluZGVudDogMDtcbn1cblxuLmZpbHRlci1ncm91cCBsYWJlbCBzcGFuIHtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG59XG5cbi5jbGVhci1maWx0ZXJzIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxvY2F0aW9uLWlucHV0IHtcblxuICBkaXNwbGF5OiB0YWJsZTtcblxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XG4gIH1cblxuICBhLmJ0bi1tIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xuICB9XG59XG5cbmJ1dHRvbi5sb2NhdGlvbi1pbnB1dGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDBweDtcbiAgdG9wOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5hLnBvd2VyZWQtYnktbGluaywgYTpob3Zlci5wb3dlcmVkLWJ5LWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb25zdW1lci1mYWNldHMtbW9iaWxlLCBoMi5jb25zdW1lci1mYWNldHMtbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBvd2VyZWQtYnktbGluayB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmxvZ28tcGFnaW5hdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnNlYXJjaC1iYXItcm93IHtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnNlYXJjaC1iYXItcm93IC5reS1zZWFyY2ggLmt5LXNlYXJjaC1iYXIge1xuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICZbdHlwZT10ZXh0XSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5pbWcucHJvdmlkZXItaW1hZ2UtbGcge1xuICBtYXgtd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMzBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbiRjdXN0b21lci1sb2dvLWhlaWdodDogNTBweDtcbiRjdXN0b21lci1sb2dvLXdpZHRoOiAxMTBweDtcblxuaW1nLmFmZmlsaWF0aW9uLWxvZ28ge1xuICBtYXgtaGVpZ2h0OiAkY3VzdG9tZXItbG9nby1oZWlnaHQ7XG4gIG1heC13aWR0aDogJGN1c3RvbWVyLWxvZ28td2lkdGg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5pbWcuc2VhcmNoLXJlc3VsdHMtbG9nbyB7XG4gIG1heC1oZWlnaHQ6ICRjdXN0b21lci1sb2dvLWhlaWdodDtcbiAgbWF4LXdpZHRoOiAkY3VzdG9tZXItbG9nby13aWR0aDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4uYWJvdXQtcGFuZWwtaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuZGl2LmFib3V0LXBhbmVsLWl0ZW0uaGFzLWxvZ28taW1hZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbmEuYWJvdXQtcGFuZWwtaXRlbS5oYXMtbG9nby1pbWFnZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4udHlwZWFoZWFkLWZpbHRlciB7XG4gIG1hcmdpbi10b3A6ICRzcC1zO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS00O1xuICBib3JkZXItcmFkaXVzOiAkYnItbTtcbiAgYmFja2dyb3VuZDogJGdyYXktNTtcbn1cblxuQG1peGluIGhvcml6b250YWwtcnVsZXIoJHBlcmNlbnRhZ2UpIHtcbiAgJjpiZWZvcmUge1xuICAgIHdpZHRoOiAkcGVyY2VudGFnZTtcbiAgICBtYXJnaW4tbGVmdDogKDEwMCUgLSAkcGVyY2VudGFnZSkgLyAyO1xuICAgIG1hcmdpbi1yaWdodDogKDEwMCUgLSAkcGVyY2VudGFnZSkgLyAyO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS00O1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5ob3Jpem9udGFsLXJ1bGUge1xuICBAaW5jbHVkZSBob3Jpem9udGFsLXJ1bGVyKDkwJSk7XG59XG5cbi5ob3Jpem9udGFsLXJ1bGUtd2lkZSB7XG4gIEBpbmNsdWRlIGhvcml6b250YWwtcnVsZXIoOTYlKTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ydWxlcig5MCUpO1xuICB9XG59XG5cbi52aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4gIGhlaWdodDogMDtcbn1cblxuLnZpZGVvLXdyYXBwZXIgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbWctd3JhcHBlci1mb3Itb3ZlcmxheSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtcHJvdmlkZXItdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMnB4O1xuICBsZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogJGZzLXhzO1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkdWktbGluaztcbiAgcGFkZGluZy10b3A6IDNweDtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDAuODtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuXG4gIHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuXG4uc3RhcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1Ljc1ZW07XG4gIGhlaWdodDogMWVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yNWVtO1xuXG4gIGRpdiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgW2NsYXNzXj1pY29uLV0ge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogJHVpLXdhcm5pbmc7XG4gIH1cblxuICAuc3Rhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmlsbGVkLCAuZW1wdHkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLnN1bW1hcnktc3RhcnMgLnN0YXJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAkc3AteHM7XG4gIGZvbnQtc2l6ZTogJGZzLW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cblxuLnN1bW1hcnktc3RhcnMge1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5cbi5yYXRpbmdzIHtcbiAgcGFkZGluZy1ib3R0b206ICRzcC1sO1xuXG4gIC5yYXRpbmdzLXRpdGxlIHtcbiAgICAucmF0aW5ncy1jb2x1bW4ge1xuICAgICAgZm9udC1zaXplOiAkZnMteGw7XG4gICAgfVxuXG4gICAgLnN0YXJzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc3AteHM7XG4gICAgICBmb250LXNpemU6ICRmcy1sO1xuICAgIH1cbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwLW07XG4gICAgfVxuICB9XG5cbiAgLnN0YXJzIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcC1tO1xuICB9XG5cbiAgLnJldmlldy1jb3VudCB7XG4gICAgZm9udC1zaXplOiAkZnMtcztcbiAgICBjb2xvcjogJGdyYXktMjtcbiAgICBtYXJnaW4tdG9wOiAkc3AteHM7XG4gIH1cblxuICAucmF0aW5ncy1jb2x1bW4ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZnctNTtcbiAgICBmb250LXNpemU6ICRmcy1tO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LTQ7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcC1zO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcC1sO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5zdGFyLWNvbHVtbiB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS00O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3AtcztcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcC1sO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG5cbiAgLm1ldHJpYywgLnJldmlldy1jb3VudCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5hdmVyYWdlX3JhdGluZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLnJldmlldyB7XG4gIC5yZXZpZXctZGF0ZSB7XG4gICAgY29sb3I6ICRncmF5LTI7XG4gIH1cblxuICAucmV2aWV3LXF1ZXN0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGZ3LTY7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwLXhzO1xuICB9XG5cbiAgLnJldmlldy1xdWVzdGlvbi1yZXNwb25zZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwLW07XG4gIH1cbn1cblxuLnJldmlldy1kaXNjbGFpbWVyLXRleHQge1xuICBmb250LXNpemU6ICRmcy14cztcbiAgY29sb3I6ICRncmF5LTI7XG4gIGEge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxufVxuXG4uc2hvdy1tb3JlIHtcbiAgLnNob3ctbW9yZS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2hvdy1tb3JlLWJ1dHRvbiwgLmJ1dHRvbi5zaG93LW1vcmUtYnV0dG9uIHtcbiAgICBjb2xvcjogJGdyYXktMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6ICRzcC1zO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3AtcztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ3JheS0xO1xuICAgIH1cbiAgfVxuXG4gICYuc2hvdy1tb3JlLWV4cGFuZGVkIHtcbiAgICAuc2hvdy1tb3JlLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2hvdy1tb3JlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZXhwZXJpZW5jZS1maWVsZC10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAkZnctNTtcbiAgZm9udC1zaXplOiAkZnMtbTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4ubG9hZGluZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAuNDtcbiAgei1pbmRleDogMTAxMDtcblxuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gIH1cbn1cblxuI21hcC1jYW52YXMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktNDtcbiAgaGVpZ2h0OiAyMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNDtcbn1cblxuc3Bhbi5zb3J0LW1lbnUtaXRlbSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiB8IFwiO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMik6YmVmb3JlICB7IC8vVGhlIHNjcmVlbiByZWFkZXIgY29udGVudCBtYWtlcyB0aGUgZmlyc3Qgc29ydCBpdGVtIHRoZSBzZWNvbmQgY2hpbGRcbiAgICBjb250ZW50OiBcIlwiXG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5hcHB0LXJlcXVlc3Qge1xuICAgIG1heC13aWR0aDogNDYwcHg7XG4gIH1cblxuICAubWFrZS1hcHB0LWJveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICAubW9kYWwtbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm1vZGFsLWljb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG4gIC5tb2RhbC1pY29uIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgY29sb3I6ICRncmF5LTE7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAubW9kYWwtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb25zdW1lci1mYWNldHMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5maWx0ZXItZ3JvdXAge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICBwYWRkaW5nOjVweDtcbiAgICB9XG4gIH1cblxuICAuY29uc3VtZXItZmFjZXRzLW1vYmlsZSwgaDIuY29uc3VtZXItZmFjZXRzLW1vYmlsZSAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmZhY2V0cy1iYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICBib2R5LmZhY2V0cy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgaW1nLnByb3ZpZGVyLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5wYWdpbmF0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5wb3dlcmVkLWJ5LWxpbmsge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaWNvbi1wb3dlcmVkLWJ5LWxvZ286YmVmb3JlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmhhcy1wcm92aWRlci12aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnJhdGluZ3MgLm1ldHJpYywgLnJhdGluZ3MgLnJldmlldy1jb3VudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAubG9hZGluZy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAuc29ydC1kcm9wZG93biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuYnV0dG9uLmJ1dHRvbi5idG4tYW5jaG9yIHtcbiAgY29sb3I6ICR1aS1saW5rO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAkdWktbGluaztcbiAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byA1cHg7XG4gIH1cblxuICAmLmRhcmstbGluayB7XG4gICAgQGV4dGVuZCAuZmMtZ3JheS0xO1xuICB9XG59XG5cbi5jaGlsZC1mcy14cyAqIHtcbiAgQGV4dGVuZCAuZnMteHM7XG59XG5cbnVsLnR3by1jb2wtaG9yaXpvbnRhbCB7XG4gIGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgJi5saXN0LW0gbGkge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuIiwiXG4kbGluZS1oZWlnaHQtYmFzZTogMS40Mjg1NzE0Mjk7IC8vIDIwLzE0XG5cbi8vIEt5cnV1cyBCcmFuZFxuXG4ka3lydXVzLWJsdWU6ICMxRkEzRTE7XG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogMTAwMDtcbiR6aW5kZXgtZHJvcGRvd246IDEwMDA7XG4kemluZGV4LXBvcG92ZXI6IDEwNjA7XG4kemluZGV4LXRvb2x0aXA6IDEwNzA7XG4kemluZGV4LW5hdmJhci1maXhlZDogMTAzMDtcbiR6aW5kZXgtbW9kYWw6IDEwNDA7XG5cbi8vIGNvbG9yc1xuXG4kYmxhY2s6XHQjMDAwO1xuJHdoaXRlOiAjZmZmO1xuXG4kZ3JheS0xOiAjMmEzZDUxO1xuJGdyYXktMjogIzc0ODQ5NjtcbiRncmF5LTM6ICM5YWE1YjI7XG4kZ3JheS00OiAjZDlkOWQ5O1xuJGdyYXktNTogI2Y1ZjVmNTtcbiRncmF5LTY6ICNlOWViZWQ7XG5cbiR1aS1zdWNjZXNzOiAgICAjNEZBNTAwO1xuJHVpLXBvc2l0aXZlOlx0IzQyY2U2NztcbiR1aS13YXJuaW5nOlx0I2YwYWQ0ZTtcbiR1aS1kYW5nZXI6XHRcdCNlNTRlNWI7XG4kdWktbGluazpcdFx0IzA5OTZkZjtcbiR1aS1zb2Z0Olx0XHQjZTdmYWZkO1xuXG4vLyBib3JkZXIgcmFkaXVzXG5cbiRici1zOiAycHg7XG4kYnItbTogNHB4O1xuJGJyLWw6IDhweDtcblxuLy8gZm9udC1zaXplc1xuJGZzLXh4czpcdDEwcHg7XG4kZnMteHM6XHRcdDEycHg7XG4kZnMtczpcdFx0MTRweDtcbiRmcy1tOlx0XHQxNnB4O1xuJGZzLWw6XHRcdDIwcHg7XG4kZnMteGw6XHRcdDMycHg7XG4kZnMteHhsOlx0NDBweDtcblxuLy9mb250LXdlaWdodFxuXG4kZnctNDpcdDQwMDtcbiRmdy01Olx0NTAwO1xuJGZ3LTY6XHQ2MDA7XG5cbi8vIGZvbnRzXG5cbiRreXJ1dXMtZm9udDogXCJzb3VyY2Utc2Fucy1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuJHN0YW5kYXJkLWZvbnQ6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8gc3BhY2luZ1xuXG4kc3AteHM6IDVweDtcbiRzcC1zOiAxMHB4O1xuJHNwLW06IDIwcHg7XG4kc3AtbDogMzBweDtcbiRzcC14bDogNDBweDtcbiRzcC14eGw6IDUwcHg7XG5cbi8vIHRhYmxlIHNwYWNpbmdcblxuJHRzLXM6IDhweDtcbiR0cy1tOiAxMnB4O1xuJHRzLWw6IDE4cHg7XG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJreXJ1dXNfc3RhdGljX2Fzc2V0c19ub19ydWxlc1wiO1xuQGltcG9ydCBcImt5cnV1cy1pY29ucy9reXJ1dXMtaWNvbi1mb250L3N0eWxlLnNjc3NcIjtcbkBpbXBvcnQgXCJtc192aWV3cG9ydFwiO1xuIiwiLy8gQ29yZSB1dGlsaXRpZXNcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvZGlzcGxheVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9mbG9hdFwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9sb2FkXCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9vZmZzZXRcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdHlwZVwiO1xuXG4vLyBDb3JlIGNsYXNzZXNcbkBpbXBvcnQgXCJjbGFzc2VzL2FsaWduXCI7XG5AaW1wb3J0IFwiY2xhc3Nlcy9hdmF0YXJcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNsYXNzZXMvbWFwXCI7XG5AaW1wb3J0IFwiY2xhc3Nlcy9tYXJnaW5cIjtcbkBpbXBvcnQgXCJjbGFzc2VzL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL3NlYXJjaFwiO1xuQGltcG9ydCBcImNsYXNzZXMvdXRpbGl0eS1iYXJcIjtcbkBpbXBvcnQgXCJjbGFzc2VzL3dpZGdldFwiO1xuXG4vLyBDb3JlIGNvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsZXJ0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ob3Jpem9udGFsLXJ1bGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb24tZXh0ZW5zaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGFiZWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21vZGFsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhbmVsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ydWxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b29sdGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90eXBvZ3JhcGh5XCI7XG5cbmJvZHkge1xuXHRmb250LWZhbWlseTogJHN0YW5kYXJkLWZvbnQ7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDsgfVxuXG4qIHtcblx0ZmlsdGVyOiBpbmhlcml0OyB9XG5cbnNlY3Rpb24sIGRpdiwgYXJ0aWNsZSwgYXNpZGUsIHByZSB7XG5cdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwOyB9XG4iLCIuaGlkZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZC1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kLWlubGluZS1ibG9jayB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZC10YWJsZSB7XG5cdGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5kLWlubGluZSB7XG5cdGRpc3BsYXk6IGlubGluZTsgfVxuXG4uYnRuR3JvdXAsIC5kLXRhYmxlIHtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRjbGVhcjogYm90aDsgfVxuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Y29udGVudDogXCJcIjsgfSB9XG4iLCIuZi1sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7IH1cbi5mLXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0OyB9XG4uZi1ub25lIHtcblx0ZmxvYXQ6IG5vbmU7IH1cbiIsIkBpbXBvcnQgXCJjb21wYXNzLW1peGlucy9saWIvY29tcGFzcy9jc3MzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuJG9wYWNpdHk6IC4xNTtcblxuLnJlZnJlc2gtcmVzdWx0cyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3BhY2l0eTogMTtcblxuXHQmOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHRcdGhlaWdodDogMjAwcHg7XG5cdFx0dG9wOiA1JTtcblx0XHRsZWZ0OiA0MCU7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyLW0pO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy9sb2FkaW5nLmdpZlwiKTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNTAlO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShhbGwpO1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjVzKTsgfVxuXG5cdC5yZXN1bHQtY29sdW1uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0QGluY2x1ZGUgb3BhY2l0eSgkb3BhY2l0eSk7XG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShhbGwpO1xuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjVzKTsgfSB9XG5cbi51cGRhdGUtcmVzdWx0LWl0ZW0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdEBpbmNsdWRlIG9wYWNpdHkoJG9wYWNpdHkpO1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGFsbCk7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjVzKTsgfVxuIiwiQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvaW5saW5lLWJsb2NrXCI7XG5AaW1wb3J0IFwiY3NzMy9vcGFjaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9ib3gtc2hhZG93XCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LXNoYWRvd1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZXNcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtY2xpcFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1vcmlnaW5cIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtc2l6ZVwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL3JlZ2lvbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbmF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3BpZVwiO1xuQGltcG9ydCBcImNzczMvdXNlci1pbnRlcmZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXhib3hcIjsiLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbiRkZWZhdWx0LWJvcmRlci1yYWRpdXM6IDVweCAhZGVmYXVsdDtcblxuLy8gUm91bmQgYWxsIGNvcm5lcnMgYnkgYSBzcGVjaWZpYyBhbW91bnQsIGRlZmF1bHRzIHRvIHZhbHVlIG9mIGAkZGVmYXVsdC1ib3JkZXItcmFkaXVzYC5cbi8vXG4vLyBXaGVuIHR3byB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIGZpcnN0IGlzIHRoZSBob3Jpem9udGFsIHJhZGl1c1xuLy8gYW5kIHRoZSBzZWNvbmQgaXMgdGhlIHZlcnRpY2FsIHJhZGl1cy5cbi8vXG4vLyBOb3RlOiB3ZWJraXQgZG9lcyBub3Qgc3VwcG9ydCBzaG9ydGhhbmQgc3ludGF4IGZvciBzZXZlcmFsIGNvcm5lcnMgYXQgb25jZS5cbi8vIFNvIGluIHRoZSBjYXNlIHdoZXJlIHlvdSBwYXNzIHNldmVyYWwgdmFsdWVzIG9ubHkgdGhlIGZpcnN0IHdpbGwgYmUgcGFzc2VkIHRvIHdlYmtpdC5cbi8vXG4vLyBFeGFtcGxlczpcbi8vXG4vLyAgICAgLnNpbXBsZSAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgsIDRweCk7IH1cbi8vICAgICAuY29tcG91bmQgeyBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCA1cHgsIDNweCA2cHgpOyB9XG4vLyAgICAgLmNyYXp5ICAgIHsgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxcHggM3B4IDVweCA3cHgsIDJweCA0cHggNnB4IDhweCl9XG4vL1xuLy8gV2hpY2ggZ2VuZXJhdGVzOlxuLy9cbi8vICAgIC5zaW1wbGUge1xuLy8gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweCA0cHg7XG4vLyAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogNHB4IC8gNHB4O1xuLy8gICAgICBib3JkZXItcmFkaXVzOiA0cHggLyA0cHg7IH1cbi8vICAgIFxuLy8gICAgLmNvbXBvdW5kIHtcbi8vICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHggM3B4O1xuLy8gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4O1xuLy8gICAgICAta2h0bWwtYm9yZGVyLXJhZGl1czogMnB4IDVweCAvIDNweCA2cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHggLyAzcHggNnB4OyB9XG4vLyAgICBcbi8vICAgIC5jcmF6eSB7XG4vLyAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4IDJweDtcbi8vICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIC1raHRtbC1ib3JkZXItcmFkaXVzOiAxcHggM3B4IDVweCA3cHggLyAycHggNHB4IDZweCA4cHg7XG4vLyAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAzcHggNXB4IDdweCAvIDJweCA0cHggNnB4IDhweDsgfVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzLCAkdmVydGljYWwtcmFkaXVzOiBmYWxzZSkge1xuXG4gIEBpZiAkdmVydGljYWwtcmFkaXVzIHtcbiAgICAvLyBXZWJraXQgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSBvZmZpY2lhbCBzaG9ydGhhbmQgc3ludGF4IGZvciBzcGVjaWZ5aW5nXG4gICAgLy8gYSB2ZXJ0aWNhbCByYWRpdXMgdW5sZXNzIHNvIGluIGNhc2UgdGhlcmUncyBzZXZlcmFsIHdlIG9ubHkgdGFrZSB0aGUgZmlyc3QuXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJvcmRlci1yYWRpdXMsIGZpcnN0LXZhbHVlLW9mKCRyYWRpdXMpIGZpcnN0LXZhbHVlLW9mKCR2ZXJ0aWNhbC1yYWRpdXMpLFxuICAgICAgbm90KC1tb3opLFxuICAgICAgLXdlYmtpdCxcbiAgICAgIG5vdCgtbyksXG4gICAgICBub3QoLW1zKSxcbiAgICAgIG5vdCgta2h0bWwpLFxuICAgICAgbm90KG9mZmljaWFsKVxuICAgICk7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLXJhZGl1c1wiLCAkcmFkaXVzIHVucXVvdGUoXCIvXCIpICR2ZXJ0aWNhbC1yYWRpdXMsXG4gICAgICAtbW96LFxuICAgICAgbm90KC13ZWJraXQpLFxuICAgICAgbm90KC1vKSxcbiAgICAgIG5vdCgtbXMpLFxuICAgICAgLWtodG1sLFxuICAgICAgb2ZmaWNpYWxcbiAgICApO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm9yZGVyLXJhZGl1cywgJHJhZGl1cyk7XG4gIH1cbn1cblxuLy8gUm91bmQgcmFkaXVzIGF0IHBvc2l0aW9uIGJ5IGFtb3VudC5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCR2ZXJ0YDogYHRvcGAsIGBib3R0b21gXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgYCRob3J6YDogYGxlZnRgLCBgcmlnaHRgXG5cbkBtaXhpbiBib3JkZXItY29ybmVyLXJhZGl1cygkdmVydCwgJGhvcnosICRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgLy8gU3VwcG9ydCBmb3IgbW96aWxsYSdzIHN5bnRheCBmb3Igc3BlY2lmeWluZyBhIGNvcm5lclxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoXCJib3JkZXItcmFkaXVzLSN7JHZlcnR9I3skaG9yen1cIiwgJHJhZGl1cyxcbiAgICAtbW96LFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIG5vdCgta2h0bWwpLFxuICAgIG5vdChvZmZpY2lhbClcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKFwiYm9yZGVyLSN7JHZlcnR9LSN7JGhvcnp9LXJhZGl1c1wiLCAkcmFkaXVzLFxuICAgIG5vdCgtbW96KSxcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgLWtodG1sLFxuICAgIG9mZmljaWFsXG4gICk7XG4gIFxufVxuXG4vLyBSb3VuZCB0b3AtbGVmdCBjb3JuZXIgb25seVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKHRvcCwgbGVmdCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgdG9wLXJpZ2h0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1jb3JuZXItcmFkaXVzKHRvcCwgcmlnaHQsICRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdHRvbS1sZWZ0IGNvcm5lciBvbmx5XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXMoYm90dG9tLCBsZWZ0LCAkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3R0b20tcmlnaHQgY29ybmVyIG9ubHlcblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWNvcm5lci1yYWRpdXMoYm90dG9tLCByaWdodCwgJHJhZGl1cyk7IH1cblxuLy8gUm91bmQgYm90aCB0b3AgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkZGVmYXVsdC1ib3JkZXItcmFkaXVzKSB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggcmlnaHQgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXM6ICRkZWZhdWx0LWJvcmRlci1yYWRpdXMpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpOyB9XG5cbi8vIFJvdW5kIGJvdGggYm90dG9tIGNvcm5lcnMgYnkgYW1vdW50XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTsgfVxuXG4vLyBSb3VuZCBib3RoIGxlZnQgY29ybmVycyBieSBhbW91bnRcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1czogJGRlZmF1bHQtYm9yZGVyLXJhZGl1cykge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpOyB9XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIi8vIFVzdWFsbHkgY29tcGFzcyBoYWNrcyBhcHBseSB0byBib3RoIGllNiAmIDcgLS0gc2V0IHRoaXMgdG8gZmFsc2UgdG8gZGlzYWJsZSBzdXBwb3J0IGZvciBib3RoLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU2IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNjogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgaWU3IGhhY2tzXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllNzogJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSAhZGVmYXVsdDtcblxuLy8gU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgcmVzdWx0IGluIHNtYWxsZXIgb3V0cHV0LCBidXQgbm8gc3VwcG9ydCBmb3IgbGVnYWN5IGllOCBoYWNrc1xuJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTg6ICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUgIWRlZmF1bHQ7XG5cbi8vIEBwcml2YXRlXG4vLyBUaGUgdXNlciBjYW4gc2ltcGx5IHNldCAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIGFuZCA2LCA3LCBhbmQgOCB3aWxsIGJlIHNldCBhY2NvcmRpbmdseSxcbi8vIEJ1dCBpbiBjYXNlIHRoZSB1c2VyIHNldCBlYWNoIG9mIHRob3NlIGV4cGxpY2l0bHksIHdlIG5lZWQgdG8gc3luYyB0aGUgdmFsdWUgb2Zcbi8vIHRoaXMgY29tYmluZWQgdmFyaWFibGUuXG4kbGVnYWN5LXN1cHBvcnQtZm9yLWllOiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllODtcblxuLy8gV2hldGhlciB0byBvdXRwdXQgbGVnYWN5IHN1cHBvcnQgZm9yIG1vemlsbGEuXG4vLyBVc3VhbGx5IHRoaXMgbWVhbnMgaGFja3MgdG8gc3VwcG9ydCBGaXJlZm94IDMuNiBvciBlYXJsaWVyLlxuJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuXG4vLyBTdXBwb3J0IGZvciBtb3ppbGxhIGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tb3opLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC13ZWJraXQpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igd2Via2l0J3Mgb3JpZ2luYWwgKG5vbi1zdGFuZGFyZCkgZ3JhZGllbnQgc3ludGF4LlxuJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3Igb3BlcmEgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLW8pLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuLy8gU3VwcG9ydCBmb3IgbWljcm9zb2Z0IGluIGV4cGVyaW1lbnRhbCBjc3MzIHByb3BlcnRpZXMgKC1tcykuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCAgICA6IHRydWUgIWRlZmF1bHQ7XG4vLyBTdXBwb3J0IGZvciBraHRtbCBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzICgta2h0bWwpLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIHN2ZyBpbiBleHBlcmltZW50YWwgY3NzMyBwcm9wZXJ0aWVzLlxuLy8gU2V0dGluZyB0aGlzIHRvIHRydWUgbWlnaHQgYWRkIHNpZ25pZmljYW50IHNpemUgdG8geW91clxuLy8gZ2VuZXJhdGVkIHN0eWxlc2hlZXRzLlxuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFN1cHBvcnQgZm9yIENTUyBQSUUgaW4gZXhwZXJpbWVudGFsIGNzczMgcHJvcGVydGllcyAoLXBpZSkuXG4kZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZSAgICAgICAgICA6IGZhbHNlICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTZXQgYCRpbmxpbmUtYmxvY2stYWxpZ25tZW50YCB0byBgbm9uZWAgb3IgYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBvdXRwdXRcbi8vIG9mIGEgdmVydGljYWwtYWxpZ24gcHJvcGVydHkgaW4gdGhlIGlubGluZS1ibG9jayBtaXhpbi5cbi8vIE9yIHNldCBpdCB0byBhIGxlZ2FsIHZhbHVlIGZvciBgdmVydGljYWwtYWxpZ25gIHRvIGNoYW5nZSB0aGUgZGVmYXVsdC5cbiRpbmxpbmUtYmxvY2stYWxpZ25tZW50OiBtaWRkbGUgIWRlZmF1bHQ7XG5cbi8vIFByb3ZpZGVzIGEgY3Jvc3MtYnJvd3NlciBtZXRob2QgdG8gaW1wbGVtZW50IGBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7YFxuQG1peGluIGlubGluZS1ibG9jaygkYWxpZ25tZW50OiAkaW5saW5lLWJsb2NrLWFsaWdubWVudCkge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1tb3ppbGxhIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgfVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpZiAkYWxpZ25tZW50IGFuZCAkYWxpZ25tZW50ICE9IG5vbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiAkYWxpZ25tZW50O1xuICB9XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllIHtcbiAgICAqdmVydGljYWwtYWxpZ246IGF1dG87XG4gICAgem9vbTogMTtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFByb3ZpZGVzIGNyb3NzLWJyb3dzZXIgQ1NTIG9wYWNpdHkuIFRha2VzIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSBhcyB0aGUgYXJndW1lbnQsIGUuZy4gMC41IGZvciA1MCUgb3BhY2l0eS5cbi8vXG4vLyAgICAgQHBhcmFtICRvcGFjaXR5XG4vLyAgICAgICAgIEEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSwgd2hlcmUgMCBpcyB0cmFuc3BhcmVudCBhbmQgMSBpcyBvcGFxdWUuXG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllOCB7XG4gICAgZmlsdGVyOiB1bnF1b3RlKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9I3tyb3VuZCgkb3BhY2l0eSAqIDEwMCl9KVwiKTtcbiAgfVxuICBvcGFjaXR5OiAkb3BhY2l0eTtcbn1cblxuLy8gTWFrZSBhbiBlbGVtZW50IGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQuXG5AbWl4aW4gdHJhbnNwYXJlbnQgeyBAaW5jbHVkZSBvcGFjaXR5KDApOyB9XG5cbi8vIE1ha2UgYW4gZWxlbWVudCBjb21wbGV0ZWx5IG9wYXF1ZS5cbkBtaXhpbiBvcGFxdWUgeyBAaW5jbHVkZSBvcGFjaXR5KDEpOyB9XG4iLCIvLyBAZG9jIG9mZlxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBiZWZvcmUgaW1wb3J0aW5nLlxuLy8gQGRvYyBvblxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGJveCBzaGFkb3dzXG4kZGVmYXVsdC1ib3gtc2hhZG93LWNvbG9yOiAjMzMzMzMzICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBob3Jpem9udGFsIG9mZnNldC4gUG9zaXRpdmUgaXMgdG8gdGhlIHJpZ2h0LlxuJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldDogMHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCB2ZXJ0aWNhbCBvZmZzZXQuIFBvc2l0aXZlIGlzIGRvd24uXG4kZGVmYXVsdC1ib3gtc2hhZG93LXYtb2Zmc2V0OiAwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGJsdXIgbGVuZ3RoLlxuJGRlZmF1bHQtYm94LXNoYWRvdy1ibHVyOiA1cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IHNwcmVhZCBsZW5ndGguXG4kZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCA6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBzaGFkb3cgaW5zZXQ6IGluc2V0IG9yIGZhbHNlIChmb3Igc3RhbmRhcmQgc2hhZG93KS5cbiRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBmb3IgV2Via2l0LCBHZWNrbywgYW5kIENTUzMgYm94IHNoYWRvd3Mgd2hlbiBvbmUgb3IgbW9yZSBib3hcbi8vIHNoYWRvd3MgYXJlIG5lZWRlZC5cbi8vIEVhY2ggc2hhZG93IGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGJveC1zaGFkb3cgcHJvcGVydHkuXG5AbWl4aW4gYm94LXNoYWRvdyhcbiAgJHNoYWRvdy0xIDogZGVmYXVsdCxcbiAgJHNoYWRvdy0yIDogZmFsc2UsXG4gICRzaGFkb3ctMyA6IGZhbHNlLFxuICAkc2hhZG93LTQgOiBmYWxzZSxcbiAgJHNoYWRvdy01IDogZmFsc2UsXG4gICRzaGFkb3ctNiA6IGZhbHNlLFxuICAkc2hhZG93LTcgOiBmYWxzZSxcbiAgJHNoYWRvdy04IDogZmFsc2UsXG4gICRzaGFkb3ctOSA6IGZhbHNlLFxuICAkc2hhZG93LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkc2hhZG93LTEgPT0gZGVmYXVsdCB7XG4gICAgJHNoYWRvdy0xIDogLWNvbXBhc3Mtc3BhY2UtbGlzdChjb21wYWN0KGlmKCRkZWZhdWx0LWJveC1zaGFkb3ctaW5zZXQsIGluc2V0LCBmYWxzZSksICRkZWZhdWx0LWJveC1zaGFkb3ctaC1vZmZzZXQsICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsICRkZWZhdWx0LWJveC1zaGFkb3ctYmx1ciwgJGRlZmF1bHQtYm94LXNoYWRvdy1zcHJlYWQsICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3IpKTtcbiAgfVxuICAkc2hhZG93IDogY29tcGFjdCgkc2hhZG93LTEsICRzaGFkb3ctMiwgJHNoYWRvdy0zLCAkc2hhZG93LTQsICRzaGFkb3ctNSwgJHNoYWRvdy02LCAkc2hhZG93LTcsICRzaGFkb3ctOCwgJHNoYWRvdy05LCAkc2hhZG93LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaGFkb3csICRzaGFkb3csXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBQcm92aWRlcyBhIHNpbmdsZSBjcm9zcy1icm93c2VyIENTUyBib3ggc2hhZG93IGZvciBXZWJraXQsIEdlY2tvLCBhbmQgQ1NTMy5cbi8vIEluY2x1ZGVzIGRlZmF1bHQgYXJndW1lbnRzIGZvciBob3Jpem9udGFsIG9mZnNldCwgdmVydGljYWwgb2Zmc2V0LCBibHVyIGxlbmd0aCwgc3ByZWFkIGxlbmd0aCwgY29sb3IgYW5kIGluc2V0LlxuQG1peGluIHNpbmdsZS1ib3gtc2hhZG93KFxuICAkaG9mZiAgIDogJGRlZmF1bHQtYm94LXNoYWRvdy1oLW9mZnNldCxcbiAgJHZvZmYgICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctdi1vZmZzZXQsXG4gICRibHVyICAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWJsdXIsXG4gICRzcHJlYWQgOiAkZGVmYXVsdC1ib3gtc2hhZG93LXNwcmVhZCxcbiAgJGNvbG9yICA6ICRkZWZhdWx0LWJveC1zaGFkb3ctY29sb3IsXG4gICRpbnNldCAgOiAkZGVmYXVsdC1ib3gtc2hhZG93LWluc2V0XG4pIHtcbiAgQGlmIG5vdCAoJGluc2V0ID09IHRydWUgb3IgJGluc2V0ID09IGZhbHNlIG9yICRpbnNldCA9PSBpbnNldCkge1xuICAgIEB3YXJuIFwiJGluc2V0IGV4cGVjdGVkIHRvIGJlIHRydWUgb3IgdGhlIGluc2V0IGtleXdvcmQuIEdvdCAjeyRpbnNldH0gaW5zdGVhZC4gVXNpbmc6IGluc2V0XCI7XG4gIH1cblxuICBAaWYgJGNvbG9yID09IG5vbmUge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgICRmdWxsICAgOiAkaG9mZiAkdm9mZjtcbiAgICBAaWYgJGJsdXIgICB7ICRmdWxsOiAkZnVsbCAkYmx1cjsgICB9XG4gICAgQGlmICRzcHJlYWQgeyAkZnVsbDogJGZ1bGwgJHNwcmVhZDsgfVxuICAgIEBpZiAkY29sb3IgIHsgJGZ1bGw6ICRmdWxsICRjb2xvcjsgIH1cbiAgICBAaWYgJGluc2V0ICB7ICRmdWxsOiBpbnNldCAkZnVsbDsgICB9XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZnVsbCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhlc2UgZGVmYXVsdHMgbWFrZSB0aGUgYXJndW1lbnRzIG9wdGlvbmFsIGZvciB0aGlzIG1peGluXG4vLyBJZiB5b3UgbGlrZSwgc2V0IGRpZmZlcmVudCBkZWZhdWx0cyBpbiB5b3VyIHByb2plY3RcblxuJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3I6ICAgICNhYWEgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1oLW9mZnNldDogMHB4ICAhZGVmYXVsdDtcbiRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0OiAwcHggICFkZWZhdWx0O1xuJGRlZmF1bHQtdGV4dC1zaGFkb3ctYmx1cjogICAgIDFweCAgIWRlZmF1bHQ7XG4kZGVmYXVsdC10ZXh0LXNoYWRvdy1zcHJlYWQ6ICAgZmFsc2UgICFkZWZhdWx0O1xuXG4vLyBQcm92aWRlcyBjcm9zcy1icm93c2VyIHRleHQgc2hhZG93cyB3aGVuIG9uZSBvciBtb3JlIHNoYWRvd3MgYXJlIG5lZWRlZC5cbi8vIEVhY2ggc2hhZG93IGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIHRleHQtc2hhZG93IHByb3BlcnR5LlxuLy9cbi8vIE5vdGU6IGlmIGFueSBzaGFkb3cgaGFzIGEgc3ByZWFkIHBhcmFtZXRlciwgdGhpcyB3aWxsIGNhdXNlIHRoZSBtaXhpblxuLy8gdG8gZW1pdCB0aGUgc2hhZG93IGRlY2xhcmF0aW9uIHR3aWNlLCBmaXJzdCB3aXRob3V0IHRoZSBzcHJlYWQsXG4vLyB0aGVuIHdpdGggdGhlIHNwcmVhZCBpbmNsdWRlZC4gVGhpcyBhbGxvd3MgeW91IHRvIHByb2dyZXNzaXZlbHlcbi8vIGVuaGFuY2UgdGhlIGJyb3dzZXJzIHRoYXQgZG8gc3VwcG9ydCB0aGUgc3ByZWFkIHBhcmFtZXRlci5cbkBtaXhpbiB0ZXh0LXNoYWRvdyhcbiAgJHNoYWRvdy0xIDogZGVmYXVsdCxcbiAgJHNoYWRvdy0yIDogZmFsc2UsXG4gICRzaGFkb3ctMyA6IGZhbHNlLFxuICAkc2hhZG93LTQgOiBmYWxzZSxcbiAgJHNoYWRvdy01IDogZmFsc2UsXG4gICRzaGFkb3ctNiA6IGZhbHNlLFxuICAkc2hhZG93LTcgOiBmYWxzZSxcbiAgJHNoYWRvdy04IDogZmFsc2UsXG4gICRzaGFkb3ctOSA6IGZhbHNlLFxuICAkc2hhZG93LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiAkc2hhZG93LTEgPT0gZGVmYXVsdCB7XG4gICAgJHNoYWRvdy0xOiBjb21wYWN0KCRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LXYtb2Zmc2V0ICRkZWZhdWx0LXRleHQtc2hhZG93LWJsdXIgJGRlZmF1bHQtdGV4dC1zaGFkb3ctc3ByZWFkICRkZWZhdWx0LXRleHQtc2hhZG93LWNvbG9yKTtcbiAgfVxuICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogam9pbigoKSwoKSxjb21tYSk7XG4gICRzaGFkb3dzOiBqb2luKCgpLCgpLGNvbW1hKTtcbiAgJGhhcy1zcHJlYWQ6IGZhbHNlO1xuICBAZWFjaCAkc2hhZG93IGluIGNvbXBhY3QoJHNoYWRvdy0xLCAkc2hhZG93LTIsICRzaGFkb3ctMywgJHNoYWRvdy00LCAkc2hhZG93LTUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkc2hhZG93LTYsICRzaGFkb3ctNywgJHNoYWRvdy04LCAkc2hhZG93LTksICRzaGFkb3ctMTApIHtcbiAgICBAaWYgbGVuZ3RoKCRzaGFkb3cpID4gNCB7XG4gICAgICAkaGFzLXNwcmVhZDogdHJ1ZTtcbiAgICAgICRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkOiBhcHBlbmQoJHNoYWRvd3Mtd2l0aG91dC1zcHJlYWQsIG50aCgkc2hhZG93LDEpIG50aCgkc2hhZG93LDIpIG50aCgkc2hhZG93LDMpIG50aCgkc2hhZG93LDUpKTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH0gZWxzZSB7XG4gICAgICAkc2hhZG93cy13aXRob3V0LXNwcmVhZDogYXBwZW5kKCRzaGFkb3dzLXdpdGhvdXQtc3ByZWFkLCAkc2hhZG93KTtcbiAgICAgICRzaGFkb3dzOiBhcHBlbmQoJHNoYWRvd3MsICRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICBAaWYgJGhhcy1zcHJlYWQge1xuICAgIHRleHQtc2hhZG93OiAkc2hhZG93cy13aXRob3V0LXNwcmVhZDtcbiAgfVxuICB0ZXh0LXNoYWRvdzogJHNoYWRvd3M7XG59XG5cbi8vIFByb3ZpZGVzIGEgc2luZ2xlIGNyb3NzLWJyb3dzZXIgQ1NTIHRleHQgc2hhZG93LlxuLy9cbi8vIFByb3ZpZGVzIHNlbnNpYmxlIGRlZmF1bHRzIGZvciB0aGUgY29sb3IsIGhvcml6b250YWwgb2Zmc2V0LCB2ZXJ0aWNhbCBvZmZzZXQsIGJsdXIsIGFuZCBzcHJlYWRcbi8vIGFjY29yZGluZyB0byB0aGUgY29uZmlndXJhdGlvbiBkZWZhdWx0cyBhYm92ZS5cbkBtaXhpbiBzaW5nbGUtdGV4dC1zaGFkb3coXG4gICRob2ZmOiBmYWxzZSxcbiAgJHZvZmY6IGZhbHNlLFxuICAkYmx1cjogZmFsc2UsXG4gICRzcHJlYWQ6IGZhbHNlLFxuICAkY29sb3I6IGZhbHNlXG4pIHtcbiAgLy8gQSBsb3Qgb2YgcGVvcGxlIHRoaW5rIHRoZSBjb2xvciBjb21lcyBmaXJzdC4gSXQgZG9lc24ndC5cbiAgQGlmIHR5cGUtb2YoJGhvZmYpID09IGNvbG9yIHtcbiAgICAkdGVtcC1jb2xvcjogJGhvZmY7XG4gICAgJGhvZmY6ICR2b2ZmO1xuICAgICR2b2ZmOiAkYmx1cjtcbiAgICAkYmx1cjogJHNwcmVhZDtcbiAgICAkc3ByZWFkOiAkY29sb3I7XG4gICAgJGNvbG9yOiAkdGVtcC1jb2xvcjtcbiAgfVxuICAvLyBDYW4ndCByZWx5IG9uIGRlZmF1bHQgYXNzaWdubWVudCB3aXRoIG11bHRpcGxlIHN1cHBvcnRlZCBhcmd1bWVudCBvcmRlcnMuXG4gICRob2ZmOiAgIGlmKCRob2ZmLCAgICRob2ZmLCAgICRkZWZhdWx0LXRleHQtc2hhZG93LWgtb2Zmc2V0KTtcbiAgJHZvZmY6ICAgaWYoJHZvZmYsICAgJHZvZmYsICAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctdi1vZmZzZXQpO1xuICAkYmx1cjogICBpZigkYmx1ciwgICAkYmx1ciwgICAkZGVmYXVsdC10ZXh0LXNoYWRvdy1ibHVyICAgICk7XG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQsICRzcHJlYWQsICRkZWZhdWx0LXRleHQtc2hhZG93LXNwcmVhZCAgKTtcbiAgJGNvbG9yOiAgaWYoJGNvbG9yLCAgJGNvbG9yLCAgJGRlZmF1bHQtdGV4dC1zaGFkb3ctY29sb3IgICApO1xuICAvLyBXZSBkb24ndCBuZWVkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciB0aGlzIHByb3BlcnR5LlxuICBAaWYgJGNvbG9yID09IG5vbmUgb3IgJGhvZmYgPT0gbm9uZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3cobm9uZSk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KGNvbXBhY3QoJGhvZmYgJHZvZmYgJGJsdXIgJHNwcmVhZCAkY29sb3IpKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBTcGVjaWZ5IHRoZSBzaG9ydGhhbmQgYGNvbHVtbnNgIHByb3BlcnR5LlxuLy9cbi8vIEV4YW1wbGU6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbnMoMjBlbSAyKVxuQG1peGluIGNvbHVtbnMoJHdpZHRoLWFuZC1jb3VudCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1ucywgJHdpZHRoLWFuZC1jb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGNvbHVtbnNcbkBtaXhpbiBjb2x1bW4tY291bnQoJGNvdW50KSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tY291bnQsICRjb3VudCxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gU3BlY2lmeSB0aGUgZ2FwIGJldHdlZW4gY29sdW1ucyBlLmcuIGAyMHB4YFxuQG1peGluIGNvbHVtbi1nYXAoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tZ2FwLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIGNvbHVtbnMgZS5nLiBgMTAwcHhgXG5AbWl4aW4gY29sdW1uLXdpZHRoKCR3aWR0aCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXdpZHRoLCAkd2lkdGgsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIFNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBydWxlIGJldHdlZW4gY29sdW1ucyBlLmcuIGAxcHhgXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGgoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBzdHlsZSBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgZG90dGVkYC5cbi8vIFRoaXMgd29ya3MgbGlrZSBib3JkZXItc3R5bGUuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZS1zdHlsZSwgdW5xdW90ZSgkc3R5bGUpLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSBjb2xvciBvZiB0aGUgcnVsZSBiZXR3ZWVuIGNvbHVtbnMgZS5nLiBgYmx1ZWAuXG4vLyBUaGlzIHdvcmtzIGxpa2UgYm9yZGVyLWNvbG9yLlxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvcixcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gTWl4aW4gZW5jb21wYXNzaW5nIGFsbCBjb2x1bW4gcnVsZSBwcm9wZXJ0aWVzXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyAgICAgQGluY2x1ZGUgY29sdW1uLXJ1bGUoMXB4LCBzb2xpZCwgI2MwMClcbi8vXG4vLyBPciB0aGUgdmFsdWVzIGNhbiBiZSBzcGFjZSBzZXBhcmF0ZWQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIGNvbHVtbi1ydWxlKDFweCBzb2xpZCAjYzAwKVxuQG1peGluIGNvbHVtbi1ydWxlKCR3aWR0aCwgJHN0eWxlOiBmYWxzZSwgJGNvbG9yOiBmYWxzZSkge1xuICAkZnVsbCA6IC1jb21wYXNzLXNwYWNlLWxpc3QoY29tcGFjdCgkd2lkdGgsICRzdHlsZSwgJGNvbG9yKSk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tcnVsZSwgJGZ1bGwsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1iZWZvcmVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vL1xuLy8gIEV4YW1wbGU6IFxuLy8gICAgaDIuYmVmb3JlIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYmVmb3JlKGFsd2F5cyk7fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5iZWZvcmUgeyAgICBcbi8vICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWJlZm9yZTogYWx3YXlzO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstYmVmb3JlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWJlZm9yZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gTWl4aW4gZm9yIHNldHRpbmcgY29sdW1uLWJyZWFrLWFmdGVyXG4vL1xuLy8gKiBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmFmdGVyIHtAaW5jbHVkZSBjb2x1bW4tYnJlYWstYWZ0ZXIoYWx3YXlzKTsgfVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy9cbi8vICBoMi5hZnRlciB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzO1xuLy8gICAgY29sdW1uLWJyZWFrLWFmdGVyOiBhbHdheXM7IH1cbkBtaXhpbiBjb2x1bW4tYnJlYWstYWZ0ZXIoJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChjb2x1bW4tYnJlYWstYWZ0ZXIsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsICk7XG59XG5cbi8vIE1peGluIGZvciBzZXR0aW5nIGNvbHVtbi1icmVhay1pbnNpZGVcbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy9cbi8vICBFeGFtcGxlOiBcbi8vICAgIGgyLmluc2lkZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrLWluc2lkZSgpO31cbi8vICBXaGljaCBnZW5lcmF0ZXM6IFxuLy8gIFxuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbkBtaXhpbiBjb2x1bW4tYnJlYWstaW5zaWRlKCR2YWx1ZTogYXV0byl7XG4gICBAaW5jbHVkZSBleHBlcmltZW50YWwoY29sdW1uLWJyZWFrLWluc2lkZSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwgKTtcbn1cblxuLy8gQWxsLXB1cnBvc2UgbWl4aW4gZm9yIHNldHRpbmcgY29sdW1uIGJyZWFrcy5cbi8vXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJHR5cGUgOiBiZWZvcmUsIGFmdGVyLCBpbnNpZGUgXG4vLyAqIGxlZ2FsIHZhbHVlcyBmb3IgJyR2YWx1ZScgYXJlIGRlcGVuZGVudCBvbiAkdHlwZVxuLy8gICAgKiB3aGVuICR0eXBlID0gYmVmb3JlLCBsZWdhbCB2YWx1ZXMgYXJlIGF1dG8sIGFsd2F5cywgYXZvaWQsIGxlZnQsIHJpZ2h0LCBwYWdlLCBjb2x1bW4sIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gICAgKiB3aGVuICR0eXBlID0gYWZ0ZXIsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYWx3YXlzLCBhdm9pZCwgbGVmdCwgcmlnaHQsIHBhZ2UsIGNvbHVtbiwgYXZvaWQtcGFnZSwgYXZvaWQtY29sdW1uXG4vLyAgICAqIHdoZW4gJHR5cGUgPSBpbnNpZGUsIGxlZ2FsIHZhbHVlcyBhcmUgYXV0bywgYXZvaWQsIGF2b2lkLXBhZ2UsIGF2b2lkLWNvbHVtblxuLy8gIFxuLy8gIEV4YW1wbGVzOiBcbi8vICAgIGgyLmJlZm9yZSB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGJlZm9yZSwgYWx3YXlzKTt9XG4vLyAgICBoMi5hZnRlciB7QGluY2x1ZGUgY29sdW1uLWJyZWFrKGFmdGVyLCBhbHdheXMpOyB9XG4vLyAgICBoMi5pbnNpZGUge0BpbmNsdWRlIGNvbHVtbi1icmVhayhpbnNpZGUpOyB9XG4vL1xuLy8gIFdoaWNoIGdlbmVyYXRlczogXG4vLyAgaDIuYmVmb3JlIHsgICAgXG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1iZWZvcmU6IGFsd2F5czt9XG4vLyAgXG4vLyAgaDIuYWZ0ZXIge1xuLy8gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstYWZ0ZXI6IGFsd2F5cztcbi8vICAgIGNvbHVtbi1icmVhay1hZnRlcjogYWx3YXlzOyB9XG4vL1xuLy8gIGgyLmluc2lkZSB7XG4vLyAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF1dG87XG4vLyAgICBjb2x1bW4tYnJlYWstaW5zaWRlOiBhdXRvO31cbiBcbkBtaXhpbiBjb2x1bW4tYnJlYWsoJHR5cGU6IGJlZm9yZSwgJHZhbHVlOiBhdXRvKXtcbiAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChcImNvbHVtbi1icmVhay0jeyR0eXBlfVwiLCAkdmFsdWUsIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCApO1xufSIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gQ2hhbmdlIHRoZSBib3ggbW9kZWwgZm9yIE1vemlsbGEsIFdlYmtpdCwgSUU4IGFuZCB0aGUgZnV0dXJlXG4vL1xuLy8gQHBhcmFtICRic1xuLy8gICBbIGNvbnRlbnQtYm94IHwgYm9yZGVyLWJveCBdXG5cbkBtaXhpbiBib3gtc2l6aW5nKCRicykge1xuICAkYnM6IHVucXVvdGUoJGJzKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1zaXppbmcsICRicyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIGRpc3BsYXk6Ym94OyBtdXN0IGJlIHVzZWQgZm9yIGFueSBvZiB0aGUgb3RoZXIgZmxleGJveCBtaXhpbnMgdG8gd29yayBwcm9wZXJseVxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsLXZhbHVlKGRpc3BsYXksIGJveCxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZWZhdWx0IGJveCBvcmllbnRhdGlvbiwgYXNzdW1pbmcgdGhhdCB0aGUgdXNlciB3YW50cyBzb21ldGhpbmcgbGVzcyBibG9jay1saWtlXG4kZGVmYXVsdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFkZWZhdWx0O1xuXG4vLyBCb3ggb3JpZW50YXRpb24gWyBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtb3JpZW50KFxuICAkb3JpZW50YXRpb246ICRkZWZhdWx0LWJveC1vcmllbnRcbikge1xuICAkb3JpZW50YXRpb24gOiB1bnF1b3RlKCRvcmllbnRhdGlvbik7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JpZW50LCAkb3JpZW50YXRpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3gtYWxpZ25cbiRkZWZhdWx0LWJveC1hbGlnbjogc3RyZXRjaCAhZGVmYXVsdDtcblxuLy8gQm94IGFsaWduIFsgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2ggXVxuQG1peGluIGJveC1hbGlnbihcbiAgJGFsaWdubWVudDogJGRlZmF1bHQtYm94LWFsaWduXG4pIHtcbiAgJGFsaWdubWVudCA6IHVucXVvdGUoJGFsaWdubWVudCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtYWxpZ24sICRhbGlnbm1lbnQsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGVmYXVsdCBib3ggZmxleFxuJGRlZmF1bHQtYm94LWZsZXg6IDAgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgYm94IGZsZXguIEFwcGx5IHRoaXMgdG8gdGhlIGNoaWxkcmVuIGluc2lkZSB0aGUgYm94LlxuLy9cbi8vIEZvciBleGFtcGxlOiBcImRpdi5kaXNwbGF5LWJveCA+IGRpdi5jaGlsZC1ib3hcIiB3b3VsZCBnZXQgdGhlIGJveCBmbGV4IG1peGluLlxuQG1peGluIGJveC1mbGV4KFxuICAkZmxleDogJGRlZmF1bHQtYm94LWZsZXhcbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYm94LWZsZXgsICRmbGV4LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIERlZmF1bHQgZmxleCBncm91cFxuJGRlZmF1bHQtYm94LWZsZXgtZ3JvdXA6IDEgIWRlZmF1bHQ7XG5cbi8vIG1peGluIHdoaWNoIHRha2VzIGFuIGludCBhcmd1bWVudCBmb3IgZmxleGlibGUgZ3JvdXBpbmdcbkBtaXhpbiBib3gtZmxleC1ncm91cChcbiAgJGdyb3VwOiAkZGVmYXVsdC1ib3gtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtZmxleC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIGRlZmF1bHQgZm9yIG9yZGluYWwgZ3JvdXBcbiRkZWZhdWx0LWJveC1vcmRpbmFsLWdyb3VwOiAxICFkZWZhdWx0O1xuXG4vLyBtaXhpbiB3aGljaCB0YWtlcyBhbiBpbnQgYXJndW1lbnQgZm9yIG9yZGluYWwgZ3JvdXBpbmcgYW5kIHJlYXJyYW5naW5nIHRoZSBvcmRlclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKFxuICAkZ3JvdXA6ICRkZWZhdWx0LW9yZGluYWwtZmxleC1ncm91cFxuKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtb3JkaW5hbC1ncm91cCwgJGdyb3VwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEJveCBkaXJlY3Rpb24gZGVmYXVsdCB2YWx1ZVxuJGRlZmF1bHQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94LWRpcmVjdGlvbiBbIG5vcm1hbCB8IHJldmVyc2UgfCBpbmhlcml0IF1cbkBtaXhpbiBib3gtZGlyZWN0aW9uKFxuICAkZGlyZWN0aW9uOiAkZGVmYXVsdC1ib3gtZGlyZWN0aW9uXG4pIHtcbiAgJGRpcmVjdGlvbjogdW5xdW90ZSgkZGlyZWN0aW9uKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gZGVmYXVsdCBmb3IgYm94IGxpbmVzXG4kZGVmYXVsdC1ib3gtbGluZXM6IHNpbmdsZSAhZGVmYXVsdDtcblxuLy8gbWl4aW4gZm9yIGJveCBsaW5lcyBbIHNpbmdsZSB8IG11bHRpcGxlIF1cbkBtaXhpbiBib3gtbGluZXMoXG4gICRsaW5lczogJGRlZmF1bHQtYm94LWxpbmVzXG4pIHtcbiAgJGxpbmVzOiB1bnF1b3RlKCRsaW5lcyk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtbGluZXMsICRsaW5lcyxcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBkZWZhdWx0IGZvciBib3ggcGFja1xuJGRlZmF1bHQtYm94LXBhY2s6IHN0YXJ0ICFkZWZhdWx0O1xuXG4vLyBtaXhpbiBmb3IgYm94IHBhY2sgWyBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgXVxuQG1peGluIGJveC1wYWNrKFxuICAkcGFjazogJGRlZmF1bHQtYm94LXBhY2tcbikge1xuICAkcGFjazogdW5xdW90ZSgkcGFjayk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChib3gtcGFjaywgJHBhY2ssXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn0iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5AaW1wb3J0IFwiLi4vdXRpbGl0aWVzL2dlbmVyYWwvaGFja3NcIjtcbkBpbXBvcnQgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZChcbiAgJGJhY2tncm91bmQtMSxcbiAgJGJhY2tncm91bmQtMjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLFxuICAkYmFja2dyb3VuZC00OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTY6IGZhbHNlLFxuICAkYmFja2dyb3VuZC03OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtODogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLFxuICAkYmFja2dyb3VuZC0xMDogZmFsc2Vcbikge1xuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTYsICRiYWNrZ3JvdW5kLTcsICRiYWNrZ3JvdW5kLTgsICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcbiAgJG11bHQtYmdzOiAtY29tcGFzcy1saXN0LXNpemUoJGJhY2tncm91bmRzKSA+IDE7XG4gICRhZGQtcGllLWJnOiBwcmVmaXhlZCgtcGllLCAgICRiYWNrZ3JvdW5kcykgb3IgJG11bHQtYmdzO1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1zdmcoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1vd2coJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQoJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgIC1tb3ooJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRiYWNrZ3JvdW5kcykgeyAgICAgIGJhY2tncm91bmQ6ICAgICAgLW8oJGJhY2tncm91bmRzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1waWUgICAgICAgICAgYW5kICRhZGQtcGllLWJnICAgICAgICAgICAgICAgICAgICAgeyAtcGllLWJhY2tncm91bmQ6ICAgIC1waWUoJGJhY2tncm91bmRzKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICAgICAgICAgJGJhY2tncm91bmRzIDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtd2l0aC1jc3MyLWZhbGxiYWNrKFxuICAkYmFja2dyb3VuZC0xLFxuICAkYmFja2dyb3VuZC0yOiBmYWxzZSxcbiAgJGJhY2tncm91bmQtMzogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZC01OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtNjogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTc6IGZhbHNlLFxuICAkYmFja2dyb3VuZC04OiBmYWxzZSxcbiAgJGJhY2tncm91bmQtOTogZmFsc2UsXG4gICRiYWNrZ3JvdW5kLTEwOiBmYWxzZVxuKSB7XG4gICRiYWNrZ3JvdW5kczogY29tcGFjdCgkYmFja2dyb3VuZC0xLCAkYmFja2dyb3VuZC0yLCAkYmFja2dyb3VuZC0zLCAkYmFja2dyb3VuZC00LCAkYmFja2dyb3VuZC01LFxuICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNiwgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCwgJGJhY2tncm91bmQtOSwgJGJhY2tncm91bmQtMTApO1xuICAkbXVsdC1iZ3M6IC1jb21wYXNzLWxpc3Qtc2l6ZSgkYmFja2dyb3VuZHMpID4gMTtcbiAgJHNpbXBsZS1iYWNrZ3JvdW5kOiBpZigkbXVsdC1iZ3Mgb3IgcHJlZml4ZWQoLWNzczIsICRiYWNrZ3JvdW5kcyksIC1jc3MyKC1jb21wYXNzLW50aCgkYmFja2dyb3VuZHMsIGxhc3QpKSwgZmFsc2UpO1xuICBAaWYgbm90KGJsYW5rKCRzaW1wbGUtYmFja2dyb3VuZCkpIHsgYmFja2dyb3VuZDogJHNpbXBsZS1iYWNrZ3JvdW5kOyB9XG4gIEBpbmNsdWRlIGJhY2tncm91bmQoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMiwgJGJhY2tncm91bmQtMywgJGJhY2tncm91bmQtNCwgJGJhY2tncm91bmQtNSxcbiAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC02LCAkYmFja2dyb3VuZC03LCAkYmFja2dyb3VuZC04LCAkYmFja2dyb3VuZC05LCAkYmFja2dyb3VuZC0xMCk7XG59XG5cblxuLy8gQmFja2dyb3VuZCBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZShcbiAgJGltYWdlLTEsXG4gICRpbWFnZS0yOiBmYWxzZSxcbiAgJGltYWdlLTM6IGZhbHNlLFxuICAkaW1hZ2UtNDogZmFsc2UsXG4gICRpbWFnZS01OiBmYWxzZSxcbiAgJGltYWdlLTY6IGZhbHNlLFxuICAkaW1hZ2UtNzogZmFsc2UsXG4gICRpbWFnZS04OiBmYWxzZSxcbiAgJGltYWdlLTk6IGZhbHNlLFxuICAkaW1hZ2UtMTA6IGZhbHNlXG4pIHtcbiAgJGltYWdlczogY29tcGFjdCgkaW1hZ2UtMSwgJGltYWdlLTIsICRpbWFnZS0zLCAkaW1hZ2UtNCwgJGltYWdlLTUsICRpbWFnZS02LCAkaW1hZ2UtNywgJGltYWdlLTgsICRpbWFnZS05LCAkaW1hZ2UtMTApO1xuICAkYWRkLXBpZS1iZzogcHJlZml4ZWQoLXBpZSwgICAkaW1hZ2VzKSBvciAtY29tcGFzcy1saXN0LXNpemUoJGltYWdlcykgPiAxO1xuXG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJGltYWdlcykgeyBiYWNrZ3JvdW5kLWltYWdlOiAgICAtc3ZnKCRpbWFnZXMpOyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1vd2coJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQoJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgIC1tb3ooJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkaW1hZ2VzKSB7IGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8oJGltYWdlcyk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItcGllICAgICAgICAgIGFuZCAkYWRkLXBpZS1iZyAgICAgICAgICAgICAgICB7IEB3YXJuIFwiUElFIGRvZXMgbm90IHN1cHBvcnQgYmFja2dyb3VuZC1pbWFnZS4gVXNlIEBpbmNsdWRlIGJhY2tncm91bmQoI3skaW1hZ2VzfSkgaW5zdGVhZC5cIiB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgICRpbWFnZXMgO1xufVxuXG4vLyBFbWl0IGEgSUUtU3BlY2lmaWMgZmlsdGVycyB0aGF0IHJlbmRlcnMgYSBzaW1wbGUgbGluZWFyIGdyYWRpZW50LlxuLy8gRm9yIHVzZSBpbiBJRSA2IC0gOC4gQmVzdCBwcmFjdGljZSB3b3VsZCBoYXZlIHlvdSBhcHBseSB0aGlzIHZpYSBhXG4vLyBjb25kaXRpb25hbCBJRSBzdHlsZXNoZWV0LCBidXQgaWYgeW91IG11c3QsIHlvdSBzaG91bGQgcGxhY2UgdGhpcyBiZWZvcmVcbi8vIGFueSBiYWNrZ3JvdW5kLWltYWdlIHByb3BlcnRpZXMgdGhhdCB5b3UgaGF2ZSBzcGVjaWZpZWQuXG4vL1xuLy8gRm9yIHRoZSBgJG9yaWVudGF0aW9uYCBwYXJhbWV0ZXIsIHlvdSBjYW4gcGFzcyBgdmVydGljYWxgIG9yIGBob3Jpem9udGFsYC5cbkBtaXhpbiBmaWx0ZXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yLCAkb3JpZW50YXRpb246IHZlcnRpY2FsKSB7XG4gIEBpbmNsdWRlIGhhcy1sYXlvdXQ7XG4gICRncmFkaWVudC10eXBlOiBpZigkb3JpZW50YXRpb24gPT0gdmVydGljYWwsIDAsIDEpO1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTYgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTcgb3IgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZTgge1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGdyYWRpZW50VHlwZT0jeyRncmFkaWVudC10eXBlfSwgc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nKTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciBpbWFnZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHByb3BlcnRpZXMgYW5kIHZhbHVlcy5cbkBtaXhpbiBib3JkZXItaW1hZ2UoJHZhbHVlKSB7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICB7ICAgIC1tb3otYm9yZGVyLWltYWdlOiAgICAtbW96KHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogICAgLW93ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQocmVqZWN0KC1jb21wYXNzLWxpc3QoJHZhbHVlKSwgZmlsbCkpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICB7ICAgICAgLW8tYm9yZGVyLWltYWdlOiAgICAgIC1vKHJlamVjdCgtY29tcGFzcy1saXN0KCR2YWx1ZSksIGZpbGwpKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgeyAgICAgICAgIGJvcmRlci1pbWFnZTogICAgLXN2ZyhyZWplY3QoLWNvbXBhc3MtbGlzdCgkdmFsdWUpLCBmaWxsKSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW1hZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlO1xufVxuXG4vLyBMaXN0IHN0eWxlIGltYWdlIHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBsaXN0LXN0eWxlLWltYWdlKCRpbWFnZSkge1xuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgICAgYW5kIHByZWZpeGVkKC1tb3osICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtbW96KCRpbWFnZSk7IH1cbiAgQGlmICRzdXBwb3J0LWZvci1vcmlnaW5hbC13ZWJraXQtZ3JhZGllbnRzIGFuZCBwcmVmaXhlZCgtb3dnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLW93ZygkaW1hZ2UpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICAgICBhbmQgcHJlZml4ZWQoLXdlYmtpdCwgJGltYWdlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6IC13ZWJraXQoJGltYWdlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgICAgYW5kIHByZWZpeGVkKC1vLCAgICAgICRpbWFnZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAgIC1vKCRpbWFnZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itc3ZnICAgICAgICAgIGFuZCBwcmVmaXhlZCgtc3ZnLCAgICAkaW1hZ2UpIHsgbGlzdC1zdHlsZS1pbWFnZTogICAgLXN2ZygkaW1hZ2UpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgICAgJGltYWdlIDtcbn1cblxuLy8gTGlzdCBzdHlsZSBwcm9wZXJ0eSBzdXBwb3J0IGZvciB2ZW5kb3IgcHJlZml4aW5nIHdpdGhpbiB2YWx1ZXMuXG5AbWl4aW4gbGlzdC1zdHlsZSgkdmFsdWUpIHtcbiAgJHZhbHVlOiAtY29tcGFzcy1saXN0KCR2YWx1ZSk7XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICAgICBhbmQgcHJlZml4ZWQoLW1veiwgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgIC1tb3ooJHZhbHVlKTsgfVxuICBAaWYgJHN1cHBvcnQtZm9yLW9yaWdpbmFsLXdlYmtpdC1ncmFkaWVudHMgYW5kIHByZWZpeGVkKC1vd2csICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtb3dnKCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgICAgIGFuZCBwcmVmaXhlZCgtd2Via2l0LCAkdmFsdWUpIHsgbGlzdC1zdHlsZS1pbWFnZTogLXdlYmtpdCgkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICAgICBhbmQgcHJlZml4ZWQoLW8sICAgICAgJHZhbHVlKSB7IGxpc3Qtc3R5bGUtaW1hZ2U6ICAgICAgLW8oJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1zdmcgICAgICAgICAgYW5kIHByZWZpeGVkKC1zdmcsICAgICR2YWx1ZSkgeyBsaXN0LXN0eWxlLWltYWdlOiAgICAtc3ZnKCR2YWx1ZSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogICAgICAgICAkdmFsdWUgO1xufVxuXG4vLyBjb250ZW50IHByb3BlcnR5IHN1cHBvcnQgZm9yIHZlbmRvciBwcmVmaXhpbmcgd2l0aGluIHZhbHVlcy5cbkBtaXhpbiBjb250ZW50KCR2YWx1ZSkge1xuICAkdmFsdWU6IC1jb21wYXNzLWxpc3QoJHZhbHVlKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgICAgIGFuZCBwcmVmaXhlZCgtbW96LCAgICAkdmFsdWUpIHsgY29udGVudDogICAgLW1veigkdmFsdWUpOyB9XG4gIEBpZiAkc3VwcG9ydC1mb3Itb3JpZ2luYWwtd2Via2l0LWdyYWRpZW50cyBhbmQgcHJlZml4ZWQoLW93ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1vd2coJHZhbHVlKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgICAgYW5kIHByZWZpeGVkKC13ZWJraXQsICR2YWx1ZSkgeyBjb250ZW50OiAtd2Via2l0KCR2YWx1ZSk7IH1cbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEgICAgICAgIGFuZCBwcmVmaXhlZCgtbywgICAgICAkdmFsdWUpIHsgY29udGVudDogICAgICAtbygkdmFsdWUpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXN2ZyAgICAgICAgICBhbmQgcHJlZml4ZWQoLXN2ZywgICAgJHZhbHVlKSB7IGNvbnRlbnQ6ICAgIC1zdmcoJHZhbHVlKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAgICAgICAgICR2YWx1ZSA7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGUgYHpvb21gIGFwcHJvYWNoIGdlbmVyYXRlcyBsZXNzIENTUyBidXQgZG9lcyBub3QgdmFsaWRhdGUuXG4vLyBTZXQgdGhpcyB0byBgYmxvY2tgIHRvIHVzZSB0aGUgZGlzcGxheS1wcm9wZXJ0eSB0byBoYWNrIHRoZVxuLy8gZWxlbWVudCB0byBnYWluIGxheW91dC5cbiRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2g6IHpvb20gIWRlZmF1bHQ7XG5cbi8vIFRoaXMgbWl4aW4gY2F1c2VzIGFuIGVsZW1lbnQgbWF0Y2hpbmcgdGhlIHNlbGVjdG9yXG4vLyB0byBnYWluIHRoZSBcImhhc0xheW91dFwiIHByb3BlcnR5IGluIGludGVybmV0IGV4cGxvcmVyLlxuLy8gTW9yZSBpbmZvcm1hdGlvbiBvbiBbaGFzTGF5b3V0XShodHRwOi8vcmVmZXJlbmNlLnNpdGVwb2ludC5jb20vY3NzL2hhc2xheW91dCkuXG5AbWl4aW4gaGFzLWxheW91dCgkYXBwcm9hY2g6ICRkZWZhdWx0LWhhcy1sYXlvdXQtYXBwcm9hY2gpIHtcbiAgQGlmICRsZWdhY3ktc3VwcG9ydC1mb3ItaWUge1xuICAgIEBpZiAkYXBwcm9hY2ggPT0gem9vbSB7XG4gICAgICBAaW5jbHVkZSBoYXMtbGF5b3V0LXpvb207XG4gICAgfSBAZWxzZSBpZiAkYXBwcm9hY2ggPT0gYmxvY2sge1xuICAgICAgQGluY2x1ZGUgaGFzLWxheW91dC1ibG9jaztcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiVW5rbm93biBoYXMtbGF5b3V0IGFwcHJvYWNoOiAjeyRhcHByb2FjaH1cIjtcbiAgICAgIEBpbmNsdWRlIGhhcy1sYXlvdXQtem9vbTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtem9vbSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuQG1peGluIGhhcy1sYXlvdXQtYmxvY2sge1xuICBAaWYgJGxlZ2FjeS1zdXBwb3J0LWZvci1pZSB7XG4gICAgLy8gVGhpcyBtYWtlcyBpZTYgZ2V0IGxheW91dFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBhbmQgdGhpcyBwdXRzIGl0IGJhY2sgdG8gYmxvY2tcbiAgICAmIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgfVxufVxuXG4vLyBBIGhhY2sgdG8gc3VwcGx5IElFNiAoYW5kIGJlbG93KSB3aXRoIGEgZGlmZmVyZW50IHByb3BlcnR5IHZhbHVlLlxuLy8gW1JlYWQgbW9yZV0oaHR0cDovL3d3dy5jc3Nwb3J0YWwuY29tL2Nzcy1oYWNrcy8jaW5fY3NzLWltcG9ydGFudCkuXG5AbWl4aW4gYmFuZy1oYWNrKCRwcm9wZXJ0eSwgJHZhbHVlLCAkaWU2LXZhbHVlKSB7XG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiB7XG4gICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0gIWltcG9ydGFudDtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JGllNi12YWx1ZX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJmdW5jdGlvbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dyYWRpZW50X3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29uc3RhbnRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29sb3JzXCI7XG4iLCIvL1xuLy8gQSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSdWJ5IGxpc3QgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9saXN0cy5yYlxuLy9cblxuXG4vLyBjb21wYWN0IGlzIHBhcnQgb2YgbGlic2Fzc1xuXG5AZnVuY3Rpb24gLWNvbXBhc3MtbnRoKCRsaXN0LCAkcGxhY2UpIHtcbiAgLy8gWWVwLCBTYXNzLWxpc3RzIGFyZSAxLWluZGV4ZWQuXG4gIEBpZiAkcGxhY2UgPT0gXCJmaXJzdFwiIHtcbiAgICAkcGxhY2U6IDE7XG4gIH1cbiAgQGlmICRwbGFjZSA9PSBcImxhc3RcIiB7XG4gICAgJHBsYWNlOiBsZW5ndGgoJGxpc3QpO1xuICB9XG4gIEByZXR1cm4gbnRoKCRsaXN0LCAkcGxhY2UpO1xufVxuXG4vLyBjb21wYXNzX2xpc3QgY2FuJ3QgYmUgaW1wbGVtZW50ZWQgaW4gc2FzcyBzY3JpcHRcblxuQGZ1bmN0aW9uIC1jb21wYXNzLXNwYWNlLWxpc3QoJGl0ZW0xLCAkaXRlbTI6bnVsbCwgJGl0ZW0zOm51bGwsICRpdGVtNDpudWxsLCAkaXRlbTU6bnVsbCwgJGl0ZW02Om51bGwsICRpdGVtNzpudWxsLCAkaXRlbTg6bnVsbCwgJGl0ZW05Om51bGwpIHtcbiAgJGl0ZW1zOiAoKTtcbiAgLy8gU3VwcG9ydCBmb3IgcG9seW1vcnBoaXNtLlxuICBAaWYgdHlwZS1vZigkaXRlbTEpID09ICdsaXN0JyB7XG4gICAgLy8gUGFzc2luZyBhIHNpbmdsZSBhcnJheSBvZiBwcm9wZXJ0aWVzLlxuICAgICRpdGVtczogJGl0ZW0xO1xuICB9IEBlbHNlIHtcbiAgICAkaXRlbXM6ICRpdGVtMSAkaXRlbTIgJGl0ZW0zICRpdGVtNCAkaXRlbTUgJGl0ZW02ICRpdGVtNyAkaXRlbTggJGl0ZW05O1xuICB9XG5cbiAgJGZ1bGw6IGZpcnN0LXZhbHVlLW9mKCRpdGVtcyk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGl0ZW1zKSB7XG4gICAgJGl0ZW06IG50aCgkaXRlbXMsICRpKTtcbiAgICBAaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkZnVsbDogJGZ1bGwgJGl0ZW07XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIC1jb21wYXNzLWxpc3Qtc2l6ZSgkbGlzdCkge1xuICBAcmV0dXJuIGxlbmd0aCgkbGlzdCk7XG59XG5cbkBmdW5jdGlvbiAtY29tcGFzcy1zbGljZSgkbGlzdCwgJHN0YXJ0LCAkZW5kOiBmYWxzZSkge1xuICBAaWYgJGVuZCA9PSBmYWxzZSB7XG4gICAgJGVuZDogbGVuZ3RoKCRsaXN0KTtcbiAgfVxuICAkZnVsbDogbnRoKCRsaXN0LCAkc3RhcnQpO1xuICBAZm9yICRpIGZyb20gJHN0YXJ0ICsgMSB0aHJvdWdoICRlbmQge1xuICAgICRmdWxsOiAkZnVsbCwgbnRoKCRsaXN0LCAkaSk7XG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn1cblxuQGZ1bmN0aW9uIHJlamVjdCgkbGlzdCwgJHJlamVjdDEsICRyZWplY3QyOm51bGwsICRyZWplY3QzOm51bGwsICRyZWplY3Q0Om51bGwsICRyZWplY3Q1Om51bGwsICRyZWplY3Q2Om51bGwsICRyZWplY3Q3Om51bGwsICRyZWplY3Q4Om51bGwsICRyZWplY3Q5Om51bGwpIHtcbiAgJHJlamVjdHM6ICRyZWplY3QxLCAkcmVqZWN0MiwgJHJlamVjdDMsICRyZWplY3Q0LCAkcmVqZWN0NSwgJHJlamVjdDYsICRyZWplY3Q3LCAkcmVqZWN0OCwgJHJlamVjdDk7XG5cbiAgJGZ1bGw6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIGluZGV4KCRyZWplY3RzLCAkaXRlbSkge31cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJGZ1bGwge1xuICAgICAgICAkZnVsbDogJGZ1bGwsICRpdGVtO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkZnVsbDogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGZ1bGw7XG59XG5cbkBmdW5jdGlvbiBmaXJzdC12YWx1ZS1vZigkbGlzdCkge1xuICBAcmV0dXJuIG50aCgkbGlzdCwgMSk7XG59XG5cbkBmdW5jdGlvbiBjb21wYWN0KCR2YXJzLi4uKSB7XG4gICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YXJzKTtcbiAgJGxpc3Q6ICgpO1xuICBAZWFjaCAkdmFyIGluICR2YXJzIHtcbiAgICAgIEBpZiAkdmFyIHtcbiAgICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkdmFyLCAkc2VwYXJhdG9yKTtcbiAgICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY3Jvc3MgYnJvd3NlciBzdXBwb3J0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2xpYi9jb21wYXNzL3Nhc3NfZXh0ZW5zaW9ucy9mdW5jdGlvbnMvY3Jvc3NfYnJvd3Nlcl9zdXBwb3J0LnJiXG4vLyBcblxuQGZ1bmN0aW9uIHByZWZpeGVkKCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiAkcHJvcGVydHkxLCAkcHJvcGVydHkyLCAkcHJvcGVydHkzLCAkcHJvcGVydHk0LCAkcHJvcGVydHk1LCAkcHJvcGVydHk2LCAkcHJvcGVydHk3LCAkcHJvcGVydHk4LCAkcHJvcGVydHk5O1xuICAkcHJlZml4ZWQ6IGZhbHNlO1xuICBAZWFjaCAkaXRlbSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09ICdzdHJpbmcnIHtcbiAgICAgICRwcmVmaXhlZDogJHByZWZpeGVkIG9yIHN0ci1pbmRleCgkaXRlbSwgJ3VybCcpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJ3JnYicpICE9IDEgYW5kIHN0ci1pbmRleCgkaXRlbSwgJyMnKSAhPSAxO1xuICAgIH0gQGVsc2VpZiB0eXBlLW9mKCRpdGVtKSA9PSAnY29sb3InIHtcbiAgICB9IEBlbHNlaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkcHJlZml4ZWQ6IHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByZWZpeGVkO1xufVxuXG5AZnVuY3Rpb24gcHJlZml4KCRwcmVmaXgsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gICRwcm9wZXJ0aWVzOiBcIlwiO1xuXG4gIC8vIFN1cHBvcnQgZm9yIHBvbHltb3JwaGlzbS5cbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5MSkgPT0gJ2xpc3QnIHtcbiAgICAvLyBQYXNzaW5nIGEgc2luZ2xlIGFycmF5IG9mIHByb3BlcnRpZXMuXG4gICAgJHByb3BlcnRpZXM6ICRwcm9wZXJ0eTE7XG4gIH0gQGVsc2Uge1xuICAgIC8vIFBhc3NpbmcgbXVsdGlwbGUgcHJvcGVydGllcy5cbiAgICAkcHJvcGVydGllczogJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OTtcbiAgfVxuXG4gICRwcm9wczogZmFsc2U7XG4gIEBlYWNoICRpdGVtIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJGl0ZW0gPT0gbnVsbCB7fVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBwcmVmaXhlZCgkcHJlZml4LCAkaXRlbSkge1xuICAgICAgICAkaXRlbTogI3skcHJlZml4fS0jeyRpdGVtfTtcbiAgICAgIH1cbiAgICAgIEBpZiAkcHJvcHMge1xuICAgICAgICAkcHJvcHM6ICRwcm9wcywgJGl0ZW07XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRwcm9wczogJGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHByb3BzO1xufVxuXG5AZnVuY3Rpb24gLXN2ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXN2ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW93ZygkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW93ZycsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLXdlYmtpdCgkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLXdlYmtpdCcsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW1veigkcHJvcGVydHkxLCAkcHJvcGVydHkyOm51bGwsICRwcm9wZXJ0eTM6bnVsbCwgJHByb3BlcnR5NDpudWxsLCAkcHJvcGVydHk1Om51bGwsICRwcm9wZXJ0eTY6bnVsbCwgJHByb3BlcnR5NzpudWxsLCAkcHJvcGVydHk4Om51bGwsICRwcm9wZXJ0eTk6bnVsbCkge1xuICBAcmV0dXJuIHByZWZpeCgnLW1veicsICRwcm9wZXJ0eTEsICRwcm9wZXJ0eTIsICRwcm9wZXJ0eTMsICRwcm9wZXJ0eTQsICRwcm9wZXJ0eTUsICRwcm9wZXJ0eTYsICRwcm9wZXJ0eTcsICRwcm9wZXJ0eTgsICRwcm9wZXJ0eTkpO1xufVxuXG5AZnVuY3Rpb24gLW8oJHByb3BlcnR5MSwgJHByb3BlcnR5MjpudWxsLCAkcHJvcGVydHkzOm51bGwsICRwcm9wZXJ0eTQ6bnVsbCwgJHByb3BlcnR5NTpudWxsLCAkcHJvcGVydHk2Om51bGwsICRwcm9wZXJ0eTc6bnVsbCwgJHByb3BlcnR5ODpudWxsLCAkcHJvcGVydHk5Om51bGwpIHtcbiAgQHJldHVybiBwcmVmaXgoJy1vJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG5cbkBmdW5jdGlvbiAtcGllKCRwcm9wZXJ0eTEsICRwcm9wZXJ0eTI6bnVsbCwgJHByb3BlcnR5MzpudWxsLCAkcHJvcGVydHk0Om51bGwsICRwcm9wZXJ0eTU6bnVsbCwgJHByb3BlcnR5NjpudWxsLCAkcHJvcGVydHk3Om51bGwsICRwcm9wZXJ0eTg6bnVsbCwgJHByb3BlcnR5OTpudWxsKSB7XG4gIEByZXR1cm4gcHJlZml4KCctcGllJywgJHByb3BlcnR5MSwgJHByb3BlcnR5MiwgJHByb3BlcnR5MywgJHByb3BlcnR5NCwgJHByb3BlcnR5NSwgJHByb3BlcnR5NiwgJHByb3BlcnR5NywgJHByb3BlcnR5OCwgJHByb3BlcnR5OSk7XG59XG4iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBncmFkaWVudCBzdXBwb3J0IGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2IvdjAuMTIuMi9saWIvY29tcGFzcy9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2dyYWRpZW50X3N1cHBvcnQucmJcbi8vIFxuXG5AZnVuY3Rpb24gY29sb3Itc3RvcHMoJGl0ZW0xLCAkaXRlbTI6bnVsbCwgJGl0ZW0zOm51bGwsICRpdGVtNDpudWxsLCAkaXRlbTU6bnVsbCwgJGl0ZW02Om51bGwsICRpdGVtNzpudWxsLCAkaXRlbTg6bnVsbCwgJGl0ZW05Om51bGwpIHtcbiAgJGl0ZW1zOiAkaXRlbTIsICRpdGVtMywgJGl0ZW00LCAkaXRlbTUsICRpdGVtNiwgJGl0ZW03LCAkaXRlbTgsICRpdGVtOTtcbiAgJGZ1bGw6ICRpdGVtMTtcbiAgQGVhY2ggJGl0ZW0gaW4gJGl0ZW1zIHtcbiAgICBAaWYgJGl0ZW0gIT0gbnVsbCB7XG4gICAgICAkZnVsbDogJGZ1bGwsICRpdGVtO1xuICAgIH0gICAgXG4gIH1cbiAgQHJldHVybiAkZnVsbDtcbn0iLCIvLyBcbi8vIEEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUnVieSBjb25zdGFudHMgZnVuY3Rpb25zIGZyb20gQ29tcGFzczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvbGliL2NvbXBhc3Mvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9jb25zdGFudHMucmJcbi8vIFxuXG5AZnVuY3Rpb24gb3Bwb3NpdGUtcG9zaXRpb24oJGZyb20pIHtcbiAgICBAaWYgKCRmcm9tID09IHRvcCkge1xuICAgICAgICBAcmV0dXJuIGJvdHRvbTtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBib3R0b20pIHtcbiAgICAgICAgQHJldHVybiB0b3A7XG4gICAgfSBAZWxzZSBpZiAoJGZyb20gPT0gbGVmdCkge1xuICAgICAgICBAcmV0dXJuIHJpZ2h0O1xuICAgIH0gQGVsc2UgaWYgKCRmcm9tID09IHJpZ2h0KSB7XG4gICAgICAgIEByZXR1cm4gbGVmdDtcbiAgICB9IEBlbHNlIGlmICgkZnJvbSA9PSBjZW50ZXIpIHtcbiAgICAgICAgQHJldHVybiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgZGlzcGxheSBmdW5jdGlvbnMgZnJvbSBDb21wYXNzOlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0NvbXBhc3MvY29tcGFzcy9ibG9iL3N0YWJsZS9jb3JlL2xpYi9jb21wYXNzL2NvcmUvc2Fzc19leHRlbnNpb25zL2Z1bmN0aW9ucy9kaXNwbGF5LnJiXG4vLyBcblxuQGZ1bmN0aW9uIGVsZW1lbnRzLW9mLXR5cGUoJHR5cGUpe1xuICAgIEBpZiAoJHR5cGUgPT0gYmxvY2spe1xuICAgICAgICBAcmV0dXJuIGFkZHJlc3MsIGFydGljbGUsIGFzaWRlLCBibG9ja3F1b3RlLCBjZW50ZXIsIGRpciwgZGl2LCBkZCwgZGV0YWlscywgZGwsIGR0LCBmaWVsZHNldCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb3JtLCBmb290ZXIsIGZyYW1lc2V0LCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBociwgaGVhZGVyLCBoZ3JvdXAsIGlzaW5kZXgsIG1haW4sIG1lbnUsIG5hdiwgbm9mcmFtZXMsIG5vc2NyaXB0LCBvbCwgcCwgcHJlLCBzZWN0aW9uLCBzdW1tYXJ5LCB1bDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBpbmxpbmUpe1xuICAgICAgICBAcmV0dXJuIGEsIGFiYnIsIGFjcm9ueW0sIGF1ZGlvLCBiLCBiYXNlZm9udCwgYmRvLCBiaWcsIGJyLCBjYW52YXMsIGNpdGUsIGNvZGUsIGNvbW1hbmQsIGRhdGFsaXN0LCBkZm4sIGVtLCBlbWJlZCwgZm9udCwgaSwgaW1nLCBpbnB1dCwga2V5Z2VuLCBrYmQsIGxhYmVsLCBtYXJrLCBtZXRlciwgb3V0cHV0LCBwcm9ncmVzcywgcSwgcnAsIHJ0LCBydWJ5LCBzLCBzYW1wLCBzZWxlY3QsIHNtYWxsLCBzcGFuLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHRleHRhcmVhLCB0aW1lLCB0dCwgdSwgdmFyLCB2aWRlbywgd2JyO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGlubGluZS1ibG9jayl7XG4gICAgICAgIEByZXR1cm4gaW1nO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlKXtcbiAgICAgICAgQHJldHVybiB0YWJsZTtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBsaXN0LWl0ZW0pe1xuICAgICAgICBAcmV0dXJuIGxpO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLXJvdy1ncm91cCl7XG4gICAgICAgIEByZXR1cm4gdGJvZHk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtaGVhZGVyLWdyb3VwKXtcbiAgICAgICAgQHJldHVybiB0aGVhZDtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0YWJsZS1mb290ZXItZ3JvdXApe1xuICAgICAgICBAcmV0dXJuIHRmb290O1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHRhYmxlLXJvdyl7XG4gICAgICAgIEByZXR1cm4gdHI7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdGFibGUtY2VsbCl7XG4gICAgICAgIEByZXR1cm4gdGgsIHRkO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGh0bWw1LWJsb2NrKXtcbiAgICAgICAgQHJldHVybiBhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnk7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gaHRtbDUtaW5saW5lKXtcbiAgICAgICAgQHJldHVybiBhdWRpbywgY2FudmFzLCBjb21tYW5kLCBkYXRhbGlzdCwgZW1iZWQsIGtleWdlbiwgbWFyaywgbWV0ZXIsIG91dHB1dCwgcHJvZ3Jlc3MsIHJwLCBydCwgcnVieSwgdGltZSwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBodG1sNSl7XG4gICAgICAgIEByZXR1cm4gYXJ0aWNsZSwgYXNpZGUsIGF1ZGlvLCBjYW52YXMsIGNvbW1hbmQsIGRhdGFsaXN0LCBkZXRhaWxzLCBlbWJlZCwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBrZXlnZW4sIG1haW4sIG1hcmssIG1lbnUsIG1ldGVyLCBuYXYsIG91dHB1dCwgcHJvZ3Jlc3MsIHJwLCBydCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgdmlkZW8sIHdicjtcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0ZXh0LWlucHV0KXtcbiAgICAgICAgQHJldHVybiBpbnB1dCwgdGV4dGFyZWE7XG4gICAgfVxufVxuIiwiLy8gXG4vLyBBIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIFJ1YnkgY29sb3JzIGZ1bmN0aW9ucyBmcm9tIENvbXBhc3M6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vQ29tcGFzcy9jb21wYXNzL2Jsb2Ivc3RhYmxlL2NvcmUvbGliL2NvbXBhc3MvY29yZS9zYXNzX2V4dGVuc2lvbnMvZnVuY3Rpb25zL2NvbG9ycy5yYlxuLy9cblxuLy8gYSBnZW5lcmljaXplZCB2ZXJzaW9uIG9mIGxpZ2h0ZW4vZGFya2VuIHNvIHRoYXQgbmVnYXRpdmUgdmFsdWVzIGNhbiBiZSB1c2VkLlxuQGZ1bmN0aW9uIGFkanVzdC1saWdodG5lc3MoJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBhZGp1c3QtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkYW1vdW50KTtcbn1cblxuLy8gU2NhbGVzIGEgY29sb3IncyBsaWdodG5lc3MgYnkgc29tZSBwZXJjZW50YWdlLlxuLy8gSWYgdGhlIGFtb3VudCBpcyBuZWdhdGl2ZSwgdGhlIGNvbG9yIGlzIHNjYWxlZCBkYXJrZXIsIGlmIHBvc2l0aXZlLCBpdCBpcyBzY2FsZWQgbGlnaHRlci5cbi8vIFRoaXMgd2lsbCBuZXZlciByZXR1cm4gYSBwdXJlIGxpZ2h0IG9yIGRhcmsgY29sb3IgdW5sZXNzIHRoZSBhbW91bnQgaXMgMTAwJS5cbkBmdW5jdGlvbiBzY2FsZS1saWdodG5lc3MoJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRhbW91bnQpO1xufVxuXG4vLyBhIGdlbmVyaWNpemVkIHZlcnNpb24gb2Ygc2F0dXJhdGUvZGVzYXR1cmF0ZSBzbyB0aGF0IG5lZ2F0aXZlIHZhbHVlcyBjYW4gYmUgdXNlZC5cbkBmdW5jdGlvbiBhZGp1c3Qtc2F0dXJhdGlvbigkY29sb3IsICRhbW91bnQpIHtcbiAgICBAcmV0dXJuIGFkanVzdC1jb2xvcigkY29sb3IsICRzYXR1cmF0aW9uOiAkYW1vdW50KTtcbn1cblxuLy8gU2NhbGVzIGEgY29sb3IncyBzYXR1cmF0aW9uIGJ5IHNvbWUgcGVyY2VudGFnZS5cbi8vIElmIHRoZSBhbW91bnQgaXMgbmVnYXRpdmUsIHRoZSBjb2xvciBpcyBkZXNhdHVyYXRlZCwgaWYgcG9zaXRpdmUsIGl0IGlzIHNhdHVyYXRlZC5cbi8vIFRoaXMgd2lsbCBuZXZlciByZXR1cm4gYSBwdXJlIHNhdHVyYXRlZCBvciBkZXNhdHVyYXRlZCBjb2xvciB1bmxlc3MgdGhlIGFtb3VudCBpcyAxMDAlLlxuQGZ1bmN0aW9uIHNjYWxlLXNhdHVyYXRpb24oJGNvbG9yLCAkYW1vdW50KSB7XG4gICAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRzYXR1cmF0aW9uOiAkYW1vdW50KTtcbn1cblxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgICBAcmV0dXJuIG1peCgjMDAwMDAwLCAkY29sb3IsICRwZXJjZW50YWdlKTtcbn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICAgIEByZXR1cm4gbWl4KCNmZmZmZmYsICRjb2xvciwgJHBlcmNlbnRhZ2UpO1xufVxuXG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGBwYWRkaW5nLWJveGAgLS0gdGhlIGJveCBtb2RlbCB1c2VkIGJ5IG1vZGVybiBicm93c2Vycy5cbi8vXG4vLyBJZiB5b3Ugd2lzaCB0byBkbyBzbywgeW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb25zdGFudCB3aXRoIGBib3JkZXItYm94YFxuLy9cbi8vIFRvIG92ZXJyaWRlIHRvIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggbW9kZWwsIHVzZSB0aGlzIGNvZGU6XG4vLyAgICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94XG5cbiRkZWZhdWx0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWRlZmF1bHQ7XG5cbi8vIENsaXAgdGhlIGJhY2tncm91bmQgKGltYWdlIGFuZCBjb2xvcikgYXQgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcgb3IgYm9yZGVyLlxuLy9cbi8vIExlZ2FsIFZhbHVlczpcbi8vXG4vLyAgICogcGFkZGluZy1ib3hcbi8vICAgKiBib3JkZXItYm94XG4vLyAgICogdGV4dFxuXG5AbWl4aW4gYmFja2dyb3VuZC1jbGlwKCRjbGlwOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNsaXApIHtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZ11cbiAgJGNsaXA6IHVucXVvdGUoJGNsaXApO1xuICAkZGVwcmVjYXRlZDogJGNsaXA7XG4gIEBpZiAkY2xpcCA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkY2xpcCA9PSBib3JkZXItYm94IHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgfVxuICAvLyBTdXBwb3J0IGZvciB3ZWJraXQgYW5kIG1vemlsbGEncyB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgc2hvcnQgZm9ybVxuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1jbGlwLCAkZGVwcmVjYXRlZCxcbiAgICAtbW96LFxuICAgIC13ZWJraXQsXG4gICAgbm90KC1vKSxcbiAgICBub3QoLW1zKSxcbiAgICBub3QoLWtodG1sKSxcbiAgICBub3Qgb2ZmaWNpYWxcbiAgKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGJhY2tncm91bmQtY2xpcCwgJGNsaXAsXG4gICAgbm90KC1tb3opLFxuICAgIG5vdCgtd2Via2l0KSxcbiAgICBub3QoLW8pLFxuICAgIG5vdCgtbXMpLFxuICAgIC1raHRtbCxcbiAgICBvZmZpY2lhbFxuICApO1xufVxuIiwiLy8gT3ZlcnJpZGUgYCRkZWZhdWx0LWJhY2tncm91bmQtb3JpZ2luYCB0byBjaGFuZ2UgdGhlIGRlZmF1bHQuXG5cbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94ICFkZWZhdWx0O1xuXG4vLyBQb3NpdGlvbiB0aGUgYmFja2dyb3VuZCBvZmYgdGhlIGVkZ2Ugb2YgdGhlIHBhZGRpbmcsIGJvcmRlciBvciBjb250ZW50XG4vL1xuLy8gKiBQb3NzaWJsZSB2YWx1ZXM6XG4vLyAgICogYHBhZGRpbmctYm94YFxuLy8gICAqIGBib3JkZXItYm94YFxuLy8gICAqIGBjb250ZW50LWJveGBcbi8vICogYnJvd3NlciBkZWZhdWx0cyB0byBgcGFkZGluZy1ib3hgXG4vLyAqIG1peGluIGRlZmF1bHRzIHRvIGBjb250ZW50LWJveGBcblxuXG5AbWl4aW4gYmFja2dyb3VuZC1vcmlnaW4oJG9yaWdpbjogJGRlZmF1bHQtYmFja2dyb3VuZC1vcmlnaW4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgkb3JpZ2luKTtcbiAgLy8gd2Via2l0IGFuZCBtb3ppbGxhIHVzZSB0aGUgZGVwcmVjYXRlZCBzaG9ydCBbYm9yZGVyIHwgcGFkZGluZyB8IGNvbnRlbnRdXG4gICRkZXByZWNhdGVkOiAkb3JpZ2luO1xuICBAaWYgJG9yaWdpbiA9PSBwYWRkaW5nLWJveCB7ICRkZXByZWNhdGVkOiBwYWRkaW5nOyB9XG4gIEBpZiAkb3JpZ2luID09IGJvcmRlci1ib3ggIHsgJGRlcHJlY2F0ZWQ6IGJvcmRlcjsgIH1cbiAgQGlmICRvcmlnaW4gPT0gY29udGVudC1ib3ggeyAkZGVwcmVjYXRlZDogY29udGVudDsgfVxuXG4gIC8vIFN1cHBvcnQgZm9yIHdlYmtpdCBhbmQgbW96aWxsYSdzIHVzZSBvZiB0aGUgZGVwcmVjYXRlZCBzaG9ydCBmb3JtXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJGRlcHJlY2F0ZWQsXG4gICAgLW1veixcbiAgICAtd2Via2l0LFxuICAgIG5vdCgtbyksXG4gICAgbm90KC1tcyksXG4gICAgbm90KC1raHRtbCksXG4gICAgbm90IG9mZmljaWFsXG4gICk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLW9yaWdpbiwgJG9yaWdpbixcbiAgICBub3QoLW1veiksXG4gICAgbm90KC13ZWJraXQpLFxuICAgIC1vLFxuICAgIC1tcyxcbiAgICAta2h0bWwsXG4gICAgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gIG92ZXJyaWRlIHRvIGNoYW5nZSB0aGUgZGVmYXVsdFxuJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG8gIWRlZmF1bHQ7XG5cbi8vIFNldCB0aGUgc2l6ZSBvZiBiYWNrZ3JvdW5kIGltYWdlcyB1c2luZyBweCwgd2lkdGggYW5kIGhlaWdodCwgb3IgcGVyY2VudGFnZXMuXG4vLyBDdXJyZW50bHkgc3VwcG9ydGVkIGluOiBPcGVyYSwgR2Vja28sIFdlYmtpdC5cbi8vXG4vLyAqIHBlcmNlbnRhZ2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgYmFja2dyb3VuZC1vcmlnaW4gKGRlZmF1bHQgPSBwYWRkaW5nLWJveClcbi8vICogbWl4aW4gZGVmYXVsdHMgdG86IGAkZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemVgXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKFxuICAkc2l6ZS0xOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLXNpemUsXG4gICRzaXplLTI6IGZhbHNlLFxuICAkc2l6ZS0zOiBmYWxzZSxcbiAgJHNpemUtNDogZmFsc2UsXG4gICRzaXplLTU6IGZhbHNlLFxuICAkc2l6ZS02OiBmYWxzZSxcbiAgJHNpemUtNzogZmFsc2UsXG4gICRzaXplLTg6IGZhbHNlLFxuICAkc2l6ZS05OiBmYWxzZSxcbiAgJHNpemUtMTA6IGZhbHNlXG4pIHtcbiAgJHNpemUtMTogaWYodHlwZS1vZigkc2l6ZS0xKSA9PSBzdHJpbmcsIHVucXVvdGUoJHNpemUtMSksICRzaXplLTEpO1xuICAkc2l6ZXM6IGNvbXBhY3QoJHNpemUtMSwgJHNpemUtMiwgJHNpemUtMywgJHNpemUtNCwgJHNpemUtNSwgJHNpemUtNiwgJHNpemUtNywgJHNpemUtOCwgJHNpemUtOSwgJHNpemUtMTApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2dyb3VuZC1zaXplLCAkc2l6ZXMsIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCkpO1xufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBDcm9zcy1icm93c2VyIHN1cHBvcnQgZm9yIEBmb250LWZhY2UuIFN1cHBvcnRzIElFLCBHZWNrbywgV2Via2l0LCBPcGVyYS5cbi8vXG4vLyAqICRuYW1lIGlzIHJlcXVpcmVkLCBhcmJpdHJhcnksIGFuZCB3aGF0IHlvdSB3aWxsIHVzZSBpbiBmb250IHN0YWNrcy5cbi8vICogJGZvbnQtZmlsZXMgaXMgcmVxdWlyZWQgdXNpbmcgZm9udC1maWxlcygncmVsYXRpdmUvbG9jYXRpb24nLCAnZm9ybWF0JykuXG4vLyAgIGZvciBiZXN0IHJlc3VsdHMgdXNlIHRoaXMgb3JkZXI6IHdvZmYsIG9wZW50eXBlL3RydWV0eXBlLCBzdmdcbi8vICogJGVvdCBpcyByZXF1aXJlZCBieSBJRSwgYW5kIGlzIGEgcmVsYXRpdmUgbG9jYXRpb24gb2YgdGhlIGVvdCBmaWxlLlxuLy8gKiAkd2VpZ2h0IHNob3dzIGlmIHRoZSBmb250IGlzIGJvbGQsIGRlZmF1bHRzIHRvIG5vcm1hbFxuLy8gKiAkc3R5bGUgZGVmYXVsdHMgdG8gbm9ybWFsLCBtaWdodCBiZSBhbHNvIGl0YWxpY1xuLy8gKiBGb3IgYW5kcm9pZCAyLjIgQ29tcGF0aWJsaXR5LCBwbGVhc2UgZW5zdXJlIHRoYXQgeW91ciB3ZWIgcGFnZSBoYXNcbi8vICAgYSBtZXRhIHZpZXdwb3J0IHRhZy5cbi8vICogVG8gc3VwcG9ydCBpT1MgPCA0LjIsIGFuIFNWRyBmaWxlIG11c3QgYmUgcHJvdmlkZWRcbi8vXG4vLyBJZiB5b3UgbmVlZCB0byBnZW5lcmF0ZSBvdGhlciBmb3JtYXRzIGNoZWNrIG91dCB0aGUgRm9udCBTcXVpcnJlbFxuLy8gW2ZvbnQgZ2VuZXJhdG9yXShodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20vZm9udGZhY2UvZ2VuZXJhdG9yKVxuLy9cblxuLy8gSW4gb3JkZXIgdG8gcmVmZXIgdG8gYSBzcGVjaWZpYyBzdHlsZSBvZiB0aGUgZm9udCBpbiB5b3VyIHN0eWxlc2hlZXRzIGFzIFxuLy8gZS5nLiBcImZvbnQtc3R5bGU6IGl0YWxpYztcIiwgIHlvdSBtYXkgYWRkIGEgY291cGxlIG9mIEBmb250LWZhY2UgaW5jbHVkZXNcbi8vIGNvbnRhaW5pbmcgdGhlIHJlc3BlY3RpdmUgZm9udCBmaWxlcyBmb3IgZWFjaCBzdHlsZSBhbmQgc3BlY3lpbmdcbi8vIHJlc3BlY3RpdmUgdGhlICRzdHlsZSBwYXJhbWV0ZXIuXG5cbi8vIE9yZGVyIG9mIHRoZSBpbmNsdWRlcyBtYXR0ZXJzLCBhbmQgaXQgaXM6IG5vcm1hbCwgYm9sZCwgaXRhbGljLCBib2xkK2l0YWxpYy5cblxuQG1peGluIGZvbnQtZmFjZShcbiAgJG5hbWUsIFxuICAkZm9udC1maWxlcywgXG4gICRlb3Q6IGZhbHNlLFxuICAkd2VpZ2h0OiBmYWxzZSxcbiAgJHN0eWxlOiBmYWxzZVxuKSB7XG4gICRpZWZvbnQ6IHVucXVvdGUoXCIjeyRlb3R9PyNpZWZpeFwiKTtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBAaWYgJGVvdCB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCRlb3QpO1xuICAgICAgJGZvbnQtZmlsZXM6IGZvbnQtdXJsKCRpZWZvbnQpIHVucXVvdGUoXCJmb3JtYXQoJ2VvdCcpXCIpLCAkZm9udC1maWxlczsgXG4gICAgfVxuICAgIHNyYzogJGZvbnQtZmlsZXM7XG4gICAgQGlmICR3ZWlnaHQge1xuICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgfVxuICAgIEBpZiAkc3R5bGUge1xuICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBAZG9jIG9mZlxuLy8gTm90ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYWZhcmksIENocm9tZSwgYW5kIEZpcmVmb3ggYWxsIHN1cHBvcnQgM0QgdHJhbnNmb3Jtcy4gSG93ZXZlcixcbi8vIG9ubHkgaW4gdGhlIG1vc3QgcmVjZW50IGJ1aWxkcy4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgZmFsbGJhY2sgMmQgc3VwcG9ydCBmb3Jcbi8vIE9wZXJhIGFuZCBJRS4gSUUxMCBpcyBzbGF0ZWQgdG8gaGF2ZSAzZCBlbmFibGVkLCBidXQgaXMgY3VycmVudGx5IHVucmVsZWFzZWQuXG4vLyBUbyBtYWtlIHRoYXQgZWFzeSwgYWxsIDJEIHRyYW5zZm9ybXMgaW5jbHVkZSBhbiBicm93c2VyLXRhcmdldGluZyB0b2dnbGUgKCRvbmx5M2QpXG4vLyB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgdHdvIHN1cHBvcnQgbGlzdHMuIFRoZSB0b2dnbGUgZGVmYXVsdHMgdG8gJ2ZhbHNlJyAoMkQpLFxuLy8gYW5kIGFsc28gYWNjZXB0cyAndHJ1ZScgKDNEKS4gQ3VycmVudGx5IHRoZSBsaXN0cyBhcmUgYXMgZm9sbG93czpcbi8vIDJEOiBNb3ppbGxhLCBXZWJraXQsIE9wZXJhLCBPZmZpY2lhbFxuLy8gM0Q6IFdlYmtpdCwgRmlyZWZveC5cblxuLy8gQXZhaWxhYmxlIFRyYW5zZm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFNjYWxlICgyZCBhbmQgM2QpXG4vLyAtIFJvdGF0ZSAoMmQgYW5kIDNkKVxuLy8gLSBUcmFuc2xhdGUgKDJkIGFuZCAzZClcbi8vIC0gU2tldyAoMmQgb25seSlcblxuLy8gVHJhbnNmb3JtIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFRyYW5zZm9ybSBPcmlnaW4gKDJkIGFuZCAzZClcbi8vIC0gUGVyc3BlY3RpdmUgKDNkKVxuLy8gLSBQZXJzcGVjdGl2ZSBPcmlnaW4gKDNkKVxuLy8gLSBUcmFuc2Zvcm0gU3R5bGUgKDNkKVxuLy8gLSBCYWNrZmFjZSBWaXNpYmlsaXR5ICgzZClcblxuLy8gTWl4aW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB0cmFuc2Zvcm0tb3JpZ2luXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2Zvcm0tb3JpZ2luMmQsIHRyYW5zZm9ybS1vcmlnaW4zZFxuLy8gIC0gaGVscGVyczogICAgYXBwbHktb3JpZ2luXG4vLyB0cmFuc2Zvcm1cbi8vICAtIHNob3J0Y3V0czogIHRyYW5zZm9ybTJkLCB0cmFuc2Zvcm0zZFxuLy8gIC0gaGVscGVyczogICAgc2ltcGxlLXRyYW5zZm9ybSwgY3JlYXRlLXRyYW5zZm9ybVxuLy8gcGVyc3BlY3RpdmVcbi8vICAtIGhlbHBlcnM6ICAgIHBlcnNwZWN0aXZlLW9yaWdpblxuLy8gdHJhbnNmb3JtLXN0eWxlXG4vLyBiYWNrZmFjZS12aXNpYmlsaXR5XG4vLyBzY2FsZVxuLy8gIC0gc2hvcnRjdXRzOiAgc2NhbGVYLCBzY2FsZVksIHNjYWxlWiwgc2NhbGUzZFxuLy8gcm90YXRlXG4vLyAgLSBzaG9ydGN1dHM6ICByb3RhdGVYLCByb3RhdGVZLCByb3RhdGUzZFxuLy8gdHJhbnNsYXRlXG4vLyAgLSBzaG9ydGN1dHM6ICB0cmFuc2xhdGVYLCB0cmFuc2xhdGVZLCB0cmFuc2xhdGVaLCB0cmFuc2xhdGUzZFxuLy8gc2tld1xuLy8gIC0gc2hvcnRjdXRzOiAgc2tld1gsIHNrZXdZXG5cbi8vIERlZmF1bHRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBUaGUgZGVmYXVsdCB4LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXggICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXkgICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW9yaWdpbiBmb3IgdHJhbnNmb3Jtc1xuJGRlZmF1bHQtb3JpZ2luLXogICAgOiA1MCUgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1tdWx0aXBsaWVyIGZvciBzY2FsaW5nXG4kZGVmYXVsdC1zY2FsZS14ICAgICA6IDEuMjUgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbXVsdGlwbGllciBmb3Igc2NhbGluZ1xuJGRlZmF1bHQtc2NhbGUteSAgICAgOiAkZGVmYXVsdC1zY2FsZS14ICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LW11bHRpcGxpZXIgZm9yIHNjYWxpbmdcbiRkZWZhdWx0LXNjYWxlLXogICAgIDogJGRlZmF1bHQtc2NhbGUteCAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IGFuZ2xlIGZvciByb3RhdGlvbnNcbiRkZWZhdWx0LXJvdGF0ZSAgICAgIDogNDVkZWcgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuXG5cbi8vIFRoZSBkZWZhdWx0IHgtdmVjdG9yIGZvciB0aGUgYXhpcyBvZiAzZCByb3RhdGlvbnNcbiRkZWZhdWx0LXZlY3Rvci14ICAgIDogMSAgICAgICAgICAgICAgICAgICAgICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgeS12ZWN0b3IgZm9yIHRoZSBheGlzIG9mIDNkIHJvdGF0aW9uc1xuJGRlZmF1bHQtdmVjdG9yLXkgICAgOiAxICAgICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB6LXZlY3RvciBmb3IgdGhlIGF4aXMgb2YgM2Qgcm90YXRpb25zXG4kZGVmYXVsdC12ZWN0b3IteiAgICA6IDEgICAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyBUaGUgZGVmYXVsdCB4LWxlbmd0aCBmb3IgdHJhbnNsYXRpb25zXG4kZGVmYXVsdC10cmFuc2xhdGUteCA6IDFlbSAgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcbi8vIFRoZSBkZWZhdWx0IHktbGVuZ3RoIGZvciB0cmFuc2xhdGlvbnNcbiRkZWZhdWx0LXRyYW5zbGF0ZS15IDogJGRlZmF1bHQtdHJhbnNsYXRlLXggICFkZWZhdWx0O1xuLy8gVGhlIGRlZmF1bHQgei1sZW5ndGggZm9yIHRyYW5zbGF0aW9uc1xuJGRlZmF1bHQtdHJhbnNsYXRlLXogOiAkZGVmYXVsdC10cmFuc2xhdGUteCAgIWRlZmF1bHQ7XG5cblxuLy8gVGhlIGRlZmF1bHQgeC1hbmdsZSBmb3Igc2tld2luZ1xuJGRlZmF1bHQtc2tldy14ICAgICAgOiA1ZGVnICAgICAgICAgICAgICAgICAgIWRlZmF1bHQ7XG4vLyBUaGUgZGVmYXVsdCB5LWFuZ2xlIGZvciBza2V3aW5nXG4kZGVmYXVsdC1za2V3LXkgICAgICA6IDVkZWcgICAgICAgICAgICAgICAgICAhZGVmYXVsdDtcblxuXG4vLyAqKlRyYW5zZm9ybS1vcmlnaW4qKlxuLy8gVHJhbnNmb3JtLW9yaWdpbiBzZW50IGFzIGEgY29tcGxldGUgc3RyaW5nXG4vL1xuLy8gICAgIEBpbmNsdWRlIGFwcGx5LW9yaWdpbiggb3JpZ2luIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ29yaWdpbicgaXMgYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBjb250YWluaW5nIDEtMyAoeC95L3opIGNvb3JkaW5hdGVzXG4vLyBpbiBwZXJjZW50YWdlcywgYWJzb2x1dGUgKHB4LCBjbSwgaW4sIGVtIGV0Yy4uKSBvciByZWxhdGl2ZVxuLy8gKGxlZnQsIHRvcCwgcmlnaHQsIGJvdHRvbSwgY2VudGVyKSB1bml0c1xuLy9cbi8vIEBwYXJhbSBvbmx5M2QgU2V0IHRoaXMgdG8gdHJ1ZSB0byBvbmx5IGFwcGx5IHRoaXNcbi8vIG1peGluIHdoZXJlIGJyb3dzZXJzIGhhdmUgM0Qgc3VwcG9ydC5cbkBtaXhpbiBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCkge1xuICAkb25seTNkOiAkb25seTNkIG9yIC1jb21wYXNzLWxpc3Qtc2l6ZSgtY29tcGFzcy1saXN0KCRvcmlnaW4pKSA+IDI7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLW9yaWdpbiwgJG9yaWdpbixcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tb3JpZ2luLCAkb3JpZ2luLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm0tb3JpZ2luIHNlbnQgYXMgaW5kaXZpZHVhbCBhcmd1bWVudHM6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oIFsgb3JpZ2luLXgsIG9yaWdpbi15LCBvcmlnaW4teiwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgMyAnb3JpZ2luLScgYXJndW1lbnRzIHJlcHJlc2VudCB4L3kveiBjb29yZGluYXRlcy5cbi8vXG4vLyAqKk5PVEU6Kiogc2V0dGluZyB6IGNvb3JkaW5hdGVzIHRyaWdnZXJzIDNEIHN1cHBvcnQgbGlzdCwgbGVhdmUgZmFsc2UgZm9yIDJEIHN1cHBvcnRcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKFxuICAkb3JpZ2luLXg6ICRkZWZhdWx0LW9yaWdpbi14LFxuICAkb3JpZ2luLXk6ICRkZWZhdWx0LW9yaWdpbi15LFxuICAkb3JpZ2luLXo6IGZhbHNlLFxuICAkb25seTNkOiAgIGlmKCRvcmlnaW4teiwgdHJ1ZSwgZmFsc2UpXG4pIHtcbiAgJG9yaWdpbjogdW5xdW90ZSgnJyk7XG4gIEBpZiAkb3JpZ2luLXggb3IgJG9yaWdpbi15IG9yICRvcmlnaW4teiB7XG4gICAgQGlmICRvcmlnaW4teCB7ICRvcmlnaW46ICRvcmlnaW4teDsgfSBAZWxzZSB7ICRvcmlnaW46IDUwJTsgfVxuICAgIEBpZiAkb3JpZ2luLXkgeyAkb3JpZ2luOiAkb3JpZ2luICRvcmlnaW4teTsgfSBAZWxzZSB7IEBpZiAkb3JpZ2luLXogeyAkb3JpZ2luOiAkb3JpZ2luIDUwJTsgfX1cbiAgICBAaWYgJG9yaWdpbi16IHsgJG9yaWdpbjogJG9yaWdpbiAkb3JpZ2luLXo7IH1cbiAgICBAaW5jbHVkZSBhcHBseS1vcmlnaW4oJG9yaWdpbiwgJG9ubHkzZCk7XG4gIH1cbn1cblxuXG4vLyBUcmFuc2Zvcm0gc2VudCBhcyBhIGNvbXBsZXRlIHN0cmluZzpcbi8vXG4vLyAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2Zvcm1zIFssIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgJ3RyYW5zZm9ybXMnIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIHRoZSB0cmFuc2Zvcm1zIHRvIGJlIGFwcGxpZWQuXG5AbWl4aW4gdHJhbnNmb3JtKFxuICAkdHJhbnNmb3JtLFxuICAkb25seTNkOiBmYWxzZVxuKSB7XG4gIEBpZiAkb25seTNkIHtcbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwodHJhbnNmb3JtLCAkdHJhbnNmb3JtLFxuICAgICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zZm9ybSwgJHRyYW5zZm9ybSxcbiAgICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IGFsbCBicm93c2VycyB3aXRoIDJEIHRyYW5zZm9ybSBzdXBwb3J0XG5AbWl4aW4gdHJhbnNmb3JtMmQoJHRyYW5zKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsIGZhbHNlKTtcbn1cblxuLy8gU2hvcnRjdXQgdG8gdGFyZ2V0IG9ubHkgYnJvd3NlcnMgd2l0aCAzRCB0cmFuc2Zvcm0gc3VwcG9ydFxuQG1peGluIHRyYW5zZm9ybTNkKCR0cmFucykge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCB0cnVlKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIDNEIFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTZXQgdGhlIHBlcnNwZWN0aXZlIG9mIDNEIHRyYW5zZm9ybXMgb24gdGhlIGNoaWxkcmVuIG9mIGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSggcGVyc3BlY3RpdmUgKVxuLy9cbi8vIHdoZXJlICdwZXJzcGVjdGl2ZScgaXMgYSB1bml0bGVzcyBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZXB0aCBvZiB0aGVcbi8vIHotYXhpcy4gVGhlIGhpZ2hlciB0aGUgcGVyc3BlY3RpdmUsIHRoZSBtb3JlIGV4YWdnZXJhdGVkIHRoZSBmb3Jlc2hvcnRlbmluZy5cbi8vIHZhbHVlcyBmcm9tIDUwMCB0byAxMDAwIGFyZSBtb3JlLW9yLWxlc3MgXCJub3JtYWxcIiAtIGEgZ29vZCBzdGFydGluZy1wb2ludC5cbkBtaXhpbiBwZXJzcGVjdGl2ZSgkcCkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUsICRwLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTZXQgdGhlIG9yaWdpbiBwb3NpdGlvbiBmb3IgdGhlIHBlcnNwZWN0aXZlXG4vL1xuLy8gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZS1vcmlnaW4ob3JpZ2luLXggW29yaWdpbi15XSlcbi8vXG4vLyB3aGVyZSB0aGUgdHdvIGFyZ3VtZW50cyByZXByZXNlbnQgeC95IGNvb3JkaW5hdGVzXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRvcmlnaW46IDUwJSkge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwocGVyc3BlY3RpdmUtb3JpZ2luLCAkb3JpZ2luLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCAtbXMsIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBEZXRlcm1pbmUgd2hldGhlciBhIDNEIG9iamVjdHMgY2hpbGRyZW4gYWxzbyBsaXZlIGluIHRoZSBnaXZlbiAzRCBzcGFjZVxuLy9cbi8vICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLXN0eWxlKCBbIHN0eWxlIF0gKVxuLy9cbi8vIHdoZXJlIGBzdHlsZWAgY2FuIGJlIGVpdGhlciBgZmxhdGAgb3IgYHByZXNlcnZlLTNkYC5cbi8vIEJyb3dzZXJzIGRlZmF1bHQgdG8gYGZsYXRgLCBtaXhpbiBkZWZhdWx0cyB0byBgcHJlc2VydmUtM2RgLlxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSxcbiAgICAtbW96LCAtd2Via2l0LCAtbywgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gRGV0ZXJtaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGFuIGVsZW1lbnQgd2hlbiBpdCdzIGJhY2sgaXMgdHVybmVkXG4vL1xuLy8gICAgIEBpbmNsdWRlIGJhY2tmYWNlLXZpc2liaWxpdHkoIFsgdmlzaWJpbGl0eSBdIClcbi8vXG4vLyB3aGVyZSBgdmlzaWJpbGl0eWAgY2FuIGJlIGVpdGhlciBgdmlzaWJsZWAgb3IgYGhpZGRlbmAuXG4vLyBCcm93c2VycyBkZWZhdWx0IHRvIHZpc2libGUsIG1peGluIGRlZmF1bHRzIHRvIGhpZGRlblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHk6IGhpZGRlbikge1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBUcmFuc2Zvcm0gUGFydGlhbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZXNlIHdvcmsgd2VsbCBvbiB0aGVpciBvd24sIGJ1dCB0aGV5IGRvbid0IGFkZCB0byBlYWNoIG90aGVyLCB0aGV5IG92ZXJyaWRlLlxuLy8gVXNlIGFsb25nIHdpdGggdHJhbnNmb3JtIHBhcmFtZXRlciBtaXhpbnMgdG8gYWRqdXN0IG9yaWdpbiwgcGVyc3BlY3RpdmUgYW5kIHN0eWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBTY2FsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gU2NhbGUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGFuZCB5IGF4aXM6XG4vL1xuLy8gICAgICBAaW5jbHVkZSBzY2FsZSggWyBzY2FsZS14LCBzY2FsZS15LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyB3aGVyZSB0aGUgJ3NjYWxlLScgYXJndW1lbnRzIGFyZSB1bml0bGVzcyBtdWx0aXBsaWVycyBvZiB0aGUgeCBhbmQgeSBkaW1lbnNpb25zXG4vLyBhbmQgcGVyc3BlY3RpdmUsIHdoaWNoIHdvcmtzIHRoZSBzYW1lIGFzIHRoZSBzdGFuZC1hbG9uZSBwZXJzcGVjdGl2ZSBwcm9wZXJ0eS9taXhpblxuLy8gYnV0IGFwcGxpZXMgdG8gdGhlIGluZGl2aWR1YWwgZWxlbWVudCAobXVsdGlwbGllZCB3aXRoIGFueSBwYXJlbnQgcGVyc3BlY3RpdmUpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlKFxuICAkc2NhbGUteDogICAgICRkZWZhdWx0LXNjYWxlLXgsXG4gICRzY2FsZS15OiAgICAgJHNjYWxlLXgsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlKCRzY2FsZS14LCAkc2NhbGUteSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHggYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVYKCBbIHNjYWxlLXgsIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVgoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVYKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHkgYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVZKCBbIHNjYWxlLXksIHBlcnNwZWN0aXZlLCAzRC1vbmx5IF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVkoXG4gICRzY2FsZTogICAgICAgJGRlZmF1bHQtc2NhbGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVZKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTY2FsZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpc1xuLy8gQGluY2x1ZGUgc2NhbGVaKCBbIHNjYWxlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBzY2FsZVooXG4gICRzY2FsZTogJGRlZmF1bHQtc2NhbGUteixcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogc2NhbGVaKCRzY2FsZSk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIFNjYWxlIGFuZCBvYmplY3QgYWxvbmcgYWxsIHRocmVlIGF4aXNcbi8vIEBpbmNsdWRlIHNjYWxlM2QoIFsgc2NhbGUteCwgc2NhbGUteSwgc2NhbGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNjYWxlM2QoXG4gICRzY2FsZS14OiAgICAgJGRlZmF1bHQtc2NhbGUteCxcbiAgJHNjYWxlLXk6ICAgICAkZGVmYXVsdC1zY2FsZS15LFxuICAkc2NhbGUtejogICAgICRkZWZhdWx0LXNjYWxlLXosXG4gICRwZXJzcGVjdGl2ZTogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNjYWxlM2QoJHNjYWxlLXgsICRzY2FsZS15LCAkc2NhbGUteik7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybTNkKCR0cmFucyk7XG59XG5cbi8vIEBkb2Mgb2ZmXG4vLyBSb3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBkb2Mgb25cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHogYXhpcyAgKDJEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vIHdoZXJlICdyb3RhdGlvbicgaXMgYW4gYW5nbGUgc2V0IGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZShcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHJvdGF0ZSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIEEgbG9uZ2N1dCBmb3IgJ3JvdGF0ZScgaW4gY2FzZSB5b3UgZm9yZ2V0IHRoYXQgJ3onIGlzIGltcGxpZWRcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWihcbiAgJHJvdGF0ZTogICAgICAkZGVmYXVsdC1yb3RhdGUsXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICBAaW5jbHVkZSByb3RhdGUoJHJvdGF0ZSwgJHBlcnNwZWN0aXZlLCAkb25seTNkKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgdGhlIHggYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSByb3RhdGVYKCBbIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gcm90YXRlWChcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGVYKCRyb3RhdGUpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0zZCgkdHJhbnMpO1xufVxuXG4vLyBSb3RhdGUgYW4gb2JqZWN0IGFyb3VuZCB0aGUgeSBheGlzICgzRClcbi8vIEBpbmNsdWRlIHJvdGF0ZSggWyByb3RhdGlvbiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHJvdGF0ZVkoXG4gICRyb3RhdGU6ICRkZWZhdWx0LXJvdGF0ZSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZVxuKSB7XG4gICR0cmFuczogcm90YXRlWSgkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gUm90YXRlIGFuIG9iamVjdCBhcm91bmQgYW4gYXJiaXRyYXJ5IGF4aXMgKDNEKVxuLy8gQGluY2x1ZGUgcm90YXRlKCBbIHZlY3Rvci14LCB2ZWN0b3IteSwgdmVjdG9yLXosIHJvdGF0aW9uLCBwZXJzcGVjdGl2ZSBdIClcbi8vIHdoZXJlIHRoZSAndmVjdG9yLScgYXJndW1lbnRzIGFjY2VwdCB1bml0bGVzcyBudW1iZXJzLlxuLy8gVGhlc2UgbnVtYmVycyBhcmUgbm90IGltcG9ydGFudCBvbiB0aGVpciBvd24sIGJ1dCBpbiByZWxhdGlvbiB0byBvbmUgYW5vdGhlclxuLy8gY3JlYXRpbmcgYW4gYXhpcyBmcm9tIHlvdXIgdHJhbnNmb3JtLW9yaWdpbiwgYWxvbmcgdGhlIGF4aXMgb2YgWHggPSBZeSA9IFp6LlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiByb3RhdGUzZChcbiAgJHZlY3Rvci14OiAkZGVmYXVsdC12ZWN0b3IteCxcbiAgJHZlY3Rvci15OiAkZGVmYXVsdC12ZWN0b3IteSxcbiAgJHZlY3Rvci16OiAkZGVmYXVsdC12ZWN0b3IteixcbiAgJHJvdGF0ZTogJGRlZmF1bHQtcm90YXRlLFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiByb3RhdGUzZCgkdmVjdG9yLXgsICR2ZWN0b3IteSwgJHZlY3Rvci16LCAkcm90YXRlKTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFRyYW5zbGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeCBvciB5IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vLyB3aGVyZSB0aGUgJ3RyYW5zbGF0ZS0nIGFyZ3VtZW50cyBhY2NlcHQgYW55IGRpc3RhbmNlIGluIHBlcmNlbnRhZ2VzIG9yIGFic29sdXRlIChweCwgY20sIGluLCBlbSBldGMuLikgdW5pdHMuXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZShcbiAgJHRyYW5zbGF0ZS14OiAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHRyYW5zbGF0ZS15OiAkZGVmYXVsdC10cmFuc2xhdGUteSxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlKCR0cmFuc2xhdGUteCwgJHRyYW5zbGF0ZS15KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cbi8vIE1vdmUgYW4gb2JqZWN0IGFsb25nIHRoZSB4IGF4aXMgKDJEKVxuLy8gQGluY2x1ZGUgdHJhbnNsYXRlKCBbIHRyYW5zbGF0ZS14LCBwZXJzcGVjdGl2ZSwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gdHJhbnNsYXRlWChcbiAgJHRyYW5zLXg6ICAgICAkZGVmYXVsdC10cmFuc2xhdGUteCxcbiAgJHBlcnNwZWN0aXZlOiBmYWxzZSxcbiAgJG9ubHkzZDogICAgICBmYWxzZVxuKSB7XG4gICR0cmFuczogdHJhbnNsYXRlWCgkdHJhbnMteCk7XG4gIEBpZiAkcGVyc3BlY3RpdmUgeyAkdHJhbnM6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHRyYW5zOyB9XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBNb3ZlIGFuIG9iamVjdCBhbG9uZyB0aGUgeSBheGlzICgyRClcbi8vIEBpbmNsdWRlIHRyYW5zbGF0ZSggWyB0cmFuc2xhdGUteSwgcGVyc3BlY3RpdmUsIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZVkoXG4gICR0cmFucy15OiAgICAgJGRlZmF1bHQtdHJhbnNsYXRlLXksXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHRyYW5zbGF0ZVkoJHRyYW5zLXkpO1xuICBAaWYgJHBlcnNwZWN0aXZlIHsgJHRyYW5zOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICR0cmFuczsgfVxuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXosIHBlcnNwZWN0aXZlIF0gKVxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiB0cmFuc2xhdGVaKFxuICAkdHJhbnMtejogICAgICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGVaKCR0cmFucy16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gTW92ZSBhbiBvYmplY3QgYWxvbmcgdGhlIHgsIHkgYW5kIHogYXhpcyAoM0QpXG4vLyBAaW5jbHVkZSB0cmFuc2xhdGUoIFsgdHJhbnNsYXRlLXgsIHRyYW5zbGF0ZS15LCB0cmFuc2xhdGUteiwgcGVyc3BlY3RpdmUgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHRyYW5zbGF0ZTNkKFxuICAkdHJhbnNsYXRlLXg6ICRkZWZhdWx0LXRyYW5zbGF0ZS14LFxuICAkdHJhbnNsYXRlLXk6ICRkZWZhdWx0LXRyYW5zbGF0ZS15LFxuICAkdHJhbnNsYXRlLXo6ICRkZWZhdWx0LXRyYW5zbGF0ZS16LFxuICAkcGVyc3BlY3RpdmU6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiB0cmFuc2xhdGUzZCgkdHJhbnNsYXRlLXgsICR0cmFuc2xhdGUteSwgJHRyYW5zbGF0ZS16KTtcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkdHJhbnM7IH1cbiAgQGluY2x1ZGUgdHJhbnNmb3JtM2QoJHRyYW5zKTtcbn1cblxuLy8gQGRvYyBvZmZcbi8vIFNrZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGRvYyBvblxuXG4vLyBTa2V3IGFuIGVsZW1lbnQ6XG4vL1xuLy8gICAgIEBpbmNsdWRlIHNrZXcoIFsgc2tldy14LCBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gd2hlcmUgdGhlICdza2V3LScgYXJndW1lbnRzIGFjY2VwdCBjc3MgYW5nbGVzIGluIGRlZ3JlZXMgKGRlZykgb3IgcmFkaWFuIChyYWQpIHVuaXRzLlxuLy9cbi8vICoqTm90ZSoqIFRoaXMgbWl4aW4gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggb3RoZXIgdHJhbnNmb3JtIG1peGlucy5cbkBtaXhpbiBza2V3KFxuICAkc2tldy14OiAkZGVmYXVsdC1za2V3LXgsXG4gICRza2V3LXk6ICRkZWZhdWx0LXNrZXcteSxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXcoJHNrZXcteCwgJHNrZXcteSk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xufVxuXG4vLyBTa2V3IGFuIGVsZW1lbnQgYWxvbmcgdGhlIHggYXhpelxuLy9cbi8vICAgICBAaW5jbHVkZSBza2V3KCBbIHNrZXcteCwgM0Qtb25seSBdIClcbi8vXG4vLyAqKk5vdGUqKiBUaGlzIG1peGluIGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHRyYW5zZm9ybSBtaXhpbnMuXG5AbWl4aW4gc2tld1goXG4gICRza2V3LXg6ICRkZWZhdWx0LXNrZXcteCxcbiAgJG9ubHkzZDogZmFsc2Vcbikge1xuICAkdHJhbnM6IHNrZXdYKCRza2V3LXgpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oJHRyYW5zLCAkb25seTNkKTtcbn1cblxuLy8gU2tldyBhbiBlbGVtZW50IGFsb25nIHRoZSB5IGF4aXNcbi8vXG4vLyAgICAgQGluY2x1ZGUgc2tldyggWyBza2V3LXksIDNELW9ubHkgXSApXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIHNrZXdZKFxuICAkc2tldy15OiAkZGVmYXVsdC1za2V3LXksXG4gICRvbmx5M2Q6IGZhbHNlXG4pIHtcbiAgJHRyYW5zOiBza2V3WSgkc2tldy15KTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKCR0cmFucywgJG9ubHkzZCk7XG59XG5cblxuLy8gRnVsbCB0cmFuc2Zvcm0gbWl4aW5zXG4vLyBGb3Igc2V0dGluZ3MgYW55IGNvbWJpbmF0aW9uIG9mIHRyYW5zZm9ybXMgYXMgYXJndW1lbnRzXG4vLyBUaGVzZSBhcmUgY29tcGxleCBhbmQgbm90IGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgZGFpbHkgdXNlLiBUaGV5IGFyZSBtYWlubHlcbi8vIGhlcmUgZm9yIGJhY2t3YXJkLWNvbXBhdGliaWxpdHkgcHVycG9zZXMuXG4vL1xuLy8gKiB0aGV5IGluY2x1ZGUgb3JpZ2luIGFkanVzdG1lbnRzXG4vLyAqIHNjYWxlIHRha2VzIGEgbXVsdGlwbGllciAodW5pdGxlc3MpLCByb3RhdGUgYW5kIHNrZXcgdGFrZSBkZWdyZWVzIChkZWcpXG4vL1xuLy8gKipOb3RlKiogVGhpcyBtaXhpbiBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCBvdGhlciB0cmFuc2Zvcm0gbWl4aW5zLlxuQG1peGluIGNyZWF0ZS10cmFuc2Zvcm0oXG4gICRwZXJzcGVjdGl2ZTogZmFsc2UsXG4gICRzY2FsZS14OiAgICAgZmFsc2UsXG4gICRzY2FsZS15OiAgICAgZmFsc2UsXG4gICRzY2FsZS16OiAgICAgZmFsc2UsXG4gICRyb3RhdGUteDogICAgZmFsc2UsXG4gICRyb3RhdGUteTogICAgZmFsc2UsXG4gICRyb3RhdGUtejogICAgZmFsc2UsXG4gICRyb3RhdGUzZDogICAgZmFsc2UsXG4gICR0cmFucy14OiAgICAgZmFsc2UsXG4gICR0cmFucy15OiAgICAgZmFsc2UsXG4gICR0cmFucy16OiAgICAgZmFsc2UsXG4gICRza2V3LXg6ICAgICAgZmFsc2UsXG4gICRza2V3LXk6ICAgICAgZmFsc2UsXG4gICRvcmlnaW4teDogICAgZmFsc2UsXG4gICRvcmlnaW4teTogICAgZmFsc2UsXG4gICRvcmlnaW4tejogICAgZmFsc2UsXG4gICRvbmx5M2Q6ICAgICAgZmFsc2Vcbikge1xuICAkdHJhbnM6IHVucXVvdGUoXCJcIik7XG5cbiAgLy8gcGVyc3BlY3RpdmVcbiAgQGlmICRwZXJzcGVjdGl2ZSB7ICR0cmFuczogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSA7IH1cblxuICAvLyBzY2FsZVxuICBAaWYgJHNjYWxlLXggYW5kICRzY2FsZS15IHtcbiAgICBAaWYgJHNjYWxlLXogeyAkdHJhbnM6ICR0cmFucyBzY2FsZTNkKCRzY2FsZS14LCAkc2NhbGUteSwgJHNjYWxlLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyBzY2FsZSgkc2NhbGUteCwgJHNjYWxlLXkpOyB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkc2NhbGUteCB7ICR0cmFuczogJHRyYW5zIHNjYWxlWCgkc2NhbGUteCk7IH1cbiAgICBAaWYgJHNjYWxlLXkgeyAkdHJhbnM6ICR0cmFucyBzY2FsZVkoJHNjYWxlLXkpOyB9XG4gICAgQGlmICRzY2FsZS16IHsgJHRyYW5zOiAkdHJhbnMgc2NhbGVaKCRzY2FsZS16KTsgfVxuICB9XG5cbiAgLy8gcm90YXRlXG4gIEBpZiAkcm90YXRlLXggeyAkdHJhbnM6ICR0cmFucyByb3RhdGVYKCRyb3RhdGUteCk7IH1cbiAgQGlmICRyb3RhdGUteSB7ICR0cmFuczogJHRyYW5zIHJvdGF0ZVkoJHJvdGF0ZS15KTsgfVxuICBAaWYgJHJvdGF0ZS16IHsgJHRyYW5zOiAkdHJhbnMgcm90YXRlWigkcm90YXRlLXopOyB9XG4gIEBpZiAkcm90YXRlM2QgeyAkdHJhbnM6ICR0cmFucyByb3RhdGUzZCgkcm90YXRlM2QpOyB9XG5cbiAgLy8gdHJhbnNsYXRlXG4gIEBpZiAkdHJhbnMteCBhbmQgJHRyYW5zLXkge1xuICAgIEBpZiAkdHJhbnMteiB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZTNkKCR0cmFucy14LCAkdHJhbnMteSwgJHRyYW5zLXopOyB9XG4gICAgQGVsc2UgeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGUoJHRyYW5zLXgsICR0cmFucy15KTsgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgJHRyYW5zLXggeyAkdHJhbnM6ICR0cmFucyB0cmFuc2xhdGVYKCR0cmFucy14KTsgfVxuICAgIEBpZiAkdHJhbnMteSB7ICR0cmFuczogJHRyYW5zIHRyYW5zbGF0ZVkoJHRyYW5zLXkpOyB9XG4gICAgQGlmICR0cmFucy16IHsgJHRyYW5zOiAkdHJhbnMgdHJhbnNsYXRlWigkdHJhbnMteik7IH1cbiAgfVxuXG4gIC8vIHNrZXdcbiAgQGlmICRza2V3LXggYW5kICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3KCRza2V3LXgsICRza2V3LXkpOyB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHNrZXcteCB7ICR0cmFuczogJHRyYW5zIHNrZXdYKCRza2V3LXgpOyB9XG4gICAgQGlmICRza2V3LXkgeyAkdHJhbnM6ICR0cmFucyBza2V3WSgkc2tldy15KTsgfVxuICB9XG5cbiAgLy8gYXBwbHkgaXQhXG4gIEBpbmNsdWRlIHRyYW5zZm9ybSgkdHJhbnMsICRvbmx5M2QpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4teCwgJG9yaWdpbi15LCAkb3JpZ2luLXosICRvbmx5M2QpO1xufVxuXG5cbi8vIEEgc2ltcGxpZmllZCBzZXQgb2Ygb3B0aW9uc1xuLy8gYmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiB0aGUgJ3RyYW5zZm9ybScgbWl4aW5cbkBtaXhpbiBzaW1wbGUtdHJhbnNmb3JtKFxuICAkc2NhbGU6ICAgIGZhbHNlLFxuICAkcm90YXRlOiAgIGZhbHNlLFxuICAkdHJhbnMteDogIGZhbHNlLFxuICAkdHJhbnMteTogIGZhbHNlLFxuICAkc2tldy14OiAgIGZhbHNlLFxuICAkc2tldy15OiAgIGZhbHNlLFxuICAkb3JpZ2luLXg6IGZhbHNlLFxuICAkb3JpZ2luLXk6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgY3JlYXRlLXRyYW5zZm9ybShcbiAgICBmYWxzZSxcbiAgICAkc2NhbGUsICRzY2FsZSwgZmFsc2UsXG4gICAgZmFsc2UsIGZhbHNlLCAkcm90YXRlLCBmYWxzZSxcbiAgICAkdHJhbnMteCwgJHRyYW5zLXksIGZhbHNlLFxuICAgICRza2V3LXgsICRza2V3LXksXG4gICAgJG9yaWdpbi14LCAkb3JpZ2luLXksIGZhbHNlLFxuICAgIGZhbHNlXG4gICk7XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENTUyBUcmFuc2l0aW9uc1xuLy8gQ3VycmVudGx5IG9ubHkgd29ya3MgaW4gV2Via2l0LlxuLy9cbi8vICogZXhwZWN0ZWQgaW4gQ1NTMywgRmlyZUZveCAzLjYvNyBhbmQgT3BlcmEgUHJlc3RvIDIuM1xuLy8gKiBXZSdsbCBiZSBwcmVwYXJlZC5cbi8vXG4vLyBJbmNsdWRpbmcgdGhpcyBzdWJtb2R1bGUgc2V0cyBmb2xsb3dpbmcgZGVmYXVsdHMgZm9yIHRoZSBtaXhpbnM6XG4vL1xuLy8gICAgICRkZWZhdWx0LXRyYW5zaXRpb24tcHJvcGVydHkgOiBhbGxcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uIDogMXNcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWZ1bmN0aW9uIDogZmFsc2Vcbi8vICAgICAkZGVmYXVsdC10cmFuc2l0aW9uLWRlbGF5ICAgIDogZmFsc2Vcbi8vXG4vLyBPdmVycmlkZSB0aGVtIGlmIHlvdSBsaWtlLiBUaW1pbmctZnVuY3Rpb24gYW5kIGRlbGF5IGFyZSBzZXQgdG8gZmFsc2UgZm9yIGJyb3dzZXIgZGVmYXVsdHMgKGVhc2UsIDBzKS5cblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsICFkZWZhdWx0O1xuXG4kZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxcyAhZGVmYXVsdDtcblxuJGRlZmF1bHQtdHJhbnNpdGlvbi1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbiRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXk6IGZhbHNlICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzOiB0cmFuc2Zvcm0sIHRyYW5zZm9ybS1vcmlnaW4gIWRlZmF1bHQ7XG5cbi8vIE9uZSBvciBtb3JlIHByb3BlcnRpZXMgdG8gdHJhbnNpdGlvblxuLy9cbi8vICogZm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBhbHNvIGFjY2VwdHMgXCJhbGxcIiBvciBcIm5vbmVcIlxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydHktMTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJHByb3BlcnR5LTIgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTMgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTQgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTUgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTYgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTcgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTggOiBmYWxzZSxcbiAgJHByb3BlcnR5LTkgOiBmYWxzZSxcbiAgJHByb3BlcnR5LTEwOiBmYWxzZVxuKSB7XG4gIEBpZiB0eXBlLW9mKCRwcm9wZXJ0eS0xKSA9PSBzdHJpbmcgeyAkcHJvcGVydHktMTogdW5xdW90ZSgkcHJvcGVydHktMSk7IH1cbiAgJHByb3BlcnRpZXM6IGNvbXBhY3QoJHByb3BlcnR5LTEsICRwcm9wZXJ0eS0yLCAkcHJvcGVydHktMywgJHByb3BlcnR5LTQsICRwcm9wZXJ0eS01LCAkcHJvcGVydHktNiwgJHByb3BlcnR5LTcsICRwcm9wZXJ0eS04LCAkcHJvcGVydHktOSwgJHByb3BlcnR5LTEwKTtcbiAgQGlmICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IDogcHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oLXdlYmtpdCwgJHByb3BlcnRpZXMpOyB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEgICB7ICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eSA6IHByZWZpeGVkLWZvci10cmFuc2l0aW9uKC1tb3osICAgICRwcm9wZXJ0aWVzKTsgfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHkgOiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtbywgICAgICAkcHJvcGVydGllcyk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5IDogJHByb3BlcnRpZXM7XG59XG5cbi8vIE9uZSBvciBtb3JlIGR1cmF0aW9ucyBpbiBzZWNvbmRzXG4vL1xuLy8gKiBmb3IgbXVsdGlwbGUsIHVzZSBhIGNvbW1hLWRlbGltaXRlZCBsaXN0XG4vLyAqIHRoZXNlIGR1cmF0aW9ucyB3aWxsIGFmZmVjdCB0aGUgcHJvcGVydGllcyBpbiB0aGUgc2FtZSBsaXN0IHBvc2l0aW9uXG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi0xOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZHVyYXRpb24tMiA6IGZhbHNlLFxuICAkZHVyYXRpb24tMyA6IGZhbHNlLFxuICAkZHVyYXRpb24tNCA6IGZhbHNlLFxuICAkZHVyYXRpb24tNSA6IGZhbHNlLFxuICAkZHVyYXRpb24tNiA6IGZhbHNlLFxuICAkZHVyYXRpb24tNyA6IGZhbHNlLFxuICAkZHVyYXRpb24tOCA6IGZhbHNlLFxuICAkZHVyYXRpb24tOSA6IGZhbHNlLFxuICAkZHVyYXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmIHR5cGUtb2YoJGR1cmF0aW9uLTEpID09IHN0cmluZyB7ICRkdXJhdGlvbi0xOiB1bnF1b3RlKCRkdXJhdGlvbi0xKTsgfVxuICAkZHVyYXRpb25zOiBjb21wYWN0KCRkdXJhdGlvbi0xLCAkZHVyYXRpb24tMiwgJGR1cmF0aW9uLTMsICRkdXJhdGlvbi00LCAkZHVyYXRpb24tNSwgJGR1cmF0aW9uLTYsICRkdXJhdGlvbi03LCAkZHVyYXRpb24tOCwgJGR1cmF0aW9uLTksICRkdXJhdGlvbi0xMCk7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh0cmFuc2l0aW9uLWR1cmF0aW9uLCAkZHVyYXRpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRpbWluZyBmdW5jdGlvbnNcbi8vXG4vLyAqIFsgZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKHgxLCB5MSwgeDIsIHkyKV1cbi8vICogRm9yIG11bHRpcGxlLCB1c2UgYSBjb21tYS1kZWxpbWl0ZWQgbGlzdFxuLy8gKiBUaGVzZSBmdW5jdGlvbnMgd2lsbCBlZmZlY3QgdGhlIHByb3BlcnRpZXMgaW4gdGhlIHNhbWUgbGlzdCBwb3NpdGlvblxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJGZ1bmN0aW9uLTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRmdW5jdGlvbi0yIDogZmFsc2UsXG4gICRmdW5jdGlvbi0zIDogZmFsc2UsXG4gICRmdW5jdGlvbi00IDogZmFsc2UsXG4gICRmdW5jdGlvbi01IDogZmFsc2UsXG4gICRmdW5jdGlvbi02IDogZmFsc2UsXG4gICRmdW5jdGlvbi03IDogZmFsc2UsXG4gICRmdW5jdGlvbi04IDogZmFsc2UsXG4gICRmdW5jdGlvbi05IDogZmFsc2UsXG4gICRmdW5jdGlvbi0xMDogZmFsc2Vcbikge1xuICAkZnVuY3Rpb24tMTogdW5xdW90ZSgkZnVuY3Rpb24tMSk7XG4gICRmdW5jdGlvbnM6IGNvbXBhY3QoJGZ1bmN0aW9uLTEsICRmdW5jdGlvbi0yLCAkZnVuY3Rpb24tMywgJGZ1bmN0aW9uLTQsICRmdW5jdGlvbi01LCAkZnVuY3Rpb24tNiwgJGZ1bmN0aW9uLTcsICRmdW5jdGlvbi04LCAkZnVuY3Rpb24tOSwgJGZ1bmN0aW9uLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkZnVuY3Rpb25zLFxuICAgIC1tb3osIC13ZWJraXQsIC1vLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG5cbi8vIE9uZSBvciBtb3JlIHRyYW5zaXRpb24tZGVsYXlzIGluIHNlY29uZHNcbi8vXG4vLyAqIGZvciBtdWx0aXBsZSwgdXNlIGEgY29tbWEtZGVsaW1pdGVkIGxpc3Rcbi8vICogdGhlc2UgZGVsYXlzIHdpbGwgZWZmZWN0IHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBzYW1lIGxpc3QgcG9zaXRpb25cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJGRlbGF5LTE6ICRkZWZhdWx0LXRyYW5zaXRpb24tZGVsYXksXG4gICRkZWxheS0yIDogZmFsc2UsXG4gICRkZWxheS0zIDogZmFsc2UsXG4gICRkZWxheS00IDogZmFsc2UsXG4gICRkZWxheS01IDogZmFsc2UsXG4gICRkZWxheS02IDogZmFsc2UsXG4gICRkZWxheS03IDogZmFsc2UsXG4gICRkZWxheS04IDogZmFsc2UsXG4gICRkZWxheS05IDogZmFsc2UsXG4gICRkZWxheS0xMDogZmFsc2Vcbikge1xuICBAaWYgdHlwZS1vZigkZGVsYXktMSkgPT0gc3RyaW5nIHsgJGRlbGF5LTE6IHVucXVvdGUoJGRlbGF5LTEpOyB9XG4gICRkZWxheXM6IGNvbXBhY3QoJGRlbGF5LTEsICRkZWxheS0yLCAkZGVsYXktMywgJGRlbGF5LTQsICRkZWxheS01LCAkZGVsYXktNiwgJGRlbGF5LTcsICRkZWxheS04LCAkZGVsYXktOSwgJGRlbGF5LTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHRyYW5zaXRpb24tZGVsYXksICRkZWxheXMsXG4gICAgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cblxuLy8gVHJhbnNpdGlvbiBhbGwtaW4tb25lIHNob3J0aGFuZFxuXG5AbWl4aW4gc2luZ2xlLXRyYW5zaXRpb24oXG4gICRwcm9wZXJ0eTogJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSxcbiAgJGR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAkZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24sXG4gICRkZWxheTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheVxuKSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29tcGFjdCgkcHJvcGVydHkgJGR1cmF0aW9uICRmdW5jdGlvbiAkZGVsYXkpKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24oXG4gICR0cmFuc2l0aW9uLTEgOiBkZWZhdWx0LFxuICAkdHJhbnNpdGlvbi0yIDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTMgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNCA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi01IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTYgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tNyA6IGZhbHNlLFxuICAkdHJhbnNpdGlvbi04IDogZmFsc2UsXG4gICR0cmFuc2l0aW9uLTkgOiBmYWxzZSxcbiAgJHRyYW5zaXRpb24tMTA6IGZhbHNlXG4pIHtcbiAgQGlmICR0cmFuc2l0aW9uLTEgPT0gZGVmYXVsdCB7XG4gICAgJHRyYW5zaXRpb24tMSA6IGNvbXBhY3QoJGRlZmF1bHQtdHJhbnNpdGlvbi1wcm9wZXJ0eSAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uICRkZWZhdWx0LXRyYW5zaXRpb24tZnVuY3Rpb24gJGRlZmF1bHQtdHJhbnNpdGlvbi1kZWxheSk7XG4gIH1cbiAgJHRyYW5zaXRpb25zOiBmYWxzZTtcbiAgQGlmIHR5cGUtb2YoJHRyYW5zaXRpb24tMSkgPT0gbGlzdCBhbmQgdHlwZS1vZihudGgoJHRyYW5zaXRpb24tMSwxKSkgPT0gbGlzdCB7XG4gICAgJHRyYW5zaXRpb25zOiBqb2luKCR0cmFuc2l0aW9uLTEsIGNvbXBhY3QoJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApLCBjb21tYSk7XG4gIH0gQGVsc2Uge1xuICAgICR0cmFuc2l0aW9ucyA6IGNvbXBhY3QoJHRyYW5zaXRpb24tMSwgJHRyYW5zaXRpb24tMiwgJHRyYW5zaXRpb24tMywgJHRyYW5zaXRpb24tNCwgJHRyYW5zaXRpb24tNSwgJHRyYW5zaXRpb24tNiwgJHRyYW5zaXRpb24tNywgJHRyYW5zaXRpb24tOCwgJHRyYW5zaXRpb24tOSwgJHRyYW5zaXRpb24tMTApO1xuICB9XG4gICRkZWxheXM6IGNvbW1hLWxpc3QoKTtcbiAgJGhhcy1kZWxheXM6IGZhbHNlO1xuICAkd2Via2l0LXZhbHVlOiBjb21tYS1saXN0KCk7XG4gICRtb3otdmFsdWU6IGNvbW1hLWxpc3QoKTtcbiAgJG8tdmFsdWU6IGNvbW1hLWxpc3QoKTtcblxuICAvLyBUaGlzIGJsb2NrIGNhbiBiZSBtYWRlIGNvbnNpZGVyYWJseSBzaW1wbGVyIGF0IHRoZSBwb2ludCBpbiB0aW1lIHRoYXRcbiAgLy8gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZGVhbCB3aXRoIHRoZSBkaWZmZXJlbmNlcyBpbiBob3cgZGVsYXlzIGFyZSB0cmVhdGVkLlxuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgIC8vIEV4dHJhY3QgdGhlIHZhbHVlcyBmcm9tIHRoZSBsaXN0XG4gICAgLy8gKHRoaXMgd291bGQgYmUgY2xlYW5lciBpZiBudGggdG9vayBhIDNyZCBhcmd1bWVudCB0byBwcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSkuXG4gICAgJHByb3BlcnR5OiBudGgoJHRyYW5zaXRpb24sIDEpO1xuICAgICRkdXJhdGlvbjogZmFsc2U7XG4gICAgJHRpbWluZy1mdW5jdGlvbjogZmFsc2U7XG4gICAgJGRlbGF5OiBmYWxzZTtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA+IDEgeyAkZHVyYXRpb246ICAgICAgICBudGgoJHRyYW5zaXRpb24sIDIpOyB9XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAyIHsgJHRpbWluZy1mdW5jdGlvbjogbnRoKCR0cmFuc2l0aW9uLCAzKTsgfVxuICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMyB7ICRkZWxheTogICAgICAgICAgIG50aCgkdHJhbnNpdGlvbiwgNCk7ICRoYXMtZGVsYXlzOiB0cnVlOyB9XG5cbiAgICAvLyBJZiBhIGRlbGF5IGlzIHByb3ZpZGVkIHdpdGhvdXQgYSB0aW1pbmcgZnVuY3Rpb25cbiAgICBAaWYgaXMtdGltZSgkdGltaW5nLWZ1bmN0aW9uKSBhbmQgbm90KCRkZWxheSkgeyAkZGVsYXk6ICR0aW1pbmctZnVuY3Rpb247ICR0aW1pbmctZnVuY3Rpb246IGZhbHNlOyAkaGFzLWRlbGF5czogdHJ1ZTsgfVxuXG4gICAgLy8gS2VlcCBhIGxpc3Qgb2YgZGVsYXlzIGluIGNhc2Ugb25lIGlzIHNwZWNpZmllZFxuICAgICRkZWxheXM6IGFwcGVuZCgkZGVsYXlzLCBpZigkZGVsYXksICRkZWxheSwgMHMpKTtcblxuICAgICR3ZWJraXQtdmFsdWU6IGFwcGVuZCgkd2Via2l0LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigtd2Via2l0LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uKS4uLikpO1xuICAgICAgICRtb3otdmFsdWU6IGFwcGVuZCggICAkbW96LXZhbHVlLCBjb21wYWN0KChwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbiggICAtbW96LCAkcHJvcGVydHkpICRkdXJhdGlvbiAkdGltaW5nLWZ1bmN0aW9uICRkZWxheSkuLi4pKTtcbiAgICAgICAgICRvLXZhbHVlOiBhcHBlbmQoICAgICAkby12YWx1ZSwgY29tcGFjdCgocHJlZml4ZWQtZm9yLXRyYW5zaXRpb24oICAgICAtbywgJHByb3BlcnR5KSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXkpLi4uKSk7XG4gIH1cblxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgICAgeyAgICAgICAtd2Via2l0LXRyYW5zaXRpb24gOiAkd2Via2l0LXZhbHVlO1xuICAgIC8vIG9sZCB3ZWJraXQgZG9lc24ndCBzdXBwb3J0IHRoZSBkZWxheSBwYXJhbWV0ZXIgaW4gdGhlIHNob3J0aGFuZCBzbyB3ZSBwcm9ncmVzc2l2ZWx5IGVuaGFuY2UgaXQuXG4gICAgQGlmICRoYXMtZGVsYXlzICAgICAgICAgICAgICAgICAgICAgICB7IC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheSA6ICRkZWxheXM7ICAgICAgIH0gfVxuICBAaWYgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAgICAgICAtbW96LXRyYW5zaXRpb24gOiAkbW96LXZhbHVlOyAgICB9XG4gIEBpZiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgICAgICAgLW8tdHJhbnNpdGlvbiA6ICRvLXZhbHVlOyAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIDogJHRyYW5zaXRpb25zO1xufVxuXG4vLyBjb2VyY2UgYSBsaXN0IHRvIGJlIGNvbW1hIGRlbGltaXRlZCBvciBtYWtlIGEgbmV3LCBlbXB0eSBjb21tYSBkZWxpbWl0ZWQgbGlzdC5cbkBmdW5jdGlvbiBjb21tYS1saXN0KCRsaXN0OiAoKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICRsaXN0LCBjb21tYSk7XG59XG5cbi8vIFJldHVybnMgYCRwcm9wZXJ0eWAgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4IGlmIGl0IGlzIGZvdW5kIGluIGAkdHJhbnNpdGlvbmFibGUtcHJlZml4ZWQtdmFsdWVzYC5cbkBmdW5jdGlvbiBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkcHJvcGVydHkpIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnR5KSA9PSBsaXN0IHtcbiAgICAkbmV3LWxpc3Q6IGNvbW1hLWxpc3QoKTtcbiAgICBAZWFjaCAkdiBpbiAkcHJvcGVydHkge1xuICAgICAgJG5ldy1saXN0OiBhcHBlbmQoJG5ldy1saXN0LCBwcmVmaXhlZC1mb3ItdHJhbnNpdGlvbigkcHJlZml4LCAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbGlzdDtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGluZGV4KCR0cmFuc2l0aW9uYWJsZS1wcmVmaXhlZC12YWx1ZXMsICRwcm9wZXJ0eSkge1xuICAgICAgQHJldHVybiAjeyRwcmVmaXh9LSN7JHByb3BlcnR5fTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHByb3BlcnR5O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja3MgaWYgdGhlIHZhbHVlIGdpdmVuIGlzIGEgdW5pdCBvZiB0aW1lLlxuQGZ1bmN0aW9uIGlzLXRpbWUoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAcmV0dXJuIG5vdChub3QoaW5kZXgocyBtcywgdW5pdCgkdmFsdWUpKSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwic2hhcmVkXCI7XG5cbi8vIENoYW5nZSB0aGUgYXBwZWFyYW5jZSBmb3IgTW96aWxsYSwgV2Via2l0IGFuZCBwb3NzaWJseSB0aGUgZnV0dXJlLlxuLy8gVGhlIGFwcGVhcmFuY2UgcHJvcGVydHkgaXMgY3VycmVudGx5IG5vdCBwcmVzZW50IGluIGFueSBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbi5cbi8vXG4vLyBUaGVyZSBpcyBubyBvZmZpY2lhbCBsaXN0IG9mIGFjY2VwdGVkIHZhbHVlcywgYnV0IHlvdSBtaWdodCBjaGVjayB0aGVzZSBzb3VyY2U6XG4vLyAgIE1vemlsbGEgOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9DU1MvLW1vei1hcHBlYXJhbmNlXG4vLyAgIFdlYmtpdCAgOiBodHRwOi8vY29kZS5nb29nbGUuY29tL3Avd2Via2l0LW1pcnJvci9zb3VyY2UvYnJvd3NlL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluP3NwZWM9c3ZuZjFhZWE1NTlkY2QwMjVhODk0NmFhN2RhNmU0ZTgzMDZmNWMxYjYwNCZyPTYzYzdkMWFmNDQ0MzBiMzE0MjMzZmVhMzQyYzNkZGIyYTA1MmUzNjVcbi8vICAgKHNlYXJjaCBmb3IgJ2FwcGVhcmFuY2UnIHdpdGhpbiB0aGUgcGFnZSlcblxuQG1peGluIGFwcGVhcmFuY2UoJGFwKSB7XG4gICRhcDogdW5xdW90ZSgkYXApO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoYXBwZWFyYW5jZSwgJGFwLFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgKTtcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gV2Via2l0LCBJRTEwIGFuZCBmdXR1cmUgc3VwcG9ydCBmb3IgW0NTUyBSZWdpb25zXShodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLXJlZ2lvbnMvKVxuLy9cbi8vICR0YXJnZXQgaXMgYSB2YWx1ZSB5b3UgdXNlIHRvIGxpbmsgdHdvIHJlZ2lvbnMgb2YgeW91ciBjc3MuIEdpdmUgdGhlIHNvdXJjZSBvZiB5b3VyIGNvbnRlbnQgdGhlIGZsb3ctaW50byBwcm9wZXJ0eSwgYW5kIGdpdmUgeW91ciB0YXJnZXQgY29udGFpbmVyIHRoZSBmbG93LWZyb20gcHJvcGVydHkuXG4vL1xuLy8gRm9yIGEgdmlzdWFsIGV4cGxhbmF0aW9uLCBzZWUgdGhlIGRpYWdyYW1zIGF0IENocmlzIENveWllcidzXG4vLyBbQ1NTLVRyaWNrc10oaHR0cDovL2Nzcy10cmlja3MuY29tL2NvbnRlbnQtZm9sZGluZy8pXG5cbkBtaXhpbiBmbG93LWludG8oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1pbnRvLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59XG5cbkBtaXhpbiBmbG93LWZyb20oJHRhcmdldCkge1xuICAkdGFyZ2V0OiB1bnF1b3RlKCR0YXJnZXQpO1xuICBAaW5jbHVkZSBleHBlcmltZW50YWwoZmxvdy1mcm9tLCAkdGFyZ2V0LFxuICAgIG5vdCgtbW96KSwgLXdlYmtpdCwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgbm90IG9mZmljaWFsXG4gICk7XG59IiwiQGltcG9ydCBcInNoYXJlZFwiO1xuXG4vLyBNaXhpbnMgdG8gc3VwcG9ydCBzcGVjaWZpYyBDU1MgVGV4dCBMZXZlbCAzIGVsZW1lbnRzXG4vL1xuLy9cbi8vXG4vLyBNaXhpbiBmb3Igd29yZC1icmVhayBwcm9wZXJ0aWVzXG4vLyBodHRwOi8vd3d3LnczLm9yZy9jc3MzLXRleHQvI3dvcmQtYnJlYWtcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IG5vcm1hbCwga2VlcC1hbGwsIGJyZWFrLWFsbFxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgICBwLndvcmRCcmVhayB7QGluY2x1ZGUgd29yZC1icmVhayhicmVhay1hbGwpO31cbi8vXG4vLyBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBwLndvcmRCcmVhayB7XG4vLyAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbi8vICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDt9XG4vL1xuQG1peGluIHdvcmQtYnJlYWsoJHZhbHVlOiBub3JtYWwpe1xuICBAaWYgJHZhbHVlID09IGJyZWFrLWFsbCB7XG4gICAgLy9Nb3N0IGJyb3dzZXJzIGhhbmRsZSB0aGUgYnJlYWstYWxsIGNhc2UgdGhlIHNhbWUuLi5cbiAgICBAaW5jbHVkZSBleHBlcmltZW50YWwod29yZC1icmVhaywgJHZhbHVlLFxuICAgICAgbm90KC1tb3opLCBub3QoLXdlYmtpdCksIG5vdCgtbyksIC1tcywgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICAgKTtcbiAgICAvL1dlYmtpdCBoYW5kbGVzIGJyZWFrLWFsbCBkaWZmZXJlbnRseS4uLiBhcyBicmVhay13b3JkXG4gICAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHdvcmQtYnJlYWssIGJyZWFrLXdvcmQsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICAgICk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGV4cGVyaW1lbnRhbCh3b3JkLWJyZWFrLCAkdmFsdWUsXG4gICAgICBub3QoLW1veiksIG5vdCgtd2Via2l0KSwgbm90KC1vKSwgLW1zLCBub3QoLWtodG1sKSwgb2ZmaWNpYWxcbiAgICApO1xuICB9XG59XG5cbi8vIE1peGluIGZvciB0aGUgaHlwaGVucyBwcm9wZXJ0eVxuLy9cbi8vIFczQyBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRleHQvI2h5cGhlbnNcbi8vICogbGVnYWwgdmFsdWVzIGZvciAkdHlwZSA6IGF1dG8sIG1hbnVhbCwgbm9uZVxuLy9cbi8vIEV4YW1wbGU6XG4vLyAgcCB7XG4vLyAgICBAaW5jbHVkZSBoeXBoZW5zKGF1dG8pO31cbi8vIFdoaWNoIGdlbmVyYXRlczpcbi8vICBwIHtcbi8vICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbi8vICAgIGh5cGhlbnM6IGF1dG87fVxuLy9cbkBtaXhpbiBoeXBoZW5zKCR2YWx1ZTogYXV0byl7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChoeXBoZW5zLCAkdmFsdWUsXG4gICAgLW1veiwgLXdlYmtpdCwgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBNaXhpbiBmb3IgeC1icm93c2VyIGh5cGhlbmF0aW9uIGJhc2VkIG9uIEBhdWNoZW5iZXJnJ3MgcG9zdDpcbi8vIFJlbW92ZXMgdGhlIG5lZWQgZm9yIHRoZSA8d2JyLz4gSFRNTCB0YWdcbi8vIGh0dHA6Ly9ibG9nLmtlbm5ldGguaW8vYmxvZy8yMDEyLzAzLzA0L3dvcmQtd3JhcHBpbmctaHlwZXJuYXRpb24tdXNpbmctY3NzL1xuLy9cbi8vICBFeGFtcGxlOlxuLy8gIGRpdiB7QGluY2x1ZGUgaHlwaGVuYXRpb247fVxuLy9cbi8vICBXaGljaCBnZW5lcmF0ZXM6XG4vLyAgICBkaXYge1xuLy8gICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4vLyAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4vLyAgICAgIC1tb3otaHlwaGVuczogYXV0bztcbi8vICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgICBoeXBoZW5zOiBhdXRvO31cbi8vXG5AbWl4aW4gaHlwaGVuYXRpb257XG4gIEBpbmNsdWRlIHdvcmQtYnJlYWsoYnJlYWstYWxsKTtcbiAgQGluY2x1ZGUgaHlwaGVucztcbn1cbiIsIkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gUHJvdmlkZXMgY3Jvc3MtYnJvd3NlciBzdXBwb3J0IGZvciB0aGUgdXBjb21pbmcgKD8pIGNzczMgZmlsdGVyIHByb3BlcnR5LlxuLy9cbi8vIEVhY2ggZmlsdGVyIGFyZ3VtZW50IHNob3VsZCBhZGhlcmUgdG8gdGhlIHN0YW5kYXJkIGNzczMgc3ludGF4IGZvciB0aGVcbi8vIGZpbHRlciBwcm9wZXJ0eS5cbkBtaXhpbiBmaWx0ZXIgKFxuICAkZmlsdGVyLTEsXG4gICRmaWx0ZXItMiA6IGZhbHNlLFxuICAkZmlsdGVyLTMgOiBmYWxzZSxcbiAgJGZpbHRlci00IDogZmFsc2UsXG4gICRmaWx0ZXItNSA6IGZhbHNlLFxuICAkZmlsdGVyLTYgOiBmYWxzZSxcbiAgJGZpbHRlci03IDogZmFsc2UsXG4gICRmaWx0ZXItOCA6IGZhbHNlLFxuICAkZmlsdGVyLTkgOiBmYWxzZSxcbiAgJGZpbHRlci0xMDogZmFsc2Vcbikge1xuICAkZmlsdGVyIDogY29tcGFjdCgkZmlsdGVyLTEsICRmaWx0ZXItMiwgJGZpbHRlci0zLCAkZmlsdGVyLTQsICRmaWx0ZXItNSwgJGZpbHRlci02LCAkZmlsdGVyLTcsICRmaWx0ZXItOCwgJGZpbHRlci05LCAkZmlsdGVyLTEwKTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKGZpbHRlciwgJGZpbHRlcixcbiAgICAtbW96LCAtd2Via2l0LCBub3QoLW8pLCBub3QoLW1zKSwgbm90KC1raHRtbCksIG9mZmljaWFsXG4gICk7XG59XG4iLCIkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXBpZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgdXNlIFNhc3MncyBAZXh0ZW5kIGRpcmVjdGl2ZSB0byBhcHBseSB0aGUgYmVoYXZpb3Jcbi8vIHRvIHlvdXIgUElFIGVsZW1lbnRzLiBUbyBhc3Npc3QgeW91LCBDb21wYXNzIHByb3ZpZGVzIHRoaXMgdmFyaWFibGUuXG4vLyBXaGVuIHNldCwgaXQgd2lsbCBjYXVzZSB0aGUgYEBpbmNsdWRlIHBpZWAgbWl4aW4gdG8gZXh0ZW5kIHRoaXMgY2xhc3MuXG4vLyBUaGUgY2xhc3MgbmFtZSB5b3UgcHJvdmlkZSBzaG91bGQgKipub3QqKiBpbmNsdWRlIHRoZSBgLmAuXG4kcGllLWJhc2UtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBhcHByb2FjaCB0byB1c2luZyBQSUUuXG4vLyBDYW4gYmUgb25lIG9mOlxuLy9cbi8vICogcmVsYXRpdmUgKGRlZmF1bHQpXG4vLyAqIHotaW5kZXhcbi8vICogbm9uZVxuJHBpZS1kZWZhdWx0LWFwcHJvYWNoOiByZWxhdGl2ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGxvY2F0aW9uIG9mIHlvdXIgUElFIGJlaGF2aW9yIGZpbGVcbi8vIFRoaXMgc2hvdWxkIGJlIHJvb3QtcmVsYXRpdmUgdG8geW91ciB3ZWIgc2VydmVyXG4vLyByZWxhdGl2ZSBhc3NldHMgZG9uJ3Qgd29yay4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdFxuLy8geW91IHNldCB0aGlzIHlvdXJzZWxmLlxuJHBpZS1iZWhhdmlvcjogc3R5bGVzaGVldC11cmwoXCJQSUUuaHRjXCIpICFkZWZhdWx0O1xuXG4vLyBXaGVuIHVzaW5nIHRoZSB6LWluZGV4IGFwcHJvYWNoLCB0aGVcbi8vIGZpcnN0IGFuY2VzdG9yIG9mIHRoZSBQSUUgZWxlbWVudCBhdFxuLy8gb3IgYmVmb3JlIHRoZSBjb250YWluZXIncyBvcGFxdWUgYmFja2dyb3VuZFxuLy8gc2hvdWxkIGhhdmUgYSB6LWluZGV4IHNldCBhcyB3ZWxsIHRvIGVuc3VyZVxuLy8gcHJvcGVydCB6LWluZGV4IHN0YWNraW5nLlxuLy9cbi8vIFRoZSBgJHBvc2l0aW9uYCBhcmd1bWVudCBtdXN0IGJlIHNvbWUgbm9uLXN0YXRpY1xuLy8gdmFsdWUgKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjLilcbkBtaXhpbiBwaWUtY29udGFpbmVyKCR6LWluZGV4OiAwLCAkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xufVxuXG4vLyBQSUUgZWxlbWVudHMgbXVzdCBoYXZlIHRoaXMgYmVoYXZpb3IgYXR0YWNoZWQgdG8gdGhlbS5cbi8vIElFIGlzIGJyb2tlbiAtLSBpdCBkb2Vzbid0IHRoaW5rIG9mIGJlaGF2aW9yIHVybHMgYXNcbi8vIHJlbGF0aXZlIHRvIHRoZSBzdHlsZXNoZWV0LiBJdCBjb25zaWRlcnMgdGhlbSByZWxhdGl2ZVxuLy8gdG8gdGhlIHdlYnBhZ2UuIEFzIGEgcmVzdWx0LCB5b3UgY2Fubm90IHJlbGlhYmx5IHVzZVxuLy8gY29tcGFzcydzIHJlbGF0aXZlX2Fzc2V0cyB3aXRoIFBJRS5cbi8vXG4vLyAqIGAkYXBwcm9hY2hgIC0gb25lIG9mOiByZWxhdGl2ZSwgei1pbmRleCwgb3Igbm9uZVxuLy8gKiBgJHotaW5kZXhgIC0gd2hlbiB1c2luZyB0aGUgei1pbmRleCBhcHByb2FjaCwgdGhpc1xuLy8gICAgICAgICAgICAgICAgaXMgdGhlIHotaW5kZXggdGhhdCBpcyBhcHBsaWVkLlxuQG1peGluIHBpZS1lbGVtZW50KFxuICAkYXBwcm9hY2g6ICRwaWUtZGVmYXVsdC1hcHByb2FjaCxcbiAgJHotaW5kZXg6IDBcbikge1xuICBiZWhhdmlvcjogJHBpZS1iZWhhdmlvcjtcbiAgQGlmICRhcHByb2FjaCA9PSByZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBlbHNlIGlmICRhcHByb2FjaCA9PSB6LWluZGV4IHtcbiAgICB6LWluZGV4OiAkei1pbmRleDtcbiAgfVxufVxuXG4vLyBhIHNtYXJ0IG1peGluIHRoYXQga25vd3MgdG8gZXh0ZW5kIG9yIGluY2x1ZGUgcGllLWVsZW1lbnQgYWNjb3JkaW5nXG4vLyB0byB5b3VyIHN0eWxlc2hlZXQncyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy5cbkBtaXhpbiBwaWUoJGJhc2UtY2xhc3M6ICRwaWUtYmFzZS1jbGFzcykge1xuICBAaWYgJGJhc2UtY2xhc3Mge1xuICAgIEBleHRlbmQgLiN7JGJhc2UtY2xhc3N9O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBwaWUtZWxlbWVudDtcbiAgfVxufVxuXG4vLyBXYXRjaCBgJG5gIGxldmVscyBvZiBhbmNlc3RvcnMgZm9yIGNoYW5nZXMgdG8gdGhlaXIgY2xhc3MgYXR0cmlidXRlXG4vLyBTbyB0aGF0IGNhc2NhZGluZyBzdHlsZXMgd2lsbCB3b3JrIGNvcnJlY3RseSBvbiB0aGUgUElFIGVsZW1lbnQuXG5AbWl4aW4gcGllLXdhdGNoLWFuY2VzdG9ycygkbikge1xuICAtcGllLXdhdGNoLWFuY2VzdG9yczogJG47XG59XG4iLCIvLyBVc2VyIEludGVyZmFjZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjYW4gYmUgZXhwYW5kZWQgdG8gaGFuZGxlIGFsbCB0aGUgdXNlciBpbnRlcmZhY2UgcHJvcGVydGllcyBhc1xuLy8gdGhleSBiZWNvbWUgYXZhaWxhYmxlIGluIGJyb3dzZXJzOlxuLy8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMC9XRC1jc3MzLXVzZXJpbnQtMjAwMDAyMTZcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuXG4vLyBUaGlzIHByb3BlcnR5IGNvbnRyb2xzIHRoZSBzZWxlY3Rpb24gbW9kZWwgYW5kIGdyYW51bGFyaXR5IG9mIGFuIGVsZW1lbnQuXG4vL1xuLy8gQHBhcmFtICRzZWxlY3Rcbi8vICAgWyBub25lIHwgdGV4dCB8IHRvZ2dsZSB8IGVsZW1lbnQgfCBlbGVtZW50cyB8IGFsbCB8IGluaGVyaXQgXVxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgJHNlbGVjdDogdW5xdW90ZSgkc2VsZWN0KTtcbiAgQGluY2x1ZGUgZXhwZXJpbWVudGFsKHVzZXItc2VsZWN0LCAkc2VsZWN0LFxuICAgIC1tb3osIC13ZWJraXQsIG5vdCgtbyksIC1tcywgLWtodG1sLCBvZmZpY2lhbFxuICApO1xufVxuXG4vLyBTdHlsZSB0aGUgaHRtbDUgaW5wdXQgcGxhY2Vob2xkZXIgaW4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IGl0LlxuLy9cbi8vIFRoZSBzdHlsZXMgZm9yIHRoZSBpbnB1dCBwbGFjZWhvbGRlciBhcmUgcGFzc2VkIGFzIG1peGluIGNvbnRlbnRcbi8vIGFuZCB0aGUgc2VsZWN0b3IgY29tZXMgZnJvbSB0aGUgbWl4aW4ncyBjb250ZXh0LlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vICAgICAje2VsZW1lbnRzLW9mLXR5cGUodGV4dC1pbnB1dCl9IHtcbi8vICAgICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbi8vICAgICAgICAgY29sb3I6ICNiZmJmYmY7XG4vLyAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICAgICAgIH1cbi8vICAgICB9XG4vL1xuLy8gaWYgeW91IHdhbnQgdG8gYXBwbHkgdGhlIHBsYWNlaG9sZGVyIHN0eWxlcyB0byBhbGwgZWxlbWVudHMgc3VwcG9ydGluZ1xuLy8gdGhlIGBpbnB1dC1wbGFjZWhvbGRlcmAgcHNldWRvIGNsYXNzIChiZXdhcmUgb2YgcGVyZm9ybWFuY2UgaW1wYWN0cyk6XG4vL1xuLy8gICAgICoge1xuLy8gICAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogI2JmYmZiZjtcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbkBtaXhpbiBpbnB1dC1wbGFjZWhvbGRlciB7XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHsgQGNvbnRlbnQ7IH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IEBjb250ZW50OyB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBAY29udGVudDsgfVxufVxuIiwiQGltcG9ydCBcIi4uL3N1cHBvcnRcIjtcbkBpbXBvcnQgXCJzaGFyZWRcIjtcblxuLy8gVGhpcyBpcyB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIHRoZSBvdGhlciBtaXhpbnMgaW4gdGhpcyBtb2R1bGUuXG4vLyBJdCBpcyB0aGUgb25seSB3YXkgdG8gYWNjZXNzIHByZWZpeCBzdXBwb3J0IGZvciBvbGRlciB2ZXJzaW9ucyBvZiB0aGUgc3BlYy5cbi8vIERldmlhdGVzIGZyb20gY2Fub25pY2FsIENvbXBhc3MgaW1wbGVtZW50YXRpb24gYnkgZHJvcHBpbmcgc3VwcG9ydCBmb3Jcbi8vIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBGbGV4Ym94IHNwZWMuXG4vL1xuLy8gYCRwcm9wZXJ0aWVzYDogbWFwIG9mIHByb3BlcnR5LXZhbHVlIHBhaXJzIHRoYXQgc2hvdWxkIGJlIHByZWZpeGVkXG5AbWl4aW4gZmxleGJveCgkcHJvcGVydGllcykge1xuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgJHByb3AgPT0gZGlzcGxheSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwtdmFsdWUoZGlzcGxheSwgJHZhbHVlLCBub3QoLW1veiksIC13ZWJraXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90KC1vKSwgbm90KC1tcyksIG5vdCgta2h0bWwpLCBvZmZpY2lhbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBleHBlcmltZW50YWwoJHByb3AsICR2YWx1ZSwgbm90KC1tb3opLCAtd2Via2l0LCBub3QoLW8pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCgtbXMpLCBub3QoLWtodG1sKSwgb2ZmaWNpYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBWYWx1ZXMgZm9yICRkaXNwbGF5IGFyZTogZmxleCAoZGVmYXVsdCksIGlubGluZS1mbGV4XG5AbWl4aW4gZGlzcGxheS1mbGV4KCRkaXNwbGF5OiBmbGV4KSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGRpc3BsYXk6ICRkaXNwbGF5KSk7XG59XG5cbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb24pKTtcbn1cblxuLy8gVmFsdWVzOiBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXG5AbWl4aW4gZmxleC13cmFwKCR3cmFwKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGZsZXgtd3JhcDogJHdyYXApKTtcbn1cblxuLy8gU2hvcnRoYW5kIGZvciBmbGV4LWRpcmVjdGlvbiBhbmQgZmxleC13cmFwLlxuQG1peGluIGZsZXgtZmxvdygkZmxvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWZsb3c6ICRmbG93KSk7XG59XG5cbi8vIEFjY2VwdHMgYW4gaW50ZWdlclxuQG1peGluIG9yZGVyKCRvcmRlcikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChvcmRlcjogJG9yZGVyKSk7XG59XG5cbi8vIFNob3J0aGFuZCBmb3IgZmxleC1ncm93LCBmbGV4LXNocmluayBhbmQgb3B0aW9uYWxseSBmbGV4LWJhc2lzLlxuLy8gU3BhY2Ugc2VwYXJhdGVkLCBpbiB0aGF0IG9yZGVyLlxuQG1peGluIGZsZXgoJGZsZXgpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleDogJGZsZXgpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LWdyb3coJGZsZXgtZ3Jvdykge1xuICBAaW5jbHVkZSBmbGV4Ym94KChmbGV4LWdyb3c6ICRmbGV4LWdyb3cpKTtcbn1cblxuLy8gQWNjZXB0cyBhIG51bWJlci5cbkBtaXhpbiBmbGV4LXNocmluaygkZmxleC1zaHJpbmspIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1zaHJpbms6ICRmbGV4LXNocmluaykpO1xufVxuXG4vLyBBY2NlcHRzIGFueSBsZWdhbCB2YWx1ZSBmb3IgdGhlIHdpZHRoIHByb3BlcnR5LlxuQG1peGluIGZsZXgtYmFzaXMoJGZsZXgtYmFzaXMpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoZmxleC1iYXNpczogJGZsZXgtYmFzaXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCRqdXN0aWZ5LWNvbnRlbnQpIHtcbiAgQGluY2x1ZGUgZmxleGJveCgoanVzdGlmeS1jb250ZW50OiAkanVzdGlmeS1jb250ZW50KSk7XG59XG5cbi8vIExlZ2FsIHZhbHVlczogZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduLWl0ZW1zKSB7XG4gIEBpbmNsdWRlIGZsZXhib3goKGFsaWduLWl0ZW1zOiAkYWxpZ24taXRlbXMpKTtcbn1cblxuLy8gTGVnYWwgdmFsdWVzOiBhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ24tc2VsZikge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1zZWxmOiAkYWxpZ24tc2VsZikpO1xufVxuXG4vLyBMZWdhbCB2YWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ24tY29udGVudCkge1xuICBAaW5jbHVkZSBmbGV4Ym94KChhbGlnbi1jb250ZW50OiAkYWxpZ24tY29udGVudCkpO1xufVxuIiwiaHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9bWFya3tiYWNrZ3JvdW5kOiNmZjA7Y29sb3I6IzAwMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhyey1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowfXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2NvbG9yOmluaGVyaXQ7Zm9udDppbmhlcml0O21hcmdpbjowfWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxpbnB1dFt0eXBlPVwic3VibWl0XCJdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0saW5wdXRbdHlwZT1cInJhZGlvXCJde2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9XCJzZWFyY2hcIl17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9aW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e2JvcmRlcjoxcHggc29saWQgc2lsdmVyO21hcmdpbjowIDJweDtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbX1sZWdlbmR7Ym9yZGVyOjA7cGFkZGluZzowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfXRkLHRoe3BhZGRpbmc6MH0iLCJcbi8vVGhpcyBpcyBmb3Igb2Zmc2V0dGluZyBhIGdyaWQgY29sdW1uIHRvIHRoZSBsZWZ0XG4ub2Zmc2V0LWxlZnQtcyB7XG5cdG1hcmdpbi1sZWZ0OiAtMTBweDtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4ub2Zmc2V0LWxlZnQtbSB7XG5cdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4ub2Zmc2V0LWxlZnQtbCB7XG5cdG1hcmdpbi1sZWZ0OiAtMzBweDtcblx0bWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4ub2Zmc2V0LWxlZnQteGwge1xuXHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdG1hcmdpbi1yaWdodDogNDBweDsgfVxuLm9mZnNldC1sZWZ0LXhsIHtcblx0bWFyZ2luLWxlZnQ6IC01MHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cblxuLy9UaGlzIGlzIGZvciBvZmZzZXR0aW5nIGEgZ3JpZCBjb2x1bW4gdG8gdGhlIHJpZ2h0XG4ub2Zmc2V0LXJpZ2h0LXMge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblx0bWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuLm9mZnNldC1yaWdodC1tIHtcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdG1hcmdpbi1yaWdodDogLTIwcHg7IH1cbi5vZmZzZXQtcmlnaHQtbCB7XG5cdG1hcmdpbi1sZWZ0OiA0MHB4O1xuXHRtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4iLCIvLyBBbGlnbm1lbnRcbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWp1c3RpZnkgICAgICAgIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4iLCJAaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuLy8gdmVydGljYWwgYWxpZ25tZW50XG4udmEtdCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udmEtbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udmEtYiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4udmEtdHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG4udmEtdGIge1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG4iLCJAaW1wb3J0IFwiY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzM1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbi5wcm92aWRlci1pbWFnZSB7XG5cdG1heC13aWR0aDogOTBweDtcblx0bWF4LWhlaWdodDogMTUwcHg7XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyLW0pOyB9XG4iLCJAaW1wb3J0IFwiY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzM1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbi8vIHJvdW5kZWQgY29ybmVyc1xuLmJyLXMge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1zKTsgfVxuLmJyLW0ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tKTsgfVxuLmJyLWwge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1sKTsgfVxuIiwiQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbi5maWx0ZXItZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdGgzIHtcblx0XHRjb2xvcjogJGdyYXktMjsgfVxuXG5cdC5maWx0ZXItYm94IHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS00O1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnItbSk7XG5cblx0XHQmLm5vLXRvcCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGJyLW0gJGJyLW0pO1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRici1tICRici1tKTtcblxuXHRcdFx0XHQmbGk6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7IH0gfSB9XG5cblx0XHR1bCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JheS01O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJyLW07XG5cblx0XHRcdGxpIHtcblxuXHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdFx0Y29sb3I6ICRncmF5LTE7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGZzLXhzO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0XHRjb2xvcjogJHVpLWxpbms7IH1cblxuXHRcdFx0XHQuY291bnQge1xuXHRcdFx0XHRcdGNvbG9yOiAkZ3JheS0zO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuXHRcdFx0XHQmOmhvdmVyIC5jb3VudCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmF5LTE7XG5cdFx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7IH1cblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tICRici1tIDAgMCk7IH1cblxuXHRcdFx0XHQmLmRpc2FibGVkLCAmLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdGNvbG9yOiAkZ3JheS0zO1xuXHRcdFx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cblx0XHRcdFx0XHRsYWJlbCwgaW5wdXQge1xuXHRcdFx0XHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDsgfSB9XG5cblx0XHRcdFx0aW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsIHtcblx0XHRcdFx0XHQuY291bnQge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRncmF5LTE7IH0gfSB9XG5cblx0XHRcdGhyIHtcblx0XHRcdFx0bWFyZ2luOiAwcHggYXV0bztcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAxLjVweDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS00OyB9IH1cblxuXHRcdCYubXVsdGkge1xuXHRcdFx0bGkge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktNDsgfSB9XG5cdFx0Ji5yYWRpbyB7XG5cdFx0XHQuc2hvdy1tb3JlIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTQ7IH0gfVxuXG5cdFx0Ji5jdXN0b20ge1xuXHRcdFx0YmFja2dyb3VuZDogI2VlZTsgfVxuXG5cdFx0LnNob3ctbW9yZSB7XG5cdFx0XHRmb250LXNpemU6ICRmcy14cztcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cblx0LmNsZWFyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGZvbnQtc2l6ZTogJGZzLXhzO1xuXHRcdHBhZGRpbmctdG9wOiAycHg7XG5cblx0XHQmLnNob3cge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuXHQmOmhvdmVyIHtcblx0XHQuY2xlYXIge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH0gfVxuIiwiQGltcG9ydCBcImNvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b24tc3R5bGVcIjtcblxuXG4ubWFwLW1hcmtlciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogNHB4O1xuXHR3aWR0aDogMTZweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZDogcmVkO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7IH1cblxuLmljb25zLXBpbiB7XG5cdGZvbnQtc2l6ZTogMjhweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMjBweDtcblx0bGVmdDogLTdweDtcblxuXHQmOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogNXB4O1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0yM3B4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRmb250LWZhbWlseTogaGVsdmV0aWNhO1xuXHRcdEBpbmNsdWRlIHRleHQtc2hhZG93KHJnYmEoNjEsNjEsNjEsIDAuNykgMXB4IDFweCAxcHgscmdiYSg2MSw2MSw2MSwgMC43KSAtLjVweCAtLjVweCAxcHgpOyB9IH1cblxuLmluZGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAyN3B4OyB9XG4iLCJAaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuQG1peGluIGJ1dHRvbi1zdHlsZSgkZm9udC1jb2xvciwgJGJnLWNvbG9yKSB7XG5cdGNvbG9yOiAkZm9udC1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yOyB9XG5cbkBtaXhpbiBidXR0b24tc2l6ZSgkZm9udC1zaXplLCAkaGVpZ2h0LCAkcGFkZGluZywgJGxpbmUtaGVpZ2h0LCAkaWNvbi1wb3NpdGlvbikge1xuXHRmb250LXNpemU6ICRmb250LXNpemU7XG5cdGhlaWdodDogJGhlaWdodDtcblx0cGFkZGluZzogJHBhZGRpbmc7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cblx0W2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAkaWNvbi1wb3NpdGlvbjsgfSB9XG4iLCIvLyBtYXJnaW4gYWxsXG4ubWEteHMge1xuXHRtYXJnaW46ICRzcC14czsgfVxuLm1hLXMge1xuXHRtYXJnaW46ICRzcC1zOyB9XG4ubWEtbSB7XG5cdG1hcmdpbjogJHNwLW07IH1cbi5tYS1sIHtcblx0bWFyZ2luOiAkc3AtbDsgfVxuLm1hLXhsIHtcblx0bWFyZ2luOiAkc3AteGw7IH1cbi5tYS14eGwge1xuXHRtYXJnaW46ICRzcC14eGw7IH1cblxuLy8gbWFyZ2luIHRvcFxuLm10LXhzIHtcblx0bWFyZ2luLXRvcDogJHNwLXhzOyB9XG4ubXQtcyB7XG5cdG1hcmdpbi10b3A6ICRzcC1zOyB9XG4ubXQtbSB7XG5cdG1hcmdpbi10b3A6ICRzcC1tOyB9XG4ubXQtbCB7XG5cdG1hcmdpbi10b3A6ICRzcC1sOyB9XG4ubXQteGwge1xuXHRtYXJnaW4tdG9wOiAkc3AteGw7IH1cbi5tdC14eGwge1xuXHRtYXJnaW4tdG9wOiAkc3AteHhsOyB9XG5cbi8vIG1hcmdpbiByaWdodFxuLm1yLXhzIHtcblx0bWFyZ2luLXJpZ2h0OiAkc3AteHM7IH1cbi5tci1zIHtcblx0bWFyZ2luLXJpZ2h0OiAkc3AtczsgfVxuLm1yLW0ge1xuXHRtYXJnaW4tcmlnaHQ6ICRzcC1tOyB9XG4ubXItbCB7XG5cdG1hcmdpbi1yaWdodDogJHNwLWw7IH1cbi5tci14bCB7XG5cdG1hcmdpbi1yaWdodDogJHNwLXhsOyB9XG4ubXIteHhsIHtcblx0bWFyZ2luLXJpZ2h0OiAkc3AteHhsOyB9XG5cbi8vIG1hcmdpbiBib3R0b21cbi5tYi14cyB7XG5cdG1hcmdpbi1ib3R0b206ICRzcC14czsgfVxuLm1iLXMge1xuXHRtYXJnaW4tYm90dG9tOiAkc3AtczsgfVxuLm1iLW0ge1xuXHRtYXJnaW4tYm90dG9tOiAkc3AtbTsgfVxuLm1iLWwge1xuXHRtYXJnaW4tYm90dG9tOiAkc3AtbDsgfVxuLm1iLXhsIHtcblx0bWFyZ2luLWJvdHRvbTogJHNwLXhsOyB9XG4ubWIteHhsIHtcblx0bWFyZ2luLWJvdHRvbTogJHNwLXh4bDsgfVxuXG4vLyBtYXJnaW4gbGVmdFxuLm1sLXhzIHtcblx0bWFyZ2luLWxlZnQ6ICRzcC14czsgfVxuLm1sLXMge1xuXHRtYXJnaW4tbGVmdDogJHNwLXM7IH1cbi5tbC1tIHtcblx0bWFyZ2luLWxlZnQ6ICRzcC1tOyB9XG4ubWwtbCB7XG5cdG1hcmdpbi1sZWZ0OiAkc3AtbDsgfVxuLm1sLXhsIHtcblx0bWFyZ2luLWxlZnQ6ICRzcC14bDsgfVxuLm1sLXhsIHtcblx0bWFyZ2luLWxlZnQ6ICRzcC14eGw7IH1cbiIsIi8vIHBhZGRpbmcgYWxsXG4ucGEtcyB7XG5cdHBhZGRpbmc6IDEwcHg7IH1cbi5wYS1tIHtcblx0cGFkZGluZzogMjBweDsgfVxuLnBhLWwge1xuXHRwYWRkaW5nOiAzMHB4OyB9XG4ucGEteGwge1xuXHRwYWRkaW5nOiA0MHB4OyB9XG5cbi8vIHBhZGRpbmcgdG9wXG4ucHQtcyB7XG5cdHBhZGRpbmctdG9wOiAxMHB4OyB9XG4ucHQtbSB7XG5cdHBhZGRpbmctdG9wOiAyMHB4OyB9XG4ucHQtbCB7XG5cdHBhZGRpbmctdG9wOiAzMHB4OyB9XG4ucHQteGwge1xuXHRwYWRkaW5nLXRvcDogNDBweDsgfVxuXG4vLyBwYWRkaW5nIHJpZ2h0XG4ucHItcyB7XG5cdHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbi5wci1tIHtcblx0cGFkZGluZy1yaWdodDogMjBweDsgfVxuLnByLWwge1xuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4ucHIteGwge1xuXHRwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi8vIHBhZGRpbmcgYm90dG9tXG4ucGItcyB7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4ucGItbSB7XG5cdHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4ucGItbCB7XG5cdHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4ucGIteGwge1xuXHRwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4vLyBwYWRkaW5nIGxlZnRcbi5wbC1zIHtcblx0cGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4ucGwtbSB7XG5cdHBhZGRpbmctbGVmdDogMjBweDsgfVxuLnBsLWwge1xuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbi5wbC14bCB7XG5cdHBhZGRpbmctbGVmdDogNDBweDsgfVxuIiwiQGltcG9ydCBcImNvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b24tc3R5bGVcIjtcblxuLnByb2ZpbGUtc3VtbWFyeSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTQ7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyLW0pO1xuXG5cdC50b3Age1xuXHRcdG1pbi1oZWlnaHQ6IDE2MHB4O1xuXG5cdFx0LmFmZmlsaWF0aW9uLWxvZ28ge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0OyB9XG5cblx0XHR1bCB7XG5cdFx0XHRjb2xvcjogJGdyYXktMjsgfSB9IH1cblxuLnByb2ZpbGUtZGV0YWlsZWQge1xuXHRtaW4taGVpZ2h0OiA0MDBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyYXktNDtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDQgNCA0KTsgfVxuXG4uYWN0aW9uLXBhbmVsIHtcblx0YmFja2dyb3VuZDogJGdyYXktNTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyYXktNDtcblx0bWluLWhlaWdodDogMjUwcHg7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJyLW0pOyB9XG4iLCJAaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuLnV0aWxpdHktYmFyIHtcblx0Ji5ib3JkZXItYm90dG9tIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktNDsgfSB9XG4iLCJAaW1wb3J0IFwiY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzM1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbi1zdHlsZVwiO1xuXG4vLyBDb25zdW1lciBFbWJlZCBXaWRnZXRcblxuLmNvbnN1bWVyLWVtYmVkLXdpZGdldCB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcblxuXHRoMSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuXHQuc2VhcmNoLWJhciB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJhY2tncm91bmQ6ICRncmF5LTU7XG5cdFx0cGFkZGluZzogMzBweDtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tKTtcblxuXHRcdGxhYmVsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG5cdFx0YnV0dG9uIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRici1tO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJyLW07XG5cdFx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdFx0b3V0bGluZS1zdHlsZTogbm9uZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdCYuYnRuLXBvc2l0aXZlIHtcblx0XHRcdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCNmZmYsIzI1YzE1OSk7XG5cdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbi1zaXplKDE2cHgsIDM0cHgsIDAgMTJweCwgNDBweCwgMCk7IH0gfVxuXG5cdFx0aW5wdXQge1xuXHRcdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGhlaWdodDogYXV0bzsgfVxuXG5cdFx0LmlucHV0LW0ge1xuXHRcdFx0aGVpZ2h0OiAzNHB4OyB9IH0gfVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4kY29sb3ItZGlzY2xhaW1lcjogI2Y1ZjVmNTtcbiRjb2xvci1pbmZvOiAjZTFlZmY2O1xuJGNvbG9yLXdhcm5pbmc6ICNmYmY3ZGU7XG4kY29sb3ItZXJyb3I6ICNmNGRlZGM7XG4kY29sb3Itc3VjY2VzczogI2VjZjZlODtcblxuLmFsZXJ0IHtcblx0d2lkdGg6IDEwMCU7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcblx0Jjpob3ZlciB7XG5cdFx0Lmljb25zLWNhbmNlbCB7XG5cdFx0XHRjdXJzb3I6IGhhbmQ7IH0gfVxuXG5cdFtjbGFzc149XCJpY29ucy1cIl0ge1xuXHRcdHRvcDogNHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5cdC5pY29ucy1jYW5jZWwge1xuXHRcdHRvcDogMXB4OyB9XG5cblx0Ji5kaXNjbGFpbWVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZGlzY2xhaW1lcjtcblx0XHRib3JkZXItbGVmdDogOHB4IHNvbGlkIGRhcmtlbiggJGNvbG9yLWluZm8sIDUwJSApOyB9XG5cdCYuaW5mbyB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWluZm87XG5cdFx0Ym9yZGVyLWxlZnQ6IDhweCBzb2xpZCBkYXJrZW4oICRjb2xvci1pbmZvLCA1MCUgKTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbiggJGNvbG9yLWluZm8sIDMlICk7IH0gfVxuXHQmLndhcm5pbmcge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci13YXJuaW5nO1xuXHRcdGJvcmRlci1sZWZ0OiA4cHggc29saWQgI2UyY2YwMDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbiggJGNvbG9yLXdhcm5pbmcsIDMlICk7IH0gfVxuXHQmLmVycm9yIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZXJyb3I7XG5cdFx0Ym9yZGVyLWxlZnQ6IDhweCBzb2xpZCBkYXJrZW4oICRjb2xvci1lcnJvciwgNDAlICk7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oICRjb2xvci1lcnJvciwgMyUgKTsgfSB9XG5cdCYuc3VjY2VzcyB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXN1Y2Nlc3M7XG5cdFx0Ym9yZGVyLWxlZnQ6IDhweCBzb2xpZCBkYXJrZW4oICRjb2xvci1zdWNjZXNzLCA1MCUgKTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbiggJGNvbG9yLXN1Y2Nlc3MsIDMlICk7IH1cblx0XHQmLmljb25zLXN1Y2Nlc3Mge1xuXHRcdFx0Y29sb3I6IHJlZDsgfSB9IH1cbiIsIlxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDI4NTcxNDI5OyAvLyAyMC8xNFxuXG4vLyBLeXJ1dXMgQnJhbmRcblxuJGt5cnV1cy1ibHVlOiAjMUZBM0UxO1xuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6IDEwMDA7XG4kemluZGV4LWRyb3Bkb3duOiAxMDAwO1xuJHppbmRleC1wb3BvdmVyOiAxMDYwO1xuJHppbmRleC10b29sdGlwOiAxMDcwO1xuJHppbmRleC1uYXZiYXItZml4ZWQ6IDEwMzA7XG4kemluZGV4LW1vZGFsOiAxMDQwO1xuXG4vLyBjb2xvcnNcblxuJGJsYWNrOlx0IzAwMDtcbiR3aGl0ZTogI2ZmZjtcblxuJGdyYXktMTogIzJhM2Q1MTtcbiRncmF5LTI6ICM3NDg0OTY7XG4kZ3JheS0zOiAjOWFhNWIyO1xuJGdyYXktNDogI2Q5ZDlkOTtcbiRncmF5LTU6ICNmNWY1ZjU7XG4kZ3JheS02OiAjZTllYmVkO1xuXG4kdWktc3VjY2VzczogICAgIzRGQTUwMDtcbiR1aS1wb3NpdGl2ZTpcdCM0MmNlNjc7XG4kdWktd2FybmluZzpcdCNmMGFkNGU7XG4kdWktZGFuZ2VyOlx0XHQjZTU0ZTViO1xuJHVpLWxpbms6XHRcdCMwOTk2ZGY7XG4kdWktc29mdDpcdFx0I2U3ZmFmZDtcblxuLy8gYm9yZGVyIHJhZGl1c1xuXG4kYnItczogMnB4O1xuJGJyLW06IDRweDtcbiRici1sOiA4cHg7XG5cbi8vIGZvbnQtc2l6ZXNcbiRmcy14eHM6XHQxMHB4O1xuJGZzLXhzOlx0XHQxMnB4O1xuJGZzLXM6XHRcdDE0cHg7XG4kZnMtbTpcdFx0MTZweDtcbiRmcy1sOlx0XHQyMHB4O1xuJGZzLXhsOlx0XHQzMnB4O1xuJGZzLXh4bDpcdDQwcHg7XG5cbi8vZm9udC13ZWlnaHRcblxuJGZ3LTQ6XHQ0MDA7XG4kZnctNTpcdDUwMDtcbiRmdy02Olx0NjAwO1xuXG4vLyBmb250c1xuXG4ka3lydXVzLWZvbnQ6IFwic291cmNlLXNhbnMtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiRzdGFuZGFyZC1mb250OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgYXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vIHNwYWNpbmdcblxuJHNwLXhzOiA1cHg7XG4kc3AtczogMTBweDtcbiRzcC1tOiAyMHB4O1xuJHNwLWw6IDMwcHg7XG4kc3AteGw6IDQwcHg7XG4kc3AteHhsOiA1MHB4O1xuXG4vLyB0YWJsZSBzcGFjaW5nXG5cbiR0cy1zOiA4cHg7XG4kdHMtbTogMTJweDtcbiR0cy1sOiAxOHB4O1xuXG4vLz09IFRvb2x0aXBzXG4vL1xuLy8jI1xuXG4vLyoqIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcblxuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTEgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiogUG9wb3ZlciBib2R5IGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOiAgICAgICAgICAgKCRwb3BvdmVyLWFycm93LXdpZHRoICsgMSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGZhbGxiYWNrIGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbi1zdHlsZVwiO1xuXG5cbi5idXR0b24ge1xuXHRmb250LXdlaWdodDogJGZ3LTQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJyLW07XG5cdGJvcmRlci1yYWRpdXM6ICRici1tO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRvdXRsaW5lLXN0eWxlOiBub25lO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRib3JkZXI6IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblx0Ji5mdWxsLXdpZHRoIHtcblx0XHR3aWR0aDogMTAwJTsgfVxuXG5cdC8vIHNpemVzXG5cblx0Ji5idG4tcyB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXNpemUoMTJweCwgMjZweCwgMCA4cHgsIDI2cHgsIDFweCk7IH1cblxuXHQmLmJ0bi1tIHtcblx0XHRAaW5jbHVkZSBidXR0b24tc2l6ZSgxNHB4LCAzMHB4LCAwIDEwcHgsIDMwcHgsIDFweCk7IH1cblxuXHQmLmJ0bi1sIHtcblx0XHRAaW5jbHVkZSBidXR0b24tc2l6ZSgxNnB4LCAzNnB4LCAwIDEycHgsIDM2cHgsIDFweCk7IH1cblxuXHQmLmJ0bi14bCB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXNpemUoMThweCwgNTJweCwgMCAxNnB4LCA1MnB4LCAwcHgpOyB9XG5cblx0Ly8gY29sb3JzICYgc3R5bGVcblxuXHQmLmJ0bi1saWdodCB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRncmF5LTEsJGdyYXktNik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyYXktNDtcblxuXHRcdCYuZGVsZXRlIHtcblx0XHRcdGNvbG9yOiAjZmYxYTI5OyB9IH1cblxuXHQmLmJ0bi1wb3NpdGl2ZSB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uLXN0eWxlKCNmZmYsIzI1YzE1OSk7IH1cblxuXHQmLmJ0bi1saW5rIHtcblx0XHRAaW5jbHVkZSBidXR0b24tc3R5bGUoI2ZmZiwjMDk5NmRmKTsgfVxuXG5cdCYuYnRuLXNvZnQge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgjMDk5NmRmLCNmZmYpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICMwOTk2ZGY7IH1cblxuXHQmLmJ0bi1zaW1wbGUge1xuXHRcdGNvbG9yOiAjMDk5NmRmO1xuXHRcdGJvcmRlci13aWR0aDogMDtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG5cblx0Ji5kaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogLjU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjYjFiYWM0ICM5YWE1YjIgIzcxODE5Mztcblx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0YmFja2dyb3VuZDogI2Y2ZjdmODtcblx0XHRjb2xvcjogIzJhM2Q1MTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogI2IxYmFjNCAjOWFhNWIyICM3MTgxOTM7IH0gfSB9XG5cbi5idG5Hcm91cCB7XG5cdC5idG5Hcm91cC1pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cblx0XHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDsgfVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9IH0gfVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4vLyBmb250IGNvbG9yc1xuLmZjLWdyYXktMSB7XG5cdGNvbG9yOiAkZ3JheS0xOyB9XG4uZmMtZ3JheS0yIHtcblx0Y29sb3I6ICRncmF5LTI7IH1cbi5mYy1ncmF5LTMge1xuXHRjb2xvcjogJGdyYXktMzsgfVxuLmZjLWdyYXktNCB7XG5cdGNvbG9yOiAkZ3JheS00OyB9XG4uZmMtZ3JheS01IHtcblx0Y29sb3I6ICRncmF5LTU7IH1cblxuLmZjLWJsdWUge1xuXHRjb2xvcjogJHVpLWxpbms7IH1cbi5mYy1zdWNjZXNzIHtcblx0Y29sb3I6ICR1aS1zdWNjZXNzOyB9XG4uZmMtcG9zaXRpdmUge1xuXHRjb2xvcjogJHVpLXBvc2l0aXZlOyB9XG5cbi8vIGJhY2tncm91bmQgY29sb3JzXG5cbi5iYy1ibGFjayB7XG5cdGJhY2tncm91bmQ6ICRibGFjazsgfVxuLmJjLXdoaXRlIHtcblx0YmFja2dyb3VuZDogJHdoaXRlOyB9XG5cbi5iYy1ncmF5LTEge1xuXHRiYWNrZ3JvdW5kOiAkZ3JheS0xOyB9XG4uYmMtZ3JheS0yIHtcblx0YmFja2dyb3VuZDogJGdyYXktMjsgfVxuLmJjLWdyYXktMyB7XG5cdGJhY2tncm91bmQ6ICRncmF5LTM7IH1cbi5iYy1ncmF5LTQge1xuXHRiYWNrZ3JvdW5kOiAkZ3JheS00OyB9XG4uYmMtZ3JheS01IHtcblx0YmFja2dyb3VuZDogJGdyYXktNTsgfVxuXG4uYmMtcG9zaXRpdmUge1xuXHRiYWNrZ3JvdW5kOiAkdWktcG9zaXRpdmU7IH1cbi5iYy13YXJuaW5nIHtcblx0YmFja2dyb3VuZDogJHVpLXdhcm5pbmc7IH1cbi5iYy1uZWdhdGl2ZSB7XG5cdGJhY2tncm91bmQ6ICR1aS1kYW5nZXI7IH1cbi5iYy1saW5rIHtcblx0YmFja2dyb3VuZDogJHVpLWxpbms7IH1cbi5iYy1zb2Z0IHtcblx0YmFja2dyb3VuZDogJHVpLXNvZnQ7IH1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuaW5wdXQsIHNlbGVjdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggcmdiYSgwLDAsMCwwLjA4KTsgfVxuXG5cdCYuaW5wdXQtcyB7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDsgfVxuXG5cdCYuaW5wdXQtbSB7XG5cdFx0cGFkZGluZzogN3B4O1xuXHRcdGZvbnQtc2l6ZTogMTZweDsgfVxuXG5cdCYuaW5wdXQtbCB7XG5cdFx0cGFkZGluZzogOXB4O1xuXHRcdGZvbnQtc2l6ZTogMThweDsgfVxuXG5cdCYuZnVsbC13aWR0aCB7XG5cdFx0d2lkdGg6IDEwMCU7IH0gfVxuXG50ZXh0YXJlYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNnB4IDEycHg7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuXHQtby10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG5cdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggcmdiYSgwLDAsMCwwLjA4KTsgfSB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0d2lkdGg6IGF1dG87XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xuXHRib3JkZXI6IDBweDsgLy8gSUUgNy04IGZpeFxuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4OyB9XG5cbmxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMjZweDtcblx0dGV4dC1pbmRlbnQ6IC0yNHB4O1xuXHRsaW5lLWhlaWdodDogMjJweDtcblx0cGFkZGluZy10b3A6IDVweDtcblx0cGFkZGluZy1ib3R0b206IDVweDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cdHNwYW4ge1xuXHRcdHdoaXRlLXNwYWNlOiBwcmU7IH1cblxuXHQmLmlucHV0LXMge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRsaW5lLWhlaWdodDogMjJweDsgfVxuXG5cdCYuaW5wdXQtbSB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG5cblx0Ji5pbnB1dC1sIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuXG4uZm9ybS1pbmxpbmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGxlZnQ6IDBweDtcblx0dG9wOiAwcHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDM1cHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRpbnB1dCB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHQtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5cdC5pbnB1dC13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDIwJTtcblx0XHRsZWZ0OiAwcHg7XG5cdFx0dG9wIDogMHB4O1xuXHRcdGJvdHRvbTogMHB4OyB9XG5cblx0YS5idXR0b24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMHB4O1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXG5cdFx0Ji5idG4tcyB7XG5cdFx0XHR0b3A6IDE4cHg7IH1cblx0XHQmLmJ0bi1tIHtcblx0XHRcdHRvcDogMThweDsgfVxuXHRcdCYuYnRuLW0ge1xuXHRcdFx0dG9wOiAxOHB4OyB9IH0gfVxuXG5cbi5pbnB1dEdyb3VwIHtcblx0c21hbGwge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRjb2xvcjogIzc0ODQ5Njtcblx0XHRkaXNwbGF5OiBibG9jazsgfSB9XG4iLCJAaW1wb3J0IFwiZ3JpZC9yZXNwb25zaXZlX2dyaWRcIjtcbkBpbXBvcnQgXCJncmlkL2llOF9ncmlkXCI7XG5cbi5jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG4uY29udGFpbmVyLWZsdWlkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cbi5jb2wteHMtMSwgLmNvbC1zbS0xLCAuY29sLW1kLTEsIC5jb2wtbGctMSwgLmNvbC14cy0yLCAuY29sLXNtLTIsIC5jb2wtbWQtMiwgLmNvbC1sZy0yLCAuY29sLXhzLTMsIC5jb2wtc20tMywgLmNvbC1tZC0zLCAuY29sLWxnLTMsIC5jb2wteHMtNCwgLmNvbC1zbS00LCAuY29sLW1kLTQsIC5jb2wtbGctNCwgLmNvbC14cy01LCAuY29sLXNtLTUsIC5jb2wtbWQtNSwgLmNvbC1sZy01LCAuY29sLXhzLTYsIC5jb2wtc20tNiwgLmNvbC1tZC02LCAuY29sLWxnLTYsIC5jb2wteHMtNywgLmNvbC1zbS03LCAuY29sLW1kLTcsIC5jb2wtbGctNywgLmNvbC14cy04LCAuY29sLXNtLTgsIC5jb2wtbWQtOCwgLmNvbC1sZy04LCAuY29sLXhzLTksIC5jb2wtc20tOSwgLmNvbC1tZC05LCAuY29sLWxnLTksIC5jb2wteHMtMTAsIC5jb2wtc20tMTAsIC5jb2wtbWQtMTAsIC5jb2wtbGctMTAsIC5jb2wteHMtMTEsIC5jb2wtc20tMTEsIC5jb2wtbWQtMTEsIC5jb2wtbGctMTEsIC5jb2wteHMtMTIsIC5jb2wtc20tMTIsIC5jb2wtbWQtMTIsIC5jb2wtbGctMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5jb250YWluZXI6YmVmb3JlLFxuLmNvbnRhaW5lcjphZnRlcixcbi5jb250YWluZXItZmx1aWQ6YmVmb3JlLFxuLmNvbnRhaW5lci1mbHVpZDphZnRlcixcbi5yb3c6YmVmb3JlLFxuLnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5jbGVhcmZpeDphZnRlcixcbi5jb250YWluZXI6YWZ0ZXIsXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyLFxuLnJvdzphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLmNlbnRlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4uYWZmaXgge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4udmlzaWJsZS14cyxcbi52aXNpYmxlLXNtLFxuLnZpc2libGUtbWQsXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnZpc2libGUtcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQge1xuICAudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBwcmludCB7XG4gIC5oaWRkZW4tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL21peGlucy9ncmlkXCI7XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICBAaW5jbHVkZSBncmlkKCRzaXplOiAneHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA3NTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdyaWQoJHNpemU6ICdzbScsICRtaW5fb25seTogdHJ1ZSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICBAaW5jbHVkZSBncmlkKCRzaXplOiAnc20nLCAkcmFuZ2Vfb25seTogdHJ1ZSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBncmlkKCRzaXplOiAnbWQnLCAkbWluX29ubHk6IHRydWUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIEBpbmNsdWRlIGdyaWQoJHNpemU6ICdtZCcsICRyYW5nZV9vbmx5OiB0cnVlKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTE3MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgZ3JpZCgkc2l6ZTogJ2xnJyk7XG59IiwiQG1peGluIGdyaWQoJHNpemUsICRtaW5fb25seTogZmFsc2UsICRyYW5nZV9vbmx5OiBmYWxzZSkge1xuICBAaWYgbm90ICRyYW5nZV9vbmx5IHtcbiAgICAuY29sLSN7JHNpemV9LTEsIC5jb2wtI3skc2l6ZX0tMiwgLmNvbC0jeyRzaXplfS0zLCAuY29sLSN7JHNpemV9LTQsIC5jb2wtI3skc2l6ZX0tNSwgLmNvbC0jeyRzaXplfS02LCAuY29sLSN7JHNpemV9LTcsIC5jb2wtI3skc2l6ZX0tOCwgLmNvbC0jeyRzaXplfS05LCAuY29sLSN7JHNpemV9LTEwLCAuY29sLSN7JHNpemV9LTExLCAuY29sLSN7JHNpemV9LTEyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS05IHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS02IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1bGwtMTIge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVsbC0xMSB7XG4gICAgICByaWdodDogOTEuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1bGwtMTAge1xuICAgICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTkge1xuICAgICAgcmlnaHQ6IDc1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTgge1xuICAgICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTcge1xuICAgICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTYge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTUge1xuICAgICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTQge1xuICAgICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTMge1xuICAgICAgcmlnaHQ6IDI1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTIge1xuICAgICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdWxsLTEge1xuICAgICAgcmlnaHQ6IDguMzMzMzMzMzMlO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdXNoLTEyIHtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVzaC0xMSB7XG4gICAgICBsZWZ0OiA5MS42NjY2NjY2NyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVzaC0xMCB7XG4gICAgICBsZWZ0OiA4My4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVzaC05IHtcbiAgICAgIGxlZnQ6IDc1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdXNoLTgge1xuICAgICAgbGVmdDogNjYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1c2gtNyB7XG4gICAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVzaC02IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdXNoLTUge1xuICAgICAgbGVmdDogNDEuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1c2gtNCB7XG4gICAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tcHVzaC0zIHtcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdXNoLTIge1xuICAgICAgbGVmdDogMTYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LXB1c2gtMSB7XG4gICAgICBsZWZ0OiA4LjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1vZmZzZXQtMTIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tb2Zmc2V0LTExIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tb2Zmc2V0LTEwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tb2Zmc2V0LTkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1vZmZzZXQtOCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LW9mZnNldC03IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tb2Zmc2V0LTYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1vZmZzZXQtNSB7XG4gICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LW9mZnNldC00IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7XG4gICAgfVxuICAgIC5jb2wtI3skc2l6ZX0tb2Zmc2V0LTMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1vZmZzZXQtMiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclO1xuICAgIH1cbiAgICAuY29sLSN7JHNpemV9LW9mZnNldC0xIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTtcbiAgICB9XG4gICAgLmNvbC0jeyRzaXplfS1vZmZzZXQtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgfVxuICB9XG4gIEBpZiBub3QgJG1pbl9vbmx5IHtcbiAgICAudmlzaWJsZS0jeyRzaXplfSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB0YWJsZS52aXNpYmxlLSN7JHNpemV9IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbiAgICB0ci52aXNpYmxlLSN7JHNpemV9IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB0aC52aXNpYmxlLSN7JHNpemV9LFxuICAgIHRkLnZpc2libGUtI3skc2l6ZX0ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudmlzaWJsZS0jeyRzaXplfS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudmlzaWJsZS0jeyRzaXplfS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC52aXNpYmxlLSN7JHNpemV9LWlubGluZS1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGRlbi0jeyRzaXplfSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcIi4uLy4uL21peGlucy9ncmlkXCI7XG5cbi5pZTgge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cbi8vIGllIHVzZXJzIG9ubHkgZ2V0IHRoZSBncmlkIGZvciBhIG1lZGl1bSBzaXplZCBzY3JlZW5cbiAgQGluY2x1ZGUgZ3JpZCgkc2l6ZTogJ3NtJywgJG1pbl9vbmx5OiB0cnVlKTtcbiAgQGluY2x1ZGUgZ3JpZCgnbWQnKTtcbn0iLCJociB7XG5cdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0bWFyZ2luLXJpZ2h0OiAtMjBweDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTQ7XG5cdGJvcmRlci1ib3R0b206IDA7XG5cdGJvcmRlci1jb2xsYXBzZTogYm9yZGVyLWNvbGxhcHNlOyB9XG4iLCIuaWNvbi1wbS1sb2dvLWxhcmdlOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xufVxuLmljb24tcG93ZXJlZC1ieS1sb2dvOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi5sYWJlbCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0cGFkZGluZzogLjM1ZW0gLjY1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRjb2xvcjogJHdoaXRlO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnItbSk7XG5cblx0Ji5kZWZhdWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yOyB9XG5cdCYucHJpbWFyeSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHVpLWxpbms7IH1cblx0Ji5zdWNjZXNzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdWktcG9zaXRpdmU7IH1cblx0Ji5pbmZvIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAka3lydXVzLWJsdWU7IH1cblx0Ji53YXJuaW5nIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdWktd2FybmluZzsgfVxuXHQmLmRhbmdlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHVpLWRhbmdlcjsgfSB9XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbmEsIGE6dmlzaXRlZCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29sb3I6ICR1aS1saW5rO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5cdC8vIGxpbmsgY29sb3JzXG5cdCYuZGFyay1saW5rIHtcblx0XHRjb2xvcjogJGdyYXktMTsgfVxuXG5cdCYubGlnaHQtbGluayB7XG5cdFx0Y29sb3I6ICRncmF5LTI7IH1cblxuXHQmLmxpZ2h0ZXItbGluayB7XG5cdFx0Y29sb3I6ICRncmF5LTM7IH0gfVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG51bCB7XG5cdGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcblx0Y29sb3I6ICRncmF5LTE7XG5cblxuXHQmLmJ1bGxldHMge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5cdCYubm8tYnVsbGV0cyB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cblx0Ji5saXN0LXMge1xuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDJweCAwO1xuXHRcdFx0Zm9udC1zaXplOiAkZnMtczsgfSB9XG5cblx0Ji5saXN0LW0ge1xuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDRweCAwO1xuXHRcdFx0Zm9udC1zaXplOiAkZnMtczsgfSB9XG5cblx0Ji5saXN0LWwge1xuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDZweCAwO1xuXHRcdFx0Zm9udC1zaXplOiAkZnMtbTsgfSB9XG5cblx0Ji50d28tY29sIHtcblx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcblx0XHQtd2Via2l0LWNvbHVtbi1nYXA6IDEwcHg7XG5cdFx0LW1vei1jb2x1bW4tY291bnQ6IDI7XG5cdFx0LW1vei1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdC1vLWNvbHVtbi1jb3VudDogMjtcblx0XHQtby1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdGNvbHVtbi1jb3VudDogMjtcblx0XHRjb2x1bW4tZ2FwOiAxMHB4OyB9XG5cblx0Ji50aHJlZS1jb2wge1xuXHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuXHRcdC13ZWJraXQtY29sdW1uLWdhcDogMTBweDtcblx0XHQtbW96LWNvbHVtbi1jb3VudDogMztcblx0XHQtbW96LWNvbHVtbi1nYXA6IDEwcHg7XG5cdFx0LW8tY29sdW1uLWNvdW50OiAzO1xuXHRcdC1vLWNvbHVtbi1nYXA6IDEwcHg7XG5cdFx0Y29sdW1uLWNvdW50OiAzO1xuXHRcdGNvbHVtbi1nYXA6IDEwcHg7IH1cblxuXHQmLmZvdXItY29sIHtcblx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcblx0XHQtd2Via2l0LWNvbHVtbi1nYXA6IDEwcHg7XG5cdFx0LW1vei1jb2x1bW4tY291bnQ6IDQ7XG5cdFx0LW1vei1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdC1vLWNvbHVtbi1jb3VudDogNDtcblx0XHQtby1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdGNvbHVtbi1jb3VudDogNDtcblx0XHRjb2x1bW4tZ2FwOiAxMHB4OyB9XG5cblx0Ji5zaXgtY29sIHtcblx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogNjtcblx0XHQtd2Via2l0LWNvbHVtbi1nYXA6IDEwcHg7XG5cdFx0LW1vei1jb2x1bW4tY291bnQ6IDY7XG5cdFx0LW1vei1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdC1vLWNvbHVtbi1jb3VudDogNjtcblx0XHQtby1jb2x1bW4tZ2FwOiAxMHB4O1xuXHRcdGNvbHVtbi1jb3VudDogNjtcblx0XHRjb2x1bW4tZ2FwOiAxMHB4OyB9IH1cbiIsIkBpbXBvcnQgXCJjb21wb25lbnRzL2Jvb3RzdHJhcC1tb2RhbC9tb2RhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbi5tb2RhbC1sZy0xIHtcblx0d2lkdGg6IDgwMHB4O1xuXHRtYXJnaW4tbGVmdDogLTQwMHB4OyB9XG5cbi5tb2RhbCAubW9kYWwtZm9vdGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTsgfVxuXG4ubW9kYWwtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpO1xuXHRib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoMCwwLDAsLjIpOyB9XG5cbi5tb2RhbC1iYWNrZHJvcC5pbiB7XG5cdG9wYWNpdHk6IDAuODsgfVxuXG4ubW9kYWwtYm9keSB7XG5cdHBhZGRpbmc6IDI1cHg7IH1cblxuLy8gUGl4ZWwgc2hpZnQgZml4XG4vLyBnaXRodWIgdGhyZWFkcyBkZXNjcmliaW5nIHRoaXMgaXNzdWU6XG4vLyAgIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvOTg1NVxuLy8gICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzk4ODZcbmJvZHkubW9kYWwtb3BlbiB7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4iLCJAaW1wb3J0IFwibWl4aW5zL2Jvb3RzdHJhcC1zYXNzLW1peGluc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9jbG9zZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvbW9kYWxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuLyohXG4gKiBCb290c3RyYXAgTW9kYWxcbiAqXG4gKiBDb3B5cmlnaHQgSm9yZGFuIFNjaHJvdGVyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogQm9vc3RyYXAgMyBwYXRjaCBmb3IgZm9yIGJvb3RzdHJhcC1tb2RhbC4gSW5jbHVkZSBCRUZPUkUgYm9vdHN0cmFwLW1vZGFsLmNzcyFcbiAqL1xuXG5ib2R5Lm1vZGFsLW9wZW4sIC5tb2RhbC1vcGVuIC5uYXZiYXItZml4ZWQtdG9wLCAgLm1vZGFsLW9wZW4gLm5hdmJhci1maXhlZC1ib3R0b20ge1xuXHRtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm1vZGFsIHtcblx0bGVmdDogNTAlO1xuXHRib3R0b206IGF1dG87XG5cdHJpZ2h0OiBhdXRvO1xuXHR6LWluZGV4OiAxMDUwO1xuXHRwYWRkaW5nOiAwO1xuXHR3aWR0aDogNTAwcHg7XG5cdG1hcmdpbi1sZWZ0OiAtMjUwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDlweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDlweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IH1cblxuLm1vZGFsLmNvbnRhaW5lciB7XG5cdG1heC13aWR0aDogbm9uZTsgfVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTA0MDsgfVxuXG5cbi8qIVxuICogQm9vdHN0cmFwIE1vZGFsXG4gKlxuICogQ29weXJpZ2h0IEpvcmRhbiBTY2hyb3RlclxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjBcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqL1xuXG4ubW9kYWwtb3BlbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogYWRkIGEgc2Nyb2xsIGJhciB0byBzdG9wIHBhZ2UgZnJvbSBqZXJraW5nIGFyb3VuZCAqL1xuLm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAucGFnZS1jb250YWluZXIsXG4ubW9kYWwtb3Blbi5wYWdlLW92ZXJmbG93IC5wYWdlLWNvbnRhaW5lciAubmF2YmFyLWZpeGVkLXRvcCxcbi5tb2RhbC1vcGVuLnBhZ2Utb3ZlcmZsb3cgLnBhZ2UtY29udGFpbmVyIC5uYXZiYXItZml4ZWQtYm90dG9tLFxuLm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAubW9kYWwtc2Nyb2xsYWJsZSB7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTc5cHgpIHtcblx0Lm1vZGFsLW9wZW4ucGFnZS1vdmVyZmxvdyAucGFnZS1jb250YWluZXIgLm5hdmJhci1maXhlZC10b3AsXG5cdC5tb2RhbC1vcGVuLnBhZ2Utb3ZlcmZsb3cgLnBhZ2UtY29udGFpbmVyIC5uYXZiYXItZml4ZWQtYm90dG9tIHtcblx0XHRvdmVyZmxvdy15OiB2aXNpYmxlOyB9IH1cblxuXG4ubW9kYWwtc2Nyb2xsYWJsZSB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRvdmVyZmxvdzogYXV0bzsgfVxuXG4ubW9kYWwge1xuXHRvdXRsaW5lOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHRvcDogNTAlO1xuXHRvdmVyZmxvdzogdmlzaWJsZSAvKiBhbGxvdyBjb250ZW50IHRvIHBvcHVwIG91dCAoaS5lIHRvb2x0aXBzKSAqLzsgfVxuXG4ubW9kYWwuZmFkZSB7XG5cdHRvcDogLTEwMCU7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgdG9wIDAuM3MgZWFzZS1vdXQsIGJvdHRvbSAwLjNzIGVhc2Utb3V0LCBtYXJnaW4tdG9wIDAuM3MgZWFzZS1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhciwgdG9wIDAuM3MgZWFzZS1vdXQsIGJvdHRvbSAwLjNzIGVhc2Utb3V0LCBtYXJnaW4tdG9wIDAuM3MgZWFzZS1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXIsIHRvcCAwLjNzIGVhc2Utb3V0LCBib3R0b20gMC4zcyBlYXNlLW91dCwgbWFyZ2luLXRvcCAwLjNzIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyLCB0b3AgMC4zcyBlYXNlLW91dCwgYm90dG9tIDAuM3MgZWFzZS1vdXQsIG1hcmdpbi10b3AgMC4zcyBlYXNlLW91dDsgfVxuXG4ubW9kYWwuZmFkZS5pbiB7XG5cdHRvcDogNTAlOyB9XG5cbi5tb2RhbC1ib2R5IHtcblx0bWF4LWhlaWdodDogbm9uZTtcblx0b3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLm1vZGFsLm1vZGFsLWFic29sdXRlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5NTA7IH1cblxuLm1vZGFsIC5sb2FkaW5nLW1hc2sge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Ym9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5tb2RhbC1iYWNrZHJvcC5tb2RhbC1hYnNvbHV0ZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTQwOyB9XG5cbi5tb2RhbC1iYWNrZHJvcCwgLm1vZGFsLWJhY2tkcm9wLmZhZGUuaW4ge1xuXHRvcGFjaXR5OiAwLjc7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLm1vZGFsLmNvbnRhaW5lciB7XG5cdHdpZHRoOiA5NDBweDtcblx0bWFyZ2luLWxlZnQ6IC00NzBweDsgfVxuXG4vKiBNb2RhbCBPdmVyZmxvdyAqL1xuXG4ubW9kYWwtb3ZlcmZsb3cubW9kYWwge1xuXHR0b3A6IDElOyB9XG5cbi5tb2RhbC1vdmVyZmxvdy5tb2RhbC5mYWRlIHtcblx0dG9wOiAtMTAwJTsgfVxuXG4ubW9kYWwtb3ZlcmZsb3cubW9kYWwuZmFkZS5pbiB7XG5cdHRvcDogMSU7IH1cblxuLm1vZGFsLW92ZXJmbG93IC5tb2RhbC1ib2R5IHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4vKiBSZXNwb25zaXZlICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0Lm1vZGFsLmNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDExNzBweDtcblx0XHRtYXJnaW4tbGVmdDogLTU4NXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk3OXB4KSB7XG5cdC5tb2RhbCwgLm1vZGFsLmNvbnRhaW5lciwgLm1vZGFsLm1vZGFsLW92ZXJmbG93IHtcblx0XHR0b3A6IDElO1xuXHRcdHJpZ2h0OiAxJTtcblx0XHRsZWZ0OiAxJTtcblx0XHRib3R0b206IGF1dG87XG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuXHQubW9kYWwuZmFkZS5pbiwgLm1vZGFsLmNvbnRhaW5lci5mYWRlLmluLCAubW9kYWwubW9kYWwtb3ZlcmZsb3cuZmFkZS5pbiB7XG5cdFx0dG9wOiAxJTtcblx0XHRib3R0b206IGF1dG87IH1cblxuXHQubW9kYWwtYm9keSwgLm1vZGFsLW92ZXJmbG93IC5tb2RhbC1ib2R5IHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdG1hcmdpbjogMDtcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5cdC5tb2RhbC1mb290ZXIsIC5tb2RhbC1vdmVyZmxvdyAubW9kYWwtZm9vdGVyIHtcblx0XHRwb3NpdGlvbjogc3RhdGljOyB9IH1cblxuLmxvYWRpbmctc3Bpbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luOiAtMTJweCAwIDAgLTEycHg7IH1cblxuLmFuaW1hdGVkIHtcblx0LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuXHQtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG5cdC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0LW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHQtby1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLCAxMDAlIHtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXHQxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cdDIwJSwgNDAlLCA2MCUsIDgwJSB7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2hha2Uge1xuXHQwJSwgMTAwJSB7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0MTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXHQyMCUsIDQwJSwgNjAlLCA4MCUge1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuQC1vLWtleWZyYW1lcyBzaGFrZSB7XG5cdDAlLCAxMDAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0MTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuXHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblx0MjAlLCA0MCUsIDYwJSwgODAlIHtcblx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcblx0MCUsIDEwMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXHQxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXHQyMCUsIDQwJSwgNjAlLCA4MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbi5zaGFrZSB7XG5cdC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuXHQtbW96LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcblx0LW8tYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuXHRhbmltYXRpb24tbmFtZTogc2hha2U7IH1cbiIsIi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwLXNhc3MvdmVuZG9yLXByZWZpeGVzXCI7XG5cbi8vIENvbXBvbmVudHNcblxuLy8gU2tpbnNcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwiYm9vdHN0cmFwLXNhc3MvY2xlYXJmaXhcIjtcbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgd2lsbCBiZSByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG4kZ3JheS1iYXNlOiAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxuJGdyYXktZGFyazogICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMjAlKSAhZGVmYXVsdDsgICAvLyAjMzMzXG4kZ3JheTogICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAzMy41JSkgIWRlZmF1bHQ7IC8vICM1NTVcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgOTMuNSUpICFkZWZhdWx0OyAvLyAjZWVlXG5cbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xuJGJyYW5kLWRhbmdlcjogICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcblxuXG4vLz09IFNjYWZmb2xkaW5nXG4vL1xuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIGA8Ym9keT5gLlxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXG4kdGV4dC1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgZGVjb3JhdGlvbi5cbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zZXJpZjogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmICFkZWZhdWx0O1xuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjYpKSAhZGVmYXVsdDsgLy8gfjM2cHhcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS43KSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7IC8vIDIwLzE0XG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0b3IgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxuJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc6ICA1cHggIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1ob3ZlcmAuXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4td2FybmluZy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBIb3Jpem9udGFsIGxpbmUgY29sb3IuXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRyYW5zZm9ybSgwLjNzIGVhc2Utb3V0KTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgMCkgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1jb250ZW50LWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I7IC8vb2xkIGJyb3dzZXJzIGZhbGxiYWNrIChpZTggZXRjKVxuICBib3JkZXI6IDFweCBzb2xpZCAkbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgQGluY2x1ZGUgb3BhY2l0eSgwKTsgfVxuICAmLmluIHsgQGluY2x1ZGUgb3BhY2l0eSgkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAkbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBtaW4taGVpZ2h0OiAoJG1vZGFsLXRpdGxlLXBhZGRpbmcgKyAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4ubmF2IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiAkZnctNjtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIGNvbG9yOiAkZ3JheS0yOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHVpLWxpbms7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSB9XG5cbiAgICAmLmFjdGl2ZSB7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHVpLWxpbms7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgbGVmdDogMWVtO1xuICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHVpLWxpbms7XG4gICAgICAgICAgY29udGVudDogJyc7IH0gfSB9IH0gfVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4ucGFnaW5hdGlvbiB7XG5cdCY+bGkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmbG9hdDogbGVmdDsgfVxuXG5cdCY+bGk+YSwgJj5saT5zcGFuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cGFkZGluZzogNnB4IDEycHg7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG5cdFx0Y29sb3I6ICMzMzdhYjc7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyYXktNDsgfVxuXG5cdCY+bGk6Zmlyc3QtY2hpbGQ+YSwgJj5saTpmaXJzdC1jaGlsZD5zcGFuIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tIDAgMCAkYnItbSk7IH1cblxuXHQmPmxpOmxhc3QtY2hpbGQ+YSwgJj5saTpsYXN0LWNoaWxkPnNwYW4ge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYnItbSAkYnItbSAwKTsgfVxuXG5cdCY+bGk+YTpmb2N1cywgJj5saT5hOmhvdmVyLCAmPmxpPnNwYW46Zm9jdXMsICY+bGk+c3Bhbjpob3ZlciB7XG5cdFx0Y29sb3I6ICRncmF5LTE7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTtcblx0XHRib3JkZXItY29sb3I6ICRncmF5LTQ7IH1cblxuXHQmPi5hY3RpdmUge1xuXHRcdCY+YSwgJj4gYTpmb2N1cywgJiA+YTpob3ZlciwgJj5zcGFuLCAmPnNwYW46Zm9jdXMsICY+c3Bhbjpob3ZlciB7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdWktbGluaztcblx0XHRcdGJvcmRlci1jb2xvcjogJHVpLWxpbms7IH0gfVxuXG5cdCY+LmRpc2FibGVkIHtcblx0XHQmPmEsICYgYTpmb2N1cywgJiBhOmhvdmVyLCAmPnNwYW4sICY+c3Bhbjpmb2N1cywgJj5zcGFuOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkZ3JheS0yO1xuXHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRib3JkZXItY29sb3I6ICRncmF5LTQ7IH0gfSB9XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzMyc7XG5cbi5wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktNDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnItbSk7XG59IiwiQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5cbi5leGFtcGxlLXBvcG92ZXIge1xuXHQucG9wb3ZlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiAyODBweDtcblx0XHRtYXJnaW46IDIwcHggIWltcG9ydGFudDsgfSB9XG5cbi5wb3BvdmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6ICR6aW5kZXgtcG9wb3Zlcjtcblx0ZGlzcGxheTogbm9uZTtcblx0bWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG5cdHBhZGRpbmc6IDFweDtcblx0Ly8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIGdpdmVuIG5ldyBpbnNlcnRpb24gbWV0aG9kXG5cdGZvbnQtZmFtaWx5OiAka3lydXVzLWZvbnQ7XG5cdGZvbnQtc2l6ZTogJGZzLW07XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG5cdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcblx0Ym9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tKTtcblx0QGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuXHQvLyBPdmVycmlkZXMgZm9yIHByb3BlciBpbnNlcnRpb25cblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuXHQvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcblx0Ji50b3Age1xuXHRcdG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuXHQmLnJpZ2h0IHtcblx0XHRtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cblx0Ji5ib3R0b20ge1xuXHRcdG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG5cdCYubGVmdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDsgfSB9XG5cbi5wb3BvdmVyLXRpdGxlIHtcblx0bWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuXHRwYWRkaW5nOiA4cHggMTRweDtcblx0Zm9udC1zaXplOiAkZnMtbTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcblx0Ym9yZGVyLXJhZGl1czogKCRici1tIC0gMSkgKCRici1tIC0gMSkgMCAwOyB9XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuXHRwYWRkaW5nOiA5cHggMTRweDsgfVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG5cdCYsXG5cdCY6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkOyB9IH1cblxuLnBvcG92ZXIgPiAuYXJyb3cge1xuXHRib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoOyB9XG5cbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcblx0Ym9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcblx0Y29udGVudDogXCJcIjsgfVxuXG4ucG9wb3ZlciB7XG5cdCYudG9wID4gLmFycm93IHtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcblx0XHRib3R0b206IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0Ym90dG9tOiAxcHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMDtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yOyB9IH1cblxuXHQmLnJpZ2h0ID4gLmFycm93IHtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG5cdFx0bWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuXHRcdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuXHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0bGVmdDogMXB4O1xuXHRcdFx0Ym90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cdFx0XHRib3JkZXItbGVmdC13aWR0aDogMDtcblx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7IH0gfVxuXG5cdCYuYm90dG9tID4gLmFycm93IHtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblx0XHRib3JkZXItdG9wLXdpZHRoOiAwO1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcblx0XHR0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHR0b3A6IDFweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7IH0gfVxuXG5cdCYubGVmdCA+IC5hcnJvdyB7XG5cdFx0dG9wOiA1MCU7XG5cdFx0cmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcblx0XHRtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG5cdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRyaWdodDogMXB4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuXHRcdFx0Ym90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7IH0gfSB9XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbmhyIHtcblx0Y29sb3I6IHJlZDsgfVxuXG4uc2VwYXJhdG9yIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LTQ7IH1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLnRhYi1uYXYge1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0bWFyZ2luLWJvdHRvbTogLTFweDtcblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXI6IHtcblx0XHRcdHRvcDogMXB4IHNvbGlkICRncmF5LTQ7XG5cdFx0XHRyaWdodDogMXB4IHNvbGlkICRncmF5LTQ7XG5cdFx0XHRib3R0b206IDFweCBzb2xpZCAkZ3JheS00O1xuXHRcdFx0bGVmdDogMDsgfVxuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6ICRncmF5LTU7XG5cblx0XHRhIHtcblx0XHRcdHBhZGRpbmc6IDFlbTtcblx0XHRcdGNvbG9yOiAkZ3JheS0xOyB9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHVpLWxpbms7IH0gfVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG5cdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRici1tIDAgMCAwKTsgfVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkYnItbSAwIDApOyB9XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGdyYXktMTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0OyB9IH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtNnB4O1xuXHRcdFx0XHR0b3A6IDBcXDk7IC8vSUUgOCBhbmQgYmVsb3cgZml4XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJHVpLWxpbms7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwxNTAlLDApO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTUwJSwwKTsgfSB9XG5cblx0XHQmLmRpc2FibGVkIHtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuXHRcdFx0Y29sb3I6ICNiYmI7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogI2JiYjtcblx0XHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gfSB9IH0gfVxuIiwiXG5cbnRhYmxlIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdHRoIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzlhYTViMjtcblx0XHRwYWRkaW5nOiAwIDAgOHB4IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRjb2xvcjogJGdyYXktMTtcblx0XHRmb250LXdlaWdodDogJGZ3LTY7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5cdHRkIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGZlNDtcblx0XHRjb2xvcjogJGdyYXktMTtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGNvbG9yOiAkZ3JheS0xOyB9IH1cblxuXHQmLmZ1bGwtd2lkdGgge1xuXHRcdHdpZHRoOiAxMDAlOyB9XG5cblx0Ji50YWJsZS1zIHtcblx0XHR0ZCwgdGgge1xuXHRcdFx0cGFkZGluZzogJHRzLXM7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkdHMtcyAkdHMtcyAkdHMtcyAwOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkdHMtcyAwICR0cy1zICR0cy1zOyB9IH1cblxuXHRcdHRkIHtcblx0XHRcdGZvbnQtc2l6ZTogJGZzLXM7IH0gfVxuXG5cdCYudGFibGUtbSB7XG5cdFx0dGQsIHRoIHtcblx0XHRcdHBhZGRpbmc6ICR0cy1tO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZzogJHRzLW0gJHRzLW0gJHRzLW0gMDsgfVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZzogJHRzLW0gMCAkdHMtbSAkdHMtbTsgfSB9XG5cdFx0dGQge1xuXHRcdFx0Zm9udC1zaXplOiAkZnMtczsgfSB9XG5cblx0Ji50YWJsZS1sIHtcblx0XHR0ZCwgdGgge1xuXHRcdFx0cGFkZGluZzogJHRzLWw7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkdHMtbCAkdHMtbCAkdHMtbCAwOyB9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkdHMtbCAwICR0cy1sICR0cy1sOyB9IH1cblx0XHR0ZCB7XG5cdFx0XHRmb250LXNpemU6ICRmcy1tOyB9IH0gfVxuIiwiQGltcG9ydCBcImNvbXBvbmVudHMvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiY29tcGFzcy1taXhpbnMvbGliL2NvbXBhc3MvY3NzM1wiO1xuXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogJGdyYXktMjtcbiAgXG4uZXhhbXBsZS10b29sdGlwIC50b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMTBweCAyMHB4O1xuICBvcGFjaXR5OiAxO1xufVxuXG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAvLyBSZXNldCBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgZ2l2ZW4gbmV3IGluc2VydGlvbiBtZXRob2RcbiAgZm9udC1mYW1pbHk6ICRreXJ1dXMtZm9udDtcbiAgZm9udC1zaXplOiAkZnMteHM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyBAaW5jbHVkZSBvcGFjaXR5KCR0b29sdGlwLW9wYWNpdHkpOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnItbSk7XG59XG5cbi8vIEFycm93c1xuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4vLyBOb3RlOiBEZXByZWNhdGVkIC50b3AtbGVmdCwgLnRvcC1yaWdodCwgLmJvdHRvbS1sZWZ0LCBhbmQgLmJvdHRvbS1yaWdodCBhcyBvZiB2My4zLjFcbi50b29sdGlwIHtcbiAgJi50b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoIDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuKiB7XG5cdGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vLyBmb250IHNpemVcbi5mcy14eHMge1xuXHRmb250LXNpemU6ICRmcy14eHM7IH1cbi5mcy14cyB7XG5cdGZvbnQtc2l6ZTogJGZzLXhzOyB9XG4uZnMtcyB7XG5cdGZvbnQtc2l6ZTogJGZzLXM7IH1cbi5mcy1tIHtcblx0Zm9udC1zaXplOiAkZnMtbTsgfVxuLmZzLWwge1xuXHRmb250LXNpemU6ICRmcy1sOyB9XG4uZnMteGwge1xuXHRmb250LXNpemU6ICRmcy14bDsgfVxuLmZzLXh4bCB7XG5cdGZvbnQtc2l6ZTogJGZzLXh4bDsgfVxuXG4vLyBmb250IHdlaWdodFxuLmZ3LTQge1xuXHRmb250LXdlaWdodDogJGZ3LTQ7IH1cbi5mdy01IHtcblx0Zm9udC13ZWlnaHQ6ICRmdy01OyB9XG4uZnctNiB7XG5cdGZvbnQtd2VpZ2h0OiAkZnctNjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0c3BhbiwgYSB7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0OyB9IH1cblxuaDEge1xuXHRmb250LXNpemU6ICRmcy14bDsgfVxuaDIge1xuXHRmb250LXNpemU6ICRmcy1sOyB9XG5oMyB7XG5cdGZvbnQtc2l6ZTogJGZzLW07IH1cbmg0IHtcblx0Zm9udC1zaXplOiAkZnMtczsgfVxuaDUge1xuXHRmb250LXNpemU6ICRmcy14czsgfVxuXG5wIHtcblx0Zm9udC1zaXplOiAkZnMtcztcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRjb2xvcjogJGdyYXktMTtcblx0bWFyZ2luLWJvdHRvbTogJHNwLW07XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogLTVweDsgfVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLTVweDsgfSB9XG5cbmIsIHN0cm9uZyB7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG4udGEtYyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGEtbCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhLXIge1xuXHR0ZXh0LWFsaWduOiByaWdodDsgfVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdreXJ1dXMtaWNvbi1mb250JztcbiAgc3JjOiAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0va3lydXVzLWljb24tZm9udC5lb3Q/N2N5dXgxJyk7XG4gIHNyYzogIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L2t5cnV1cy1pY29uLWZvbnQuZW90PzdjeXV4MSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9reXJ1dXMtaWNvbi1mb250LnR0Zj83Y3l1eDEnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0va3lydXVzLWljb24tZm9udC53b2ZmPzdjeXV4MScpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L2t5cnV1cy1pY29uLWZvbnQuc3ZnPzdjeXV4MSNreXJ1dXMtaWNvbi1mb250JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2t5cnV1cy1pY29uLWZvbnQnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1zY2hlZHVsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1zY2hlZHVsZTtcbiAgfVxufVxuLmljb24tZXZlbnQtYXZhaWxhYmxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWV2ZW50LWF2YWlsYWJsZTtcbiAgfVxufVxuLmljb24tbWFpbC1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLW1haWwtb3V0bGluZTtcbiAgfVxufVxuLmljb24tdmlkZW9jYW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tdmlkZW9jYW07XG4gIH1cbn1cbi5pY29uLXBvd2VyZWQtYnkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tcG93ZXJlZC1ieTtcbiAgfVxufVxuLmljb24tcG93ZXJlZC1ieS1sb2dvIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXBvd2VyZWQtYnktbG9nbztcbiAgfVxufVxuLmljb24tcG0tbG9nby1sYXJnZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1wbS1sb2dvLWxhcmdlO1xuICB9XG59XG4uaWNvbi1saW5rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWxpbms7XG4gIH1cbn1cbi5pY29uLWVycm9yLWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1lcnJvci1jaXJjbGU7XG4gIH1cbn1cbi5pY29uLWVycm9yLWNpcmNsZS1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWVycm9yLWNpcmNsZS1vdXRsaW5lO1xuICB9XG59XG4uaWNvbi1lcXVhbGl6ZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tZXF1YWxpemVyO1xuICB9XG59XG4uaWNvbi1taWMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tbWljO1xuICB9XG59XG4uaWNvbi1taWMtb3V0bGluZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1taWMtb3V0bGluZTtcbiAgfVxufVxuLmljb24tcGxheS1hcnJvdyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1wbGF5LWFycm93O1xuICB9XG59XG4uaWNvbi1ib29rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWJvb2s7XG4gIH1cbn1cbi5pY29uLWFkZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hZGQ7XG4gIH1cbn1cbi5pY29uLWFkZC1jaXJjbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYWRkLWNpcmNsZTtcbiAgfVxufVxuLmljb24tYWRkLWNpcmNsZS1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFkZC1jaXJjbGUtb3V0bGluZTtcbiAgfVxufVxuLmljb24tY2FuY2VsIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWNhbmNlbDtcbiAgfVxufVxuLmljb24taW5ib3gge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24taW5ib3g7XG4gIH1cbn1cbi5pY29uLXJlbW92ZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1yZW1vdmU7XG4gIH1cbn1cbi5pY29uLXJlbW92ZS1jaXJjbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tcmVtb3ZlLWNpcmNsZTtcbiAgfVxufVxuLmljb24tcmVtb3ZlLWNpcmNsZS1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXJlbW92ZS1jaXJjbGUtb3V0bGluZTtcbiAgfVxufVxuLmljb24taW5zZXJ0LWNoYXJ0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWluc2VydC1jaGFydDtcbiAgfVxufVxuLmljb24tZWRpdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1lZGl0O1xuICB9XG59XG4uaWNvbi1hcnJvdy1kb3duIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LWRvd247XG4gIH1cbn1cbi5pY29uLWFycm93LXVwIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwO1xuICB9XG59XG4uaWNvbi1jaXJjbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tY2lyY2xlO1xuICB9XG59XG4uaWNvbi1oYW1idXJnZXItbWVudSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1oYW1idXJnZXItbWVudTtcbiAgfVxufVxuLmljb24tYXJyb3ctbGVmdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1sZWZ0O1xuICB9XG59XG4uaWNvbi1hcnJvdy1yaWdodCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDtcbiAgfVxufVxuLmljb24tY2lyY2xlLW91dGxpbmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tY2lyY2xlLW91dGxpbmU7XG4gIH1cbn1cbi5pY29uLXBob25lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXBob25lO1xuICB9XG59XG4uaWNvbi1waW4tZHJvcCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1waW4tZHJvcDtcbiAgfVxufVxuLmljb24tcGluIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXBpbjtcbiAgfVxufVxuLmljb24tYXBwcyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hcHBzO1xuICB9XG59XG4uaWNvbi1hcnJvdy1sZWZ0LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctbGVmdC0yO1xuICB9XG59XG4uaWNvbi1hcnJvdy1kb3duLTMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctZG93bi0zO1xuICB9XG59XG4uaWNvbi1hcnJvdy11cC0zIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXVwLTM7XG4gIH1cbn1cbi5pY29uLWFycm93LXJpZ2h0LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQtMjtcbiAgfVxufVxuLmljb24tY2FuY2VsLWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1jYW5jZWwtY2lyY2xlO1xuICB9XG59XG4uaWNvbi1jaGVjayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1jaGVjaztcbiAgfVxufVxuLmljb24tZXJyb3Ige1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tZXJyb3I7XG4gIH1cbn1cbi5pY29uLWdyb3VwIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWdyb3VwO1xuICB9XG59XG4uaWNvbi1tb29kLWhhcHB5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLW1vb2QtaGFwcHk7XG4gIH1cbn1cbi5pY29uLW1vb2QtYmFkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLW1vb2QtYmFkO1xuICB9XG59XG4uaWNvbi1ncm91cC1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWdyb3VwLW91dGxpbmU7XG4gIH1cbn1cbi5pY29uLXBlcnNvbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1wZXJzb247XG4gIH1cbn1cbi5pY29uLXBlcnNvbi1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXBlcnNvbi1vdXRsaW5lO1xuICB9XG59XG4uaWNvbi1yYWRpby1idXR0b24tYWN0aXZlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXJhZGlvLWJ1dHRvbi1hY3RpdmU7XG4gIH1cbn1cbi5pY29uLWFjY291bnQtYm94IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWFjY291bnQtYm94O1xuICB9XG59XG4uaWNvbi1hY2NvdW50LWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hY2NvdW50LWNpcmNsZTtcbiAgfVxufVxuLmljb24tYWNjb3VudC1iYWRnZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1hY2NvdW50LWJhZGdlO1xuICB9XG59XG4uaWNvbi1yZWZyZXNoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXJlZnJlc2g7XG4gIH1cbn1cbi5pY29uLWJvb2ttYXJrcyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1ib29rbWFya3M7XG4gIH1cbn1cbi5pY29uLWJvb2ttYXJrLW91dGxpbmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYm9va21hcmstb3V0bGluZTtcbiAgfVxufVxuLmljb24tY2hlY2stY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrLWNpcmNsZTtcbiAgfVxufVxuLmljb24tZGVsZXRlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWRlbGV0ZTtcbiAgfVxufVxuLmljb24tZmFjZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1mYWNlO1xuICB9XG59XG4uaWNvbi1oZWxwZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24taGVscGVyO1xuICB9XG59XG4uaWNvbi1jYW5jZWwtY2lyY2xlLW91dGxpbmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tY2FuY2VsLWNpcmNsZS1vdXRsaW5lO1xuICB9XG59XG4uaWNvbi1ob21lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWhvbWU7XG4gIH1cbn1cbi5pY29uLWluZm8tY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWluZm8tY2lyY2xlO1xuICB9XG59XG4uaWNvbi1pbmZvLWNpcmNsZS1vdXRsaW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWluZm8tY2lyY2xlLW91dGxpbmU7XG4gIH1cbn1cbi5pY29uLXByaW50IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXByaW50O1xuICB9XG59XG4uaWNvbi13YXJuaW5nIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXdhcm5pbmc7XG4gIH1cbn1cbi5pY29uLXNlYXJjaCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1zZWFyY2g7XG4gIH1cbn1cbi5pY29uLWNvZyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaWNvbi1jb2c7XG4gIH1cbn1cbi5pY29uLWNoZWNrLWJhZGdlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWNoZWNrLWJhZGdlO1xuICB9XG59XG4uaWNvbi13b3JrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXdvcms7XG4gIH1cbn1cbi5pY29uLXVzZXItbWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tdXNlci1tZDtcbiAgfVxufVxuLmljb24tbGlnaHRidWxiLW91dGxpbmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tbGlnaHRidWxiLW91dGxpbmU7XG4gIH1cbn1cbi5pY29uLWNhbGVuZGFyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLWNhbGVuZGFyO1xuICB9XG59XG4uaWNvbi1idXNpbmVzcy1jZW50ZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tYnVzaW5lc3MtY2VudGVyO1xuICB9XG59XG4uaWNvbi1zdGFyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpY29uLXN0YXI7XG4gIH1cbn1cbi5pY29uLXN0YXItZW1wdHkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGljb24tc3Rhci1lbXB0eTtcbiAgfVxufVxuXG4iLCIkaWNvbW9vbi1mb250LXBhdGg6IFwiaHR0cHM6Ly9jZG4ua3lydXVzLmNvbS9saWIva3lydXVzLWljb25zLzEuMS4wXCIgIWRlZmF1bHQ7XG5cbiRpY29uLXNjaGVkdWxlOiBcIlxcZThiNVwiO1xuJGljb24tZXZlbnQtYXZhaWxhYmxlOiBcIlxcZTYxNFwiO1xuJGljb24tbWFpbC1vdXRsaW5lOiBcIlxcZTBlMVwiO1xuJGljb24tdmlkZW9jYW06IFwiXFxlMDRiXCI7XG4kaWNvbi1wb3dlcmVkLWJ5OiBcIlxcNDFcIjtcbiRpY29uLXBvd2VyZWQtYnktbG9nbzogXCJcXDQyXCI7XG4kaWNvbi1wbS1sb2dvLWxhcmdlOiBcIlxcNzhcIjtcbiRpY29uLWxpbms6IFwiXFw3YVwiO1xuJGljb24tZXJyb3ItY2lyY2xlOiBcIlxcZTAwMFwiO1xuJGljb24tZXJyb3ItY2lyY2xlLW91dGxpbmU6IFwiXFxlMDAxXCI7XG4kaWNvbi1lcXVhbGl6ZXI6IFwiXFxlMDFkXCI7XG4kaWNvbi1taWM6IFwiXFxlMDI5XCI7XG4kaWNvbi1taWMtb3V0bGluZTogXCJcXGUwMmFcIjtcbiRpY29uLXBsYXktYXJyb3c6IFwiXFxlMDM3XCI7XG4kaWNvbi1ib29rOiBcIlxcZTBlMFwiO1xuJGljb24tYWRkOiBcIlxcZTE0NVwiO1xuJGljb24tYWRkLWNpcmNsZTogXCJcXGUxNDdcIjtcbiRpY29uLWFkZC1jaXJjbGUtb3V0bGluZTogXCJcXGUxNDhcIjtcbiRpY29uLWNhbmNlbDogXCJcXGUxNGNcIjtcbiRpY29uLWluYm94OiBcIlxcZTE1NlwiO1xuJGljb24tcmVtb3ZlOiBcIlxcZTE1YlwiO1xuJGljb24tcmVtb3ZlLWNpcmNsZTogXCJcXGUxNWNcIjtcbiRpY29uLXJlbW92ZS1jaXJjbGUtb3V0bGluZTogXCJcXGUxNWRcIjtcbiRpY29uLWluc2VydC1jaGFydDogXCJcXGUyNGJcIjtcbiRpY29uLWVkaXQ6IFwiXFxlMjU0XCI7XG4kaWNvbi1hcnJvdy1kb3duOiBcIlxcZTMxM1wiO1xuJGljb24tYXJyb3ctdXA6IFwiXFxlMzE2XCI7XG4kaWNvbi1jaXJjbGU6IFwiXFxlM2E2XCI7XG4kaWNvbi1oYW1idXJnZXItbWVudTogXCJcXGUzYzdcIjtcbiRpY29uLWFycm93LWxlZnQ6IFwiXFxlNDA4XCI7XG4kaWNvbi1hcnJvdy1yaWdodDogXCJcXGU0MDlcIjtcbiRpY29uLWNpcmNsZS1vdXRsaW5lOiBcIlxcZTQwY1wiO1xuJGljb24tcGhvbmU6IFwiXFxlNTUxXCI7XG4kaWNvbi1waW4tZHJvcDogXCJcXGU1NWVcIjtcbiRpY29uLXBpbjogXCJcXGU1NWZcIjtcbiRpY29uLWFwcHM6IFwiXFxlNWMzXCI7XG4kaWNvbi1hcnJvdy1sZWZ0LTI6IFwiXFxlNWM0XCI7XG4kaWNvbi1hcnJvdy1kb3duLTM6IFwiXFxlNWM1XCI7XG4kaWNvbi1hcnJvdy11cC0zOiBcIlxcZTVjN1wiO1xuJGljb24tYXJyb3ctcmlnaHQtMjogXCJcXGU1YzhcIjtcbiRpY29uLWNhbmNlbC1jaXJjbGU6IFwiXFxlNWM5XCI7XG4kaWNvbi1jaGVjazogXCJcXGU1Y2FcIjtcbiRpY29uLWVycm9yOiBcIlxcZTYxMlwiO1xuJGljb24tZ3JvdXA6IFwiXFxlN2VmXCI7XG4kaWNvbi1tb29kLWhhcHB5OiBcIlxcZTdmMlwiO1xuJGljb24tbW9vZC1iYWQ6IFwiXFxlN2YzXCI7XG4kaWNvbi1ncm91cC1vdXRsaW5lOiBcIlxcZTdmY1wiO1xuJGljb24tcGVyc29uOiBcIlxcZTdmZFwiO1xuJGljb24tcGVyc29uLW91dGxpbmU6IFwiXFxlN2ZmXCI7XG4kaWNvbi1yYWRpby1idXR0b24tYWN0aXZlOiBcIlxcZTgzN1wiO1xuJGljb24tYWNjb3VudC1ib3g6IFwiXFxlODUxXCI7XG4kaWNvbi1hY2NvdW50LWNpcmNsZTogXCJcXGU4NTNcIjtcbiRpY29uLWFjY291bnQtYmFkZ2U6IFwiXFxlODVlXCI7XG4kaWNvbi1yZWZyZXNoOiBcIlxcZTg2M1wiO1xuJGljb24tYm9va21hcmtzOiBcIlxcZTg2NlwiO1xuJGljb24tYm9va21hcmstb3V0bGluZTogXCJcXGU4NjdcIjtcbiRpY29uLWNoZWNrLWNpcmNsZTogXCJcXGU4NmNcIjtcbiRpY29uLWRlbGV0ZTogXCJcXGU4NzJcIjtcbiRpY29uLWZhY2U6IFwiXFxlODdjXCI7XG4kaWNvbi1oZWxwZXI6IFwiXFxlODg3XCI7XG4kaWNvbi1jYW5jZWwtY2lyY2xlLW91dGxpbmU6IFwiXFxlODg4XCI7XG4kaWNvbi1ob21lOiBcIlxcZTg4YVwiO1xuJGljb24taW5mby1jaXJjbGU6IFwiXFxlODhlXCI7XG4kaWNvbi1pbmZvLWNpcmNsZS1vdXRsaW5lOiBcIlxcZTg4ZlwiO1xuJGljb24tcHJpbnQ6IFwiXFxlOGFkXCI7XG4kaWNvbi13YXJuaW5nOiBcIlxcZThiMlwiO1xuJGljb24tc2VhcmNoOiBcIlxcZThiNlwiO1xuJGljb24tY29nOiBcIlxcZThiOFwiO1xuJGljb24tY2hlY2stYmFkZ2U6IFwiXFxlOGU4XCI7XG4kaWNvbi13b3JrOiBcIlxcZThmOVwiO1xuJGljb24tdXNlci1tZDogXCJcXGU5MDBcIjtcbiRpY29uLWxpZ2h0YnVsYi1vdXRsaW5lOiBcIlxcZTkwZlwiO1xuJGljb24tY2FsZW5kYXI6IFwiXFxlOTE2XCI7XG4kaWNvbi1idXNpbmVzcy1jZW50ZXI6IFwiXFxlYjNmXCI7XG4kaWNvbi1zdGFyOiBcIlxcZTgwMFwiO1xuJGljb24tc3Rhci1lbXB0eTogXCJcXGU4MDFcIjtcblxuIiwiQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59IiwiLyoqXG4gKiBSZWFjdCBTZWxlY3QgUGx1c1xuICogPT09PT09PT09PT09PT09PT1cbiAqIE1JVCBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vSHViU3BvdC9yZWFjdC1zZWxlY3QtcGx1c1xuKi9cbi5TZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uU2VsZWN0LFxuLlNlbGVjdCBkaXYsXG4uU2VsZWN0IGlucHV0LFxuLlNlbGVjdCBzcGFuIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uU2VsZWN0LmlzLWRpc2FibGVkID4gLlNlbGVjdC1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cbi5TZWxlY3QuaXMtZGlzYWJsZWQgPiAuU2VsZWN0LWNvbnRyb2w6aG92ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLlNlbGVjdC5pcy1kaXNhYmxlZCAuU2VsZWN0LWFycm93LXpvbmUge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuLlNlbGVjdC1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDlkOWQ5ICNjY2MgI2IzYjNiMztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBjb2xvcjogIzMzMztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGhlaWdodDogMzZweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5TZWxlY3QtY29udHJvbDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cbi5TZWxlY3QtY29udHJvbCAuU2VsZWN0LWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5pcy1zZWFyY2hhYmxlLmlzLW9wZW4gPiAuU2VsZWN0LWNvbnRyb2wge1xuICBjdXJzb3I6IHRleHQ7XG59XG4uaXMtb3BlbiA+IC5TZWxlY3QtY29udHJvbCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNiM2IzYjMgI2NjYyAjZDlkOWQ5O1xufVxuLmlzLW9wZW4gPiAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC1hcnJvdyB7XG4gIHRvcDogLTJweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTk5O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbn1cbi5pcy1zZWFyY2hhYmxlLmlzLWZvY3VzZWQ6bm90KC5pcy1vcGVuKSA+IC5TZWxlY3QtY29udHJvbCB7XG4gIGN1cnNvcjogdGV4dDtcbn1cbi5pcy1mb2N1c2VkOm5vdCguaXMtb3BlbikgPiAuU2VsZWN0LWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICMwMDdlZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDAgM3B4IHJnYmEoMCwgMTI2LCAyNTUsIDAuMSk7XG59XG4uU2VsZWN0LXBsYWNlaG9sZGVyLFxuLlNlbGVjdC0tc2luZ2xlID4gLlNlbGVjdC1jb250cm9sIC5TZWxlY3QtdmFsdWUge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjYWFhO1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGFzLXZhbHVlLmlzLWNsZWFyYWJsZS5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIHtcbiAgcGFkZGluZy1yaWdodDogNDJweDtcbn1cbi5oYXMtdmFsdWUuU2VsZWN0LS1zaW5nbGUgPiAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSAuU2VsZWN0LXZhbHVlLWxhYmVsLFxuLmhhcy12YWx1ZS5pcy1wc2V1ZG8tZm9jdXNlZC5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIC5TZWxlY3QtdmFsdWUtbGFiZWwge1xuICBjb2xvcjogIzMzMztcbn1cbi5oYXMtdmFsdWUuU2VsZWN0LS1zaW5nbGUgPiAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSBhLlNlbGVjdC12YWx1ZS1sYWJlbCxcbi5oYXMtdmFsdWUuaXMtcHNldWRvLWZvY3VzZWQuU2VsZWN0LS1zaW5nbGUgPiAuU2VsZWN0LWNvbnRyb2wgLlNlbGVjdC12YWx1ZSBhLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmhhcy12YWx1ZS5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmhvdmVyLFxuLmhhcy12YWx1ZS5pcy1wc2V1ZG8tZm9jdXNlZC5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmhvdmVyLFxuLmhhcy12YWx1ZS5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmZvY3VzLFxuLmhhcy12YWx1ZS5pcy1wc2V1ZG8tZm9jdXNlZC5TZWxlY3QtLXNpbmdsZSA+IC5TZWxlY3QtY29udHJvbCAuU2VsZWN0LXZhbHVlIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmZvY3VzIHtcbiAgY29sb3I6ICMwMDdlZmY7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLlNlbGVjdC1pbnB1dCB7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLlNlbGVjdC1pbnB1dCA+IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMCBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgLyogRm9yIElFIDggY29tcGF0aWJpbGl0eSAqL1xuICBwYWRkaW5nOiA4cHggMCAxMnB4O1xuICAvKiBGb3IgSUUgOCBjb21wYXRpYmlsaXR5ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5pcy1mb2N1c2VkIC5TZWxlY3QtaW5wdXQgPiBpbnB1dCB7XG4gIGN1cnNvcjogdGV4dDtcbn1cbi5oYXMtdmFsdWUuaXMtcHNldWRvLWZvY3VzZWQgLlNlbGVjdC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG59XG4uU2VsZWN0LWNvbnRyb2w6bm90KC5pcy1zZWFyY2hhYmxlKSA+IC5TZWxlY3QtaW5wdXQge1xuICBvdXRsaW5lOiBub25lO1xufVxuLlNlbGVjdC1sb2FkaW5nLXpvbmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTZweDtcbn1cbi5TZWxlY3QtbG9hZGluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBTZWxlY3QtYW5pbWF0aW9uLXNwaW4gNDAwbXMgaW5maW5pdGUgbGluZWFyO1xuICAtby1hbmltYXRpb246IFNlbGVjdC1hbmltYXRpb24tc3BpbiA0MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogU2VsZWN0LWFuaW1hdGlvbi1zcGluIDQwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLlNlbGVjdC1jbGVhci16b25lIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IFNlbGVjdC1hbmltYXRpb24tZmFkZUluIDIwMG1zO1xuICAtby1hbmltYXRpb246IFNlbGVjdC1hbmltYXRpb24tZmFkZUluIDIwMG1zO1xuICBhbmltYXRpb246IFNlbGVjdC1hbmltYXRpb24tZmFkZUluIDIwMG1zO1xuICBjb2xvcjogIzk5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDE3cHg7XG59XG4uU2VsZWN0LWNsZWFyLXpvbmU6aG92ZXIge1xuICBjb2xvcjogI0QwMDIxQjtcbn1cbi5TZWxlY3QtY2xlYXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LWNsZWFyLXpvbmUge1xuICB3aWR0aDogMTdweDtcbn1cbi5TZWxlY3QtYXJyb3ctem9uZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG4uU2VsZWN0LWFycm93IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTk5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMi41cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLW9wZW4gLlNlbGVjdC1hcnJvdyxcbi5TZWxlY3QtYXJyb3ctem9uZTpob3ZlciA+IC5TZWxlY3QtYXJyb3cge1xuICBib3JkZXItdG9wLWNvbG9yOiAjNjY2O1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC1tdWx0aS12YWx1ZS13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLlNlbGVjdCAuU2VsZWN0LWFyaWEtb25seSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgU2VsZWN0LWFuaW1hdGlvbi1mYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIFNlbGVjdC1hbmltYXRpb24tZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLlNlbGVjdC1tZW51LW91dGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZTZlNmU2O1xuICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5TZWxlY3QtbWVudSB7XG4gIG1heC1oZWlnaHQ6IDE5OHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuLlNlbGVjdC1vcHRpb24tZ3JvdXAtbGFiZWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xufVxuLlNlbGVjdC1vcHRpb24tZ3JvdXAtbGFiZWwgfiAuU2VsZWN0LW9wdGlvbixcbi5TZWxlY3Qtb3B0aW9uLWdyb3VwLWxhYmVsIH4gLlNlbGVjdC1vcHRpb24tZ3JvdXAge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4uU2VsZWN0LW9wdGlvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cbi5TZWxlY3Qtb3B0aW9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG4uU2VsZWN0LW9wdGlvbi5pcy1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWZhZmY7XG4gIC8qIEZhbGxiYWNrIGNvbG9yIGZvciBJRSA4ICovXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI2LCAyNTUsIDAuMDQpO1xuICBjb2xvcjogIzMzMztcbn1cbi5TZWxlY3Qtb3B0aW9uLmlzLWZvY3VzZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNWZmO1xuICAvKiBGYWxsYmFjayBjb2xvciBmb3IgSUUgOCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNiwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICMzMzM7XG59XG4uU2VsZWN0LW9wdGlvbi5pcy1kaXNhYmxlZCB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uU2VsZWN0LW5vcmVzdWx0cyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cbi5TZWxlY3QtLW11bHRpIC5TZWxlY3QtaW5wdXQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgcGFkZGluZzogMDtcbn1cbi5TZWxlY3QtLW11bHRpLmhhcy12YWx1ZSAuU2VsZWN0LWlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi5TZWxlY3QtLW11bHRpIC5TZWxlY3QtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNWZmO1xuICAvKiBGYWxsYmFjayBjb2xvciBmb3IgSUUgOCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyNiwgMjU1LCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzJlMGZmO1xuICAvKiBGYWxsYmFjayBjb2xvciBmb3IgSUUgOCAqL1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDEyNiwgMjU1LCAwLjI0KTtcbiAgY29sb3I6ICMwMDdlZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC12YWx1ZS1pY29uLFxuLlNlbGVjdC0tbXVsdGkgLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5TZWxlY3QtLW11bHRpIC5TZWxlY3QtdmFsdWUtbGFiZWwge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG4uU2VsZWN0LS1tdWx0aSBhLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gIGNvbG9yOiAjMDA3ZWZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5TZWxlY3QtLW11bHRpIGEuU2VsZWN0LXZhbHVlLWxhYmVsOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzJlMGZmO1xuICAvKiBGYWxsYmFjayBjb2xvciBmb3IgSUUgOCAqL1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDEyNiwgMjU1LCAwLjI0KTtcbiAgcGFkZGluZzogMXB4IDVweCAzcHg7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb246aG92ZXIsXG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhlYWZkO1xuICAvKiBGYWxsYmFjayBjb2xvciBmb3IgSUUgOCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDExMywgMjMwLCAwLjA4KTtcbiAgY29sb3I6ICMwMDcxZTY7XG59XG4uU2VsZWN0LS1tdWx0aSAuU2VsZWN0LXZhbHVlLWljb246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyZTBmZjtcbiAgLyogRmFsbGJhY2sgY29sb3IgZm9yIElFIDggKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjYsIDI1NSwgMC4yNCk7XG59XG4uU2VsZWN0LS1tdWx0aS5pcy1kaXNhYmxlZCAuU2VsZWN0LXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMztcbiAgY29sb3I6ICMzMzM7XG59XG4uU2VsZWN0LS1tdWx0aS5pcy1kaXNhYmxlZCAuU2VsZWN0LXZhbHVlLWljb24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTNlM2UzO1xufVxuLlNlbGVjdC0tbXVsdGkuaXMtZGlzYWJsZWQgLlNlbGVjdC12YWx1ZS1pY29uOmhvdmVyLFxuLlNlbGVjdC0tbXVsdGkuaXMtZGlzYWJsZWQgLlNlbGVjdC12YWx1ZS1pY29uOmZvY3VzLFxuLlNlbGVjdC0tbXVsdGkuaXMtZGlzYWJsZWQgLlNlbGVjdC12YWx1ZS1pY29uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG59XG5Aa2V5ZnJhbWVzIFNlbGVjdC1hbmltYXRpb24tc3BpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBTZWxlY3QtYW5pbWF0aW9uLXNwaW4ge1xuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7XG4gIH1cbn1cbiIsIi5TZWxlY3QtLW11bHRpIHtcbiAgLlNlbGVjdC12YWx1ZSB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTU7XG4gICAgY29sb3I6ICRncmF5LTE7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS00O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAuU2VsZWN0LXZhbHVlLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXI6IDBweDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktNDtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTM7XG4gICAgfVxuICB9XG5cbiAgLlNlbGVjdC12YWx1ZS1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLlNlbGVjdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkZ3JheS0xO1xuXG4gICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS00O1xuICAgICAgY29sb3I6ICRncmF5LTE7XG4gICAgfVxuXG4gICAgJi5pcy1mb2N1c2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTU7XG4gICAgICBjb2xvcjogJGdyYXktMTtcbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0IFwiY29tcG9uZW50cy92YXJpYWJsZXNcIjtcblxuQG1lZGlhIHByaW50IHtcbiAgLypcbiAgKiBDaHJvbWUsIEludGVybmV0IEV4cGxvcmVyLCBhbmQgRWRnZSBhbGwgdXNlIHRoZSBCb290c3RyYXAgJ3hzJyBzY3JlZW4gc2l6ZSBmb3IgcHJpbnRpbmcuXG4gICogRmlyZWZveCBhbmQgU2FmYXJpIHVzZSB0aGUgJ3NtJyBhbmQgbGFyZ2VyIHNjcmVlbnMsIGkuZS4gJ21kJyBhbmQgJ2xnJy5cbiAgKiBTb21lIEJvb3RzdHJhcCBncmlkIGNsYXNzZXMgaGF2ZSBiZWVuIHJlZGVmaW5lZCBpbiB0aGlzIGZpbGUgdG8gYWNoaWV2ZSBhIGNvbnNpc3RlbnRcbiAgKiBwcmludCBleHBlcmllbmNlIGFjcm9zcyBhbGwgYnJvd3NlcnMuXG4gICovXG5cbiAgLmJ1dHRvbixcbiAgLnNob3ctbW9yZSxcbiAgI2ZhY2V0cyxcbiAgI2t5cnV1cy1zZWFyY2gtd2lkZ2V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYSwgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdyYXktMTtcbiAgfVxuXG4gIC5ob3Jpem9udGFsLXJ1bGU6YmVmb3JlLFxuICAuaG9yaXpvbnRhbC1ydWxlLXdpZGU6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLnN1bW1hcnktZmllbGQtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5hYm91dC1wYW5lbC1yb3cge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgIC5hYm91dC1wYW5lbC1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIixcIjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWhpZXJhcmNoeSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGFzLWxvZ28taW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgLmFib3V0LXBhbmVsLWl0ZW06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmV4cGVyaWVuY2UtZmllbGQtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmctdG9wOiAxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICYgKyBkaXYge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5leHBlcmllbmNlLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICAuZXhwZXJpZW5jZS10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cblxuICAuZXhwZXJpZW5jZS1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBiciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNsZWZ0LXBhbmVscyB7XG4gICAgbWluLWhlaWdodDogMTgwcHg7XG4gIH1cblxuICAjcHJvdmlkZXItZGV0YWlscy1zdW1tYXJ5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIC5jb2wteHMtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTU1cHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLXhzLW9mZnNldC0yLFxuICAgIC5jb2wtc20tb2Zmc2V0LTIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgI3Byb3ZpZGVyLWRldGFpbHMtbG9jYXRpb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMTQwcHg7XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1iLXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5tdC1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICB9XG4gIH1cblxuICAucmF0aW5ncyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAucmF0aW5ncy1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5zdGFyLWNvbHVtbiB7XG4gICAgICAuc3RhcnMge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAucmV2aWV3LWNvdW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMjBweDtcbiAgICAgIH1cblxuICAgICAgLm1ldHJpYyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhpZGUuaGlkZGVuLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5wYW5lbCB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJi5tYi1tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgI3JpZ2h0LXBhbmVscyAucGFuZWwge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS0xO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAucHJvZmlsZS1zdW1tYXJ5IHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cbiAgICAuY29sLXhzLTQge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAuY29sLXhzLTgge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICAuY29sLXhzLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgfVxuICB9XG5cbiAgLnByb3ZpZGVyIHtcbiAgICAvLyBUbyBmaXggdGhlIHJpZ2h0IGJvcmRlciBpbiBTYWZhcmlcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG5cbiAgICAuY29sLXNtLTMge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5jb2wtc20tOSB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmNvbC1zbS00LFxuICAgIC5jb2wtc20tOCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgfVxuXG4gIC5yZXN1bHRzIHtcbiAgICAvLyBUbyBmaXggdGhlIHJpZ2h0IGJvcmRlciBpbiBTYWZhcmlcbiAgICB3aWR0aDogOTklO1xuXG4gICAgLmNvbC1tZC00IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wb3dlcmVkLWJ5LWxpbmsge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMzBweDtcbiAgICBib3R0b206IDEwcHg7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQ0VBLHFDQUFxQztBQUNyQywyQkFBMkI7QUFDM0IsQUFBQSxJQUFJLEVBQUUsQUFBQSxJQUFJLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSyxHQUNoQjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNILFNBQVMsRUFBRSxPQUFRLEdBQ3BCOztBQUdELEFBQUEsUUFBUSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUNaLE9BQU8sRUFBRSxDQUFFO0VBQ1gsTUFBTSxFQUFFLElBQUs7RUFDYixRQUFRLEVBQUUsTUFBTztFQUNqQixJQUFJLEVBQUUsZ0JBQUk7RUFDVixNQUFNLEVBQUUsQ0FBRSxHQUNYOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUUsR0FDWjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxJQUFLLEdBQ3BCOztBQUVELEFBQUssSUFBRCxDQUFDLHFCQUFxQixDQUFDO0VBQ3ZCLGNBQWMsRUFBRSxHQUFJLEdBQ3ZCOztBQUVELEFBQUssSUFBRCxDQUFDLFdB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S0FBSyxFQUFFLFlBQWEsR0FDckI7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQUNFLEtBQUssRUFBRSxHQUFJLEdBQ1o7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQUNFLEtBQUssRUFBRSxZQUFhLEdBQ3JCO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUFDRSxLQUFLLEVBQUUsWUFBYSxHQUNyQjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsS0FBSyxFQUFFLEdBQUksR0FDWjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsS0FBSyxFQUFFLFlBQWEsR0FDckI7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQUNFLEtBQUssRUFBRSxZQUFhLEdBQ3JCO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUFDRSxLQUFLLEVBQUUsR0FBSSxHQUNaO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUFDRSxLQUFLLEVBQUUsWUFBYSxHQUNyQjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsS0FBSyxFQUFFLFdBQVksR0FDcEI7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQUNFLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUFDRCxBQUFBLGVBQWUsQ0FBZjtJQUNFLElBQUksRUFBRSxJQUFLLEdBQ1o7RUFDRCxBQUFBLGVBQWUsQ0FBZjtJQUNFLElBQUksRUFBRSxZQUFhLEdBQ3BCO0VBQ0QsQUFBQSxlQUFlLENBQWY7SUFDRSxJQUFJLEVBQUUsWUFBYSxHQUNwQjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsSUFBSSxFQUFFLEdBQUksR0FDWDtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsSUFBSSxFQUFFLFlBQWEsR0FDcEI7RUFDRCxBQUFBLGNBQWMsQ0FBZDtJQUNFLElBQUksRUFBRSxZQUFhLEdBQ3BCO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUFDRSxJQUFJLEVBQUUsR0FBSSxHQUNYO0VBQ0QsQUFBQSxjQUFjLENBQWQ7SUFDRSxJQUFJLEVBQUUsWUFBYSxHQUNwQjtFQUNELEFBQUEsY0FBYyxDQUFkO0lBQ0UsSUFBSSxFQUFFLFlBQWEsR0FDcEI7RUFDRCxBQUFBLGNB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YixBREFlLElDQVgsQ0RBVyxTQUFTLEVDQXhCLEFEQTBCLElDQXRCLENEQXNCLFNBQVMsRUNBbkMsQURBcUMsSUNBakMsQ0RBaUMsU0FBUyxFQ0E5QyxBREFnRCxJQ0E1QyxDREE0QyxTQUFTLEVDQXpELEFEQTJELElDQXZELENEQXVELFNBQVMsRUNBcEUsQURBc0UsSUNBbEUsQ0RBa0UsU0FBUyxFQ0EvRSxBREFpRixJQ0E3RSxDREE2RSxTQUFTLEVDQTFGLEFEQTRGLElDQXhGLENEQXdGLFNBQVMsRUNBckcsQURBdUcsSUNBbkcsQ0RBbUcsVUFBVSxFQ0FqSCxBREFtSCxJQ0EvRyxDREErRyxVQUFVLEVDQTdILEFEQStILElDQTNILENEQTJILFVBQVUsQ0FBckk7RUFDRSxLQUFLLEVBQUUsSUFBSyxHQUNiOztBQ0ZMLEFER0ksSUNIQSxDREdBLFVBQVUsQ0FBVjtFQUNFLEtBQUssRUFBRSxJQUFLLEdBQ2I7O0FDTEwsQURNSSxJQ05BLENETUEsVUFBVSxDQUFWO0VBQ0UsS0FBSyxFQUFFLFlBQWEsR0FDckI7O0FDUkwsQURTSSxJQ1RBLENEU0EsVUFBVSxDQUFWO0VBQ0UsS0FBSyxFQUFFLFlBQWEsR0FDckI7O0FDWEwsQURZSSxJQ1pBLENEWUEsU0FBUyxDQUFUO0VBQ0UsS0FBSyxFQUFFLEdBQUksR0FDWjs7QUNkTCxBRGVJLElDZkEsQ0RlQSxTQUFTLENBQVQ7RUFDRSxLQUFLLEVBQUUsWUFBYSxHQUNyQjs7QUNqQkwsQURrQkksSUNsQkEsQ0RrQkEsU0FBUyxDQUFUO0VBQ0UsS0FBSyxFQUFFLFlBQWEsR0FDckI7O0FDcEJMLEFEcUJJLElDckJBLENEcUJBLFNBQVMsQ0FBVDtFQUNFLEtBQUssRUFBRSxHQUFJLEdBQ1o7O0FDdkJMLEFEd0JJLElDeEJBLENEd0JBLFNBQVMsQ0FBVDtFQUNFLEtBQUssRUFBRSxZQUFhLEdBQ3JCOztBQzFCTCxBRDJCSSxJQzNCQSxDRDJCQSxTQUFTLENBQVQ7RUFDRSxLQUFLLEVBQUUsWUFBYSxHQUNyQjs7QUM3QkwsQUQ4QkksSUM5QkEsQ0Q4QkEsU0FBUyxD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 */