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

audio, canvas, video {
  display: inline-block; }

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

[hidden] {
  display: none; }

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

a:focus {
  outline: thin dotted; }

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

h1 {
  font-size: 2em; }

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

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

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

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

pre {
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: \201C \201D \2018 \2019; }

small {
  font-size: 80%; }

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

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

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

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; }

button, input {
  line-height: normal; }

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

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

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

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

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

textarea {
  overflow: auto;
  vertical-align: top; }

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

body, figure {
  margin: 0; }

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

* {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top; }

/**
 *  Placeholder color
 *
 *  Usage: append to form, that contains input/textarea elements to change placeholder color - @include placeholder(color);
 */
/**
 *  Font-face
 *
 *  Usage: append anywhere - @include font-face('font name', 'path to font file', woff ttf svg eot);
 *   woff ttf svg eot - necessary extensions (at least one is required)
 */
/**
 *  Link colors
 *
 *  Usage: append to link - @include link-colors('normal state color', 'hover state color', 'active state color', 'visited state color', 'focus state color');
 *  hover, active, visited and focus states are optional
 */
@font-face {
  font-family: "SourceSansPro-Light";
  src: url("../fonts/SourceSansPro-Light.woff") format("woff"), url("../fonts/SourceSansPro-Light.ttf") format("truetype"); }

@font-face {
  font-family: "SourceSansPro-Regular";
  src: url("../fonts/SourceSansPro-Regular.woff") format("woff"), url("../fonts/SourceSansPro-Regular.ttf") format("truetype"); }

/**
 * Swiper 3.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * 
 * http://www.idangero.us/swiper/
 * 
 * Copyright 2017, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 * 
 * Licensed under MIT
 * 
 * Released on: March 10, 2017
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: -webkit-transform, height;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  *::-moz-selection {
    background: #f2f2f2; }
  *::selection {
    background: #f2f2f2; }

a {
  outline: none;
  text-decoration: none;
  color: #000; }
  a:focus {
    outline: none; }

.hidden {
  display: none !important; }

b, strong {
  font-weight: normal;
  font-family: "SourceSansPro-Regular"; }

html {
  min-width: 100%;
  min-height: 100%; }

body {
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  font-family: "SourceSansPro-Light";
  font-size: 18px;
  line-height: 24px;
  position: relative; }
  @media all and (max-width: 1365px) {
    body {
      font-size: 16px;
      line-height: 20px; } }
  @media all and (max-width: 767px) {
    body {
      font-size: 18px;
      line-height: 24px; } }
  body.overflow {
    overflow: hidden; }

.container {
  width: 100%;
  padding: 0 100px;
  max-width: 1822px;
  margin: 0 auto; }
  @media all and (max-width: 1365px) {
    .container {
      padding: 0 40px; } }
  @media all and (max-width: 767px) and (orientation: portrait) {
    .container {
      padding: 0 20px; } }

h2 {
  font-family: "SourceSansPro-Light";
  font-weight: normal;
  font-size: 34px;
  line-height: 42px; }
  @media all and (max-width: 1365px) {
    h2 {
      font-size: 26px;
      line-height: 32px; } }
  @media all and (max-width: 767px) {
    h2 {
      font-size: 24px;
      line-height: 28px; } }
  h2 a {
    display: inline; }
    @media all and (min-width: 1121px) {
      h2 a {
        border-bottom: 2px solid transparent;
        -webkit-transition: border 300ms ease;
        transition: border 300ms ease; }
        h2 a:hover {
          border-bottom-color: inherit; } }
    h2 a[href*="mailto"] {
      border-bottom: 2px solid; }
      @media all and (min-width: 1121px) {
        h2 a[href*="mailto"] {
          -webkit-transition: color 300ms ease;
          transition: color 300ms ease; }
          h2 a[href*="mailto"]:hover {
            color: #8e8e8e; } }

.content-block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .content-block img {
    width: 100%; }
  .content-block .video {
    position: relative;
    width: 100%; }
    .content-block .video:before {
      content: '';
      display: table;
      padding-bottom: 56.25%; }
    .content-block .video iframe {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      min-height: 100%;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0); }

.margin {
  height: 40px;
  width: 100%; }
  @media all and (max-width: 1365px) {
    .margin {
      height: 30px; } }
  @media all and (max-width: 767px) and (orientation: portrait) {
    .margin {
      height: 20px; } }
  .margin-half {
    height: 20px;
    width: 100%; }
    @media all and (max-width: 1365px) {
      .margin-half {
        height: 15px; } }
    @media all and (max-width: 767px) {
      .margin-half {
        height: 10px; } }
  .margin-double {
    height: 80px;
    width: 100%; }
    @media all and (max-width: 1365px) {
      .margin-double {
        height: 50px; } }
    @media all and (max-width: 767px) and (orientation: portrait) {
      .margin-double {
        height: 30px; } }
  .margin-tripple {
    height: 160px;
    width: 100%; }
    @media all and (max-width: 1365px) {
      .margin-tripple {
        height: 110px; } }
    @media all and (max-width: 767px) {
      .margin-tripple {
        height: 90px; } }
    @media all and (max-width: 767px) and (orientation: landscape) {
      .margin-tripple {
        height: 120px; } }

.content-block-inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .content-block-inner.border-top {
    border-top: 1px solid #ececec;
    padding-top: 40px; }
    @media all and (max-width: 1365px) {
      .content-block-inner.border-top {
        padding-top: 30px; } }
    @media all and (max-width: 767px) and (orientation: portrait) {
      .content-block-inner.border-top {
        padding-top: 20px; }
        .content-block-inner.border-top .project-list {
          padding-top: 10px; } }

.col-2 {
  width: 50%;
  padding-right: 13px; }
  @media all and (max-width: 1365px) {
    .col-2 {
      padding-right: 9px; } }
  @media all and (max-width: 767px) {
    .col-2 {
      width: 100%;
      padding-right: 0; } }
  .col-2 + .col-2 {
    padding-left: 13px;
    padding-right: 0; }
    @media all and (max-width: 1365px) {
      .col-2 + .col-2 {
        padding-left: 9px; } }
    @media all and (max-width: 767px) {
      .col-2 + .col-2 {
        padding-left: 0; }
        .col-2 + .col-2 img {
          margin-top: 10px; } }

.content {
  min-height: calc(100vh - 71px - 225px); }
  @media all and (max-width: 1365px) {
    .content {
      min-height: calc(100vh - 60px - 181px); } }
  @media all and (max-width: 767px) {
    .content {
      min-height: 0; }
      .content .nobr br {
        display: none; } }
  @media all and (max-width: 767px) {
    .content > .margin-tripple:first-child {
      height: 120px; } }
  .content .content-block-inner hr {
    display: none; }
    @media all and (max-width: 767px) {
      .content .content-block-inner hr {
        display: block; } }
    .content .content-block-inner hr:after {
      content: '';
      display: inline-block; }
  .content .content-block-inner p > a {
    display: inline;
    border-bottom: 1px solid; }
    @media all and (min-width: 1121px) {
      .content .content-block-inner p > a {
        -webkit-transition: color 300ms ease;
        transition: color 300ms ease; }
        .content .content-block-inner p > a:hover {
          color: #8e8e8e; } }
    @media all and (max-width: 767px) {
      .content .content-block-inner p > a {
        text-decoration: underline;
        border-bottom: none; }
        .content .content-block-inner p > a[href*="tel"] {
          text-decoration: none; } }
  .content .content-block-inner strong > a {
    display: inline; }
    @media all and (min-width: 1121px) {
      .content .content-block-inner strong > a {
        border-bottom: 1px solid transparent;
        -webkit-transition: border 300ms ease;
        transition: border 300ms ease; }
        .content .content-block-inner strong > a:hover {
          border-bottom-color: #000; } }
    @media all and (max-width: 767px) {
      .content .content-block-inner strong > a {
        text-decoration: underline;
        font-size: 16px; } }

.header {
  height: 71px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  padding-top: 40px; }
  @media all and (max-width: 1365px) {
    .header {
      padding-top: 30px;
      height: 60px; } }
  @media all and (max-width: 767px) {
    .header {
      padding-top: 20px;
      height: 45px; } }
  .header.show-menu .menu-wrapper {
    opacity: 1;
    pointer-events: all; }
  .header.show-menu .logo svg * {
    fill: #fff; }
  .header.show-menu .ham:before, .header.show-menu .ham:after {
    background: #fff;
    width: 26px; }
  .header.show-menu .ham:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 12px; }
  .header.show-menu .ham:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    bottom: 11px; }
  .header .logo {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3; }
    .header .logo svg {
      height: 30px; }
      @media all and (max-width: 767px) {
        .header .logo svg {
          height: 25px; } }
      .header .logo svg * {
        -webkit-transition: all 300ms ease;
        transition: all 300ms ease; }
  .header .menu-wrapper {
    width: 50%;
    padding-left: 13px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    padding-right: calc((100% - 78px) / 4 + 26px); }
    @media all and (max-width: 1365px) {
      .header .menu-wrapper {
        padding-left: 9px;
        padding-right: calc((100% - 54px) / 4 + 18px); } }
    @media all and (max-width: 1120px) and (orientation: portrait) {
      .header .menu-wrapper {
        padding-right: 0; } }
    @media all and (max-width: 767px) {
      .header .menu-wrapper {
        padding-right: 0;
        -webkit-transition: opacity 300ms ease;
        transition: opacity 300ms ease;
        overflow: auto;
        pointer-events: none;
        opacity: 0;
        background: #d71921;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        padding-left: 20px;
        padding-top: 90px; } }
    @media all and (max-width: 767px) and (orientation: landscape) {
      .header .menu-wrapper {
        padding-left: 40px; } }
    .header .menu-wrapper a {
      display: block;
      line-height: 1;
      position: relative;
      top: -3px; }
      @media all and (min-width: 1121px) {
        .header .menu-wrapper a {
          -webkit-transition: color 300ms ease;
          transition: color 300ms ease; }
          .header .menu-wrapper a:hover {
            color: #8e8e8e; } }
      @media all and (max-width: 767px) {
        .header .menu-wrapper a {
          font-size: 24px;
          line-height: 36px;
          color: #fff;
          top: 0; } }
      .header .menu-wrapper a.lang {
        position: absolute;
        right: 0; }
        @media all and (max-width: 1120px) and (orientation: portrait) {
          .header .menu-wrapper a.lang {
            position: relative; } }
        @media all and (max-width: 767px) {
          .header .menu-wrapper a.lang {
            position: relative;
            font-size: 18px;
            margin-top: 40px; } }
  .header .ham {
    display: none;
    position: absolute;
    right: 0;
    top: 20px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 3; }
    .header .ham:before, .header .ham:after {
      content: '';
      width: 25px;
      height: 2px;
      background: #000;
      position: absolute;
      top: 7px;
      left: 0;
      -webkit-transition: all 300ms ease;
      transition: all 300ms ease; }
    .header .ham:after {
      top: auto;
      bottom: 7px; }
    @media all and (max-width: 767px) {
      .header .ham {
        display: block; } }

@media all and (max-width: 767px) {
  .footer {
    font-size: 18px;
    line-height: 24px; } }

@media all and (max-width: 767px) {
  .footer .content-block > .content-block-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
    .footer .content-block > .content-block-inner > .col-2 + .col-2 {
      margin-bottom: 60px; }
    .footer .content-block > .content-block-inner .content-block-inner .col-2 + .col-2 {
      margin-top: 20px; } }

@media all and (max-width: 767px) and (orientation: landscape) {
  .footer .content-block > .content-block-inner > .col-2 + .col-2 {
    margin-bottom: 50px; }
  .footer .content-block > .content-block-inner .content-block-inner .col-2 + .col-2 {
    margin-top: 30px; } }

.footer a {
  display: inline; }
  @media all and (min-width: 1121px) {
    .footer a {
      border-bottom: 1px solid transparent;
      -webkit-transition: border 300ms ease;
      transition: border 300ms ease; }
      .footer a:hover {
        border-bottom-color: #000; } }

@media all and (max-width: 767px) and (orientation: landscape) {
  .footer .margin {
    height: 20px; } }

.slogan {
  margin-bottom: 90px; }

.swiper-container {
  position: relative;
  margin-bottom: 26px; }
  @media all and (max-width: 1365px) {
    .swiper-container {
      margin-bottom: 18px; } }
  @media all and (max-width: 767px) {
    .swiper-container {
      margin-bottom: 30px; } }
  .swiper-container .swiper-pagination {
    z-index: 1;
    position: absolute;
    right: 40px;
    bottom: 28px;
    color: #fff; }
    @media all and (max-width: 1365px) {
      .swiper-container .swiper-pagination {
        right: 24px;
        bottom: 21px; } }
    @media all and (max-width: 767px) {
      .swiper-container .swiper-pagination {
        display: none; } }
  .swiper-container .swiper-prev,
  .swiper-container .swiper-next {
    cursor: pointer;
    height: 50%;
    position: absolute;
    z-index: 2;
    top: 25%;
    width: 25%; }
  .swiper-container .swiper-prev {
    left: 0; }
  .swiper-container .swiper-next {
    right: 0; }
  .swiper-container .video {
    position: relative;
    width: 100%; }
    .swiper-container .video:before {
      content: '';
      display: table;
      padding-bottom: 56.25%; }
    .swiper-container .video video {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 100%;
      min-height: 100%;
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0); }

.project-list-title {
  width: 100%;
  border-top: 1px solid #ececec;
  padding-top: 40px;
  padding-bottom: 90px; }

.project-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: -50px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(100% + 26px); }
  @media all and (max-width: 1365px) {
    .project-list {
      margin-bottom: -40px;
      width: calc(100% + 18px); } }
  @media all and (max-width: 767px) {
    .project-list {
      margin-bottom: -20px;
      width: 100%;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media all and (max-width: 767px) and (orientation: landscape) {
    .project-list {
      margin-bottom: -30px; } }
  .project-list li {
    list-style: none;
    width: calc((100% - 78px - 26px) / 4);
    margin-bottom: 50px;
    margin-right: 26px; }
    @media all and (max-width: 1365px) {
      .project-list li {
        width: calc((100% - 54px - 18px) / 4);
        margin-bottom: 40px;
        margin-right: 18px; } }
    @media all and (max-width: 767px) {
      .project-list li {
        width: calc(50% - 5px);
        margin-bottom: 20px;
        font-size: 16px;
        line-height: 20px;
        margin-right: 0; } }
    @media all and (max-width: 767px) and (orientation: landscape) {
      .project-list li {
        width: calc(50% - 7px);
        margin-bottom: 30px; } }
  .project-list .img {
    margin-bottom: 20px;
    position: relative;
    width: 100%; }
    @media all and (max-width: 1365px) {
      .project-list .img {
        margin-bottom: 15px; } }
    @media all and (max-width: 767px) {
      .project-list .img {
        margin-bottom: 10px; } }
    .project-list .img:after {
      content: '';
      position: absolute;
      background: rgba(255, 255, 255, 0.15);
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      opacity: 0;
      -webkit-transition: opacity 300ms ease;
      transition: opacity 300ms ease; }
    .project-list .img img {
      width: 100%; }
  @media all and (min-width: 1121px) {
    .project-list a:hover .img:after {
      opacity: 1; }
    .project-list a:hover .title,
    .project-list a:hover .description {
      border-bottom-color: #000; }
    .project-list a .title,
    .project-list a .description {
      border-bottom: 1px solid transparent;
      -webkit-transition: border 300ms ease;
      transition: border 300ms ease; } }
  .project-list a .title,
  .project-list a .description {
    display: inline; }
    .project-list a .title:after,
    .project-list a .description:after {
      content: '';
      display: table; }
  .project-list a .title {
    font-family: "SourceSansPro-Regular"; }
  .project-list a .title-mobile {
    display: none;
    font-family: "SourceSansPro-Regular"; }
    @media all and (max-width: 767px) {
      .project-list a .title-mobile {
        display: inline; } }
  @media all and (max-width: 767px) {
    .project-list a .title,
    .project-list a .description {
      display: none; } }

@media all and (min-width: 1121px) {
  .project-all a {
    border-bottom: 2px solid transparent;
    -webkit-transition: border 300ms ease;
    transition: border 300ms ease; }
    .project-all a:hover {
      border-bottom-color: inherit; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9ub3JtYWxpemUuc2NzcyIsIm1haW4uY3NzIiwiX21peGluLnNjc3MiLCJfdmFycy5zY3NzIiwiX3N3aXBlci5zY3NzIiwiX2NvbW1vbi5zY3NzIiwibWFpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQWlGLGVBQWEsRUFBRzs7QUFBRDtFQUFtQixzQkFBb0IsRUFBRzs7QUFBRDtFQUFzQixjQUFZO0VBQUUsVUFBUSxFQUFHOztBQ1V4TDtFRFZnTSxjQUFZLEVBQUc7O0FBQUQ7RUFBSyx3QkFBc0I7RUFBRSwrQkFBNkI7RUFBRSwyQkFBeUIsRUFBRzs7QUFBRDtFQUFRLHFCQUFtQixFQUFHOztBQUFEO0VBQWlCLFdBQVMsRUFBRzs7QUFBRDtFQUFHLGVBQWEsRUFBRzs7QUFBRDtFQUFZLDBCQUF3QixFQUFHOztBQUFEO0VBQVMsaUJBQWUsRUFBRzs7QUFBRDtFQUFJLG1CQUFpQixFQUFHOztBQUFEO0VBQUssaUJBQWU7RUFBRSxZQUFVLEVBQUc7O0FBQUQ7RUFBa0IsOEJBQTRCO0VBQUUsZUFBYSxFQUFHOztBQUFEO0VBQUksc0JBQW9CO0VBQUUsc0JBQW9CLEVBQUc7O0FBQUQ7RUFBRSxnQ0FBOEIsRUFBRzs7QUFBRDtFQUFNLGVBQWEsRUFBRzs7QUFBRDtFQUFRLGVBQWE7RUFBRSxlQUFhO0VBQUUsbUJBQWlCO0VBQUUseUJBQXVCLEVBQUc7O0FBQUQ7RUFBSSxXQUFTLEVBQUc7O0FBQUQ7RUFBSSxlQUFhLEVBQUc7O0FBQUQ7RUFBSSxVQUFRLEVBQUc7O0FBQUQ7RUFBZSxpQkFBZSxFQUFHOztBQUFEO0VBQVMsVUFBUTtFQUFFLFVBQVE7RUFBRSxXQUFTLEVBQUc7O0FBQUQ7RUFBNkIscUJBQW1CO0VBQUUsZ0JBQWM7RUFBRSxVQUFRLEVBQUc7O0FBQUQ7RUFBYSxvQkFBa0IsRUFBRzs7QUFBRDs7RUFDajZCLDJCQUF5QjtFQUFFLGdCQUFjLEVBQUc7O0FBQUQ7RUFBaUMsZ0JBQWMsRUFBRzs7QUFBRDtFQUF1QywrQkFBcUI7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aWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbmF2LHNlY3Rpb24sc3VtbWFyeXtkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9ja31hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1hOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWR9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lOjB9aDF7Zm9udC1zaXplOjJlbX1hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOjFweCBkb3R0ZWR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6NzAwfWRmbntmb250LXN0eWxlOml0YWxpY31tYXJre2JhY2tncm91bmQ6I2ZmMDtjb2xvcjojMDAwfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSwgc2VyaWY7Zm9udC1zaXplOjFlbX1wcmV7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmR9cXtxdW90ZXM6XFwyMDFDIFxcMjAxRCBcXDIwMTggXFwyMDE5fXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1pbWd7Ym9yZGVyOjB9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWZpZWxkc2V0e2JvcmRlcjowO21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7bWFyZ2luOjB9YnV0dG9uLGlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1idXR0b24saHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0sLyogMSAqL1xyXG5pbnB1dFt0eXBlPXJlc2V0XSxpbnB1dFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtjdXJzb3I6cG9pbnRlcn1idXR0b25bZGlzYWJsZWRdLGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkOy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24saW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfXRleHRhcmVhe292ZXJmbG93OmF1dG87dmVydGljYWwtYWxpZ246dG9wfXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfWJvZHksZmlndXJle21hcmdpbjowfWxlZ2VuZCxidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfSp7cGFkZGluZzogMDttYXJnaW46IDA7Ym9yZGVyOiAwO291dGxpbmU6IG5vbmU7dmVydGljYWwtYWxpZ246IHRvcDt9IiwiYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sIGNhbnZhcywgdmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyB9XG5cbmE6YWN0aXZlLCBhOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtOyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07IH1cblxucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxucSB7XG4gIHF1b3RlczogXFwyMDFDIFxcMjAxRCBcXDIwMTggXFwyMDE5OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLS41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtLjI1ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLCBpbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuYnV0dG9uLCBodG1sIGlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmJ1dHRvbltkaXNhYmxlZF0sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxuYm9keSwgZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCwgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4qIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyoqXHJcbiAqICBQbGFjZWhvbGRlciBjb2xvclxyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCB0byBmb3JtLCB0aGF0IGNvbnRhaW5zIGlucHV0L3RleHRhcmVhIGVsZW1lbnRzIHRvIGNoYW5nZSBwbGFjZWhvbGRlciBjb2xvciAtIEBpbmNsdWRlIHBsYWNlaG9sZGVyKGNvbG9yKTtcclxuICovXG4vKipcclxuICogIEZvbnQtZmFjZVxyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCBhbnl3aGVyZSAtIEBpbmNsdWRlIGZvbnQtZmFjZSgnZm9udCBuYW1lJywgJ3BhdGggdG8gZm9udCBmaWxlJywgd29mZiB0dGYgc3ZnIGVvdCk7XHJcbiAqICAgd29mZiB0dGYgc3ZnIGVvdCAtIG5lY2Vzc2FyeSBleHRlbnNpb25zIChhdCBsZWFzdCBvbmUgaXMgcmVxdWlyZWQpXHJcbiAqL1xuLyoqXHJcbiAqICBMaW5rIGNvbG9yc1xyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCB0byBsaW5rIC0gQGluY2x1ZGUgbGluay1jb2xvcnMoJ25vcm1hbCBzdGF0ZSBjb2xvcicsICdob3ZlciBzdGF0ZSBjb2xvcicsICdhY3RpdmUgc3RhdGUgY29sb3InLCAndmlzaXRlZCBzdGF0ZSBjb2xvcicsICdmb2N1cyBzdGF0ZSBjb2xvcicpO1xyXG4gKiAgaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZCBhbmQgZm9jdXMgc3RhdGVzIGFyZSBvcHRpb25hbFxyXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTb3VyY2VTYW5zUHJvLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvU291cmNlU2Fuc1Byby1MaWdodC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL1NvdXJjZVNhbnNQcm8tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTb3VyY2VTYW5zUHJvLVJlZ3VsYXJcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Tb3VyY2VTYW5zUHJvLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Tb3VyY2VTYW5zUHJvLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qKlxyXG4gKiBTd2lwZXIgMy40LjJcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xyXG4gKiBcclxuICogQ29weXJpZ2h0IDIwMTcsIFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqIFRoZSBpRGFuZ2Vyby51c1xyXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL1xyXG4gKiBcclxuICogTGljZW5zZWQgdW5kZXIgTUlUXHJcbiAqIFxyXG4gKiBSZWxlYXNlZCBvbjogTWFyY2ggMTAsIDIwMTdcclxuICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm07XG4gIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0OyB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgKjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG5cbmEge1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJTb3VyY2VTYW5zUHJvLVJlZ3VsYXJcIjsgfVxuXG5odG1sIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogXCJTb3VyY2VTYW5zUHJvLUxpZ2h0XCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9IH1cbiAgYm9keS5vdmVyZmxvdyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTAwcHg7XG4gIG1heC13aWR0aDogMTgyMnB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cblxuaDIge1xuICBmb250LWZhbWlseTogXCJTb3VyY2VTYW5zUHJvLUxpZ2h0XCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgbGluZS1oZWlnaHQ6IDQycHg7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgaDIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTEyMXB4KSB7XG4gICAgICBoMiBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMzAwbXMgZWFzZTsgfVxuICAgICAgICBoMiBhOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyB9IH1cbiAgICBoMiBhW2hyZWYqPVwibWFpbHRvXCJdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTEyMXB4KSB7XG4gICAgICAgIGgyIGFbaHJlZio9XCJtYWlsdG9cIl0ge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgICAgICBoMiBhW2hyZWYqPVwibWFpbHRvXCJdOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOGU4ZThlOyB9IH1cblxuLmNvbnRlbnQtYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNvbnRlbnQtYmxvY2sgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29udGVudC1ibG9jayAudmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jb250ZW50LWJsb2NrIC52aWRlbzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgICAuY29udGVudC1ibG9jayAudmlkZW8gaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuXG4ubWFyZ2luIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAubWFyZ2luIHtcbiAgICAgIGhlaWdodDogMzBweDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5tYXJnaW4ge1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9IH1cbiAgLm1hcmdpbi1oYWxmIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAgIC5tYXJnaW4taGFsZiB7XG4gICAgICAgIGhlaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5tYXJnaW4taGFsZiB7XG4gICAgICAgIGhlaWdodDogMTBweDsgfSB9XG4gIC5tYXJnaW4tZG91YmxlIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAgIC5tYXJnaW4tZG91YmxlIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgIC5tYXJnaW4tZG91YmxlIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9IH1cbiAgLm1hcmdpbi10cmlwcGxlIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAubWFyZ2luLXRyaXBwbGUge1xuICAgICAgICBoZWlnaHQ6IDExMHB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm1hcmdpbi10cmlwcGxlIHtcbiAgICAgICAgaGVpZ2h0OiA5MHB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAubWFyZ2luLXRyaXBwbGUge1xuICAgICAgICBoZWlnaHQ6IDEyMHB4OyB9IH1cblxuLmNvbnRlbnQtYmxvY2staW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jb250ZW50LWJsb2NrLWlubmVyLmJvcmRlci10b3Age1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNlY2VjO1xuICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAuY29udGVudC1ibG9jay1pbm5lci5ib3JkZXItdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgLmNvbnRlbnQtYmxvY2staW5uZXIuYm9yZGVyLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgICAgIC5jb250ZW50LWJsb2NrLWlubmVyLmJvcmRlci10b3AgLnByb2plY3QtbGlzdCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH0gfVxuXG4uY29sLTIge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxM3B4OyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkge1xuICAgIC5jb2wtMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA5cHg7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jb2wtMiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuY29sLTIgKyAuY29sLTIge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAuY29sLTIgKyAuY29sLTIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDlweDsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jb2wtMiArIC5jb2wtMiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuY29sLTIgKyAuY29sLTIgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cblxuLmNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzFweCAtIDIyNXB4KTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjBweCAtIDE4MXB4KTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgbWluLWhlaWdodDogMDsgfVxuICAgICAgLmNvbnRlbnQgLm5vYnIgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY29udGVudCA+IC5tYXJnaW4tdHJpcHBsZTpmaXJzdC1jaGlsZCB7XG4gICAgICBoZWlnaHQ6IDEyMHB4OyB9IH1cbiAgLmNvbnRlbnQgLmNvbnRlbnQtYmxvY2staW5uZXIgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmNvbnRlbnQgLmNvbnRlbnQtYmxvY2staW5uZXIgaHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNvbnRlbnQgLmNvbnRlbnQtYmxvY2staW5uZXIgaHI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNvbnRlbnQgLmNvbnRlbnQtYmxvY2staW5uZXIgcCA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMTIxcHgpIHtcbiAgICAgIC5jb250ZW50IC5jb250ZW50LWJsb2NrLWlubmVyIHAgPiBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZTsgfVxuICAgICAgICAuY29udGVudCAuY29udGVudC1ibG9jay1pbm5lciBwID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM4ZThlOGU7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuY29udGVudCAuY29udGVudC1ibG9jay1pbm5lciBwID4gYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgIC5jb250ZW50IC5jb250ZW50LWJsb2NrLWlubmVyIHAgPiBhW2hyZWYqPVwidGVsXCJdIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gfVxuICAuY29udGVudCAuY29udGVudC1ibG9jay1pbm5lciBzdHJvbmcgPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMTIxcHgpIHtcbiAgICAgIC5jb250ZW50IC5jb250ZW50LWJsb2NrLWlubmVyIHN0cm9uZyA+IGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAzMDBtcyBlYXNlOyB9XG4gICAgICAgIC5jb250ZW50IC5jb250ZW50LWJsb2NrLWlubmVyIHN0cm9uZyA+IGE6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuY29udGVudCAuY29udGVudC1ibG9jay1pbm5lciBzdHJvbmcgPiBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbi5oZWFkZXIge1xuICBoZWlnaHQ6IDcxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgLmhlYWRlci5zaG93LW1lbnUgLm1lbnUtd3JhcHBlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC5oZWFkZXIuc2hvdy1tZW51IC5sb2dvIHN2ZyAqIHtcbiAgICBmaWxsOiAjZmZmOyB9XG4gIC5oZWFkZXIuc2hvdy1tZW51IC5oYW06YmVmb3JlLCAuaGVhZGVyLnNob3ctbWVudSAuaGFtOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiAyNnB4OyB9XG4gIC5oZWFkZXIuc2hvdy1tZW51IC5oYW06YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdG9wOiAxMnB4OyB9XG4gIC5oZWFkZXIuc2hvdy1tZW51IC5oYW06YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm90dG9tOiAxMXB4OyB9XG4gIC5oZWFkZXIgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmhlYWRlciAubG9nbyBzdmcge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuaGVhZGVyIC5sb2dvIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4OyB9IH1cbiAgICAgIC5oZWFkZXIgLmxvZ28gc3ZnICoge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAuaGVhZGVyIC5tZW51LXdyYXBwZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gNzhweCkgLyA0ICsgMjZweCk7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gNTRweCkgLyA0ICsgMThweCk7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMjBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q3MTkyMTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgLmhlYWRlciAubWVudS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtM3B4OyB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMTIxcHgpIHtcbiAgICAgICAgLmhlYWRlciAubWVudS13cmFwcGVyIGEge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAgICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzhlOGU4ZTsgfSB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRvcDogMDsgfSB9XG4gICAgICAuaGVhZGVyIC5tZW51LXdyYXBwZXIgYS5sYW5nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDsgfVxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgLmhlYWRlciAubWVudS13cmFwcGVyIGEubGFuZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIC5oZWFkZXIgLm1lbnUtd3JhcHBlciBhLmxhbmcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5oZWFkZXIgLmhhbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5oZWFkZXIgLmhhbTpiZWZvcmUsIC5oZWFkZXIgLmhhbTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7IH1cbiAgICAuaGVhZGVyIC5oYW06YWZ0ZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiA3cHg7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmhlYWRlciAuaGFtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9vdGVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9vdGVyIC5jb250ZW50LWJsb2NrID4gLmNvbnRlbnQtYmxvY2staW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgIC5mb290ZXIgLmNvbnRlbnQtYmxvY2sgPiAuY29udGVudC1ibG9jay1pbm5lciA+IC5jb2wtMiArIC5jb2wtMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gICAgLmZvb3RlciAuY29udGVudC1ibG9jayA+IC5jb250ZW50LWJsb2NrLWlubmVyIC5jb250ZW50LWJsb2NrLWlubmVyIC5jb2wtMiArIC5jb2wtMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuZm9vdGVyIC5jb250ZW50LWJsb2NrID4gLmNvbnRlbnQtYmxvY2staW5uZXIgPiAuY29sLTIgKyAuY29sLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmZvb3RlciAuY29udGVudC1ibG9jayA+IC5jb250ZW50LWJsb2NrLWlubmVyIC5jb250ZW50LWJsb2NrLWlubmVyIC5jb2wtMiArIC5jb2wtMiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG5cbi5mb290ZXIgYSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMTIxcHgpIHtcbiAgICAuZm9vdGVyIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDMwMG1zIGVhc2U7IH1cbiAgICAgIC5mb290ZXIgYTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5mb290ZXIgLm1hcmdpbiB7XG4gICAgaGVpZ2h0OiAyMHB4OyB9IH1cblxuLnNsb2dhbiB7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiAyOHB4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgYm90dG9tOiAyMXB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItcHJldixcbiAgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1uZXh0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAyNSU7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXByZXYge1xuICAgIGxlZnQ6IDA7IH1cbiAgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1uZXh0IHtcbiAgICByaWdodDogMDsgfVxuICAuc3dpcGVyLWNvbnRhaW5lciAudmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zd2lwZXItY29udGFpbmVyIC52aWRlbzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgICAuc3dpcGVyLWNvbnRhaW5lciAudmlkZW8gdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApOyB9XG5cbi5wcm9qZWN0LWxpc3QtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VjZWM7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfVxuXG4ucHJvamVjdC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDI2cHgpOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzNjVweCkge1xuICAgIC5wcm9qZWN0LWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMThweCk7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5wcm9qZWN0LWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAucHJvamVjdC1saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4OyB9IH1cbiAgLnByb2plY3QtbGlzdCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDc4cHggLSAyNnB4KSAvIDQpO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNnB4OyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAucHJvamVjdC1saXN0IGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1NHB4IC0gMThweCkgLyA0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnByb2plY3QtbGlzdCBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgLnByb2plY3QtbGlzdCBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAucHJvamVjdC1saXN0IC5pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgICAucHJvamVjdC1saXN0IC5pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnByb2plY3QtbGlzdCAuaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLnByb2plY3QtbGlzdCAuaW1nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7IH1cbiAgICAucHJvamVjdC1saXN0IC5pbWcgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDExMjFweCkge1xuICAgIC5wcm9qZWN0LWxpc3QgYTpob3ZlciAuaW1nOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAucHJvamVjdC1saXN0IGE6aG92ZXIgLnRpdGxlLFxuICAgIC5wcm9qZWN0LWxpc3QgYTpob3ZlciAuZGVzY3JpcHRpb24ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuICAgIC5wcm9qZWN0LWxpc3QgYSAudGl0bGUsXG4gICAgLnByb2plY3QtbGlzdCBhIC5kZXNjcmlwdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMzAwbXMgZWFzZTsgfSB9XG4gIC5wcm9qZWN0LWxpc3QgYSAudGl0bGUsXG4gIC5wcm9qZWN0LWxpc3QgYSAuZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5wcm9qZWN0LWxpc3QgYSAudGl0bGU6YWZ0ZXIsXG4gICAgLnByb2plY3QtbGlzdCBhIC5kZXNjcmlwdGlvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wcm9qZWN0LWxpc3QgYSAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZVNhbnNQcm8tUmVndWxhclwiOyB9XG4gIC5wcm9qZWN0LWxpc3QgYSAudGl0bGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZVNhbnNQcm8tUmVndWxhclwiOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5wcm9qZWN0LWxpc3QgYSAudGl0bGUtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucHJvamVjdC1saXN0IGEgLnRpdGxlLFxuICAgIC5wcm9qZWN0LWxpc3QgYSAuZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDExMjFweCkge1xuICAucHJvamVjdC1hbGwgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAzMDBtcyBlYXNlOyB9XG4gICAgLnByb2plY3QtYWxsIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgfSB9XG4iLCJcclxuLyoqXHJcbiAqICBQbGFjZWhvbGRlciBjb2xvclxyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCB0byBmb3JtLCB0aGF0IGNvbnRhaW5zIGlucHV0L3RleHRhcmVhIGVsZW1lbnRzIHRvIGNoYW5nZSBwbGFjZWhvbGRlciBjb2xvciAtIEBpbmNsdWRlIHBsYWNlaG9sZGVyKGNvbG9yKTtcclxuICovXHJcblxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyKCR2YWx1ZSkge1xyXG4gIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntcclxuICAgIGNvbG9yOiAkdmFsdWU7XHJcbiAgfVxyXG4gIDo6LW1vei1wbGFjZWhvbGRlcntcclxuICAgIGNvbG9yOiAkdmFsdWU7XHJcbiAgfVxyXG4gIDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7XHJcbiAgICBjb2xvcjogJHZhbHVlO1xyXG4gIH1cclxuICA6LW1vei1wbGFjZWhvbGRlcntcclxuICAgIGNvbG9yOiAkdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcclxuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcbiAgQGlmICRpbmRleCB7XHJcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbiAvKipcclxuICogIEZvbnQtZmFjZVxyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCBhbnl3aGVyZSAtIEBpbmNsdWRlIGZvbnQtZmFjZSgnZm9udCBuYW1lJywgJ3BhdGggdG8gZm9udCBmaWxlJywgd29mZiB0dGYgc3ZnIGVvdCk7XHJcbiAqICAgd29mZiB0dGYgc3ZnIGVvdCAtIG5lY2Vzc2FyeSBleHRlbnNpb25zIChhdCBsZWFzdCBvbmUgaXMgcmVxdWlyZWQpXHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnQtZmFjZSgkbmFtZSwgJHBhdGgsICRleHRzOiB3b2ZmIHR0ZiBzdmcgZW90KSB7XHJcbiAgJHNyYzogbnVsbDtcclxuXHJcbiAgJGV4dG1vZHM6IChcclxuICAgIGVvdDogXCI/XCIsXHJcbiAgICBzdmc6IFwiI1wiICsgc3RyLXJlcGxhY2UoJG5hbWUsIFwiIFwiLCBcIl9cIilcclxuICApO1xyXG5cclxuICAkZm9ybWF0czogKFxyXG4gICAgb3RmOiBcIm9wZW50eXBlXCIsXHJcbiAgICB0dGY6IFwidHJ1ZXR5cGVcIlxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xyXG4gICAgJGV4dG1vZDogaWYobWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLCAkZXh0ICsgbWFwLWdldCgkZXh0bW9kcywgJGV4dCksICRleHQpO1xyXG4gICAgJGZvcm1hdDogaWYobWFwLWhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAtZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XHJcbiAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgJG5hbWUgKyBcIi5cIiArICRleHRtb2QpKSBmb3JtYXQocXVvdGUoJGZvcm1hdCkpLCBjb21tYSk7XHJcbiAgfVxyXG4gIFxyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcclxuICAgIHNyYzogJHNyYzsgICAgXHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4gLyoqXHJcbiAqICBMaW5rIGNvbG9yc1xyXG4gKlxyXG4gKiAgVXNhZ2U6IGFwcGVuZCB0byBsaW5rIC0gQGluY2x1ZGUgbGluay1jb2xvcnMoJ25vcm1hbCBzdGF0ZSBjb2xvcicsICdob3ZlciBzdGF0ZSBjb2xvcicsICdhY3RpdmUgc3RhdGUgY29sb3InLCAndmlzaXRlZCBzdGF0ZSBjb2xvcicsICdmb2N1cyBzdGF0ZSBjb2xvcicpO1xyXG4gKiAgaG92ZXIsIGFjdGl2ZSwgdmlzaXRlZCBhbmQgZm9jdXMgc3RhdGVzIGFyZSBvcHRpb25hbFxyXG4gKi9cclxuXHJcbkBtaXhpbiBsaW5rLWNvbG9ycygkbm9ybWFsLCAkaG92ZXI6IGZhbHNlLCAkYWN0aXZlOiBmYWxzZSwgJHZpc2l0ZWQ6IGZhbHNlLCAkZm9jdXM6IGZhbHNlKSB7XHJcbiAgY29sb3I6ICRub3JtYWw7XHJcbiAgQGlmICR2aXNpdGVkIHtcclxuICAgICY6dmlzaXRlZCB7XHJcbiAgICAgIGNvbG9yOiAkdmlzaXRlZDsgXHJcbiAgICB9IFxyXG4gIH1cclxuICBAaWYgJGZvY3VzIHtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogJGZvY3VzOyBcclxuICAgIH0gXHJcbiAgfVxyXG4gIEBpZiAkaG92ZXIge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkaG92ZXI7IFxyXG4gICAgfSBcclxuICB9XHJcbiAgQGlmICRhY3RpdmUge1xyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogJGFjdGl2ZTsgXHJcbiAgICB9IFxyXG4gIH0gXHJcbn0iLCIkaW1nUGF0aDogJy4uL2ltZy8nO1xyXG4kc3ZnUGF0aDogJy4uL3N2Zy8nO1xyXG4kZm9udFBhdGg6ICcuLi9mb250cy8nO1xyXG5cclxuJGxpZ2h0OiAnU291cmNlU2Fuc1Byby1MaWdodCc7XHJcbiRyZWd1bGFyOiAnU291cmNlU2Fuc1Byby1SZWd1bGFyJztcclxuXHJcbiRmb250LWxpc3Q6IFskbGlnaHQsICRyZWd1bGFyXTtcclxuXHJcbkBlYWNoICRmb250IGluICRmb250LWxpc3Qge1xyXG4gIEBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udCwgJGZvbnRQYXRoLCB3b2ZmIHR0Zik7XHJcbn1cclxuXHJcbiRicmVha3BvaW50MTogMTM2NXB4O1xyXG4kYnJlYWtwb2ludDI6IDExMjBweDtcclxuJGJyZWFrcG9pbnQzOiA3NjdweDtcclxuJGhvdmVyV2lkdGg6IDExMjFweDtcclxuXHJcbiIsIi8qKlxyXG4gKiBTd2lwZXIgMy40LjJcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xyXG4gKiBcclxuICogQ29weXJpZ2h0IDIwMTcsIFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqIFRoZSBpRGFuZ2Vyby51c1xyXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL1xyXG4gKiBcclxuICogTGljZW5zZWQgdW5kZXIgTUlUXHJcbiAqIFxyXG4gKiBSZWxlYXNlZCBvbjogTWFyY2ggMTAsIDIwMTdcclxuICovXHJcbi5zd2lwZXItY29udGFpbmVyIHtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLnN3aXBlci13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xyXG4gIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcclxuICAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcclxuICAtbXMtZmxleDogMCAwIGF1dG87XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vKiBBdXRvIEhlaWdodCAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxufVxyXG4vKiBhMTF5ICovXHJcbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiAtMTAwMDtcclxufVxyXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xyXG4uc3dpcGVyLXdwOC1ob3Jpem9udGFsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICB0b3VjaC1hY3Rpb246IHBhbi15O1xyXG59XHJcbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcclxuICB0b3VjaC1hY3Rpb246IHBhbi14O1xyXG59XHJcbiIsIip7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAmOjpzZWxlY3Rpb257XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xyXG4gIH1cclxufVxyXG5cclxuYXtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjb2xvcjogIzAwMDtcclxuICAmOmZvY3Vze1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5oaWRkZW57XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5iLCBzdHJvbmd7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LWZhbWlseTogJHJlZ3VsYXI7XHJcbn1cclxuXHJcbmh0bWx7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHl7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtcclxuICBmb250LWZhbWlseTogJGxpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgfSBcclxuICAmLm92ZXJmbG93e1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWluZXJ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMCAxMDBweDtcclxuICBtYXgtd2lkdGg6IDE4MjJweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgcGFkZGluZzogMCA0MHB4O1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICB9XHJcbn1cclxuXHJcbmgye1xyXG4gIGZvbnQtZmFtaWx5OiAkbGlnaHQ7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDM0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQycHg7XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgfVxyXG4gIGF7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaG92ZXJXaWR0aCl7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDMwMG1zIGVhc2U7XHJcbiAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltocmVmKj1cIm1haWx0b1wiXXtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkaG92ZXJXaWR0aCl7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZTtcclxuICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgY29sb3I6ICM4ZThlOGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGVudC1ibG9ja3tcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC52aWRlb3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJjpiZWZvcmV7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICAgIH1cclxuICAgIGlmcmFtZXtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWFyZ2lue1xyXG4gIGhlaWdodDogNDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXtcclxuICAgIGhlaWdodDogMjBweDtcclxuICB9XHJcbiAgJi1oYWxme1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtZG91Ymxle1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLXRyaXBwbGV7XHJcbiAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xyXG4gICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtYmxvY2staW5uZXJ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICYuYm9yZGVyLXRvcHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNlY2VjO1xyXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50MykgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpe1xyXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgLnByb2plY3QtbGlzdHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbC0ye1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgcGFkZGluZy1yaWdodDogMTNweDtcclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgcGFkZGluZy1yaWdodDogOXB4O1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuICArLmNvbC0ye1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50MSl7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICBpbWd7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnR7XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDcxcHggLSAyMjVweCk7XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2MHB4IC0gMTgxcHgpO1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIC5ub2Jye1xyXG4gICAgICBicntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY+Lm1hcmdpbi10cmlwcGxlOmZpcnN0LWNoaWxke1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRlbnQtYmxvY2staW5uZXJ7XHJcbiAgICBocntcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcD5he1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGhvdmVyV2lkdGgpe1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgIGNvbG9yOiAjOGU4ZThlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgJltocmVmKj1cInRlbFwiXXtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHN0cm9uZz5he1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRob3ZlcldpZHRoKXtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDMwMG1zIGVhc2U7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50Myl7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xyXG5AaW1wb3J0IFwibWl4aW5cIjtcclxuQGltcG9ydCBcInZhcnNcIjtcclxuQGltcG9ydCBcInN3aXBlclwiO1xyXG5AaW1wb3J0IFwiY29tbW9uXCI7XHJcblxyXG4uaGVhZGVye1xyXG4gIGhlaWdodDogNzFweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50MSl7XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgIGhlaWdodDogNjBweDtcclxuICB9XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxuICAmLnNob3ctbWVudXtcclxuICAgIC5tZW51LXdyYXBwZXJ7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbiAgICB9XHJcbiAgICAubG9nb3tcclxuICAgICAgc3ZnICp7XHJcbiAgICAgICAgZmlsbDogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhhbXtcclxuICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgfVxyXG4gICAgICAmOmJlZm9yZXtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICB9IFxyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgYm90dG9tOiAxMXB4O1xyXG4gICAgICB9ICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sb2dve1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBzdmd7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgIH1cclxuICAgICAgKntcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubWVudS13cmFwcGVye1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDAlIC0gNzhweCkgLyA0ICsgMjZweCk7XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDlweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwJSAtIDU0cHgpIC8gNCArIDE4cHgpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQyKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCl7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7XHJcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgYmFja2dyb3VuZDogI2Q3MTkyMTtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50MykgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKXtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgYXtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogLTNweDtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGhvdmVyV2lkdGgpe1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zIGVhc2U7XHJcbiAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgIGNvbG9yOiAjOGU4ZThlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5sYW5ne1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDIpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KXtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oYW17XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICAmOmJlZm9yZSwgJjphZnRlcntcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDdweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVye1xyXG4gICAgICB0b3A6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogN3B4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZm9vdGVye1xyXG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50Myl7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbiAgLmNvbnRlbnQtYmxvY2t7XHJcbiAgICAmPi5jb250ZW50LWJsb2NrLWlubmVye1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAmPi5jb2wtMntcclxuICAgICAgICAgICsuY29sLTJ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJsb2NrLWlubmVye1xyXG4gICAgICAgICAgLmNvbC0ye1xyXG4gICAgICAgICAgICArLmNvbC0ye1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xyXG4gICAgICAgICY+LmNvbC0ye1xyXG4gICAgICAgICAgKy5jb2wtMntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmxvY2staW5uZXJ7XHJcbiAgICAgICAgICAuY29sLTJ7XHJcbiAgICAgICAgICAgICsuY29sLTJ7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBhe1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGhvdmVyV2lkdGgpe1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAzMDBtcyBlYXNlO1xyXG4gICAgICAmOmhvdmVye1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLm1hcmdpbntcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50MykgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKXtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNsb2dhbntcclxuICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG59XHJcblxyXG4uc3dpcGVyLWNvbnRhaW5lcntcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjZweDtcclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDEpe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcclxuICB9XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgfVxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbntcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNDBweDtcclxuICAgIGJvdHRvbTogMjhweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgICAgcmlnaHQ6IDI0cHg7XHJcbiAgICAgIGJvdHRvbTogMjFweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50Myl7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItcHJldixcclxuICAuc3dpcGVyLW5leHR7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBoZWlnaHQ6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0b3A6IDI1JTtcclxuICAgIHdpZHRoOiAyNSU7XHJcbiAgfVxyXG4gIC5zd2lwZXItcHJldntcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG4gIC5zd2lwZXItbmV4dHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICAudmlkZW97XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICY6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcbiAgICB9XHJcbiAgICB2aWRlb3tcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLC01MCUsMCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvamVjdC1saXN0LXRpdGxle1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNlY2VjO1xyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA5MHB4O1xyXG59XHJcblxyXG4ucHJvamVjdC1saXN0e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBtYXJnaW4tYm90dG9tOiAtNTBweDtcclxuICBmbGV4LXNocmluazogMDtcclxuICB3aWR0aDogY2FsYygxMDAlICsgMjZweCk7XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgIG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE4cHgpO1xyXG4gIH1cclxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XHJcbiAgfVxyXG4gIGxpe1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNzhweCAtIDI2cHgpIC8gNCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyNnB4O1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA1NHB4IC0gMThweCkgLyA0KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNXB4KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xyXG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA3cHgpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaW1ne1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQxKXtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50Myl7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVye1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlO1xyXG4gICAgfVxyXG4gICAgaW1ne1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgYXtcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRob3ZlcldpZHRoKXtcclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICAuaW1nOmFmdGVye1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlLFxyXG4gICAgICAgIC5kZXNjcmlwdGlvbntcclxuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50aXRsZSxcclxuICAgICAgLmRlc2NyaXB0aW9ue1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMzAwbXMgZWFzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpdGxlLFxyXG4gICAgLmRlc2NyaXB0aW9ue1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50aXRsZXtcclxuICAgICAgZm9udC1mYW1pbHk6ICRyZWd1bGFyO1xyXG4gICAgfVxyXG4gICAgLnRpdGxlLW1vYmlsZXtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRyZWd1bGFyO1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludDMpe1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpdGxlLCBcclxuICAgIC5kZXNjcmlwdGlvbntcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQzKXtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvamVjdC1hbGx7XHJcbiAgYXtcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRob3ZlcldpZHRoKXtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMzAwbXMgZWFzZTtcclxuICAgICAgJjpob3ZlcntcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59Il19 */
