/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/pages/listing.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/

.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }

.card {
  --bs-card-spacer-y: 16px;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 16px;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 8px;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-card-cap-padding-y: 8px;
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 16px;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 16px;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 12px;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color); }

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color); }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

.tease-grid picture {
  z-index: 1; }

.tease-grid .badge-wrapper {
  z-index: 2;
  pointer-events: none; }

.tease-grid .badge a,
.tease-grid .card-title a {
  text-decoration: none;
  pointer-events: all; }
  .tease-grid .badge a:hover, .tease-grid .badge a:focus,
  .tease-grid .card-title a:hover,
  .tease-grid .card-title a:focus {
    text-decoration: underline; }

.tease-simple a {
  z-index: 1; }

.tease-simple-realisations:hover .card-overlay {
  transform: rotateX(0); }

.tease-simple-realisations .card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 4px #000;
  text-shadow: 0 0 0.25rem #000;
  background: rgba(184, 221, 244, 0.5);
  transition: transform ease .3s;
  transform: rotateX(90deg);
  transform-origin: bottom; }

.tease {
  width: 100%; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 16px;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 13.6px;
  --bs-breadcrumb-font-size: 0.85rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 8px;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-body-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.breadcrumbs {
  position: relative;
  max-width: 100vw;
  margin-right: -12px;
  margin-right: -0.75rem;
  margin-left: -12px;
  margin-left: -0.75rem; }
  .breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    padding: 12px;
    padding: 0.75rem;
    margin: unset;
    overflow-x: auto; }
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      pointer-events: none;
      content: ""; }
    .breadcrumbs .breadcrumb:before {
      left: 0;
      width: 16px;
      width: 1rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color) 0, var(--alpha-breadcrumbs-mobile-shadow-color-end)); }
    .breadcrumbs .breadcrumb:after {
      right: 0;
      width: 32px;
      width: 2rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color-end) 0, var(--alpha-breadcrumbs-mobile-shadow-color)); }
  .breadcrumbs.on-featured {
    --alpha-breadcrumbs-mobile-shadow-color: #000;
    --alpha-breadcrumbs-mobile-shadow-color-end: rgba(0, 0, 0, 0);
    top: var(--featured-image-height);
    z-index: 10;
    transform: translateY(-100%); }
    .breadcrumbs.on-featured .breadcrumb {
      --bs-breadcrumb-divider-color: currentcolor;
      --bs-breadcrumb-item-active-color: currentcolor; }
      .breadcrumbs.on-featured .breadcrumb:before, .breadcrumbs.on-featured .breadcrumb:after {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
        opacity: .75; }
  .breadcrumbs.dark {
    --bs-link-color-rgb: 255, 255, 255; }
    .breadcrumbs.dark a:hover {
      --bs-link-color-rgb: 247, 247, 247; }

.breadcrumbs-on-featured:not(.has-transparent-header) .breadcrumbs {
  top: calc(var(--header-height) + var(--featured-image-height));
  transition: top .3s ease; }

.breadcrumbs-on-featured.search .content-wrapper {
  padding-top: 32px;
  padding-top: 2rem; }

.breadcrumb-item {
  white-space: nowrap; }
  .breadcrumb-item + .breadcrumb-item:before {
    content: "\f105";
    margin-right: 0;
    line-height: var(--bs-body-line-height); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: unset;
    padding-right: 4px;
    padding-right: .25rem; }
  .breadcrumb-item.active span {
    font-weight: 700; }

.pagination-information {
  font-size: 12.8px;
  font-size: .8rem; }

.pagination .page-item {
  display: flex; }

.pagination .page-link {
  display: flex;
  align-items: center; }

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

@media (min-width: 768px) {
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      display: none; } }

@media (max-width: 575.98px) {
    .pagination .page-link.dots {
      padding: .375rem; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ly4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3ZlbmRvcnMvZm9udGF3ZXNvbWUvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9ob21lYTIwMjUtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9ob21lYTIwMjUtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9fdGVhc2Uuc2NzcyIsIndlYnBhY2s6Ly9ob21lYTIwMjUtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvdGVhc2VzL21vZGVzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9tb2Rlcy9fc2ltcGxlLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9tb2Rlcy9fcmVhbGlzYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2hvbWVhMjAyNS10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2hvbWVhMjAyNS10aGVtZS8uL2NvbmZpZy90aGVtZS55YW1sIiwid2VicGFjazovL2hvbWVhMjAyNS10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2hvbWVhMjAyNS10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovL2hvbWVhMjAyNS10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vaG9tZWEyMDI1LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9ob21lYTIwMjUtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiR1c2UtZmEtcHJvOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbiVmYSxcbiVmYXMsXG4lZmFyLFxuJWZhbCxcbiVmYWQsXG4lZmF0LFxuJWZhYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4lZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgQGluY2x1ZGUgZmEtaWNvbi1zdGFuZGFsb25lICgpO1xufVxuXG4lZmEsXG4lZmFzIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbiVmYXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuJWZhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4lZmF0IHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbiVmYWIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZSgkY29kZSkge1xuICBAZXh0ZW5kICVmYS1pY29uLXN0YW5kYWxvbmU7XG5cbiAgQGlmICR1c2UtZmEtcHJvIHtcbiAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICAgIEBleHRlbmQgJWZhO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6ICRjb2RlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKSB7XG4gIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tc29saWQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1zb2xpZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhcztcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXI7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1saWdodCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhbDtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXQ7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1icmFuZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhYjtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYmVmb3JlKCRjb2RlLCAkZmxvYXRpbmc6IGZhbHNlLCAkZmEtc3R5bGU6IFwic29saWRcIiwgJG1hcmdpbjogLjI1ZW0pIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaWYgJGZhLXN0eWxlID09IFwicmVndWxhclwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tcmVndWxhcigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tbGlnaHQoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwidGhpblwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tdGhpbigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJicmFuZFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tYnJhbmQoJGNvZGUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lKCRjb2RlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZsb2F0aW5nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYWZ0ZXIoJGNvZGUsICRmbG9hdGluZzogZmFsc2UsICRmYS1zdHlsZTogXCJzb2xpZFwiLCAkbWFyZ2luOiAuMjVlbSkge1xuICAmOjphZnRlciB7XG4gICAgQGlmICRmYS1zdHlsZSA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWxpZ2h0KCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcInRoaW5cIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwiYnJhbmRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWJyYW5kKCRjb2RlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZSgkY29kZSk7XG4gICAgfVxuXG4gICAgQGlmICRmbG9hdGluZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG5cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnMtYm9keS1saW5lLWhlaWdodCk7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5cbkBpbXBvcnQgXCJtb2Rlcy9ncmlkXCI7XG5AaW1wb3J0IFwibW9kZXMvbGlzdFwiO1xuQGltcG9ydCBcIm1vZGVzL3NpbXBsZVwiO1xuQGltcG9ydCBcIm1vZGVzL3JlYWxpc2F0aW9uc1wiO1xuXG5AZWFjaCAkdGVhc2UgaW4gJHRlYXNlcyB7XG4gIC50ZWFzZS0jeyR0ZWFzZX0ge1xuICAgIEBleHRlbmQgJXRlYXNlLSN7JHRlYXNlfSAhb3B0aW9uYWw7XG4gIH1cbn1cblxuLnRlYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbWFrZS10ZWFzZS1ncmlkIHtcbiAgcGljdHVyZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5iYWRnZS13cmFwcGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmJhZGdlLFxuICAuY2FyZC10aXRsZSB7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ldGVhc2UtZ3JpZCB7XG4gIEBpbmNsdWRlIG1ha2UtdGVhc2UtZ3JpZCgpO1xufVxuIiwiQG1peGluIG1ha2UtdGVhc2Utc2ltcGxlIHtcbiAgYSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4ldGVhc2Utc2ltcGxlIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUoKTtcbn1cbiIsIkBtaXhpbiBtYWtlLXRlYXNlLXNpbXBsZS1yZWFsaXNhdGlvbnMge1xuICAmOmhvdmVye1xuICAgIC5jYXJkLW92ZXJsYXkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICAgIH1cbiAgfVxuICAuY2FyZC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkdGVhc2Utb3ZlcmxheS10ZXh0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkdGVhc2Utb3ZlcmxheS1iZy1jb2xvciwgJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB9XG59XG5cbiV0ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zKCk7XG59XG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuXG4vLyAvLy0tLS0tLSBDb2xvciBzeXN0ZW1cbi8vIC8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbi8vIC8vdGhlbWUgY29sb3JzXG4kYmx1ZS10aXRsZTogIzU1NWM1ZTtcbiRkZWdyYWRlOiAjNTU1YzVlO1xuJHdoaXRlOiAjZmZmO1xuXG4vLyAvLy0tLS0tLSBCb2R5XG4kYm9keS1iZzogI2ZmZjtcblxuLy8gLy8tLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJnOiAkd2hpdGU7XG5cbi8vIC8vLS0tLS0tIExpbmtzXG4kbGluay1jb2xvcjogJHByaW1hcnk7XG4kbGluay1kZWNvcmF0aW9uOiBub25lO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4vLyAvLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtY29sb3I6ICRwcmltYXJ5O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLWNvbG9yOiBmYWxzZTtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1zaGFkb3ctY29sb3I6IGZhbHNlO1xuLy8gLy8tLS0tLS0gQnV0dG9ucyArIEZvcm1zXG4kYnRuLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4pO1xuXG4vLyA9PSBCdXR0b25zXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMXJlbTtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAxcmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzOiBub25lO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiBub25lO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiBub25lO1xuXG4vLyA9PSBBY2Nlc3NpYmlsaXR5XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAzO1xuXG4vLyA9PSBCcmVhZGNydW1iXG4kYnJlYWRjcnVtYi1mb250LXNpemU6IC44NXJlbTtcblxuLy8gLy8tLS0tLS0gTmF2c1xuJG5hdi1saW5rLWZvbnQtc2l6ZTogbnVsbDtcbiRuYXYtbGluay1jb2xvcjogJGJvZHktY29sb3I7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6ICRwcmltYXJ5O1xuXG4vLyA9PT0gQ0Y3IEVmZmVjdFxuJGNvbG9yLWZvcm0tZmlsbGVkOiAkcHJpbWFyeTtcbiRmb3JtLWd1dHRlcjogLjhyZW07XG4kZm9ybS1sYWJlbC10cmFuc2xhdGU6IC0xLjJyZW07XG4kZm9ybS1sYWJlbC1ndXR0ZXItdG9wOiAuNXJlbTtcblxuLy8gLy8tLS0tLS0gV3AgQWxwaGFcbiRhbHBoYS16LWluZGV4ZXM6ICgwLCAxKTtcblxuLy8tLS0tLSBGZWF0dXJlZCBpbWFnZVxuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tYWRtaW5iYXItaGVpZ2h0KSk7XG5cbi8vIC8vLS0tLS0tIEZvbnRzIG9wdGltaXphdGlvblxuLy8gLy8tLS0tLSBGb250QXdlc29tZSBJY29uc1xuLy8gLy8gaGVyZSB5b3UgY2FuIGFkZCBhbGwgdGhlIGljb25zIHlvdSBuZWVkIHRvIHVzZSBpbnNpZGUgeW91ciB0aGVtZVxuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy92YXJpYWJsZXNcIjtcbiRjdXN0b20tdXNlZC1mYS1pY29uczogKFxuICBidWlsZGluZzogJGZhLXZhci1idWlsZGluZyxcbiAga2FhYmE6ICRmYS12YXIta2FhYmEsXG4gIGNoZWNrLWNpcmNsZTogJGZhLXZhci1jaGVjay1jaXJjbGUsXG4gIGxlYWY6ICRmYS12YXItbGVhZixcbiAgbGlnaHRidWxiLW9uOiAkZmEtdmFyLWxpZ2h0YnVsYi1vbixcbiAgdXNlci1oYXJkLWhhdDogJGZhLXZhci11c2VyLWhhcmQtaGF0LFxuICBjaGV2cm9uLWRvd246ICRmYS12YXItY2hldnJvbi1kb3duLFxuICBvbmU6ICRmYS12YXItMSxcbiAgdHdvOiAkZmEtdmFyLTIsXG4gIHRocmVlOiAkZmEtdmFyLTMsXG4gIGZvdXI6ICRmYS12YXItNCxcbiAgZml2ZTogJGZhLXZhci01LFxuICBzaXg6ICRmYS12YXItNlxuKTtcblxuLy8gLy8gPT09IEZvbnQgRmFjZSBHZW5lcmF0b3JcbiRmb250LWZpbGUtdHlwZXM6IFwiZW90XCIgXCJ3b2ZmMlwiIFwid29mZlwiIFwidHRmXCIgXCJzdmdcIjtcbiRmb250cy1wYXRoOiBcIi4uL2ZvbnRzXCI7XG5cbi8vIC8vLS0tLS0tIFR5cG9ncmFwaHlcbi8vIC8vJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiQW50b25pb1wiLCBzYW5zLXNlcmlmO1xuXG4vLyAvLyBTdXJjaGFyZ2UgZGUgbGEgdmFyaWFibGUgYm9vdHN0cmFwIHBvdXIgbGEgdGFpbGxlIGRlcyBib3JkZXJzXG4kYm9yZGVyLXdpZHRoczogKFxuICAxOiAxcHgsXG4gIDI6IDJweCxcbiAgMzogM3B4LFxuICA0OiA0cHgsXG4gIDU6IDVweCxcbiAgNjogMTBweCxcbik7XG4kYm9yZGVyLXJhZGl1czogMDtcbi8vIC8vIEJvdXRvbnMgZmxhdFxuJGJ0bi1ib3JkZXItcmFkaXVzOiAwO1xuJGJ0bi1ib3gtc2hhZG93OiBmYWxzZTtcblxuLy8gLy8gRm9ybSBmbGF0XG4kaW5wdXQtYm9yZGVyLXJhZGl1czogMDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRzZWNvbmRhcnk7XG5cbiRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtdHJhbnNpdGlvbjogZmFsc2U7XG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy92YXJpYWJsZXNcIjtcblxuJHRoZW1lLWFzc2V0LXBhdGg6IFwiLi4vaW1hZ2VzXCIgIWRlZmF1bHQ7XG4kZm9udHMtcGF0aDogXCJmb250c1wiICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb2xvciBzeXN0ZW1cbiRibGFjazogIzAwMCAhZGVmYXVsdDtcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y3ZjdmNyAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTUwMDogIzlkOWQ5ZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICMwMDVkYWEgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNzAxZTZlICFkZWZhdWx0O1xuJGdyZWVuOiAjMDFhZTNjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kY3lhbjogIzBkY2FmMCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICRibHVlLFxuICBcInB1cnBsZVwiOiAkcHVycGxlLFxuICBcImdyZWVuXCI6ICRncmVlbixcbiAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gIFwiZ3JheS0xMDBcIjogJGdyYXktMTAwLFxuICBcImdyYXktNTAwXCI6ICRncmF5LTUwMCxcbiAgXCJncmF5LTkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kZGVmYXVsdC10aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICRsaWdodCxcbiAgXCJkYXJrXCI6ICRkYXJrLFxuICBcIndoaXRlXCI6ICR3aGl0ZVxuKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKCRkZWZhdWx0LXRoZW1lLWNvbG9ycywgJHRoZW1lLWNvbG9ycyk7XG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4kbWluLWNvbnRyYXN0LXJhdGlvOiA0LjUgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4kY29sb3ItY29udHJhc3QtZGFyazogJGdyYXktOTAwICFkZWZhdWx0O1xuJGNvbG9yLWNvbnRyYXN0LWxpZ2h0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbXBvbmVudHNcbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLXZhcmlhYmxlc1xuJGJvcmRlci1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6IC42MjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE9wdGlvbnNcbiRlbmFibGUtbmVnYXRpdmUtbWFyZ2luczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU3BhY2luZ1xuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoXG4gIDA6IDAsXG4gIDE6ICRzcGFjZXIgKiAuMjUsIC8vIDRweFxuICAyOiAkc3BhY2VyICogLjUsIC8vIDhweFxuICAzOiAkc3BhY2VyICogLjc1LCAvLyAxMnB4XG4gIDQ6ICRzcGFjZXIsIC8vIDE2cHhcbiAgNTogJHNwYWNlciAqIDEuMjUsIC8vIDIwcHhcbiAgNjogJHNwYWNlciAqIDEuNSwgLy8gMjRweFxuICA3OiAkc3BhY2VyICogMS43NSwgLy8gMjhweFxuICA4OiAkc3BhY2VyICogMiwgLy8gMzJweFxuICA5OiAkc3BhY2VyICogMywgLy8gNDhweFxuICAxMDogJHNwYWNlciAqIDQsIC8vIDY0cHhcbiAgMTE6ICRzcGFjZXIgKiA1IC8vIDgwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIERhcmsgU3R5bGVcbiRkYXJrLWJnLWNvbG9yOiB2YXIoLS1icy1ib2R5LWJnLWRhcmspICFkZWZhdWx0O1xuJGRhcmstdHh0LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yLWRhcmspICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBMaWdodCBTdHlsZVxuJGxpZ2h0LWJnLWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcbiRsaWdodC10eHQtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBIZWFkZXJcbiRoZWFkZXItYmc6IHZhcigtLWJzLWJvZHktYmcpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBGb290ZXJcbiRmb290ZXItYmc6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtYmc6ICRmb290ZXItYmcgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIExpbmtzXG4kbGluay1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogc2hpZnQtY29sb3IoJGxpbmstY29sb3IsICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UpICFkZWZhdWx0O1xuXG4vLyBHcmlkIGNvbHVtbnNcbiRncmlkLWd1dHRlci13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb250YWluZXIgcGFkZGluZ1xuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbXBvbmVudHNcbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItdmFyaWFibGVzXG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiByZ2JhKCRncmF5LTkwMCwgLjE1KSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFzcGVjdC1yYXRpb3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGhlYWRpbmdzLXZhcmlhYmxlc1xuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICRzcGFjZXIgKiAyICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBCdXR0b25zICsgRm9ybXNcbiRidG4tY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiBudWxsLFxuICBcInNlY29uZGFyeVwiIDogbnVsbFxuKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6IC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogLjEyNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTmF2c1xuLy8tLS0tLSBTaGFyZWQgdmFyaWFibGVzXG4kbmF2LWNvbG9yLWFjY2VudDogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIHZhcmlhYmxlc1xuJG5hdi1saW5rLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogdGludC1jb2xvcigkcHJpbWFyeSwgMzAlKSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLy0tLS0tIEFscGhhIHZhcmlhYmxlc1xuJG5hdi1jb2xvci1ob3Zlci1maXJzdC1sZXZlbDogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1jb2xvci1jdXJyZW50OiAkbmF2LWNvbG9yLWFjY2VudCAhZGVmYXVsdDtcbiRuYXYtY29sb3ItY3VycmVudC1maXJzdC1sZXZlbDogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJG5hdi1jb2xvci1hbmNlc3Rvcjogc2hhZGUtY29sb3IoJG5hdi1jb2xvci1hY2NlbnQsIDIwJSkgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWFuY2VzdG9yLWZpcnN0LWxldmVsOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZiYXJcbiRzdWJtZW51LWJnLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy15OiAzICogJHNwYWNlciAvIDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXg6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAkbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBEcm9wZG93bnNcblxuLy8tLS0tLS0gUGFnaW5hdGlvblxuJHBhZ2luYXRpb24taG92ZXItYmc6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTW9kYWxzXG4kbW9kYWwtYmFja2Ryb3AtYmc6IGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLyBNb2RhbCBWaWRlb1xuJG1vZGFsLXZpZGVvLWJ0bi1jbG9zZS1iZy1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kbW9kYWwtdmlkZW8tYnRuLWNsb3NlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBJbWFnZSB0aHVtYm5haWxzICYgUGljdHVyZVxuXG4vLy0tLS0tLSBCcmVhZGNydW1ic1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXNcbiRvZmZjYW52YXMtYm9keS1iYWNrZHJvcC1jb2xvcjogcmdiYSgkbW9kYWwtYmFja2Ryb3AtYmcsICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtd2lkZS1zY3JlZW4tYnJlYWtwb2ludDogeHhsICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXMgZGVza3RvcFxuJG9mZmNhbnZhcy1kYXJrLW1vZGUtbG9nby1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1kZXNrdG9wLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbG9nby13aWR0aDogNjYuNjYlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1oZWFkZXItYWxpZ25lbWVudDogY2VudGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWJnOiByZ2JhKCRvZmZjYW52YXMtZ3JpZC1ib3JkZXItY29sb3IsICRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLW9wYWNpdHk6IC4xICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvci1iZzogcmdiYSgkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItb3BhY2l0eSk7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zdHlsZTogJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItc2l6ZSAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC10aHVtYi13aWR0aDogNzUlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtZm9udC1zaXplOiAxLjEyNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0tcGFkZGluZy15OiAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taWNvbi1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taW1hZ2UtYm94LXNoYWRvdzogMCAwIDEuNXJlbSAuNzVyZW0gcmdiYSgkc2Vjb25kYXJ5LCAuMjUpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1ob3Zlci1pbWFnZS1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KTtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItb3BhY2l0eTogLjE1ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYmEoJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1vcGFjaXR5KTtcblxuLy8tLS0tLS0tIE9mZmNhbnZhcyBkZXNrdG9wIE1lZ2EgU3VibWVudVxuJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCAkb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I7XG5cblxuLy8tLS0tLS0gTWVnYSBNZW51XG4kbWVnYW1lbnUtYmctY29sb3I6IHZhcigtLXRoZW1lLXNraW4tYmctY29sb3IpO1xuJG1lZ2FtZW51LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtcGljdHVyZS1oYXMtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3ItcmJnOiByZ2JhKCRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yLCAkbWVnYW1lbnUtb3ZlcmxheS1iZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRtZWdhbWVudS1waWN0dXJlLWJvcmRlci1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbmNob3Igb2Zmc2V0XG4kYW5jaG9yLW9mZnNldDogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gV3AgQWxwaGFcbi8vIGxvZ29cbiRsb2dvLXBhZGRpbmcteTogJG5hdmJhci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIGNvbG9ycyBjbGVhbnVwXG4kYnMtZ3JheXMtdG8ta2VlcDogKCkgIWRlZmF1bHQ7XG4kYnMtZ3JheXMtdG8tcmVtb3ZlOiAoXCIyMDBcIiwgXCIzMDBcIiwgXCI0MDBcIiwgXCI1MDBcIiwgXCI3MDBcIikgIWRlZmF1bHQ7XG4kYnMtY29sb3JzLXRvLWtlZXA6ICgpICFkZWZhdWx0O1xuJGJzLWNvbG9ycy10by1yZW1vdmU6IChcImluZGlnb1wiLCBcInBpbmtcIiwgXCJyZWRcIiwgXCJ5ZWxsb3dcIiwgXCJncmVlblwiLCBcInRlYWxcIiwgXCJjeWFuXCIsIFwibGlnaHRcIiwgXCJkYXJrXCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCB1dGlsaXRpZXMgY2xlYW51cFxuJGJzLXV0aWxpdGllcy10by1yZW1vdmU6IChcImJnLW9wYWNpdHlcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVscGVyc1xuLy8tLS0tIFNlcGFyYXRlIHRpdGxlXG4kc2VwYXJhdGUtdGl0bGUtd2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VwYXJhdGUtdGl0bGUtYmc6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy0tLS0gVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMtb3ZlcnJpZGVzOiAoKSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXM6IChcbiAgMTA6IC4xLFxuICAyNTogLjI1LFxuICBsaWdodDogLjI1LFxuICAzNTogLjM1LFxuICA1MDogLjUsXG4gIG1lZGl1bTogLjUsXG4gIDY1OiAuNjUsXG4gIDc1OiAuNzUsXG4gIHN0cm9uZzogLjc1LFxuICA5MDogLjlcbikgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzOiBtYXAtbWVyZ2UoJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcywgJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcy1vdmVycmlkZXMpO1xuJHRyYW5zcGFyZW50LWJnLWNvbG9yczogKHByaW1hcnk6ICR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMsIHNlY29uZGFyeTogJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVG9vbHNcbi8vIENvbmZpZ3VyYXRpb24gKGFjdGl2YXRlIG9ubHkgdGhvc2UgbmVlZGVkKVxuJHRlYXNlczogKFwiZ3JpZFwiLCBcImxpc3RcIiwgXCJzaW1wbGVcIiwgXCJzaW1wbGUtcmVhbGlzYXRpb25zXCIpICFkZWZhdWx0O1xuJGZvcm1zOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb3AgQmFyXG4kdG9wLWJhci1oaWRlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLWRlc2t0b3A6ICR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXBhZGRpbmcteDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kdG9wLWJhci1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJHRvcC1iYXItaGVpZ2h0OiBpZihudWxsICE9IGluZGV4KCRtZW51cywgXCJzZWNvbmRhcnlcIiksIDIuNXJlbSwgMS41cmVtKSAhZGVmYXVsdDtcbiR0b3AtYmFyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kdG9wLWJhci1zb2NpYWwtbGlua3MtbWFyZ2luOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWRlZmF1bHQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJ0bi1pY29uOiAkZmEtdmFyLXBob25lICFkZWZhdWx0O1xuJGhlYWRlci1idG4tZmEtc3R5bGU6IFwic29saWRcIiAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLXNob3ctdGV4dC1icmVha3BvaW50OiAkZGVza3RvcC1icmVha3BvaW50ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEZlYXR1cmVkIGltYWdlXG4kZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiA1MHZoICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiA1MHZoICFkZWZhdWx0O1xuJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kaG9tZS1mZWF0dXJlZC1pbWFnZS10ZXh0LXRyYW5zaXRpb246IHRydWUgIWRlZmF1bHQ7XG4kaG9tZS1mZWF0dXJlZC1pbWFnZS10ZXh0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cyAhZGVmYXVsdDtcblxuLy8tLS0tLSBDb250ZW50IEFib3ZlXG4kY29udGVudC1hYm92ZS10ZXh0LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaGFwZXNcbi8vIHBvc3NpYmxlIHNoYXBlcyBhcmU6IChzcXVhcmUsIGNpcmNsZSwgdHJpYW5nbGUsIGxvemVuZ2UpXG4vLyBwb3NzaWJsZSB1bml0cyBhcmU6IChyZW06IDFyZW0sIGVtOiAxZW0sIHZ3OiAyLjV2dylcbiRzaGFwZXM6IChjaXJjbGUpICFkZWZhdWx0O1xuJHNoYXBlcy11bml0czogKHJlbTogMXJlbSkgIWRlZmF1bHQ7XG4kc2hhcGVzLWRlZmF1bHQtdW5pdDogbnRoKG50aCgkc2hhcGVzLXVuaXRzLCAxKSwgMikgIWRlZmF1bHQ7XG4kc2hhcGVzLW1heC1tdWx0aXBsaWVyOiAxMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZXh0IGNvbnRyYXN0XG4kYWxwaGEtZW5hYmxlLWJ0bi1jbG9zZS10ZXh0LWNvbnRyYXN0LWNvbG9yczogZmFsc2UgIWRlZmF1bHQ7XG4kYWxwaGEtYnRuLWNsb3NlLXRleHQtY29udHJhc3QtY29sb3JzOiAkdGhlbWUtY29sb3JzICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRleHQgc2hhZG93XG4kYWxwaGEtdGV4dC1zaGFkb3ctY29sb3I6IGNvbG9yLWNvbnRyYXN0KHdoaXRlKSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LXJhZGl1cy1zbTogLjI1cmVtICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LXJhZGl1cy1sZzogMXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIE92ZXJsYXlcbiRhbHBoYS1vdmVybGF5LWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kYWxwaGEtb3ZlcmxheS1vcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbiRhbHBoYS1vdmVybGF5LWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gWiBpbmRleFxuJGFscGhhLXotaW5kZXhlczogKDEsIDIsIDEwKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kc2lkZWJhcjogZmFsc2UgIWRlZmF1bHQ7XG4kc2lkZWJhci1iZy1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kc2lkZWJhci1ib3JkZXItcmFkaXVzOiAuMzc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0cy1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDYpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LWNvbnRlbnQtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC10aXRsZS1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC1saXN0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTdXJ0aXRsZVxuJGFscGhhLXN1cnRpdGxlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemUtZGVza3RvcDogJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1tYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy0tLS0tIENvcHlyaWdodFxuJGFscGhhLWNvcHlyaWdodC1mb250LXNpemU6IC44MjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstaG92ZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy0tLS0tIE5hdmlnYXRpb25zXG4vLy0tLS0gQ29tbW9uXG4kbmF2LWxpbmstYWZ0ZXItaGVpZ2h0OiAycHggIWRlZmF1bHQ7XG5cbi8vLS0tLSBDZW50ZXJcbiRuYXYtY2VudGVyLWxvZ28tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG5hdi1jZW50ZXItbG9nby1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG5cbi8vLS0tLSBTdWJtZW51IG1vcnBoXG4kc3VibWVudS1tb3JwaC1taW4td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbWF4LXdpZHRoOiAzNXZ3ICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1ib3JkZXItcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogLjVyZW0gIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1hcnJvdy1oZWlnaHQ6IC43NXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYXJyb3ctbGVmdDogNXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWFjdGl2ZS1tZW51LWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1hbmNlc3RvcnMtZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWxpbmstY29sb3I6ICRuYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWxpbmstaG92ZXItY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWxpbmstY29sb3ItY3VycmVudDogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1jb2xvci1hbmNlc3RvcjogJG5hdi1jb2xvci1hbmNlc3RvciAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLXNjcm9sbGJhci1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1zY3JvbGxiYXItYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCcmVhZGNydW1ic1xuJGJyZWFkY3J1bWItbW9iaWxlLXNoYWRvdy1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1tb2JpbGUtc2hhZG93LWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW9uLWZlYXR1cmVkLW1vYmlsZS1zaGFkb3ctY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZWFzZVxuJHRlYXNlLWJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGVhc2UtYmFkZ2UtYmc6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuXG4kdGVhc2Utb3ZlcmxheS10ZXh0LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGVhc2Utb3ZlcmxheS10ZXh0LXNoYWRvdzogMCAwIC4yNXJlbSAjMDAwO1xuJHRlYXNlLW92ZXJsYXktYmctY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kdGVhc2Utb3ZlcmxheS1iZy1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gV29vQ29tbWVyY2VcblxuJHdjLXByaW1hcnk6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJHdvb2NvbW1lcmNlOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiR3Yy1ncmVlbjogJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kd2MtcmVkOiAkZGFuZ2VyICFkZWZhdWx0O1xuJHdjLW9yYW5nZTogJHdhcm5pbmcgIWRlZmF1bHQ7XG4kd2MtYmx1ZTogJGluZm8gIWRlZmF1bHQ7XG4kd2MtcHJpbWFyeS10ZXh0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHdjLXNlY29uZGFyeS10ZXh0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtaGlnaGxpZ2h0OiAjYjNhZjU0ICFkZWZhdWx0O1xuJHdjLWhpZ2hsaWdodC10ZXh0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtY29udGVudC1iZzogI2ZmZiAhZGVmYXVsdDtcbiR3Yy1zdWJ0ZXh0OiAjNzY3Njc2ICFkZWZhdWx0O1xuXG4kd2Mtc3RvY2staW4tc3RvY2stY29sb3I6ICR3Yy1ncmVlbiAhZGVmYXVsdDtcbiR3Yy1zdG9jay1sb3ctc3RvY2stY29sb3I6ICR3Yy1vcmFuZ2UgIWRlZmF1bHQ7XG4kd2Mtc3RvY2stYXZhaWxhYmxlLW9uLWJhY2tvcmRlci1jb2xvcjogJHdjLW9yYW5nZSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1vdXQtb2Ytc3RvY2stY29sb3I6ICR3Yy1yZWQgIWRlZmF1bHQ7XG5cbiR3Yy1zdG9jay1pbi1zdG9jay1pY29uOiAkZmEtdmFyLWNpcmNsZS1jaGVjayAhZGVmYXVsdDtcbiR3Yy1zdG9jay1sb3ctc3RvY2staWNvbjogJGZhLXZhci1jaGFydC1saW5lLWRvd24gIWRlZmF1bHQ7XG4kd2Mtc3RvY2stYXZhaWxhYmxlLW9uLWJhY2tvcmRlci1pY29uOiAkZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0ICFkZWZhdWx0O1xuJHdjLXN0b2NrLW91dC1vZi1zdG9jay1pY29uOiAkZmEtdmFyLWNpcmNsZS14bWFyayAhZGVmYXVsdDtcblxuLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3Igb2xkICR3b29jb21tZXJjZSAmICR3b29jb21tZXJjZVNpZGViYXIgdmFyaWFibGVzXG5AaWYgdHlwZS1vZigkd29vY29tbWVyY2UpID09IFwiYm9vbFwiIHtcbiAgQHdhcm4gXCJVc2FnZSBvZiAkd29vY29tbWVyY2UgdmFyaWFibGUgYXMgYm9vbCBpcyBkZXByZWNhdGVkLCB1c2Ugd29vY29tbWVyY2UuZW5hYmxlZCBpbiB3b29jb21tZXJjZS55YW1sIGluc3RlYWQuXCI7XG4gICR3b29jb21tZXJjZTogbWFwLWV4dGVuZChtYXAtZ2V0KCRjb25maWctZGVmYXVsdHMsIFwid29vY29tbWVyY2VcIiksIChlbmFibGVkOiAkd29vY29tbWVyY2UpKTtcbiAgJHdvb2NvbW1lcmNlLWVuYWJsZWQ6IG1hcC1nZXQtZGVlcCgkd29vY29tbWVyY2UsIFwiZW5hYmxlZFwiKTtcbn1cblxuQGlmIHZhcmlhYmxlLWV4aXN0cyh3b29jb21tZXJjZVNpZGViYXIpIHtcbiAgQHdhcm4gXCJVc2FnZSBvZiAkd29vY29tbWVyY2VTaWRlYmFyIHZhcmlhYmxlIGRlcHJlY2F0ZWQsIHVzZSAkd29vY29tbWVyY2Utc2lkZWJhciBpbnN0ZWFkLlwiO1xuICAkd29vY29tbWVyY2Utc2lkZWJhcjogJHdvb2NvbW1lcmNlU2lkZWJhcjtcbn1cblxuLy8gQWNjb3VudFxuJGFjY291bnQtbmF2aWdhdGlvbi1pY29uczogKFxuICBkYXNoYm9hcmQ6ICRmYS12YXItaG9tZSxcbiAgb3JkZXJzOiAkZmEtdmFyLWRvbGx5LFxuICBzdWJzY3JpcHRpb25zOiAkZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0LFxuICBtZW1iZXJzaGlwczogJGZhLXZhci11c2VyLWNyb3duLFxuICBkb3dubG9hZHM6ICRmYS12YXItZG93bmxvYWQsXG4gIGVkaXQtYWRkcmVzczogJGZhLXZhci1tYXAtbWFya2VyLWVkaXQsXG4gIHBheW1lbnQtbWV0aG9kczogJGZhLXZhci1jcmVkaXQtY2FyZCxcbiAgZWRpdC1hY2NvdW50OiAkZmEtdmFyLXVzZXItZWRpdCxcbiAgYm9va2luZ3M6ICRmYS12YXItY2FsZW5kYXItYWx0LFxuICBjdXN0b21lci1sb2dvdXQ6ICRmYS12YXItc2lnbi1vdXRcbikgIWRlZmF1bHQ7XG5cbi8vIEF0dHJpYnV0ZXNcbiR3Yy1wcm9kdWN0LWF0dHJpYnV0ZS1mb250LXNpemU6IC45cmVtICFkZWZhdWx0O1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWV2ZW4tYmc6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcbiR3Yy1wcm9kdWN0LWF0dHJpYnV0ZS1sYWJlbC1jb2xvcjogJGdyYXktNzAwICFkZWZhdWx0O1xuXG4vLyBBdmFpbGFiaWxpdHlcbiR3Yy1zdG9jay1mb250LXNpemU6IC44cmVtICFkZWZhdWx0O1xuJHdjLXN0b2NrLWljb24td2lkdGg6ICRmYS1mdy13aWR0aCAhZGVmYXVsdDtcbiR3Yy1zdG9jay1pY29uLWZvbnQtc2l6ZTogJGZhLXNpemUtc2NhbGUtYmFzZSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1pbmZvOiAoXG4gIGluLXN0b2NrOiAoY29sb3I6ICR3Yy1zdG9jay1pbi1zdG9jay1jb2xvciwgaWNvbjogJHdjLXN0b2NrLWluLXN0b2NrLWljb24pLFxuICBsb3ctc3RvY2s6IChjb2xvcjogJHdjLXN0b2NrLWxvdy1zdG9jay1jb2xvciwgaWNvbjogJHdjLXN0b2NrLWxvdy1zdG9jay1pY29uKSxcbiAgYXZhaWxhYmxlLW9uLWJhY2tvcmRlcjogKGNvbG9yOiAkd2Mtc3RvY2stYXZhaWxhYmxlLW9uLWJhY2tvcmRlci1jb2xvciwgaWNvbjogJHdjLXN0b2NrLWF2YWlsYWJsZS1vbi1iYWNrb3JkZXItaWNvbiksXG4gIG91dC1vZi1zdG9jazogKGNvbG9yOiAkd2Mtc3RvY2stb3V0LW9mLXN0b2NrLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2stb3V0LW9mLXN0b2NrLWljb24pLFxuKSAhZGVmYXVsdDtcblxuXG4vLy0tLS0tIEFkZCB0byBDYXJ0IGJ1dHRvblxuJGJ0bi1hZGR0b2NhcnQtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1hZGR0b2NhcnQtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1ob3Zlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1ob3Zlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1pY29uczogKFxuICBzaW1wbGU6ICRmYS12YXItc2hvcHBpbmctYmFza2V0LFxuICBncm91cGVkOiAkZmEtdmFyLWV5ZSxcbiAgdmFyaWFibGU6ICRmYS12YXItY29ncyxcbiAgYm9va2luZzogJGZhLXZhci1jYWxlbmRhci1kYXlzLFxuKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb29raW5nXG4kd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci11aS1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci11aS1iZykgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtaG92ZXItYmc6IHNoYWRlLWNvbG9yKCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnLCAyMCUpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZzogJGdyYXktMjAwICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWhvdmVyLWJnOiBzaGFkZS1jb2xvcigkd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tYmcsIDIwJSkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZykgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1jb3N0LWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1jb3N0LWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1jb3N0LWJnKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBQcmljZSBDb2xvclxuJHdjLXByaWNlLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHdjLWRlbC1wcmljZS1jb2xvcjogcmdiYSgkZ3JheS01MDAsIC42KSAhZGVmYXVsdDtcblxuLy8tLS0tLSBEaXNjb3VudCBiYWRnZVxuJGJhZGdlLW9uc2FsZS1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRiYWRnZS1vbnNhbGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBNaW5pIENhcnRcbiRtaW5pY2FydC1jb3VudGVyLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LWNvdW50ZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtaW5pY2FydC10b3RhbC1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtaW5pY2FydC10b3RhbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0LWl0ZW0tY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJG1pbmljYXJ0LXF0eS1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ2FydFxuJGNhcnQtYnRuLWFjdGlvbnMtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGNhcnQtYnRuLWNoZWNrb3V0LWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1lc3NhZ2VcbiR3Yy1tZXNzYWdlLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtbWVzc2FnZS1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWRlZmF1bHQ7XG4kd2MtbWVzc2FnZS1pY29uLWNvbG9yOiAkZ3JlZW4gIWRlZmF1bHQ7XG5cbiR3Yy1pbmZvLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtaW5mby1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcikgIWRlZmF1bHQ7XG4kd2MtaW5mby1pY29uLWNvbG9yOiAkYmx1ZSAhZGVmYXVsdDtcblxuJHdjLWVycm9yLWJnLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtZXJyb3ItY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHdjLWVycm9yLWljb24tY29sb3I6IHJlZCAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kd2Mtc2lkZWJhci1tb2JpbGUtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHdjLXNpZGViYXItbW9iaWxlLWJhY2stdG9wLW9mZnNldC15OiAzcmVtICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY29sb3I6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcbiR3Yy1maWx0ZXItdG9nZ2xlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLWZpbHRlci10b2dnbGVyLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiR3Yy1jYXQtbGluay1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWhvdmVyLWJnOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiR3Yy1jYXQtbGluay1ob3Zlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstY29sb3I6ICRuYXYtY29sb3ItY3VycmVudCAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWNvbG9yOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1wYXJlbnQtbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb3AgYmFyIGljb25zXG4vLy0tLS0tIFRvcCBiYXIgaWNvbnNcbiR0b3AtYmFyLWljb25zOiAoY29udGFjdDogJGZhLXZhci1lbnZlbG9wZSwgcGhvbmU6ICRmYS12YXItcGhvbmUtYWx0KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWljb25zLW1hcmdpbjogLjI1cmVtICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbnMtZmEtdmFyaWFudDogXCJzb2xpZFwiICFkZWZhdWx0O1xuJHdjLXRvcC1iYXItaWNvbnM6ICR0b3AtYmFyLWljb25zICFkZWZhdWx0O1xuJHdjLXRvcC1iYXItaWNvbnMtbWFyZ2luOiAkdG9wLWJhci1pY29ucy1tYXJnaW4gIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29ucy1mYS12YXJpYW50OiAkdG9wLWJhci1pY29ucy1mYS12YXJpYW50ICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRlYXNlXG4kd2MtdGVhc2UtcHJvZHVjdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtYm9yZGVyLXJhZGl1czogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1saW5rLXBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDIpICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtbGluay1pbWFnZS1wYWRkaW5nOiAkd2MtdGVhc2UtcHJvZHVjdC1saW5rLXBhZGRpbmcgKiAtMSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWhvdmVyLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU29jaWFsIHNoYXJlIGljb25zXG4kc29jaWFsLXNoYXJlLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjUpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXUE1MXG4kd3BtbC1kZXY6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbHBoYSBibG9ja3Ncbi8vLS0tLS0gRmFjZWJvb2sgdmlkZW9cbiRhbHBoYS1mYi12aWRlby1sb2FkZXItYmctY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGFscGhhLWZiLXZpZGVvLWxvYWRlci1jb2xvcjogY29sb3ItY29udHJhc3QoJGFscGhhLWZiLXZpZGVvLWxvYWRlci1iZy1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gR29vZ2xlIFJldmlld3NcbiRnb29nbGUtcmV2aWV3cy1ib3JkZXItdG9wOiA2cHggc29saWQgIzRmY2U2YSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1ib3JkZXItcmFkaXVzOiAuMTVyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtbG9nby13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1zY29yZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtcmF0aW5nLXN0YXItY29sb3I6ICNlNzcxMWIgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtcmF0aW5nLWNvdW50LWNvbG9yOiAjN2E3YTdhICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXotaW5kZXg6IDIwMDAgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0OiAycmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1ib3R0b206ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LWxlZnQ6ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LXJpZ2h0OiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1iYWRnZS1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1iYWRnZS1oaWRlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZXJvIGJhbm5lclxuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15OiAzLjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXRvcDogJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15ICFkZWZhdWx0O1xuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC1ib3R0b206ICRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteSAhZGVmYXVsdDtcblxuLy8tLS0tLSBJY29uXG4kaWNvbi1ibG9jay1pY29uLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8tLS0tLSBNYXBcbiRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQ6IDI1MHB4ICFkZWZhdWx0O1xuJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodC1sZzogJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodCAqIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gUmF0aW5nXG4kYWxwaGEtcmF0aW5nLXN0YXItb24tY29sb3I6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kYWxwaGEtcmF0aW5nLXN0YXItb2ZmLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gUmVpbnN1cmFuY2Vcbi8vLS0tLSBTb3ViYSBNYWdhc3NhIHN0eWxlc1xuJHNvdWJhLXJlaW5zdXJhbmNlLWNvbG9yczogKHByaW1hcnksIHNlY29uZGFyeSkgIWRlZmF1bHQ7XG4kc291YmEtcmVpbnN1cmFuY2UtdG9wLW9mZnNldDogMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTZXJ2aWNlc1xuJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2VydmljZXMtYmctaG92ZXItY29sb3ItbGlnaHQ6ICRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvci1kYXJrOiAkc2VydmljZXMtYmctaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VydmljZXMtYmctaG92ZXItb3BhY2l0eTogMSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5LWxpZ2h0OiAkc2VydmljZXMtYmctaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5LWRhcms6IC4yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbHBoYSBtb2R1bGVzXG4vLy0tLS0tIENvbW1vblxuJGxvYWRpbmctbW9kdWxlcy1iZy1jb2xvcjogcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbG9hZGluZy1tb2R1bGVzLWxvYWRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kbG9hZGluZy1tb2R1bGVzLWxvYWRlci1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kbG9hZGluZy1tb2R1bGVzLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy0tLS0tIERlZmF1bHRcbi8vLS0tLSBQYWdlIHNjcm9sbFxuJGhvbWUtcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0OiAxNXZoICFkZWZhdWx0O1xuJHBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodDogJGhvbWUtcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0IC8gMiAhZGVmYXVsdDtcbiRwYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQtZGVza3RvcDogJGhvbWUtcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0IC8gMyAhZGVmYXVsdDtcblxuLy8tLS0tLSBPcHRpb25hbFxuLy8tLS0tIEJhY2sgdG8gdG9wXG4kYmFjay10by10b3Atb2Zmc2V0LXg6IDFyZW0gIWRlZmF1bHQ7XG4kYmFjay10by10b3Atb2Zmc2V0LXk6IDFyZW0gIWRlZmF1bHQ7XG4kYmFjay10by10b3Atd2hhdHNhcHAtYnV0dG9uLW9mZnNldC15OiA0cmVtICFkZWZhdWx0O1xuJGJhY2stdG8tdG9wLWRlZmF1bHQtYnV0dG9uLXRyYW5zbGF0ZS15OiAkYmFjay10by10b3Atb2Zmc2V0LXkgKiAtMiAhZGVmYXVsdDtcblxuLy8tLS0tIEhlYWRlciBzdGF0ZXNcbi8vLS0tIFNocnVuayBsb2dvXG4kc2hydW5rLWxvZ28taGVpZ2h0LXJhdGlvOiAuOCAhZGVmYXVsdDtcblxuLy8tLS0tIFJhbmdlIHNsaWRlclxuJHJhbmdlLXNsaWRlci13cmFwcGVyLWhlaWdodDogM3JlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFJvdXNxdWlsbGVcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbjogMCBhdXRvICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWFyZ2luLXRhYmxldDogMCBhdXRvIG1hcC1nZXQoJHNwYWNlcnMsIDgpICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWFyZ2luLW1vYmlsZTogMCBhdXRvIG1hcC1nZXQoJHNwYWNlcnMsIDQpICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28taGVpZ2h0OiAkbG9nby1oZWlnaHQgIWRlZmF1bHQ7XG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXgtaGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gU2VydmljZXMgQnV0dG9uXG4kc2VydmljZXMtYnV0dG9uLW1vYmlsZS1vZmZzZXQ6IC41cmVtICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJ1dHRvbi1kZXNrdG9wLW9mZnNldC1lbmQ6IDIuNXJlbSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1idXR0b24tZm9vdGVyLXBhZGRpbmctYm90dG9tOiA0LjVyZW0gIWRlZmF1bHQ7XG4kc2VydmljZXMtYnV0dG9uLWJhY2stdG8tdG9wLW9mZnNldC1ib3R0b206ICRzZXJ2aWNlcy1idXR0b24tZm9vdGVyLXBhZGRpbmctYm90dG9tICsgMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFN3aXBlclxuJHN3aXBlci10aGVtZS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8tLS0gVHJhbnNwYXJlbnQgSGVhZGVyXG4kdHJhbnNwYXJlbnQtaGVhZGVyLWJnLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkZ3JheS03MDAsIHRyYW5zcGFyZW50KSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItdGV4dC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctcmFkaXVzOiAuMTI1cmVtICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLWNvbG9yOiAkdHJhbnNwYXJlbnQtaGVhZGVyLXRleHQtY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LWNvbG9yOiAkdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1zaGFkb3ctcmFkaXVzOiAkdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLS0tLSBXaGF0c2FwcCBCdXR0b25cbiR3aGF0c2FwcC1idXR0b24tYmc6ICMyNWQzNjYgIWRlZmF1bHQ7XG4kd2hhdHNhcHAtYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2hhdHNhcHAtYnV0dG9uLW9mZnNldC14OiAxcmVtICFkZWZhdWx0O1xuJHdoYXRzYXBwLWJ1dHRvbi1vZmZzZXQteTogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIEltYWdlIEdhbGxlcnlcbi8vIFwib3ZlcmxheVwiLCBcImRlZmF1bHQtb3BhY2l0eVwiLCBcImhvdmVyLW9wYWNpdHlcIiwgXCJjdXN0b21cIlxuJGltYWdlLWdhbGxlcnktYW5pbWF0aW9uLXR5cGU6IFwib3ZlcmxheVwiICFkZWZhdWx0O1xuXG4vLy0tLSBPcGFjaXR5XG4kaW1hZ2UtZ2FsbGVyeS1pbWFnZS1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcblxuLy8tLS0gT3ZlcmxheVxuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktb3BhY2l0eTogLjE1ICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDEyNSUpIGNvbnRyYXN0KDEyNSUpICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoLjUpICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uOiAkZmEtdmFyLXNlYXJjaC1wbHVzICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLXN0eWxlOiBcInJlZ3VsYXJcIiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1vcGFjaXR5OiAuODUgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tdGV4dC1zaGFkb3c6IDAgMCAuMTI1cmVtIHJnYmEoYmxhY2ssIC43NSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xLjVyZW0pICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1vZmZzZXQ6IC4xICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1zY2FsZTogMSArICRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaW1hZ2Utb2Zmc2V0ICFkZWZhdWx0O1xuXG4vLy0tLS0gTGVhZmxldCBNYXBcbiRtYXAtbWFya2VyLWNvbG9yLWRlZmF1bHQ6IHZhcigtLWJzLXNlY29uZGFyeSkgIWRlZmF1bHQ7XG4kbWFwLW1hcmtlci1jb2xvci1sb2FkaW5nOiBncmF5ICFkZWZhdWx0O1xuJG1hcC1tYXJrZXItY29sb3ItYWN0aXZlOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8tLS0tIE1hc29ucnlcbiRtYXNvbnJ5LWdhbGxlcnktZ2FwOiAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBXb29Db21tZXJjZSBTZWFyY2ggT3ZlcmxheVxuJHNlYXJjaC1vdmVybGF5LWJnLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1iZy1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyOiBibHVyKC4xMjVyZW0pICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWZvcm0tZm9udC1zaXplOiAuOXJlbSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1mb3JtLWJvcmRlci1yYWRpdXM6IC4yNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFdvb0NvbW1lcmNlIFJldmlldyBmb3JtXG4kd29vY29tbWVyY2UtcmV2aWV3LWZvcm0tc3RhcnMtZm9udHNpemU6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEd1dGVuYmVyZyBibG9ja3Ncbi8vLS0tLS0gUmFuayBNYXRoXG4vLy0tLS0gRkFRXG4kcmFuay1tYXRoLWZhcS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm94LXNoYWRvdzogMCAuNXJlbSAuNXJlbSAtLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAxKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvcjogJGdyYXktMjAwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyOiAxcHggc29saWQgJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtaXRlbS1wYWRkaW5nOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWdhcDogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1wYWRkaW5nLWJvdHRvbTogJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZ2FwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tYm9yZGVyLWNvbG9yOiAkcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1ib3JkZXItYm90dG9tOiAkcmFuay1tYXRoLWZhcS1ib3JkZXIgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tb2Zmc2V0LXRvcDogLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBJbWFnZVxuJGd1dGVuYmVyZy1pbWFnZS1yYXRpb3M6IChcIjFcIiwgXCI0LzNcIiwgXCIzLzRcIiwgXCIzLzJcIiwgXCIyLzNcIiwgXCIxNi85XCIsIFwiOS8xNlwiKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRm9udHMgb3B0aW1pemF0aW9uXG4vLy0tLS0tIEZvbnRBd2Vzb21lIGljb25zXG4kZm9udC1mYS1wcm86IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4kZm9udC1mYS1icmFuZHM6IFwiRm9udCBBd2Vzb21lIDYgQnJhbmRzXCI7XG4vLyBzZWUgLi4vdmVuZG9ycy9fZm9udGF3ZXNvbWUuc2NzcyBmb3IgaWNvbnMgcHJvY2Vzc2luZ1xuLy8gc2VlIC4uL3ZlbmRvcnMvX2ZvbnRhd2Vzb21lLWljb25zLnNjc3MgZm9yIGF2YWlsYWJsZSBpY29ucyAmIGljb25zIGdyb3Vwc1xuLy8gJGN1c3RvbS11c2VkLWZhLWljb25zOiAoZm9udC1hd2Vzb21lLWZsYWc6ICRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcsIHBsdXM6ICRmYS12YXItcGx1cyk7XG4kY3VzdG9tLXVzZWQtZmEtaWNvbnM6ICgpICFkZWZhdWx0O1xuLy8gJHVzZWQtZmEtaWNvbnMtZ3JvdXBzOiAoYWNjb21tb2RhdGlvbnMsIHdvb2NvbW1lcmNlKTtcbiR1c2VkLWZhLWljb25zLWdyb3VwczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSWNvbnMgbGlzdFxuJGFscGhhLWZhLWljb25zLWxpc3Q6ICgpICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3Qtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU2xpY2tcbiRzbGljay1mb250LXBhdGg6IFwifnNsaWNrLWNhcm91c2VsL3NsaWNrL2ZvbnRzL1wiO1xuJHNsaWNrLWZvbnQtZmFtaWx5OiAkZm9udC1mYS1wcm87XG5cbi8vLS0tLS0tIENGNyBFZmZlY3RcbiRjb2xvci1mb3JtLXRleHQ6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGNvbG9yLWZvcm0tZmlsbGVkOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRjb2xvci1mb3JtLWZpZWxkLWJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRmb3JtLWd1dHRlcjogLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZ3V0dGVyLWxlZnQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZS1maWxsZWQ6IC43cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLW5vLWFuaW0tbWFyZ2luLXRvcDogLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1uby1hbmltLXRyYW5zbGF0ZTogLS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJvb3RzdHJhcCBSZXNwb25zaXZlIEltYWdlIFJhdGlvXG4vLyBtdXN0IGJlIGEgbGlzdCBvZiByYXRpb3MgZm9ybWF0dGVkIGxpa2UgdGhpczogKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSlcbiRtZWRpYS1yYXRpb3M6ICgpICFkZWZhdWx0O1xuIiwiJHRoZW1lOiAoJ2NvbG9ycyc6ICgncHJpbWFyeSc6ICNCOEJERTEsJ3NlY29uZGFyeSc6ICNCOERERjQsJ2JvZHknOiAjNTU1QzVFLCdib2R5X2JnJzogI2ZmZiwnaGVhZGVyX2JnJzogI2ZmZiwnZm9vdGVyX2JnJzogI2Y3ZjdmNywpLCdkYXJrJzogZmFsc2UsJ2Zhdmljb24nOiAoJ2F1dG9fZ2VuZXJhdGVkJzogdHJ1ZSwpLCdoZXJvX2Jhbm5lcic6ICgndmVyc2lvbic6IDIsJ2Z1bGxfaGVpZ2h0JzogdHJ1ZSwnb3ZlcmxheV9jb2xvcic6IG51bGwsKSwnbG9nbyc6ICgnaGVpZ2h0JzogXCIzLjc1cmVtXCIsKSwndHlwb2dyYXBoeSc6ICgnZm9udCc6ICgnZmFtaWx5X3NhbnNfc2VyaWYnOiBSb2JvdG8sJ3NpemUnOiBcIjFyZW1cIiwnd2VpZ2h0JzogNDAwLCksJ2hlYWRpbmdzJzogKCdjb2xvcic6IG51bGwsJ2ZvbnQnOiAoJ2ZhbWlseSc6IG51bGwsJ3dlaWdodCc6IDUwMCwpLCdzaXplcyc6ICgnaDEnOiBcIjIuNXJlbVwiLCdoMic6IFwiMS44cmVtXCIsJ2gzJzogXCIxLjVyZW1cIiwnaDQnOiBcIjFyZW1cIiwnaDUnOiBcIjFyZW1cIiwnaDYnOiBcIjFyZW1cIiwpLCdob21lX3NpemVzJzogKCdoMSc6IFwiM3JlbVwiLCdoMic6IFwiMi4xMjVyZW1cIiwpLCksKSwndWknOiAoJ2JvcmRlcl9yYWRpdXMnOiByb3VuZGVkLCksKTsiLCIuYnJlYWRjcnVtYiB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBicmVhZGNydW1iLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy14OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15OiAjeyRicmVhZGNydW1iLXBhZGRpbmcteX07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogI3skYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tfTtcbiAgQGluY2x1ZGUgcmZzKCRicmVhZGNydW1iLWZvbnQtc2l6ZSwgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnOiAjeyRicmVhZGNydW1iLWJnfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAjeyRicmVhZGNydW1iLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICN7JGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAjeyRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcn07XG4gIC8vIHNjc3MtZG9jcy1lbmQgYnJlYWRjcnVtYi1jc3MtdmFyc1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSkpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1iZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBTdXBwcmVzcyBpbmxpbmUgc3BhY2luZ3MgYW5kIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3JcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWl0ZW0tcGFkZGluZy14KTtcbiAgICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yKTtcbiAgICAgIGNvbnRlbnQ6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlcikpICN7XCIvKiBydGw6XCJ9IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXIsIGVzY2FwZS1zdmcoJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkKSkgI3tcIiovXCJ9O1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3IpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzY3NzL2RpbWVuc2lvbi1uby1ub24tbnVtZXJpYy12YWx1ZXNcblxuLy8gU0NTUyBSRlMgbWl4aW5cbi8vXG4vLyBBdXRvbWF0ZWQgcmVzcG9uc2l2ZSB2YWx1ZXMgZm9yIGZvbnQgc2l6ZXMsIHBhZGRpbmdzLCBtYXJnaW5zIGFuZCBtdWNoIG1vcmVcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL21haW4vTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIHZhbHVlXG4kcmZzLWJhc2UtdmFsdWU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtdW5pdCAhPSByZW0gYW5kICRyZnMtdW5pdCAhPSBweCB7XG4gIEBlcnJvciBcImAjeyRyZnMtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgdmFsdWVzIHN0YXJ0IGRlY3JlYXNpbmcgaWYgc2NyZWVuIHdpZHRoIGlzIHNtYWxsZXJcbiRyZnMtYnJlYWtwb2ludDogMTIwMHB4ICFkZWZhdWx0O1xuJHJmcy1icmVha3BvaW50LXVuaXQ6IHB4ICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcHggYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IGVtIGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSByZW0ge1xuICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbn1cblxuLy8gUmVzaXplIHZhbHVlcyBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IG51bWJlciBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIE1vZGUuIFBvc3NpYmlsaXRpZXM6IFwibWluLW1lZGlhLXF1ZXJ5XCIsIFwibWF4LW1lZGlhLXF1ZXJ5XCJcbiRyZnMtbW9kZTogbWluLW1lZGlhLXF1ZXJ5ICFkZWZhdWx0O1xuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmZzIHRvIGZhbHNlXG4kZW5hYmxlLXJmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLXZhbHVlIHVuaXRcbiRyZnMtYmFzZS12YWx1ZS11bml0OiB1bml0KCRyZnMtYmFzZS12YWx1ZSk7XG5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTApIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgXCJDYW5ub3QgZGl2aWRlIGJ5IDBcIjtcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgIFwicHhcIjogMXB4LFxuICAgIFwicmVtXCI6IDFyZW0sXG4gICAgXCJlbVwiOiAxZW0sXG4gICAgXCIlXCI6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLXZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSBweCB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgJHJmcy1iYXNlLXZhbHVlICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcmVtIHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBweCB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcbiRyZnMtbXEtcHJvcGVydHktd2lkdGg6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC13aWR0aCwgbWluLXdpZHRoKTtcbiRyZnMtbXEtcHJvcGVydHktaGVpZ2h0OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtaGVpZ2h0LCBtaW4taGVpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkge1xuICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSksICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSBhbmQgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGRpc2FibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtcnVsZSB7XG4gIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgcHJvcGVydHlcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAuZW5hYmxlLXJmcyAmLFxuICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnktcnVsZSB7XG5cbiAgQGlmICRyZnMtY2xhc3MgPT0gZW5hYmxlIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIC5lbmFibGUtcmZzICYsXG4gICAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkcmZzLWNsYXNzID09IGRpc2FibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgLmRpc2FibGUtcmZzICYsXG4gICAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIGZvcm1hdHRlZCBub24tcmVzcG9uc2l2ZSB2YWx1ZVxuQGZ1bmN0aW9uIHJmcy12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgJHJmcy1yZW0tdmFsdWUpfXJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICR1bml0ID09IHJlbSB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcHggaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3tkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSkgKiAkcmZzLXJlbS12YWx1ZX1weCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6IFwiXCI7XG5cbiAgLy8gTG9vcCBvdmVyIGVhY2ggdmFsdWUgYW5kIGNhbGN1bGF0ZSB2YWx1ZVxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIHtcbiAgICAgICR2YWw6ICR2YWwgKyBcIiAwXCI7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuICAgICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyBpZigkdW5pdCA9PSBweCwgMSwgZGl2aWRlKDEsICRyZnMtcmVtLXZhbHVlKSkpO1xuXG4gICAgICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgIEBpZiBhYnMoJHZhbHVlKSA8PSAkcmZzLWJhc2UtdmFsdWUgb3Igbm90ICRlbmFibGUtcmZzIHtcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlfXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLW1pbjogJHJmcy1iYXNlLXZhbHVlICsgZGl2aWRlKGFicygkdmFsdWUpIC0gJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWUtbWlufXB4KTtcblxuICAgICAgICAgIC8vIFVzZSBuZWdhdGl2ZSB2YWx1ZSBpZiBuZWVkZWRcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkdmFsdWUgPCAwLCAtJG1pbi13aWR0aCwgJG1pbi13aWR0aCk7XG5cbiAgICAgICAgICAvLyBVc2UgYHZtaW5gIGlmIHR3by1kaW1lbnNpb25hbCBpcyBlbmFibGVkXG4gICAgICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAgICAgJHZhcmlhYmxlLXdpZHRoOiAje2RpdmlkZSgkdmFsdWUtZGlmZiAqIDEwMCwgJHJmcy1icmVha3BvaW50KX0jeyR2YXJpYWJsZS11bml0fTtcblxuICAgICAgICAgIC8vIFJldHVybiB0aGUgY2FsY3VsYXRlZCB2YWx1ZVxuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBjYWxjKFwiICsgJG1pbi13aWR0aCArIGlmKCR2YWx1ZSA8IDAsIFwiIC0gXCIsIFwiICsgXCIpICsgJHZhcmlhYmxlLXdpZHRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIFJGUyBtaXhpblxuQG1peGluIHJmcygkdmFsdWVzLCAkcHJvcGVydHk6IGZvbnQtc2l6ZSkge1xuICBAaWYgJHZhbHVlcyAhPSBudWxsIHtcbiAgICAkdmFsOiByZnMtdmFsdWUoJHZhbHVlcyk7XG4gICAgJGZsdWlkLXZhbDogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpO1xuXG4gICAgLy8gRG8gbm90IHByaW50IHRoZSBtZWRpYSBxdWVyeSBpZiByZXNwb25zaXZlICYgbm9uLXJlc3BvbnNpdmUgdmFsdWVzIGFyZSB0aGUgc2FtZVxuICAgIEBpZiAkdmFsID09ICRmbHVpZC12YWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZC12YWwpO1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeS1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkZmx1aWQtdmFsLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvcnRoYW5kIGhlbHBlciBtaXhpbnNcbkBtaXhpbiBmb250LXNpemUoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUpO1xufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZyk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy10b3ApO1xufVxuXG5AbWl4aW4gcGFkZGluZy1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1yaWdodCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1ib3R0b20pO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWxlZnQpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4pO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXRvcCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1yaWdodCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tYm90dG9tKTtcbn1cblxuQG1peGluIG1hcmdpbi1sZWZ0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tbGVmdCk7XG59XG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2JyZWFkY3J1bWJcIjtcblxuLmJyZWFkY3J1bWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAtMSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGNvbnRhaW5lci1wYWRkaW5nLXh9ICogLTEpO1xuXG4gIC5icmVhZGNydW1iIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAkY29udGFpbmVyLXBhZGRpbmcteDtcbiAgICBtYXJnaW46IHVuc2V0O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvcikgMCwgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvci1lbmQpKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZCkgMCwgdmFyKC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvcikpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5vbi1mZWF0dXJlZCB7XG4gICAgLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yOiAjeyRicmVhZGNydW1iLW9uLWZlYXR1cmVkLW1vYmlsZS1zaGFkb3ctY29sb3J9O1xuICAgIC0tYWxwaGEtYnJlYWRjcnVtYnMtbW9iaWxlLXNoYWRvdy1jb2xvci1lbmQ6ICN7cmdiYSgkYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yLCAwKX07XG4gICAgdG9wOiB2YXIoLS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAtLWJzLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgLS1icy1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiBjdXJyZW50Y29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZGFyayB7XG4gICAgLS1icy1saW5rLWNvbG9yLXJnYjogI3toZXgtdG8tcmdiKCR3aGl0ZSl9O1xuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLS1icy1saW5rLWNvbG9yLXJnYjogI3toZXgtdG8tcmdiKCRncmF5LTEwMCl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYnJlYWRjcnVtYnMtb24tZmVhdHVyZWQge1xuICAmOm5vdCguaGFzLXRyYW5zcGFyZW50LWhlYWRlcikge1xuICAgIC5icmVhZGNydW1icyB7XG4gICAgICB0b3A6IGNhbGModmFyKC0taGVhZGVyLWhlaWdodCkgKyB2YXIoLS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQpKTtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAuM3MgZWFzZTtcbiAgICB9XG4gIH1cblxuICAmLnNlYXJjaCB7XG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkc3BhY2VycywgOCk7XG4gICAgfVxuICB9XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLWJlZm9yZSgkZmEtdmFyLWFuZ2xlLXJpZ2h0LCBmYWxzZSwgXCJsaWdodFwiLCAwKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBmbG9hdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGZ1bmN0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gZmEtY29udGVudDogY29udmVuaWVuY2UgZnVuY3Rpb24gdXNlZCB0byBzZXQgY29udGVudCBwcm9wZXJ0eVxuQGZ1bmN0aW9uIGZhLWNvbnRlbnQoJGZhLXZhcikge1xuICBAcmV0dXJuIHVucXVvdGUoXCJcXFwiI3sgJGZhLXZhciB9XFxcIlwiKTtcbn1cblxuLy8gZmEtZGl2aWRlOiBPcmlnaW5hbGx5IG9idGFpbmVkIGZyb20gdGhlIEJvb3RzdHJhcCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXBcbi8vXG4vLyBMaWNlbnNlZCB1bmRlcjogVGhlIE1JVCBMaWNlbnNlIChNSVQpXG4vL1xuLy8gQ29weXJpZ2h0IChjKSAyMDExLTIwMjEgVHdpdHRlciwgSW5jLlxuLy8gQ29weXJpZ2h0IChjKSAyMDExLTIwMjEgVGhlIEJvb3RzdHJhcCBBdXRob3JzXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQGZ1bmN0aW9uIGZhLWRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICAkcXVvdGllbnQ6IDA7XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAxIHtcbiAgICBAcmV0dXJuICRkaXZpZGVuZDtcbiAgfVxuICBAd2hpbGUgJHJlbWFpbmRlciA+PSAkZGl2aXNvciB7XG4gICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgfVxuICBAaWYgJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPiAwIHtcbiAgICAkcmVtYWluZGVyOiBmYS1kaXZpZGUoJHJlbWFpbmRlciAqIDEwLCAkZGl2aXNvciwgJHByZWNpc2lvbiAtIDEpICogLjE7XG4gIH1cbiAgQHJldHVybiAoJHF1b3RpZW50ICsgJHJlbWFpbmRlcikgKiAkc2lnbjtcbn1cbiIsIi5wYWdpbmF0aW9uLWluZm9ybWF0aW9uIHtcbiAgZm9udC1zaXplOiAuOHJlbTtcbn1cblxuLnBhZ2luYXRpb24ge1xuICAucGFnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnBhZ2UtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAmLmRvdHMge1xuICAgICAgICBwYWRkaW5nOiAuMzc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/