/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].use[1]!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[5].use[3]!../cmsplugins/cmsplugin_split_banner/assets/scss/cmsplugin_split_banner.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Split Banner component -- generally used on product pages.
 *
 * @copyright Copyright (c) 2019 SteelSeries
 */
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
.split-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 600px;
}
.split-banner.split-banner__content-split--right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .split-banner.split-banner__content-split--right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.split-banner.split-banner__content-split--left {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .split-banner.split-banner__content-split--left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.split-banner.split-banner__columns-equal .split-banner__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
.split-banner.split-banner__columns-equal .split-banner__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
}
.split-banner.split-banner__columns-offset .split-banner__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
}
.split-banner.split-banner__columns-offset .split-banner__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 60%;
          flex: 1 0 60%;
}

.split-banner__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}

.split-banner-content__inner {
  margin: 0 auto 0 0;
  padding: 0 30px 40px;
}
@media (min-width: 768px) {
  .split-banner-content__inner {
    margin: 0 auto;
    padding: 40px 15px;
    width: 80%;
  }
}
@media (min-width: 992px) {
  .split-banner-content__inner {
    width: 70%;
  }
}
.split-banner-content__inner.split-banner-content--with-button .split-banner__body, .split-banner-content__inner.split-banner-content--with-caption .split-banner__body {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .split-banner-content__inner.split-banner-content--with-button .split-banner__body, .split-banner-content__inner.split-banner-content--with-caption .split-banner__body {
    margin-bottom: 30px;
  }
}

.split-banner__title {
  margin-top: 20px;
  text-transform: none;
}
@media (min-width: 768px) {
  .split-banner__title {
    margin-top: 0;
  }
}

.split-banner__body {
  margin-bottom: 20px;
  font-size: 1.8rem;
}
@media (min-width: 992px) {
  .split-banner__body {
    margin-bottom: 0;
    font-size: 2rem;
  }
}
@media (min-width: 1600px) {
  .split-banner__body {
    font-size: 2.4rem;
  }
}

.split-banner__caption {
  display: block;
  margin-top: 40px;
  color: hsl(217deg, 5%, 60%);
}
.split-banner__caption a {
  color: hsl(217deg, 5%, 60%);
}

.split-banner__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 50%;
          flex: 1 0 50%;
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 0;
}
.split-banner__img[data-align^=top-] {
  background-position-y: top;
}
.split-banner__img[data-align^=middle-] {
  background-position-y: center;
}
.split-banner__img[data-align^=bottom-] {
  background-position-y: bottom;
}
.split-banner__img[data-align$=-left] {
  background-position-x: left;
}
.split-banner__img[data-align$=-center] {
  background-position-x: center;
}
.split-banner__img[data-align$=-right] {
  background-position-x: right;
}
.split-banner__img.split-banner__img--cover {
  background-size: cover;
}
.split-banner__img.split-banner__img--contain {
  background-size: contain;
}

.split-banner--theme-dark {
  background: hsl(0deg, 0%, 0%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark:hover, .split-banner--theme-dark:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark.split-banner__tile--has-bg .split-banner__title,
.split-banner--theme-dark.split-banner__tile--has-bg .split-banner__body {
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
}
.split-banner--theme-dark .button {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--icon:hover, .split-banner--theme-dark .button.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.split-banner--theme-dark .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.split-banner--theme-dark .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.split-banner--theme-dark .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.split-banner--theme-dark .button.button--orange.button--icon:hover, .split-banner--theme-dark .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.split-banner--theme-dark .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.split-banner--theme-dark .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.split-banner--theme-dark .button.button--black.button--icon:hover, .split-banner--theme-dark .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.split-banner--theme-dark .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-dark .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-dark .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--white.button--icon:hover, .split-banner--theme-dark .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-dark .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-dark .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.split-banner--theme-dark .split-banner__caption {
  color: hsl(0deg, 0%, 92%);
}
.split-banner--theme-dark *:focus {
  outline-color: hsl(250deg, 63%, 72%);
}

.split-banner--theme-light {
  background: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 0%);
}
.split-banner--theme-light:hover, .split-banner--theme-light:focus {
  text-decoration: none;
  color: hsl(0deg, 0%, 0%);
}
.split-banner--theme-light.split-banner__tile--has-bg .split-banner__title,
.split-banner--theme-light.split-banner__tile--has-bg .split-banner__body {
  text-shadow: 0px 0px 8px rgba(245, 245, 245, 0.1);
}
.split-banner--theme-light .button.button--orange {
  border-color: hsl(18deg, 98%, 50%);
  background: transparent;
  color: hsl(18deg, 98%, 50%);
}
.split-banner--theme-light .button.button--orange:hover {
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--orange:focus {
  color: hsl(18deg, 98%, 50%);
}
.split-banner--theme-light .button.button--orange:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--orange.button--solid {
  border-color: hsl(18deg, 98%, 50%);
  background: hsl(18deg, 98%, 50%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--orange.button--solid:hover {
  border-color: hsl(18deg, 98%, 65%);
  background: hsl(18deg, 98%, 65%);
}
.split-banner--theme-light .button.button--orange.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--orange.button--link:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.split-banner--theme-light .button.button--orange.button--icon:hover, .split-banner--theme-light .button.button--orange.button--icon-large:hover {
  background: transparent;
  color: hsl(18deg, 98%, 65%);
}
.split-banner--theme-light .button.button--orange.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--orange.is-loading::before {
  border-color: hsl(18deg, 98%, 50%);
  border-right-color: transparent;
}
.split-banner--theme-light .button.button--orange.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-light .button.button--black {
  border-color: hsl(0deg, 0%, 7%);
  background: transparent;
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--black:hover {
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--black:focus {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--black:focus:hover {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--black.button--solid {
  border-color: hsl(0deg, 0%, 7%);
  background: hsl(0deg, 0%, 7%);
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--black.button--solid:hover {
  border-color: hsl(0deg, 0%, 22%);
  background: hsl(0deg, 0%, 22%);
}
.split-banner--theme-light .button.button--black.button--solid:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--black.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.split-banner--theme-light .button.button--black.button--icon:hover, .split-banner--theme-light .button.button--black.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 22%);
}
.split-banner--theme-light .button.button--black.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--black.is-loading::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.split-banner--theme-light .button.button--black.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-light .button.button--white {
  border-color: hsl(0deg, 0%, 100%);
  background: transparent;
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--white:hover {
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--white:focus {
  color: hsl(0deg, 0%, 100%);
}
.split-banner--theme-light .button.button--white:focus:hover {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--white.button--solid {
  border-color: hsl(0deg, 0%, 100%);
  background: hsl(0deg, 0%, 100%);
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--white.button--solid:hover {
  border-color: hsl(0deg, 0%, 86%);
  background: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--white.button--solid:focus {
  color: hsl(0deg, 0%, 7%);
}
.split-banner--theme-light .button.button--white.button--link:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--white.button--icon:hover, .split-banner--theme-light .button.button--white.button--icon-large:hover {
  background: transparent;
  color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--white.is-inactive {
  background-color: hsl(0deg, 0%, 96%);
  color: hsl(0deg, 0%, 34%);
  border-color: hsl(0deg, 0%, 86%);
}
.split-banner--theme-light .button.button--white.is-loading::before {
  border-color: hsl(0deg, 0%, 100%);
  border-right-color: transparent;
}
.split-banner--theme-light .button.button--white.is-loading.button--solid::before {
  border-color: hsl(0deg, 0%, 7%);
  border-right-color: transparent;
}
.split-banner--theme-light .split-banner__caption {
  color: hsl(0deg, 0%, 34%);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vY3NzL2Ntc3BsdWdpbl9zcGxpdF9iYW5uZXIuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0VBQUE7QUNBQTs7RUFBQTtBQUFBOztFQUFBO0FBQUE7O0VBQUE7QURVQTtFQUNFO0VBQUE7RUFBQTtFQUNBO0FBS0Y7QUFIRTtFQUNFO0VBQUE7TUFBQTtVQUFBO0FBS0o7QUUwQ0k7RUZoREY7SUFJSTtJQUFBO1FBQUE7WUFBQTtFQU1KO0FBQ0Y7QUFIRTtFQUNFO0VBQUE7TUFBQTtVQUFBO0FBS0o7QUVrQ0k7RUZ4Q0Y7SUFJSTtJQUFBO1FBQUE7WUFBQTtFQU1KO0FBQ0Y7QUFGSTtFQUNFO01BQUE7VUFBQTtBQUlOO0FBRkk7RUFDRTtNQUFBO1VBQUE7QUFJTjtBQUNJO0VBQ0U7TUFBQTtVQUFBO0FBQ047QUFDSTtFQUNFO01BQUE7VUFBQTtBQUNOOztBQU1BO0VBQ0U7RUFBQTtFQUFBO0VBQ0E7TUFBQTtVQUFBO0VBQ0E7TUFBQTtVQUFBO0FBSEY7O0FBVUE7RUFDRTtFQUNBO0FBUEY7QUVNSTtFRkRKO0lBS0k7SUFDQTtJQUNBO0VBTkY7QUFDRjtBRURJO0VGREo7SUFXSTtFQUxGO0FBQ0Y7QUFTSTtFQUNFO0FBUE47QUVUSTtFRmVBO0lBSUk7RUFOTjtBQUNGOztBQVdBO0VBQ0U7RUFDQTtBQVJGO0FFbkJJO0VGeUJKO0lBS0k7RUFQRjtBQUNGOztBQVVBO0VBQ0U7RUFDQTtBQVBGO0FFN0JJO0VGa0NKO0lBS0k7SUFDQTtFQU5GO0FBQ0Y7QUVuQ0k7RUZrQ0o7SUFVSTtFQUxGO0FBQ0Y7O0FBUUE7RUFDRTtFQUNBO0VBQ0EsMkJDekZTO0FEb0ZYO0FBT0U7RUFDRSwyQkM1Rk87QUR1Rlg7O0FBU0E7RUFDRTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU5GO0FBUUU7RUFBd0I7QUFMMUI7QUFNRTtFQUEyQjtBQUg3QjtBQUlFO0VBQTJCO0FBRDdCO0FBR0U7RUFBeUI7QUFBM0I7QUFDRTtFQUEyQjtBQUU3QjtBQURFO0VBQTBCO0FBSTVCO0FBRkU7RUFDRTtBQUlKO0FBREU7RUFDRTtBQUdKOztBQTJDQTtFQXZDRSw2QkM3SU07RUQ4SU4sMEJDL0lNO0FEK0lSO0FBRUU7RUFFRTtFQUNBLDBCQ3BKSTtBRG1KUjtBQUtJOztFQUVFO0FBSE47QUFPRTtFR2hLQSxpQ0ZFTTtFRUROO0VBQ0E7QUg0SkY7QUcxSkU7RUFDRSwrQkZISTtFRUlKLHdCRm1CTztBRHlJWDtBR3pKRTtFQUNFLDBCRlJJO0FEbUtSO0FHekpJO0VBQ0Usd0JGWUs7QUQrSVg7QUd2SkU7RUFDRSxpQ0ZoQkk7RUVpQkosK0JGakJJO0VFa0JKLHdCRktPO0FEb0pYO0FHdkpJO0VBQ0UsZ0NGSks7RUVLTCw4QkZMSztBRDhKWDtBR3RKSTtFQUNFLHdCRkhLO0FEMkpYO0FHbkpJO0VBQ0U7RUFDQSx5QkZoQks7QURxS1g7QUcvSUk7RUFDRTtFQUNBLHlCRnhCSztBRHlLWDtBRzdJRTtFQUNFLG9DRi9CTztFRWdDUCx5QkYxQk87RUUyQlAsZ0NGL0JPO0FEOEtYO0FHM0lJO0VBQ0UsaUNGckRFO0VFc0RGO0FINklOO0FHeklNO0VBQ0UsK0JGcENHO0VFcUNIO0FIMklSO0FBaENJO0VHektGLGtDRlVXO0VFVFg7RUFDQSwyQkZRVztBRG9NYjtBRzFNRTtFQUNFLGdDRktTO0VFSlQsMEJGSkk7QURnTlI7QUd6TUU7RUFDRTtBSDJNSjtBR3pNSTtFQUNFLDBCRlhFO0FEc05SO0FHdk1FO0VBQ0Usa0NGUlM7RUVTVCxnQ0ZUUztFRVVULDBCRmxCSTtBRDJOUjtBR3ZNSTtFQUNFLGtDRmRPO0VFZVAsZ0NGZk87QUR3TmI7QUd0TUk7RUFDRSwwQkYxQkU7QURrT1I7QUduTUk7RUFDRTtFQUNBLDJCRjFCTztBRCtOYjtBRy9MSTtFQUNFO0VBQ0EsMkJGbENPO0FEbU9iO0FHN0xFO0VBQ0Usb0NGL0JPO0VFZ0NQLHlCRjFCTztFRTJCUCxnQ0YvQk87QUQ4Tlg7QUczTEk7RUFDRSxrQ0Y3Q087RUU4Q1A7QUg2TE47QUd6TE07RUFDRSxpQ0YzREE7RUU0REE7QUgyTFI7QUE1RUk7RUc3S0YsK0JGeUJTO0VFeEJUO0VBQ0Esd0JGdUJTO0FEcU9YO0FHMVBFO0VBQ0UsNkJGb0JPO0VFbkJQLDBCRkpJO0FEZ1FSO0FHelBFO0VBQ0Usd0JGZU87QUQ0T1g7QUd6UEk7RUFDRSwwQkZYRTtBRHNRUjtBR3ZQRTtFQUNFLCtCRk9PO0VFTlAsNkJGTU87RUVMUCwwQkZsQkk7QUQyUVI7QUd2UEk7RUFDRSxnQ0ZDSztFRUFMO0FIeVBOO0FHdFBJO0VBQ0UsMEJGMUJFO0FEa1JSO0FHblBJO0VBQ0U7RUFDQSx5QkZYSztBRGdRWDtBRy9PSTtFQUNFO0VBQ0EseUJGbkJLO0FEb1FYO0FHN09FO0VBQ0Usb0NGL0JPO0VFZ0NQLHlCRjFCTztFRTJCUCxnQ0YvQk87QUQ4UVg7QUczT0k7RUFDRSwrQkY5Qks7RUUrQkw7QUg2T047QUd6T007RUFDRSxpQ0YzREE7RUU0REE7QUgyT1I7QUF4SEk7RUdqTEYsaUNGRU07RUVETjtFQUNBO0FINFNGO0FHMVNFO0VBQ0UsK0JGSEk7RUVJSix3QkZtQk87QUR5Ulg7QUd6U0U7RUFDRSwwQkZSSTtBRG1UUjtBR3pTSTtFQUNFLHdCRllLO0FEK1JYO0FHdlNFO0VBQ0UsaUNGaEJJO0VFaUJKLCtCRmpCSTtFRWtCSix3QkZLTztBRG9TWDtBR3ZTSTtFQUNFLGdDRkpLO0VFS0wsOEJGTEs7QUQ4U1g7QUd0U0k7RUFDRSx3QkZISztBRDJTWDtBR25TSTtFQUNFO0VBQ0EseUJGaEJLO0FEcVRYO0FHL1JJO0VBQ0U7RUFDQSx5QkZ4Qks7QUR5VFg7QUc3UkU7RUFDRSxvQ0YvQk87RUVnQ1AseUJGMUJPO0VFMkJQLGdDRi9CTztBRDhUWDtBRzNSSTtFQUNFLGlDRnJERTtFRXNERjtBSDZSTjtBR3pSTTtFQUNFLCtCRnBDRztFRXFDSDtBSDJSUjtBQS9KRTtFQUNFLHlCQ3pLTztBRDBVWDtBQTlKRTtFQUNFLG9DQ2hJUztBRGdTYjs7QUE3SkE7RUFsREUsOEJDL0hTO0VEZ0lULHdCQzlJTTtBRGlXUjtBQWpORTtFQUVFO0VBQ0Esd0JDbkpJO0FEcVdSO0FBOU1JOztFQUVFO0FBZ05OO0FBbk1JO0VHektGLGtDRlVXO0VFVFg7RUFDQSwyQkZRVztBRHVXYjtBRzdXRTtFQUNFLGdDRktTO0VFSlQsMEJGSkk7QURtWFI7QUc1V0U7RUFDRTtBSDhXSjtBRzVXSTtFQUNFLDBCRlhFO0FEeVhSO0FHMVdFO0VBQ0Usa0NGUlM7RUVTVCxnQ0ZUUztFRVVULDBCRmxCSTtBRDhYUjtBRzFXSTtFQUNFLGtDRmRPO0VFZVAsZ0NGZk87QUQyWGI7QUd6V0k7RUFDRSwwQkYxQkU7QURxWVI7QUd0V0k7RUFDRTtFQUNBLDJCRjFCTztBRGtZYjtBR2xXSTtFQUNFO0VBQ0EsMkJGbENPO0FEc1liO0FHaFdFO0VBQ0Usb0NGL0JPO0VFZ0NQLHlCRjFCTztFRTJCUCxnQ0YvQk87QURpWVg7QUc5Vkk7RUFDRSxrQ0Y3Q087RUU4Q1A7QUhnV047QUc1Vk07RUFDRSxpQ0YzREE7RUU0REE7QUg4VlI7QUEvT0k7RUc3S0YsK0JGeUJTO0VFeEJUO0VBQ0Esd0JGdUJTO0FEd1lYO0FHN1pFO0VBQ0UsNkJGb0JPO0VFbkJQLDBCRkpJO0FEbWFSO0FHNVpFO0VBQ0Usd0JGZU87QUQrWVg7QUc1Wkk7RUFDRSwwQkZYRTtBRHlhUjtBRzFaRTtFQUNFLCtCRk9PO0VFTlAsNkJGTU87RUVMUCwwQkZsQkk7QUQ4YVI7QUcxWkk7RUFDRSxnQ0ZDSztFRUFMO0FINFpOO0FHelpJO0VBQ0UsMEJGMUJFO0FEcWJSO0FHdFpJO0VBQ0U7RUFDQSx5QkZYSztBRG1hWDtBR2xaSTtFQUNFO0VBQ0EseUJGbkJLO0FEdWFYO0FHaFpFO0VBQ0Usb0NGL0JPO0VFZ0NQLHlCRjFCTztFRTJCUCxnQ0YvQk87QURpYlg7QUc5WUk7RUFDRSwrQkY5Qks7RUUrQkw7QUhnWk47QUc1WU07RUFDRSxpQ0YzREE7RUU0REE7QUg4WVI7QUEzUkk7RUdqTEYsaUNGRU07RUVETjtFQUNBO0FIK2NGO0FHN2NFO0VBQ0UsK0JGSEk7RUVJSix3QkZtQk87QUQ0Ylg7QUc1Y0U7RUFDRSwwQkZSSTtBRHNkUjtBRzVjSTtFQUNFLHdCRllLO0FEa2NYO0FHMWNFO0VBQ0UsaUNGaEJJO0VFaUJKLCtCRmpCSTtFRWtCSix3QkZLTztBRHVjWDtBRzFjSTtFQUNFLGdDRkpLO0VFS0wsOEJGTEs7QURpZFg7QUd6Y0k7RUFDRSx3QkZISztBRDhjWDtBR3RjSTtFQUNFO0VBQ0EseUJGaEJLO0FEd2RYO0FHbGNJO0VBQ0U7RUFDQSx5QkZ4Qks7QUQ0ZFg7QUdoY0U7RUFDRSxvQ0YvQk87RUVnQ1AseUJGMUJPO0VFMkJQLGdDRi9CTztBRGllWDtBRzliSTtFQUNFLGlDRnJERTtFRXNERjtBSGdjTjtBRzViTTtFQUNFLCtCRnBDRztFRXFDSDtBSDhiUjtBQXZURTtFQUNFLHlCQy9LTztBRHdlWCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uL2Ntc3BsdWdpbnMvY21zcGx1Z2luX3NwbGl0X2Jhbm5lci9hc3NldHMvc2Nzcy9jbXNwbHVnaW5fc3BsaXRfYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9taXhpbnMvX2J1dHRvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BsaXQgQmFubmVyIGNvbXBvbmVudCAtLSBnZW5lcmFsbHkgdXNlZCBvbiBwcm9kdWN0IHBhZ2VzLlxuICpcbiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE5IFN0ZWVsU2VyaWVzXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25cIjtcblxuLnNwbGl0LWJhbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuXG4gICYuc3BsaXQtYmFubmVyX19jb250ZW50LXNwbGl0LS1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgfVxuXG4gICYuc3BsaXQtYmFubmVyX19jb250ZW50LXNwbGl0LS1sZWZ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgfVxuXG4gICYuc3BsaXQtYmFubmVyX19jb2x1bW5zLWVxdWFsIHtcbiAgICAuc3BsaXQtYmFubmVyX19jb250ZW50IHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgfVxuICAgIC5zcGxpdC1iYW5uZXJfX2ltZyB7XG4gICAgICBmbGV4OiAxIDAgNTAlO1xuICAgIH1cbiAgfVxuXG4gICYuc3BsaXQtYmFubmVyX19jb2x1bW5zLW9mZnNldCB7XG4gICAgLnNwbGl0LWJhbm5lcl9fY29udGVudCB7XG4gICAgICBmbGV4OiAwIDAgNDAlO1xuICAgIH1cbiAgICAuc3BsaXQtYmFubmVyX19pbWcge1xuICAgICAgZmxleDogMSAwIDYwJTtcbiAgICB9XG4gIH1cblxuXG59XG5cbi5zcGxpdC1iYW5uZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDAgNTAlO1xuXG4gIC8vIC5idXR0b24ge1xuICAvLyAgIG1hcmdpbjogMTBweCAwIDQwcHg7XG4gIC8vIH1cbn1cblxuLnNwbGl0LWJhbm5lci1jb250ZW50X19pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgcGFkZGluZzogMCAzMHB4IDQwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDQwcHggMTVweDtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuICAmLnNwbGl0LWJhbm5lci1jb250ZW50LS13aXRoLWJ1dHRvbixcbiAgJi5zcGxpdC1iYW5uZXItY29udGVudC0td2l0aC1jYXB0aW9uIHtcbiAgICAuc3BsaXQtYmFubmVyX19ib2R5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNwbGl0LWJhbm5lcl9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uc3BsaXQtYmFubmVyX19ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG59XG5cbi5zcGxpdC1iYW5uZXJfX2NhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgY29sb3I6ICRncmF5LTUwMDtcblxuICBhIHtcbiAgICBjb2xvcjogJGdyYXktNTAwO1xuICB9XG59XG5cbi5zcGxpdC1iYW5uZXJfX2ltZyB7XG4gIGZsZXg6IDEgMCA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAwO1xuXG4gICZbZGF0YS1hbGlnbl49XCJ0b3AtXCJdIHsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiB0b3AgO31cbiAgJltkYXRhLWFsaWduXj1cIm1pZGRsZS1cIl0geyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNlbnRlcjsgfVxuICAmW2RhdGEtYWxpZ25ePVwiYm90dG9tLVwiXSB7IGJhY2tncm91bmQtcG9zaXRpb24teTogYm90dG9tOyB9XG5cbiAgJltkYXRhLWFsaWduJD1cIi1sZWZ0XCJdIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBsZWZ0OyB9XG4gICZbZGF0YS1hbGlnbiQ9XCItY2VudGVyXCJdIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7IH1cbiAgJltkYXRhLWFsaWduJD1cIi1yaWdodFwiXSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogcmlnaHQ7IH1cblxuICAmLnNwbGl0LWJhbm5lcl9faW1nLS1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYuc3BsaXQtYmFubmVyX19pbWctLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxufVxuXG4vLyBUaGVtZXNcblxuQG1peGluIHNwbGl0LWJhbm5lci10aGVtZSgkY29sb3IsICRidXR0b24tY29sb3IsICRiYWNrZ3JvdW5kKSB7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJi5zcGxpdC1iYW5uZXJfX3RpbGUtLWhhcy1iZyB7XG4gICAgLnNwbGl0LWJhbm5lcl9fdGl0bGUsXG4gICAgLnNwbGl0LWJhbm5lcl9fYm9keSB7XG4gICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA4cHggcmdiYSgkYmFja2dyb3VuZCwgMC4xKTtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBAaWYgJGJ1dHRvbi1jb2xvciA9PSB3aGl0ZSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24td2hpdGUoKTtcbiAgICB9IEBlbHNlIGlmICRidXR0b24tY29sb3IgPT0gb3JhbmdlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vcmFuZ2UoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHRcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi0tb3JhbmdlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1vcmFuZ2UoKTtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi0tYmxhY2sge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWJsYWNrKCk7XG4gICAgfVxuXG4gICAgJi5idXR0b24tLXdoaXRlIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi13aGl0ZSgpO1xuICAgIH1cbiAgfVxufVxuXG4uc3BsaXQtYmFubmVyLS10aGVtZS1kYXJrIHtcbiAgQGluY2x1ZGUgc3BsaXQtYmFubmVyLXRoZW1lKCR3aGl0ZSwgd2hpdGUsICRibGFjayk7XG5cbiAgLnNwbGl0LWJhbm5lcl9fY2FwdGlvbiB7XG4gICAgY29sb3I6ICRncmF5LTIwMDtcbiAgfVxuXG4gICo6Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6ICRwdXJwbGUtMzAwO1xuICB9XG59XG4uc3BsaXQtYmFubmVyLS10aGVtZS1saWdodCB7XG4gIEBpbmNsdWRlIHNwbGl0LWJhbm5lci10aGVtZSgkYmxhY2ssIGJsYWNrLCAkZ3JheS0xMDApO1xuXG4gIC5zcGxpdC1iYW5uZXJfX2NhcHRpb24ge1xuICAgIGNvbG9yOiAkZ3JheS03MDA7XG4gIH1cbn1cbiIsIi8qKlxuICogRmlsZSBjb250YWluaW5nIGFsbCB0aGUgU0NTUyBWYXJpYWJsZXNcbiAqL1xuXG4vLyBiYXNlIGIvd1xuJHdoaXRlOiBoc2woMCwgMCUsIDEwMCUpO1xuJGJsYWNrOiBoc2woMCwgMCUsIDAlKTtcblxuLy8gZ2xvcmlvdXMgb3JhbmdlXG4kb3JhbmdlLTEwMDogaHNsKDI1LCA5NSUsIDk1JSk7XG4kb3JhbmdlLTIwMDogaHNsKDI1LCA5NSUsIDg4JSk7XG4kb3JhbmdlLTMwMDogaHNsKDE4LCA5NSUsIDc4JSk7XG4kb3JhbmdlLTQwMDogaHNsKDE4LCA5OCUsIDY1JSk7XG4kb3JhbmdlLTUwMDogaHNsKDE4LCA5OCUsIDUwJSk7XG4kb3JhbmdlLTYwMDogaHNsKDE4LCA5OCUsIDQwJSk7XG4kb3JhbmdlLTcwMDogaHNsKDE4LCAxMDAlLCAzMyUpO1xuJG9yYW5nZS04MDA6IGhzbCgxOCwgMTAwJSwgMjUlKTtcbiRvcmFuZ2UtOTAwOiBoc2woMTgsIDEwMCUsIDE2JSk7XG5cbi8vIHN1YnRsZSBncmF5XG4kZ3JheS0xMDA6IGhzbCgwLCAwJSwgOTYlKTtcbiRncmF5LTIwMDogaHNsKDAsIDAlLCA5MiUpO1xuJGdyYXktMzAwOiBoc2woMCwgMCUsIDg2JSk7XG4kZ3JheS00MDA6IGhzbCgwLCAwJSwgNzUlKTtcbiRncmF5LTUwMDogaHNsKDIxNywgNSUsIDYwJSk7XG4kZ3JheS02MDA6IGhzbCgwLCAwJSwgNDYlKTtcbiRncmF5LTcwMDogaHNsKDAsIDAlLCAzNCUpO1xuJGdyYXktODAwOiBoc2woMCwgMCUsIDIyJSk7XG4kZ3JheS05MDA6IGhzbCgwLCAwJSwgNyUpO1xuXG4vLyB2aWN0b3J5IHllbGxvd1xuJHllbGxvdy0xMDA6IGhzbCg1MSwgNzUlLCA5NiUpO1xuJHllbGxvdy0yMDA6IGhzbCg1MSwgNzUlLCA5MiUpO1xuJHllbGxvdy0zMDA6IGhzbCg1MSwgOTElLCA4NyUpO1xuJHllbGxvdy00MDA6IGhzbCg1MSwgODklLCA3OCUpO1xuJHllbGxvdy01MDA6IGhzbCg1MSwgOTAlLCA2MCUpO1xuJHllbGxvdy02MDA6IGhzbCg1MSwgOTAlLCA0NSUpO1xuJHllbGxvdy03MDA6IGhzbCg0OCwgOTYlLCAzNSUpO1xuJHllbGxvdy04MDA6IGhzbCg0OCwgMTAwJSwgMjUlKTtcbiR5ZWxsb3ctOTAwOiBoc2woNDgsIDEwMCUsIDE2JSk7XG5cbi8vIGVtZXJhbGQgZ3JlZW5cbiRncmVlbi0xMDA6IGhzbCgxMzUsIDc1JSwgOTYlKTtcbiRncmVlbi0yMDA6IGhzbCgxMzUsIDc1JSwgOTIlKTtcbiRncmVlbi0zMDA6IGhzbCgxMzUsIDc1JSwgODUlKTtcbiRncmVlbi00MDA6IGhzbCgxMzUsIDc1JSwgNzUlKTtcbiRncmVlbi01MDA6IGhzbCgxNDAsIDczJSwgNTYlKTtcbiRncmVlbi02MDA6IGhzbCgxNDAsIDcxJSwgNDUlKTtcbiRncmVlbi03MDA6IGhzbCgxNDAsIDU2JSwgMzIlKTtcbiRncmVlbi04MDA6IGhzbCgxNDAsIDgwJSwgMjIlKTtcbiRncmVlbi05MDA6IGhzbCgxNDAsIDEwMCUsIDE2JSk7XG5cbi8vIHVsdHJhbWFyaW5lIGJsdWVcbiRibHVlLTEwMDogaHNsKDIzMCwgNjAlLCA5NyUpO1xuJGJsdWUtMjAwOiBoc2woMjMwLCA2MCUsIDg4JSk7XG4kYmx1ZS0zMDA6IGhzbCgyMzAsIDYwJSwgNzUlKTtcbiRibHVlLTQwMDogaHNsKDIzNSwgNjAlLCA2MCUpO1xuJGJsdWUtNTAwOiBoc2woMjQzLCA2NSUsIDQwJSk7XG4kYmx1ZS02MDA6IGhzbCgyNDMsIDY1JSwgMzMlKTtcbiRibHVlLTcwMDogaHNsKDI0MywgNjclLCAyNSUpO1xuJGJsdWUtODAwOiBoc2woMjQzLCA3NSUsIDIwJSk7XG4kYmx1ZS05MDA6IGhzbCgyNDMsIDEwMCUsIDE2JSk7XG5cbi8vIGxveWFsIHB1cnBsZVxuJHB1cnBsZS0xMDA6IGhzbCgyNDUsIDYzJSwgOTUlKTtcbiRwdXJwbGUtMjAwOiBoc2woMjQ1LCA2MyUsIDgyJSk7XG4kcHVycGxlLTMwMDogaHNsKDI1MCwgNjMlLCA3MiUpO1xuJHB1cnBsZS00MDA6IGhzbCgyNjEsIDYzJSwgNjAlKTtcbiRwdXJwbGUtNTAwOiBoc2woMjYxLCA2MyUsIDUzJSk7XG4kcHVycGxlLTYwMDogaHNsKDI2MSwgNjMlLCA0MyUpO1xuJHB1cnBsZS03MDA6IGhzbCgyNjEsIDYzJSwgMzMlKTtcbiRwdXJwbGUtODAwOiBoc2woMjYxLCA2MyUsIDIzJSk7XG4kcHVycGxlLTkwMDogaHNsKDI2MSwgMTAwJSwgMTYlKTtcblxuLy8gcmFjaW5nIHJlZFxuJHJlZC0xMDA6IGhzbCgxNSwgNzUlLCA5NiUpO1xuJHJlZC0yMDA6IGhzbCgyMCwgNzUlLCA4OSUpO1xuJHJlZC0zMDA6IGhzbCg1LCAxMDAlLCA3NSUpO1xuJHJlZC00MDA6IGhzbCgwLCAxMDAlLCA2MyUpO1xuJHJlZC01MDA6IGhzbCgzNTIsIDk1JSwgNDYlKTtcbiRyZWQtNjAwOiBoc2woMzUyLCA5NSUsIDM4JSk7XG4kcmVkLTcwMDogaHNsKDM1MiwgOTYlLCAzMCUpO1xuJHJlZC04MDA6IGhzbCgzNTIsIDk0JSwgMjIlKTtcbiRyZWQtOTAwOiBoc2woMzUyLCAxMDAlLCAxNiUpO1xuXG4vLyBTb2NpYWwgY29sb3JzXG4kZmFjZWJvb2stYmx1ZTogaHNsKDIyMSwgNDQlLCA0MSUpO1xuJHR3aXR0ZXItYmx1ZTogaHNsKDIwMywgODklLCA1MyUpO1xuJGluc3RhZ3JhbS1waW5rOiBoc2woMzM2LCA2OSUsIDUyJSk7XG4keW91dHViZS1yZWQ6IGhzbCgwLCAxMDAlLCA1MCUpO1xuJGRpc2NvcmQtcHVycGxlOiBoc2woMjI3LCA1OCUsIDY1JSk7XG4kdHdpdGNoLXB1cnBsZTogaHNsKDI2MSwgNDMlLCA0NSUpO1xuJHJlZGRpdC1vcmFuZ2U6IGhzbCgxNiwgMTAwJSwgNTAlKTtcbiRsaW5rZWRpbi1ibHVlOiBoc2woMjAxLCAxMDAlLCAzNSUpO1xuJHRpa3Rvay1ibGFjazogaHNsKDAsIDAlLCAwJSk7XG5cbi8vIFByb2R1Y3Qgc3BlY2lmaWMgc3dhdGNoZXNcbiRnYWlhLWdyZWVuOiBoc2woNjIsIDcyJSwgNTQlKTtcblxuLy8gTW9tZW50c1xuJG1vbWVudHMtYmx1ZTogIzE2MTkxZTtcbiRtb21lbnRzLWhhd2tlcy1ibHVlOiAjZDBkOWY2O1xuJG1vbWVudHMtaGF3a2VzLWdyYXk6ICNhN2FlYzQ7XG4kbW9tZW50cy1tYXJ0aW5pcXVlOiAjMzIzOTQzO1xuXG4kbW9tZW50cy1wcmltYXJ5LXB1cnBsZS05MDogIzRiNjBkZjtcbiRtb21lbnRzLXNlY29uZGFyeS1ncmV5LTEwOiAjMmMzMDM0O1xuXG4kbW9tZW50cy1iYWNrZ3JvdW5kLWNvbG9yOiAjMTYxOTFlO1xuJG1vbWVudHMtYmFja2dyb3VuZC1jb2xvci1saWdodGVyOiAjMTkxYzIwO1xuJG1vbWVudHMtYWNjZW50LWNvbG9yOiAjNTE2OGY0O1xuJG1vbWVudHMtY29udHJhc3QtY29sb3I6ICNkMGQ5ZjY7XG4kbW9tZW50cy1hY2NlbnQtY29sb3ItZmFkZTogcmdiYSgkbW9tZW50cy1hY2NlbnQtY29sb3IsIDAuMyk7XG4kbW9tZW50cy1hY2NlbnQtY29sb3ItZmFkZWQ6ICMxZjI1Mzk7XG4kbW9tZW50cy1iYWNrZ3JvdW5kLWNvbG9yLWdyYXk6ICMyOTMyMzk7XG5cbi8vIFNjYWZmb2xkaW5nXG4kYm9keS1iZzogJGJsYWNrO1xuXG4vLyBUeXBvZ3JhcGh5XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byxcbiAgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsXG4gIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1mYW1pbHktYmFzZTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiRmb250LXNpemUtaDE6IDUuMnJlbTtcbiRmb250LXNpemUtaDI6IDMuMnJlbTtcbiRmb250LXNpemUtaDM6IDIuNHJlbTtcbiRmb250LXNpemUtaDQ6IDEuN3JlbTtcbiRmb250LXNpemUtaDU6IDEuNXJlbTtcbiRmb250LXNpemUtaDY6IDEuMnJlbTtcblxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcIlJlcGxpY2EgUHJvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byxcbiAgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsXG4gIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDkwMDtcblxuLy8gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuJHNjcmVlbi14cy1taW46IDQ4MHB4OyAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuJHNjcmVlbi1zbS1taW46IDc2OHB4OyAvLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRzY3JlZW4tbWQtbWluOiA5OTJweDsgLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRzY3JlZW4tbGctbWluOiAxMjAwcHg7IC8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJHNjcmVlbi14bC1taW46IDE2MDBweDsgLy8gRXh0cmEgTGFyZ2Ugc2NyZWVuIC8gZnVsbCBoZFxuXG4kc2NyZWVuLXhsLW1heDogMTkyMHB4OyAvLyBAVE9ETzogdGhpcyBzaG91bGRuJ3QgYmUgbmVlZGVkP1xuJHNjcmVlbi1sZy1tYXg6ICgkc2NyZWVuLXhsLW1pbiAtIDEpO1xuXG4vLyBHcmlkIHN5c3RlbVxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogJHNjcmVlbi1tZC1taW47XG5cbi8vIENvbnRhaW5lciBzaXplc1xuJGNvbnRhaW5lci13aWRlLWRlc2t0b3A6IDE0MDBweDtcbiRjb250YWluZXIteGxhcmdlLWRlc2t0b3A6ICgxNTQwICsgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbiRjb250YWluZXIteGw6ICRjb250YWluZXIteGxhcmdlLWRlc2t0b3A7XG5cbi8vIE5hdmJhclxuJG5hdmJhci1oZWlnaHQ6IDY0cHg7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6IDA7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LWJnOiAkZ3JheS05MDA7XG5cbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAkd2hpdGU7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAkd2hpdGU7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICRncmF5LTkwMDtcblxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogJGdyYXktNDAwO1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogJHdoaXRlO1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICRncmF5LTYwMDtcblxuLy8gTmF2c1xuJG5hdi1saW5rLXBhZGRpbmc6IDEwcHggMzBweDtcblxuLy8gRm9ybXNcbiRib3JkZXItcmFkaXVzLWJhc2U6IDA7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAkZ3JheS0zMDA7XG5cbi8vIFBhdGggdmFyaWFibGVzXG4kaW1nOiBcIi4uL2ltZ1wiO1xuXG4vLyBHcmlkIHYyXG5cbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5MnB4LFxuICBsZzogMTIwMHB4LFxuICB4bDogMTYwMHB4LFxuICAvLyB1bHRyYXdpZGUgYnJlYWtwb2ludCB0byBiZSBkZWxldGVkXG4gIHV3OiAyMDAwcHgsXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiAoXG4gICAgNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICksXG4gIG1kOiAoXG4gICAgOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICksXG4gIGxnOiAoXG4gICAgMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoLFxuICApLFxuICB4bDogKFxuICAgIDE1NDBweCArICRncmlkLWd1dHRlci13aWR0aCxcbiAgKSxcbiAgLy8gdWx0cmF3aWRlIGJyZWFrcG9pbnQgdG8gYmUgZGVsZXRlZFxuICB1dzpcbiAgICAoXG4gICAgICAxOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgsXG4gICAgKSxcbik7XG5cbi8vIFRvb2x0aXBzXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogMjUwcHg7XG5cbi8vIFRoaXMgaXMgcHJvYmFibHkgd2hlcmUgd2Ugd2FudCB0byBnbywgYnV0IGZvciBub3csIHRoZSBncmlkIGlzIGFsaWduZWRcbi8vIHdpdGggdGhlIGN1cnJlbnQgb25lLlxuLy8gJGdyaWQtYnJlYWtwb2ludHM6IChcbi8vICAgeHM6IDAsXG4vLyAgIHNtOiA2MDBweCxcbi8vICAgbWQ6IDkwMHB4LFxuLy8gICBsZzogMTIwMHB4LFxuLy8gICB4bDogMTgwMHB4XG4vLyApO1xuLy8gJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4vLyAgIHNtOiA1NDBweCxcbi8vICAgbWQ6IDg0MHB4LFxuLy8gICBsZzogMTE0MHB4LFxuLy8gICB4bDogMTc0MHB4XG4vLyApO1xuLy8gJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuQG1peGluIGJ1dHRvbi1jb2xvcigkcHJpbWFyeSwgJHNlY29uZGFyeSwgJGhvdmVyKSB7XG4gIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHByaW1hcnk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYuYnV0dG9uLS1zb2xpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBjb2xvcjogJHNlY29uZGFyeTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkaG92ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeTtcbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0tbGluayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgJi5idXR0b24tLWljb24sXG4gICYuYnV0dG9uLS1pY29uLWxhcmdlIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLmlzLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gICAgY29sb3I6ICRncmF5LTcwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgfVxuXG4gICYuaXMtbG9hZGluZyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYuYnV0dG9uLS1zb2xpZCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3JhbmdlKCkge1xuICBAaW5jbHVkZSBidXR0b24tY29sb3IoJG9yYW5nZS01MDAsICR3aGl0ZSwgJG9yYW5nZS00MDApO1xufVxuXG5AbWl4aW4gYnV0dG9uLXB1cnBsZSgpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRwdXJwbGUtNTAwLCAkd2hpdGUsICRwdXJwbGUtNDAwKTtcbn1cblxuQG1peGluIGJ1dHRvbi13aGl0ZSgpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCR3aGl0ZSwgJGdyYXktOTAwLCAkZ3JheS0zMDApO1xufVxuXG5AbWl4aW4gYnV0dG9uLWJsYWNrKCkge1xuICBAaW5jbHVkZSBidXR0b24tY29sb3IoJGdyYXktOTAwLCAkd2hpdGUsICRncmF5LTgwMCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/