/*!***********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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_product_comparison_chart/assets/scss/cmsplugin_product_comparison_chart.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Define the product comparison chart.
 *
 * @copyright Copyright (c) 2016 SteelSeries
 */
/**
 * File containing all the SCSS Variables
 */
/*
  Heading styles
*/
/*
  Body styles
*/
/**
 *
 * Based on flexbox, and aligned to follow our naming conventions.
 *
 */
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
/**
 * File containing all the SCSS Variables
 */
.product-comparison-chart {
  overflow: hidden;
}

@media (max-width: 1480px) {
  .comparison-chart__table-wrapper {
    overflow-x: scroll;
  }
}

.comparison-chart__table {
  min-width: 1480px;
  border-collapse: collapse;
  empty-cells: show;
  table-layout: fixed;
}
.comparison-chart__table tr {
  height: 80px;
}
.comparison-chart__table th,
.comparison-chart__table td {
  padding: 0.5rem 1.5rem;
}
.comparison-chart__table thead th {
  text-align: center;
  font-weight: 900;
  line-height: 0.9;
  text-transform: uppercase;
  padding: 1.5rem;
}
@media (min-width: 992px) {
  .comparison-chart__table thead th {
    font-size: 1.6rem;
  }
}
@media (min-width: 1200px) {
  .comparison-chart__table thead th {
    font-size: 1.8rem;
  }
}
.comparison-chart__table thead th a {
  text-decoration: none;
}
.comparison-chart__table thead th a:hover, .comparison-chart__table thead th a:focus {
  text-decoration: underline;
}
.comparison-chart__table thead th.comparison-chart__table--name {
  font-size: 1.8rem;
}
.comparison-chart__table thead td {
  padding: 1.5rem 1.5rem 0;
}
.comparison-chart__table thead a {
  color: hsl(0deg, 0%, 0%);
  text-decoration: none;
}
.comparison-chart__table tbody th,
.comparison-chart__table tbody td {
  border: 2px solid hsl(0deg, 0%, 86%);
}
@media (min-width: 992px) {
  .comparison-chart__table tbody th,
.comparison-chart__table tbody td {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .comparison-chart__table tbody th,
.comparison-chart__table tbody td {
    font-size: 1.6rem;
  }
}
.comparison-chart__table tbody th {
  text-align: left;
}
.comparison-chart__table tbody th small {
  display: block;
  font-weight: 400;
}
.comparison-chart__table tbody th span svg {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
}
.comparison-chart__table tbody td {
  text-align: center;
}
.comparison-chart__table tbody td ul {
  margin: 5px 0 0 0;
  padding: 0;
}
.comparison-chart__table tbody td svg {
  vertical-align: middle;
}
@media (min-width: 992px) {
  .comparison-chart__table tbody td svg {
    width: 25px;
    height: 25px;
  }
}
@media (min-width: 1200px) {
  .comparison-chart__table tbody td svg {
    width: 30px;
    height: 30px;
  }
}
.comparison-chart__table tbody td span svg {
  position: relative;
  top: -1px;
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
}
.comparison-chart__table tbody tr:nth-child(even) th,
.comparison-chart__table tbody tr:nth-child(even) td {
  background: hsl(0deg, 0%, 92%);
}
.comparison-chart__table tfoot td {
  padding: 0 8px;
}
.comparison-chart__table tfoot td a {
  white-space: nowrap;
}
.comparison-chart__table th,
.comparison-chart__table td {
  width: auto;
  max-width: 220px;
  min-width: 148px;
}

.comparison-chart__table-prices td {
  font-weight: 500;
  line-height: 1.2;
}
.comparison-chart__table-prices td small {
  font-size: 70%;
  font-weight: 400;
  opacity: 0.9;
}
.comparison-chart__table-prices td small.table-prices__shipping {
  display: block;
}
.comparison-chart__table-prices td small.table-prices__range {
  display: inline-block;
}
.comparison-chart__table-prices td .price-discount {
  color: hsl(352deg, 95%, 46%);
  font-size: 70%;
  text-decoration: line-through;
}

.comparison-chart__table-help {
  display: inline-block;
  width: 14px;
  cursor: pointer;
  color: hsl(250deg, 63%, 72%);
  -webkit-transition: opacity 100ms ease;
  transition: opacity 100ms ease;
}
.comparison-chart__table-help:hover {
  opacity: 0.8;
}

.comparison-chart__table-swatch {
  position: relative;
  vertical-align: top;
  display: inline-block;
  margin-right: 10px;
  list-style: none;
  border-radius: 50px;
  background: hsl(0deg, 0%, 100%);
  cursor: pointer;
}
@media (min-width: 992px) {
  .comparison-chart__table-swatch {
    height: 22px;
    width: 22px;
  }
}
@media (min-width: 1200px) {
  .comparison-chart__table-swatch {
    height: 32px;
    width: 32px;
  }
}
.comparison-chart__table-swatch::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50px;
  -webkit-box-shadow: 0 0 0 2px #dbdbdb;
          box-shadow: 0 0 0 2px #dbdbdb;
}
@media (min-width: 992px) {
  .comparison-chart__table-swatch::before {
    height: 22px;
    width: 22px;
  }
}
@media (min-width: 1200px) {
  .comparison-chart__table-swatch::before {
    height: 32px;
    width: 32px;
  }
}
.comparison-chart__table-swatch:last-child {
  margin-right: 0;
}

.product-comparison-chart {
  padding-bottom: 3em;
}
.product-comparison-chart .compare-description {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3em;
  text-align: center;
}

.compare {
  position: relative;
  margin-top: 3em;
}

.comparison-product__image {
  display: block;
  height: auto;
  width: 100%;
  max-width: 180px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .comparison-product__image {
    max-width: 190px;
  }
}

.comparison-product__image--keyboard {
  max-width: 420px;
}

.inline-product-comparison {
  display: none;
  padding: 3em 0;
  background: hsl(0deg, 0%, 100%);
  text-align: center;
}
@media (min-width: 768px) {
  .inline-product-comparison {
    display: block;
    padding: 5em 0;
  }
}
.inline-product-comparison .comparison-price {
  color: hsl(0deg, 0%, 46%);
}
.inline-product-comparison img {
  width: 120px;
  height: auto;
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  .inline-product-comparison img {
    width: 200px;
  }
}
@media (min-width: 992px) {
  .inline-product-comparison img {
    width: 240px;
  }
}
@media (min-width: 1200px) {
  .inline-product-comparison img {
    width: 400px;
  }
}

.comparison-column {
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
.comparison-column.comparison-column--features {
  vertical-align: bottom;
}

.comparison-list-features-text {
  margin: 2.5em auto 2.7em;
  padding: 0;
}
.comparison-list-features-text li {
  margin: 1.3em 0 0;
  list-style: none;
  font-size: 1.8rem;
}

.inline-product-comparison__label {
  color: hsl(0deg, 0%, 46%);
  font-size: 1.8rem;
}

.comparison-list-features {
  margin: 2em 0;
  padding: 0;
}
.comparison-list-features li {
  text-align: center;
  color: hsl(0deg, 0%, 46%);
  font-size: 3.6rem;
  list-style: none;
}
.comparison-list-features li svg {
  width: 24px;
  height: 24px;
  color: hsl(140deg, 71%, 45%);
}

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