/**
 * Usage:
 *
 *   background-color: color(white);
 */
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
@media (min-width: 640px) {
  .c-accent--left {
    position: relative;
    overflow: visible !important;
  }
  .c-accent--left::before {
    content: "";
    background-color: #da251d;
    position: absolute;
    z-index: -1;
  }
  .c-accent--left img {
    width: 100%;
  }
  .c-accent--left::before {
    top: 5%;
    width: 100%;
    height: 85%;
    max-height: 512px;
    left: -24px;
  }
  .c-accent--right {
    position: relative;
    overflow: visible !important;
  }
  .c-accent--right::before {
    content: "";
    background-color: #da251d;
    position: absolute;
    z-index: -1;
  }
  .c-accent--right img {
    width: 100%;
  }
  .c-accent--right::before {
    top: 5%;
    width: 100%;
    height: 85%;
    max-height: 512px;
    right: -24px;
  }
}

@media (min-width: 1225px) {
  .c-accent--left::before {
    left: -32px;
  }
  .c-accent--right::before {
    right: -32px;
  }
}

.component.video {
  position: relative;
  overflow: visible !important;
  margin-bottom: 32px;
  display: block;
}

.component.video::before {
  content: "";
  background-color: #da251d;
  position: absolute;
  z-index: -1;
}

.component.video img {
  width: 100%;
}

.component.video .mejs-container {
  overflow: hidden;
  min-width: 100%;
  -webkit-box-shadow: 0 8px 24px 2px rgba(0, 0, 0, 0.1), 0 0px 24px 5px rgba(0, 0, 0, 0.1), 0 0px 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 8px 24px 2px rgba(0, 0, 0, 0.1), 0 0px 24px 5px rgba(0, 0, 0, 0.1), 0 0px 10px 0 rgba(0, 0, 0, 0.1);
}

[data-whatinput=keyboard] .component.video .mejs-container:focus,
[data-whatintent=keyboard] .component.video .mejs-container:focus {
  outline: 3px dotted #000000;
}

.component.video .mejs-overlay-play {
  max-width: 100%;
}

.component.video .mejs-controls .mejs-button button {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.component.video .video-init {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  margin: -40px 0 0 -40px;
  background: url("/-/media/Base-Themes/Core-Libraries/styles/mejs-controls.svg") no-repeat;
  background-position: 0 -39px;
  overflow: hidden;
  z-index: 1;
}

.component.video::before {
  width: 128px;
  height: 128px;
}

.component.video .video-caption {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 24px;
  font-style: normal;
  font-weight: 500;
  margin-top: 4px;
}

.component.video iframe {
  width: 100%;
}

@media (max-width: 1224px) {
  :not(.toggle-content) > .component.video::before {
    top: -16px;
    left: -16px;
  }
}

@media (min-width: 1225px) {
  :not(.toggle-content) > .component.video {
    margin-left: -104px;
    margin-right: -104px;
    margin-bottom: 96px;
  }
  :not(.toggle-content) > .component.video::before {
    bottom: -32px;
    width: 256px;
    height: 256px;
    left: -32px;
  }
  :not(.toggle-content) > .component.video .video-caption {
    position: absolute;
    left: 256px;
    margin-top: 8px;
    margin-bottom: 32px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3Nhc3MtbXEtbW9kLnNjc3MiLCJjb21wb25lbnRzL19hY2NlbnQtYmFycy5zY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX2NvbG9ycy5zY3NzIiwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9fc3BhY2Uuc2NzcyIsImNvbXBvbmVudC12aWRlby5jc3MiLCJjb21wb25lbnQtdmlkZW8uc2NzcyIsImFic3RyYWN0cy9taXhpbnMvX3NoYWRvd3Muc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9AY29tbW9uLXVpL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2lvdGFjc3MvbW9kdWxlcy9pb3RhY3NzLXRvb2xzLWNvcmUvdXRpbGl0aWVzL19leHRyYWN0LXR5cGUtc2l6ZXMuc2NzcyIsImFic3RyYWN0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUM4UEQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQ3hQSCxpQkFBaUI7QUN1TlQ7RUNwTk47SUFkQSxtQkFBa0I7SUFDbEIsNkJBQTRCO0dBc0IzQjtFQXJCRDtJQUNFLFlBQVc7SUFDWCwwQkNBaUI7SURDakIsbUJBQWtCO0lBQ2xCLFlBQVc7R0FDWjtFQUNEO0lBQ0UsWUFBVztHQUNaO0VBSUQ7SUFHSSxRQUFPO0lBQ1AsWUFBVztJQUNYLFlBQVc7SUFDWCxrQkFBaUI7SUFDakIsWUVuQmtCO0dGb0JuQjtFQUdIO0lBekJBLG1CQUFrQjtJQUNsQiw2QkFBNEI7R0FpQzNCO0VBaENEO0lBQ0UsWUFBVztJQUNYLDBCQ0FpQjtJRENqQixtQkFBa0I7SUFDbEIsWUFBVztHQUNaO0VBQ0Q7SUFDRSxZQUFXO0dBQ1o7RUFlRDtJQUdJLFFBQU87SUFDUCxZQUFXO0lBQ1gsWUFBVztJQUNYLGtCQUFpQjtJQUNqQixhRTlCa0I7R0YrQm5CO0NHNkJKOztBSm9LTztFQzVMTjtJQUVJLFlFdENrQjtHRnVDbkI7RUFHSDtJQUVJLGFFNUNrQjtHRjZDbkI7Q0d3Qko7O0FDckVEO0VKRkUsbUJBQWtCO0VBQ2xCLDZCQUE0QjtFSUcxQixvQkZGb0I7RUVHcEIsZUFBYztDQThDakI7O0FBakREO0VKQ0ksWUFBVztFQUNYLDBCQ0FpQjtFRENqQixtQkFBa0I7RUFDbEIsWUFBVztDQUNaOztBSUxIO0VKT0ksWUFBVztDQUNaOztBSVJIO0VBTVEsaUJBQWdCO0VBQ2hCLGdCQUFlO0VDR3JCLDBIQVQ0QztVQVM1QyxrSEFUNEM7Q0RjekM7O0FEZ0ZMOztFQ25GZ0IsNEJIWUE7Q0dYSDs7QUFiYjtFQWlCUSxnQkFBZTtDQUNsQjs7QUFsQkw7RUFzQmdCLHlCQUFnQjtVQUFoQixpQkFBZ0I7Q0FDbkI7O0FBdkJiO0VBMkJRLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUztFQUNULFlBQVc7RUFDWCxhQUFZO0VBQ1osd0JBQXVCO0VBQ3ZCLDBGQUF5RjtFQUN6Riw2QkFBNEI7RUFDNUIsaUJBQWdCO0VBQ2hCLFdBQVU7Q0FDYjs7QUFyQ0w7RUF1Q1EsYUZ2Q2dCO0VFd0NoQixjRnhDZ0I7Q0V5Q25COztBQXpDTDtFRUNFLHlDVEp1RDtFU0t2RCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0VDSGpDLGtCQ1VxRDtFRFRyRCxrQlZvTjJCO0VTbE16QixtQlRQYztFU09kLGlCVGRPO0VPdUNMLGdCRjVDZ0I7Q0U2Q25COztBQTdDTDtFQStDUSxZQUFXO0NBQ2Q7O0FMZ0xHO0VLNUtKO0lBR1ksV0Z2RFE7SUV3RFIsWUZ4RFE7R0V5RFg7Q0R5Rlo7O0FKOEVPO0VLaEtKO0lBQ0ksb0JGakVnQjtJRWtFaEIscUJGbEVnQjtJRW1FaEIsb0JGbkVnQjtHRWlGbkI7RUFqQkQ7SUFNUSxjRnRFWTtJRXVFWixhRnZFWTtJRXdFWixjRnhFWTtJRXlFWixZRnpFWTtHRTBFZjtFQVZMO0lBWVEsbUJBQWtCO0lBQ2xCLFlGN0VZO0lFOEVaLGdCRjlFWTtJRStFWixvQkYvRVk7R0VnRmY7Q0RzRlIiLCJmaWxlIjoiY29tcG9uZW50LXZpZGVvLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAqL1xyXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuJGZ1bmN0aW9uYWwtY29sb3JzOiAoKSAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBjb2xvcigkY29sb3IpIHtcclxuICBAaWYgbWFwLWdldCgkY29sb3JzLCAkY29sb3IpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAkY29sb3IpO1xyXG4gIH0gQGVsc2UgaWYgbWFwLWdldCgkZnVuY3Rpb25hbC1jb2xvcnMsICRjb2xvcikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRmdW5jdGlvbmFsLWNvbG9ycywgJGNvbG9yKTtcclxuICB9IEBlbHNlIHtcclxuICAgIC8qIFN0eWxlZm10IGNoYW5nZXMgdGhlIHF1b3RlcyBldmVyeSB0aW1lLCBzbyB0dXJuaW5nIG9mZiB0aGUgZXJyb3IgaGVyZSAqL1xyXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHN0cmluZy1xdW90ZXMgKi9cclxuICAgIEBlcnJvciBcIkNvbG9yIFxcXCIjeyRjb2xvcn1cXFwiY291bGQgbm90IGJlIGZvdW5kXCI7XHJcbiAgfVxyXG59XHJcbiIsIiR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQ6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzOiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHM6IChcclxuICAvLyB0aGluOiAxMDAsXHJcbiAgbGlnaHQ6IDMwMCxcclxuICByZWd1bGFyOiA0MDAsXHJcbiAgbWVkaXVtOiA1MDAsXHJcbiAgYm9sZDogNzAwLFxyXG4gIC8vIGJsYWNrOiA5MDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiR1aS10eXBvZ3JhcGh5LWRlZmF1bHQ6IChcclxuICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2stZGVmYXVsdCxcclxuICBmb250LXN0eWxlOiBub3JtYWwsXHJcbiAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gIG1hcmdpbjogMCxcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kdWktdHlwb2dyYXBoeS1zdHlsZXM6IChcclxuICAvL2hvbWVwYWdlIGhlYWRlclxyXG4gIGQ2LWxoLWxnOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgzMnB4KSwgNDBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg2MXB4KSwgNzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ2OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgzMnB4KSwgNDBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg1MHB4KSwgNTZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ1OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyOXB4KSwgMzZweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg0MXB4KSwgNDRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ1LWxpZ2h0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyOXB4KSwgMzZweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSg0MXB4KSwgNDRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLGxpZ2h0KSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQ0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyNnB4KSwgMzJweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgzNHB4KSwgNDBweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQzOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyM3B4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyOHB4KSwgMzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMXB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyNHB4KSwgMzBweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQxOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjRweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGgyc3o6IChcclxuICAgIHNpemVzOiAyLjlyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDNzejogKFxyXG4gICAgc2l6ZXM6IDIuMnJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuXHJcbiAgaDRzejogKFxyXG4gICAgc2l6ZXM6IDEuN3JlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoNXN6OiAoXHJcbiAgICBzaXplczogMi40cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGxlYWQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIycHgpLCAzMnB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDI0cHgpLCAzNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICAgZm9udC1zdHlsZTogaXRhbGljLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZC1zbWFsbDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgKSxcclxuICBkLXhzbWFsbDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDE2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBib2R5OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBib2R5MjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIGxpbms6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgZGF0ZTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTZweCksIDIwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBoZWFkZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzdWJoZWFkZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzaXRlLXNlYXJjaDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgICBzbTogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBpbnB1dDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBicmVhZGNydW1iOiAoXHJcbiAgICBzaXplczogIChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBmZWF0dXJlZDogKFxyXG4gICAgc2l6ZXM6ICAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgKSxcclxuICBjb3B5cmlnaHQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE0cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDEzcHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgY2FwdGlvbjogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICApLFxyXG4gIGZvcm0tbGFiZWw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBmb3JtLWhlbHBlcjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBwZGY6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGxpZ2h0KSxcclxuICApLFxyXG4gIG1hcC1yZXN1bHRzOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDIwcHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBiZXRhLW5vdGljZTogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIHNpdGUtd2lkZS1hbGVydDogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbkBlYWNoICRuYW1lLCAkc3R5bGUgaW4gJHVpLXR5cG9ncmFwaHktc3R5bGVzIHtcclxuICAkdWktdHlwb2dyYXBoeS1zdHlsZXM6IG1hcC1tZXJnZSgkdWktdHlwb2dyYXBoeS1zdHlsZXMsIChcclxuICAgICN7JG5hbWV9OiBtYXAtbWVyZ2UoJHVpLXR5cG9ncmFwaHktZGVmYXVsdCwgJHN0eWxlKVxyXG4gICkpO1xyXG59XHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluICR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyB7XHJcbiAgLnUtdHlwZS0tI3skbmFtZX0ge1xyXG4gICAgZm9udC13ZWlnaHQ6ICN7JHN0eWxlfTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCIvLyBAaW1wb3J0ICd+c2Fzcy1tcS9tcSc7XHJcbkBpbXBvcnQgJ21peGlucy9zYXNzLW1xLW1vZC5zY3NzJztcclxuQGltcG9ydCAnfkBjb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AaW1wb3J0ICdtaXhpbnMvYWNjZXNzaWJpbGl0eSc7XHJcbkBpbXBvcnQgJ21peGlucy9idXR0b24nO1xyXG5AaW1wb3J0ICdtaXhpbnMvbGluayc7XHJcbkBpbXBvcnQgJ21peGlucy9vdmVybGF5JztcclxuQGltcG9ydCAnbWl4aW5zL3RyYW5zaXRpb25zJztcclxuQGltcG9ydCAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AaW1wb3J0ICdtaXhpbnMvdGFnJztcclxuXHJcbi8vIEJlbG93IGFyZSBtaXhpbidzIGZyb20gRlhBXHJcbi8qIGJyZWFrcG9pbnRzICovXHJcblxyXG4kYnJlYWstZGVza3RvcDogOTYwcHg7XHJcbiRicmVhay1tb2JpbGU6IDM4MHB4O1xyXG4kYnJlYWstbW9iaWxlLWhvcml6b250YWw6IDY0MHB4O1xyXG4kYnJlYWstbW9iaWxlLWxhcmdlOiA3ODZweDtcclxuQG1peGluIHdyYXBwZXIoKSB7XHJcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEuNikge1xyXG4gICAgZm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDEwKSArIHB4O1xyXG4gICAgZm9udC1zaXplOiAkc2l6ZVZhbHVlICsgcmVtO1xyXG59XHJcbkBtaXhpbiBvcGVuc2Fucy1mb250LXN0YWNrKCkge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xyXG59XHJcbkBtaXhpbiBsb2FkaW5nLWdpZigpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSWdkMmxrZEdnOUlqTXlJaUJvWldsbmFIUTlJak15SWlCbWFXeHNQU0ppYkdGamF5SStEUW9nSUR4d1lYUm9JQ0J2Y0dGamFYUjVQU0l1TWpVaUlHUTlJazB4TmlBd0lFRXhOaUF4TmlBd0lEQWdNQ0F4TmlBek1pQkJNVFlnTVRZZ01DQXdJREFnTVRZZ01DQk5NVFlnTkNCQk1USWdNVElnTUNBd0lERWdNVFlnTWpnZ1FURXlJREV5SURBZ01DQXhJREUySURRaUx6NE5DaUFnUEhCaGRHZ2dabWxzYkQwbkl6RmhPREJpTmljZ1pEMGlUVEUySURBZ1FURTJJREUySURBZ01DQXhJRE15SURFMklFd3lPQ0F4TmlCQk1USWdNVElnTUNBd0lEQWdNVFlnTkhvaVBnMEtJQ0FnSUR4aGJtbHRZWFJsVkhKaGJuTm1iM0p0SUdGMGRISnBZblYwWlU1aGJXVTlJblJ5WVc1elptOXliU0lnZEhsd1pUMGljbTkwWVhSbElpQm1jbTl0UFNJd0lERTJJREUySWlCMGJ6MGlNell3SURFMklERTJJaUJrZFhJOUlqQXVPSE1pSUhKbGNHVmhkRU52ZFc1MFBTSnBibVJsWm1sdWFYUmxJaUF2UGcwS0lDQThMM0JoZEdnK0RRbzhMM04yWno0TkNnPT0pO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XHJcbiAgICBAaWYgJG1lZGlhPT1tb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PW1vYmlsZS1ob3Jpem9udGFsIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtaG9yaXpvbnRhbCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtbGFyZ2Uge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1sYXJnZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PXRhYmxldCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbW9iaWxlICsgMSkgYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWFsbC1tb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLWRlc2t0b3AgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09ZGVza3RvcCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstZGVza3RvcCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGJvcmRlci1iYXNpYygkcG9zaXRpb246YWxsLCAkYm9yZGVyLWNvbG9yOiRib3JkZXItZ3JheSwgJGJvcmRlci13aWR0aDoxcHgpIHtcclxuICAgIEBpZigkcG9zaXRpb249PXRvcCkge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09Ym90dG9tKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1sZWZ0KSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09cmlnaHQpIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gZml4ZWQtYmcoJHBvcywgJG1pbi1oZWlnaHQ6MjQwcHgpIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3M7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XHJcbn1cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcclxuICAgIC8vIERpcmVjdGlvbiBoYXMgYmVlbiBvbWl0dGVkIGFuZCBoYXBwZW5zIHRvIGJlIGEgY29sb3Itc3RvcFxyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xyXG4gICAgICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xyXG4gICAgICAgICRkaXJlY3Rpb246IDE4MGRlZztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3Itc3RvcHMpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XHJcbn1cclxuIiwiLy9tb2RkZWQgdG8gdXNlIHB4XHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcclxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxyXG5cclxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XHJcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXHJcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZXNwb25zaXZlIG1vZGVcclxuLy8vXHJcbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcclxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXHJcbi8vL1xyXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxyXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gb2xkLWllLnNjc3NcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXHJcbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJyZWFrcG9pbnQgbGlzdFxyXG4vLy9cclxuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXHJcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXHJcbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXHJcbi8vL1xyXG4vLy8gQHR5cGUgTWFwXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLWJyZWFrcG9pbnRzOiAoXHJcbiAgICBtb2JpbGU6ICAzMjBweCxcclxuICAgIHRhYmxldDogIDc0MHB4LFxyXG4gICAgZGVza3RvcDogOTgwcHgsXHJcbiAgICB3aWRlOiAgICAxMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXHJcbi8vL1xyXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXHJcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcclxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3NcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xyXG4vLy8gIC8vXHJcbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXHJcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xyXG5cclxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vXHJcbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxyXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcclxuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxyXG4vLy9cclxuLy8vIEB0eXBlIG1hcFxyXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcclxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcclxuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XHJcbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XHJcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XHJcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XHJcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XHJcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XHJcbiAgICAgICAgQHJldHVybiAkcHg7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcclxuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcclxuICAgIH1cclxufVxyXG5cclxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcclxuLy8vXHJcbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXHJcbi8vL1xyXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC5lbGVtZW50IHtcclxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcclxuLy8vICAgICAgY29sb3I6IHJlZDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGdyZWVuO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcclxuLy8vICAgICAgY29sb3I6IHRlYWw7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcclxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcclxuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG5AbWl4aW4gbXEoXHJcbiAgICAkZnJvbTogZmFsc2UsXHJcbiAgICAkdW50aWw6IGZhbHNlLFxyXG4gICAgJGFuZDogZmFsc2UsXHJcbiAgICAkZW1zLW9uOiBmYWxzZSxcclxuICAgICRtZWRpYS10eXBlOiAkbXEtbWVkaWEtdHlwZSxcclxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxyXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxyXG4gICAgJHN0YXRpYy1icmVha3BvaW50OiAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuKSB7XHJcbiAgICAkbWluLXdpZHRoOiAwO1xyXG4gICAgJG1heC13aWR0aDogMDtcclxuICAgICRtZWRpYS1xdWVyeTogJyc7XHJcblxyXG4gICAgLy8gRnJvbTogdGhpcyBicmVha3BvaW50IChpbmNsdXNpdmUpXHJcbiAgICBAaWYgJGZyb20ge1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xyXG4gICAgICAgICAgICAkbWluLXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbSgkZnJvbSksICgkZnJvbSkpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkbWluLXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSksIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVW50aWw6IHRoYXQgYnJlYWtwb2ludCAoZXhjbHVzaXZlKVxyXG4gICAgQGlmICR1bnRpbCB7XHJcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xyXG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbSgkdW50aWwpLCgkdW50aWwpKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJG1heC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtLCBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykgLSAxcHgpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcclxuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXHJcbiAgICBAaWYgJHJlc3BvbnNpdmUgPT0gZmFsc2Uge1xyXG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xyXG4gICAgICAgICR0YXJnZXQtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCksICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XHJcblxyXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXHJcbiAgICAgICAgQGlmIChcclxuICAgICAgICAgICAgJGFuZCA9PSBmYWxzZVxyXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXHJcbiAgICAgICAgICAgIGFuZCAoXHJcbiAgICAgICAgICAgICAgICAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XHJcbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XHJcbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cclxuXHJcbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXHJcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XHJcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcclxuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8vIFF1aWNrIHNvcnRcclxuLy8vXHJcbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcclxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XHJcbiAgICAkbGVzczogICgpO1xyXG4gICAgJGVxdWFsOiAoKTtcclxuICAgICRsYXJnZTogKCk7XHJcblxyXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcclxuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XHJcblxyXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcclxuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGVxdWFsOiBhcHBlbmQoJGVxdWFsLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPiAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbGlzdDtcclxufVxyXG5cclxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtNYXB9IE1hcCBzb3J0ZWQgYnkgdmFsdWVcclxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XHJcbiAgICAkbWFwLXNvcnRlZDogKCk7XHJcbiAgICAkbWFwLWtleXM6IG1hcC1rZXlzKCRtYXApO1xyXG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcclxuXHJcbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcclxuICAgICAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xyXG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XHJcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xyXG5cclxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxyXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxyXG4gICAgICAgICRtYXAtdmFsdWVzOiBzZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJG1hcC1zb3J0ZWQ7XHJcbn1cclxuXHJcbi8vLyBBZGQgYSBicmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBicmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xyXG4vLy8gIEBpbmNsdWRlIG1xKHR2c2NyZWVuKSB7fVxyXG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xyXG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XHJcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcclxuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbi8vL1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XHJcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcclxuICAgIGJvZHk6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBjb2xvcjogI0MwOTg1MztcclxuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcblxyXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cclxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcclxuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XHJcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG59XHJcbiIsIkBtaXhpbiBjLWFjY2VudCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcShzbSl7XHJcbiAgLmMtYWNjZW50LS1sZWZ0IHtcclxuICAgIEBpbmNsdWRlIGMtYWNjZW50O1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgdG9wOiA1JTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogODUlO1xyXG4gICAgICBtYXgtaGVpZ2h0OiA1MTJweDtcclxuICAgICAgbGVmdDogLSBzcGFjZSgzKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmMtYWNjZW50LS1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBjLWFjY2VudDtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHRvcDogNSU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDg1JTtcclxuICAgICAgbWF4LWhlaWdodDogNTEycHg7XHJcbiAgICAgIHJpZ2h0OiAtIHNwYWNlKDMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEobGcpe1xyXG4gIC5jLWFjY2VudC0tbGVmdCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiAtIHNwYWNlKDQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuYy1hY2NlbnQtLXJpZ2h0IHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHJpZ2h0OiAtIHNwYWNlKDQpO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi8vIFVzZSBjb2xvciBmdW5jdGlvbnMgZm9yIFRUQ1xyXG4vLyBOYW1lcyB0YWtlbiBmcm9tIGh0bWxjc3Njb2xvci5jb20gaWYgbm90IGRlc2NyaXB0aXZlIGVub3VnaCBmcm9tIHplcGxpblxyXG4kY29sb3JzOiAoXHJcbiAgd2hpdGU6ICNmZmZmZmYsXHJcbiAgd2hpdGUtc21va2U6ICNmM2YzZjMsXHJcbiAgY2hlcnJ5LXJlZDogI2RhMjUxZCxcclxuICBzY2FybGV0OiM3NDAwMDAsXHJcbiAgY2FybWluZTogI2EzMDAxYyxcclxuICBjZXJ1bGVhbjojMDA3MGNkLFxyXG4gIG9jZWFuLWJsdWU6ICMwNjU2YTUsXHJcbiAgY2VydWxlYW4tdHdvOiAjMDA5YWRlLFxyXG4gIGdvbGRlbi15ZWxsb3c6ICNmZmM2MjcsXHJcbiAgd2FybS1ncmV5OiAjNzY3Njc2LFxyXG4gIGdyZXkyOTogIzRhNGE0YSxcclxuICBncmV5NzA6ICNiM2IzYjMsXHJcbiAgZHVzdHktZ3JleTogI2VkZWRlZCxcclxuICB3YXJtLWdyZXktMjogIzk3OTc5NyxcclxuICBkaW0tZ3JleTogIzY5Njk2OSxcclxuICB3aGl0ZS10d286ICNkNWQ1ZDUsXHJcbiAgd2hpdGUtdGhyZWU6ICNkMmQyZDIsXHJcbiAgZ2FpbnNib3JvOiAjZDhkOGQ4LFxyXG4gIG5lcm86ICMxZTFlMWUsXHJcbiAgZ29sZGVuLXBvcHB5OiAjZjhjMzAwLFxyXG4gIGV4cHJlc3MtZ3JlZW46ICMwMDkyM2YsXHJcbiAgbmlnaHQtYmx1ZTogIzAyNDE4MixcclxuICBjb21tdW5pdHktZ3JleTogIzgwODA4MCxcclxuICBtYXV2ZS10YXVwZTogIzk3NTg2QixcclxuICBibGFjazogIzAwMDAwMCxcclxuKTtcclxuXHJcbiRmdW5jdGlvbmFsLWNvbG9yczogKFxyXG4gIHByaW1hcnktY29udHJhc3Q6IGNvbG9yKHdoaXRlKSxcclxuICBwcmltYXJ5LWNvbnRyYXN0LWRhcms6IGNvbG9yKHdoaXRlLXNtb2tlKSxcclxuICBwcmltYXJ5OiBjb2xvcihjaGVycnktcmVkKSxcclxuICBwcmltYXJ5LWRhcms6IGNvbG9yKHNjYXJsZXQpLFxyXG4gIHByaW1hcnktZGFya2VyOiBjb2xvcihjYXJtaW5lKSxcclxuICBzZWNvbmRhcnk6IGNvbG9yKGNlcnVsZWFuKSxcclxuICBzZWNvbmRhcnktZGFyazogY29sb3Iob2NlYW4tYmx1ZSksXHJcbiAgc2Vjb25kYXJ5LWxpZ2h0OiBjb2xvcihjZXJ1bGVhbi10d28pLFxyXG4gIGFjY2VudC15ZWxsb3c6IGNvbG9yKGdvbGRlbi15ZWxsb3cpLFxyXG4gIGdyZXk6IGNvbG9yKGdyZXkyOSksXHJcbiAgZ3JleS1tZW51OiBjb2xvcihkdXN0eS1ncmV5KSxcclxuICBncmV5LWJvcmRlcjogY29sb3Iod2FybS1ncmV5KSxcclxuICBncmV5LWJvcmRlci0yOiBjb2xvcih3aGl0ZS10aHJlZSksXHJcbiAgZ3JleS1wbGFjZWhvbGRlcjogY29sb3IoZ3JleTcwKSxcclxuICBncmV5LTI6IGNvbG9yKHdhcm0tZ3JleS0yKSxcclxuICBjYXJvdXNlbC1kb3RzOiBjb2xvcihkaW0tZ3JleSksXHJcbiAgZ3JleS1saWdodDogY29sb3IoZ2FpbnNib3JvKSxcclxuICB0YWItLWRpc2FibGVkOiBjb2xvcih3aGl0ZS10d28pLFxyXG4gIGJhY2tkcm9wOiByZ2JhKDAsMCwwLDAuNyksXHJcbiAgYmxhY2s6IGNvbG9yKGJsYWNrKSxcclxuICBzaXRlLXdpZGUtYWxlcnQ6IGNvbG9yKGdvbGRlbi1wb3BweSksXHJcbiAgdmlzaXRlZC0tbGluazogY29sb3IobWF1dmUtdGF1cGUpLFxyXG4pO1xyXG5cclxuLy9CYWNrZ3JvdW5kcyBjb2xvcnNcclxuJGJnLXRyYW5zcGFyZW50OnRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG4kYmctYmFzaWMtY29sb3I6I0ZGRkZGRiAhZGVmYXVsdDtcclxuJGJnLWJhc2ljLWNvbG9yLWFjdGl2ZTogI2NjY2NjYyAhZGVmYXVsdDtcclxuJGJnLWxpZ2h0LWdyYXk6ICNmN2Y3ZjcgIWRlZmF1bHQ7XHJcbiRiZy1saWdodC1ncmF5LWFjdGl2ZTogI2RhZGFkYSAhZGVmYXVsdDtcclxuJGJnLWJsdWU6Izg5QzZDQztcclxuJGJnLWJsdWUtYWN0aXZlOiAjMTU5MDljICFkZWZhdWx0O1xyXG4kYmctc3VibWVudTojZWRlYmViICFkZWZhdWx0O1xyXG4kYmctc3VibWVudS1hY3RpdmU6I2Y2ZjZmNiAhZGVmYXVsdDtcclxuJGJnLWJsYWNrOiMwMDAwMDA7XHJcbiRiZy1ibGFjay1hY3RpdmU6IzNkM2QzZDtcclxuLy9UZXh0IGNvbG9yc1xyXG4kdGV4dC13aGl0ZTojZmZmICFkZWZhdWx0O1xyXG4kdGV4dC1oZWFkaW5nLWNvbG9yOiAjMjIyICFkZWZhdWx0O1xyXG4kdGV4dC1iYXNpYzojNzQ3NDc0ICFkZWZhdWx0O1xyXG4kdGV4dC1iYXNpYy1hY3RpdmU6Izg3ODc4NyAhZGVmYXVsdDtcclxuJHRleHQtYmx1ZTojODlDNkNDICFkZWZhdWx0O1xyXG4kdGV4dC1ibHVlLWFjdGl2ZTojMTU5MDljICFkZWZhdWx0O1xyXG4kdGV4dC1zdWJtZW51LWFjdGl2ZTogIzIyMiAhZGVmYXVsdDtcclxuJHRleHQtZGlzYWJsZWQ6ICNhYWEgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJsYWNrOiAjMDAwMDAwICFkZWZhdWx0O1xyXG4vL0JvcmRlciBjb2xvcnNcclxuJGJvcmRlci1ncmF5OiAjZDJkMmQyICFkZWZhdWx0O1xyXG4kYm9yZGVyLXdoaXRlOiAjZmZmZmZmICFkZWZhdWx0O1xyXG4kYm9yZGVyLWJhc2ljLWNvbG9yOiAjODlDNkNDICFkZWZhdWx0O1xyXG4kYm9yZGVyLWJhc2ljLWFjdGl2ZTojMTU5MDljICFkZWZhdWx0O1xyXG5cclxuLy9TdHlsZXMgZm9yIGVhY2ggY29tcG9uZW50IHNlcGFyYXRlbHlcclxuLy9BY2NvcmRpb25cclxuJGFjY29yZGlvbi1oZWFkZXItYmc6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWhlYWRlci1iZy1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLXRvZ2dsZWQtYmc6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWhlYWRlci1ib3JkZXI6ICRib3JkZXItZ3JheTtcclxuLy9CcmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWRyb3Bkb3duLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGJyZWFkY3J1bWItZHJvcGRvd24tYmctYWN0aXZlOiRiZy1ibHVlO1xyXG4kYnJlYWRjcnVtYi1kcm9wZG93bi10ZXh0LWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuJGJyZWFkY3J1bWItYmc6dHJhbnNwYXJlbnQ7XHJcbiRicmVhZGNydW1iLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kYnJlYWRjcnVtYi1jb2xvci1hY3RpdmU6JHRleHQtYmx1ZS1hY3RpdmU7XHJcbi8vQnV0dG9ucyBjb2xvcnNcclxuJGJ0bi1ncmVlbi1saWdodDogI2EwY2U0ZTtcclxuJGJ0bi1ncmVlbjogIzkyYmU0MztcclxuJGJ0bi1yZWQtYWN0aXZlOiAjYzM0ZTMwO1xyXG4kYnRuLXJlZDogI2JjNDUyNjtcclxuLy9DYXJvdXNlbFxyXG4kY2Fyb3VzZWwtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kY2Fyb3VzZWwtbmF2LWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRjYXJvdXNlbC1uYXYtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vQ29udGFpbmVyIGNvbXBvbmVudFxyXG4kY29udGFpbmVyLXRpdGxlLXJvdy1iZzogJGJnLWxpZ2h0LWdyYXk7XHJcbi8vRXZlbnQgTGlzdFxyXG4kZXZlbnQtbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGV2ZW50LWxpc3QtaXRlbS1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRldmVudC1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRldmVudC1saXN0LXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0NhbGVuZGFyXHJcbiRjYWxlbmRhci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRjYWxlbmRhci1oZWFkZXItYmc6JGJnLWJhc2ljLWNvbG9yLWFjdGl2ZTtcclxuJGNhbGVuZGFyLWRheS1jb2xvci1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbi8vRmVlZFxyXG4kZmVlZC1iZzp0cmFuc3BhcmVudDtcclxuJGZlZWQtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuLy9GaWVsZCBFZGl0b3JcclxuJGZpZWxkLWVkaXRvci1iZzp0cmFuc3BhcmVudDtcclxuJGZpZWxkLWVkaXRvci10YWJsZS1ib3JkZXI6JGJnLWxpZ2h0LWdyYXk7XHJcbiRmaWVsZC1lZGl0b3ItdGV4dC1oZWFkZXI6JHRleHQtYmxhY2s7XHJcbiRmaWVsZC1lZGl0b3ItdGV4dDokdGV4dC1iYXNpYztcclxuLy9GaWxlIExpc3RcclxuJGZpbGUtbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGZpbGUtbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LXRpdGxlLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kZmlsZS1saXN0LXRpdGxlLWJvcmRlcjp0cmFuc3BhcmVudDtcclxuJGZpbGUtbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kZmlsZS1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGZpbGUtbGlzdC1pdGVtLXNpemU6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtaXRlbS1ib3JlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0ZsaXBcclxuJGZsaXAtYmc6dHJhbnNwYXJlbnQ7XHJcbiRmbGlwLXNsaWRlcy1iZzokYmctYmFzaWMtY29sb3I7XHJcbi8vR2FsbGVyeVxyXG4kZ2FsbGVyaWEtY29udGFpbmVyLWJnOiRiZy1ibGFjaztcclxuJGdhbGxlcnktaW5mby1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRnYWxsZXJ5LWluZm8tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJGdhbGxlcnktaW5mby10ZXh0OiR0ZXh0LWJhc2ljO1xyXG4kZ2FsbGVyeS1uYXYtYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kZ2FsbGVyeS1uYXY6JHRleHQtYmFzaWM7XHJcbiRnYWxsZXJ5LWNvdW50ZXItY29sb3I6JHRleHQtd2hpdGU7XHJcbi8vTGFuZ3VhZ2Ugc2VsZWN0b3JcclxuJGxhbmctc2VsZWN0b3ItYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJGxhbmctc2VsZWN0b3ItaXRlbS1iZy1hY3RpdmU6JGJnLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJvcmRlcjokYm9yZGVyLXdoaXRlO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vU2l0ZSBzZWxlY3RvclxyXG4kc2l0ZS1zZWxlY3Rvci1jb2xvcjokdGV4dC1iYXNpYztcclxuLy9MaW5rIExpc3RcclxuJGxpbmstbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1oZWFkZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRsaW5rLWxpc3QtaXRlbXMtYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLWxpc3QtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbGluay1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGxpbmstbGlzdC1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Mb2dpblxyXG4kbG9naW4tYmc6dHJhbnNwYXJlbnQ7XHJcbi8vTG9nb3V0XHJcbiRsb2dvdXQtYmc6dHJhbnNwYXJlbnQ7XHJcbiRsb2dvdXQtbGluay10ZXh0LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbG9nb3V0LWxpbmstdGV4dC1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kbG9nb3V0LWxpbmstYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vTWFwXHJcbiRtYXAtYmc6dHJhbnNwYXJlbnQ7XHJcbiRtYXAtYm9yZGVyOm5vbmU7XHJcbi8vUGFnZSBMaXN0XHJcbiRwYWdlLWxpc3QtYmc6JGJnLXRyYW5zcGFyZW50O1xyXG4kcGFnZS1saXN0LWl0ZW0tYmc6JGJnLXRyYW5zcGFyZW50O1xyXG4kcGFnZS1saXN0LWl0ZW0tdGl0bGUtdGV4dDokdGV4dC1ibGFjaztcclxuJHBhZ2UtbGlzdC1pdGVtLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1BhZ2luYXRpb25cclxuJGxpc3QtcGFnaW5hdGlvbi1iZzp0cmFuc3BhcmVudDtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiR0ZXh0LXdoaXRlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjokdGV4dC1ibHVlO1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctc3VibWVudS1hY3RpdmU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9QbGF5IGxpc3QgXHJcbiRwbGF5LWxpc3QtYmc6dHJhbnNwYXJlbnQ7XHJcbiRwbGF5LWxpc3QtaXRlbS1iZzp0cmFuc3BhcmVudDtcclxuJHBsYXktbGlzdC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kcGxheS1saXN0LWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kcGxheS1saXN0LW5hdi1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHBsYXktbGlzdC1pdGVtLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kcGxheS1saXN0LWl0ZW0tYWN0aXZlLWJnOiRiZy1ibHVlO1xyXG4kcGxheS1saXN0LWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kcGxheS1saXN0LXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1Byb21vXHJcbiRwcm9tby1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRwcm9tby1iZy1oZXJvOnJnYmEoMCwgMCwgMCwgMC41KTtcclxuJHByb21vLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRwcm9tby1oZXJvLXRleHQtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRwcm9tby1zaGFkb3ctYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUmljaCBUZXh0IENvbnRlbnRcclxuJHJpY2gtY29udGVudC1iZzp0cmFuc3BhcmVudDtcclxuJHJpY2gtY29udGVudC1jb2xvcjokdGV4dC1iYXNpYztcclxuJHJpY2gtY29udGVudC1ib3JkZXI6bm9uZTtcclxuLy9TZWFyY2hcclxuJHNlYXJjaC1maWx0ZXI6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtZmlsdGVyLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL01lbnUgY29sb3JzXHJcbiRtZW51LWhvdmVyLWNvbG9yOiMxYjgwOWU7XHJcbiRtZW51LWFjdGl2ZS1jb2xvcjojMTc2Zjg5O1xyXG4vL05hdmlnYXRpb25cclxuJG5hdi1iZzp0cmFuc3BhcmVudDtcclxuJG5hdi1jb2xvci1yb290OiR0ZXh0LWJhc2ljO1xyXG4kbmF2LWNvbG9yLXJvb3QtYWN0aXZlOiR0ZXh0LWJhc2ljO1xyXG4kbmF2LWJvcmRlci1yb290OiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRuYXYtYm9yZGVyLXJvb3QtYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRuYXYtY29sb3Itc3VibWVudTokdGV4dC1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1jb2xvci1zdWJtZW51LWFjdGl2ZTokdGV4dC1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1yb290OiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1zdWJtZW51OiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1iZy1zdWJtZW51LWFjdGl2ZTokYmctc3VibWVudS1hY3RpdmU7XHJcbiRuYXYtYm9yZGVyLXN1Ym1lbnU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1zdWJtZW51LWl0ZW0tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJG5hdi1zdWJtZW51LWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Tb2NpYWwgTWVkaWEgU2hhcmVcclxuJHNvY2lhbC1tZWRpYS1zaGFyZS1iZzp0cmFuc3BhcmVudDtcclxuLy9UYWJzXHJcbiR0YWItaGVhZGluZy1iZzokYmctbGlnaHQtZ3JheTtcclxuJHRhYi1oZWFkaW5nLWFjdGl2ZS1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0YWItaGVhZGluZy1jb2xvcjokdGV4dC1oZWFkaW5nLWNvbG9yO1xyXG4kdGFiLWhlYWRpbmctYWN0aXZlLWNvbG9yOiR0ZXh0LWJsYWNrO1xyXG4kdGFiLWNvbnRhaW5lci1iZzp0cmFuc3BhcmVudDtcclxuJHRhYi1jb250YWluZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vVGl0bGVcclxuJHRpdGxlLWJnOnRyYW5zcGFyZW50O1xyXG4kdGl0bGUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0aXRsZS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4vL1RvZ2dsZVxyXG4kdG9nZ2xlLWhlYWRlci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0b2dnbGUtY29udGVudC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR0b2dnbGUtc2hvdy1jb2xvcjokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vU2VhcmNoIENvbXBvbmVudHNcclxuJHNlYXJjaC1idG4tYmc6dHJhbnNwYXJlbnQ7XHJcbiRzZWFyY2gtYnRuLWFjdGl2ZS1iZzojZTBlMGUwO1xyXG4kc2VhcmNoLWJ0bi1hY3RpdmUtYm9yZGVyOiNhZGFkYWQ7XHJcbi8vSW1hZ2UgY29tcG9uZW50XHJcbiRpbWFnZS1jYXB0aW9uLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4vL01lZGlhIExpbmsgQ29tcG9uZW50XHJcbiRtZWRpYS1saW5rLWJnOnRyYW5zcGFyZW50O1xyXG4kbWVkaWEtbGluay1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG1lZGlhLWxpbmstY29sb3I6JHRleHQtYmFzaWM7XHJcbiRtZWRpYS1saW5rLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vVGFnIENvbXBvbmVudFxyXG4kdGFnLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdGFnLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiR0YWctYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuJHRhZy1saW5rLWJnIDokYmctYmx1ZTtcclxuJHRhZy1saW5rLWJnLWFjdGl2ZSA6JGJnLWJsdWUtYWN0aXZlO1xyXG4kdGFnLWxpbmstY29sb3IgOiR0ZXh0LXdoaXRlO1xyXG4vL0xpbmsgQ29tcG9uZW50XHJcbiRsaW5rLWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay10ZXh0LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kbGluay10ZXh0LWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRsaW5rLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL092ZXJsYXlcclxuJG92ZXJsYXktYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbi8vU2VhcmNoIENvbXBvbmVudHNcclxuJHNlYXJjaC10aXRsZS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHNlYXJjaC10aXRsZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1pdGVtLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRzZWFyY2gtaXRlbS1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1xyXG4kc2VhcmNoLWZpbHRlci1yYWRpdXMtYWN0aXZlOiR0ZXh0LWJsdWU7XHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kc2VhcmNoLWZpbHRlci1yYWRpdXMtYmc6JGJvcmRlci1ncmF5O1xyXG4vL1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYmctYWN0aXZlOiRiZy1ibHVlO1xyXG4kc2VhcmNoLWZpbHRlci1zbGlkZXItYnRuLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYmctYWN0aXZlOiRiZy1saWdodC1ncmF5LWFjdGl2ZTtcclxuLy9TZXJhY2ggUGFnaW5hdGlvblxyXG4kc2VhcmNoLXBhZ2luYXRpb24tYmc6dHJhbnNwYXJlbnQ7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjokdGV4dC1ibHVlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24taG92ZXItYmc6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kc2VhcmNoLXBhZ2luYXRpb24taG92ZXItYm9yZGVyOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1NlYXJjaCBzZWxlY3RvclxyXG4kc2VyYWNoLXNlbGVjdG9yLXZhcmlhbnQtY29sb3ItYWN0aXZlOiAkdGV4dC1ibHVlLWFjdGl2ZTtcclxuLy9UeXBlaGVhZFxyXG4kdHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0dC1jb2xvci1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHR0LXByaWNlLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiR0dC1kcm9wZG93bi1iZzokYmctbGlnaHQtZ3JheTtcclxuJHR0LXN1Z2dlc3Rpb24tYmctYWN0aXZlOiRiZy1saWdodC1ncmF5LWFjdGl2ZTtcclxuJHR0LWRyb3Bkb3duLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbi8vVmlkZW9cclxuJHZpZGVvLWNvbnRyb2wtYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kdmlkZW8tdGltZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHZpZGVvLXRpbWUtdG90YWwtYmc6JGJnLWJsYWNrO1xyXG4kdmlkZW8tdGltZS1oYW5kbGUtYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHZpZGVvLXRpbWUtaGFuZGxlLWJnOiRiZy1ibGFjaztcclxuLy9NYWluXHJcbiRwYWdlLWJnOiAkYmctYmFzaWMtY29sb3I7XHJcbiRwYWdlLWJnLWVkaXRvcjpub25lO1xyXG4iLCIkc3BhY2U6IDhweCAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBzcGFjZSgkc2l6ZTogMSkge1xyXG4gIEByZXR1cm4gJHNwYWNlICogJHNpemU7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICovXG4udS10eXBlLS1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51LXR5cGUtLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udS10eXBlLS1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4udS10eXBlLS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogYnJlYWtwb2ludHMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYy1hY2NlbnQtLWxlZnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLWFjY2VudC0tbGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIC5jLWFjY2VudC0tbGVmdCBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jLWFjY2VudC0tbGVmdDo6YmVmb3JlIHtcbiAgICB0b3A6IDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODUlO1xuICAgIG1heC1oZWlnaHQ6IDUxMnB4O1xuICAgIGxlZnQ6IC0yNHB4O1xuICB9XG4gIC5jLWFjY2VudC0tcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLWFjY2VudC0tcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEyNTFkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAuYy1hY2NlbnQtLXJpZ2h0IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtYWNjZW50LS1yaWdodDo6YmVmb3JlIHtcbiAgICB0b3A6IDUlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODUlO1xuICAgIG1heC1oZWlnaHQ6IDUxMnB4O1xuICAgIHJpZ2h0OiAtMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIyNXB4KSB7XG4gIC5jLWFjY2VudC0tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAtMzJweDtcbiAgfVxuICAuYy1hY2NlbnQtLXJpZ2h0OjpiZWZvcmUge1xuICAgIHJpZ2h0OiAtMzJweDtcbiAgfVxufVxuXG4uY29tcG9uZW50LnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbXBvbmVudC52aWRlbzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhMjUxZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLmNvbXBvbmVudC52aWRlbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBvbmVudC52aWRlbyAubWVqcy1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAwcHggMjRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDBweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9a2V5Ym9hcmRdIC5jb21wb25lbnQudmlkZW8gLm1lanMtY29udGFpbmVyOmZvY3VzLFxuW2RhdGEtd2hhdGludGVudD1rZXlib2FyZF0gLmNvbXBvbmVudC52aWRlbyAubWVqcy1jb250YWluZXI6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggZG90dGVkICMwMDAwMDA7XG59XG5cbi5jb21wb25lbnQudmlkZW8gLm1lanMtb3ZlcmxheS1wbGF5IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29tcG9uZW50LnZpZGVvIC5tZWpzLWNvbnRyb2xzIC5tZWpzLWJ1dHRvbiBidXR0b24ge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uY29tcG9uZW50LnZpZGVvIC52aWRlby1pbml0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW46IC00MHB4IDAgMCAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLy0vbWVkaWEvQmFzZS1UaGVtZXMvQ29yZS1MaWJyYXJpZXMvc3R5bGVzL21lanMtY29udHJvbHMuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbn1cblxuLmNvbXBvbmVudC52aWRlbzo6YmVmb3JlIHtcbiAgd2lkdGg6IDEyOHB4O1xuICBoZWlnaHQ6IDEyOHB4O1xufVxuXG4uY29tcG9uZW50LnZpZGVvIC52aWRlby1jYXB0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5jb21wb25lbnQudmlkZW8gaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjI0cHgpIHtcbiAgOm5vdCgudG9nZ2xlLWNvbnRlbnQpID4gLmNvbXBvbmVudC52aWRlbzo6YmVmb3JlIHtcbiAgICB0b3A6IC0xNnB4O1xuICAgIGxlZnQ6IC0xNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjI1cHgpIHtcbiAgOm5vdCgudG9nZ2xlLWNvbnRlbnQpID4gLmNvbXBvbmVudC52aWRlbyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG4gIDpub3QoLnRvZ2dsZS1jb250ZW50KSA+IC5jb21wb25lbnQudmlkZW86OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtMzJweDtcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgaGVpZ2h0OiAyNTZweDtcbiAgICBsZWZ0OiAtMzJweDtcbiAgfVxuICA6bm90KC50b2dnbGUtY29udGVudCkgPiAuY29tcG9uZW50LnZpZGVvIC52aWRlby1jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjU2cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJhYnN0cmFjdHNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjZW50LWJhcnNcIjtcclxuQGltcG9ydCBcImJhc2UvZm9udGF3ZXNvbWUvZm9udC1hd2Vzb21lLW1peC12YXJcIjtcclxuLmNvbXBvbmVudC52aWRlbyB7XHJcbiAgICBAaW5jbHVkZSBjLWFjY2VudDsgXHJcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSg0KTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIC5tZWpzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvd3MobWFwLWdldCgkc2hhZG93LXR5cGVzLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD1rZXlib2FyZF0gJiwgXHJcbiAgICAgICAgICAgIFtkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdICYge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogM3B4IGRvdHRlZCBjb2xvcihibGFjayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLm1lanMtb3ZlcmxheS1wbGF5IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAubWVqcy1jb250cm9scyB7XHJcbiAgICAgICAgLm1lanMtYnV0dG9uIHtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8taW5pdCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAtNDBweCAwIDAgLTQwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLy0vbWVkaWEvQmFzZS1UaGVtZXMvQ29yZS1MaWJyYXJpZXMvc3R5bGVzL21lanMtY29udHJvbHMuc3ZnXCIpIG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zOXB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgd2lkdGg6IHNwYWNlKDE2KTtcclxuICAgICAgICBoZWlnaHQ6IHNwYWNlKDE2KTtcclxuICAgIH1cclxuICAgIC52aWRlby1jYXB0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KGNhcHRpb24pO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDAuNSk7XHJcbiAgICB9XHJcbiAgICBpZnJhbWUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XHJcbiAgICA6bm90KC50b2dnbGUtY29udGVudCkge1xyXG4gICAgICAgID4uY29tcG9uZW50LnZpZGVvIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRvcDogLSBzcGFjZSgyKTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0gc3BhY2UoMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1xKGxnKSB7XHJcblxyXG4gICAgOm5vdCgudG9nZ2xlLWNvbnRlbnQpID4gLmNvbXBvbmVudC52aWRlbyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0gc3BhY2UoMTMpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLSBzcGFjZSgxMyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMTIpO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3R0b206IC0gc3BhY2UoNCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzcGFjZSgzMik7XHJcbiAgICAgICAgICAgIGhlaWdodDogc3BhY2UoMzIpO1xyXG4gICAgICAgICAgICBsZWZ0OiAtIHNwYWNlKDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmlkZW8tY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogc3BhY2UoMzIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgxKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuIiwiJHNoYWRvdy10eXBlczogKFxyXG4gIGRlZmF1bHQ6IChcclxuICAgIGJveFNoYWRvdzogMCA4cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAuMSksXHJcbiAgICBib3hTaGFkb3cyOiAwIDBweCAyNHB4IDVweCByZ2JhKDAsIDAsIDAsIC4xKSxcclxuICAgIGJveFNoYWRvdzM6IDAgMHB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIC4xKSxcclxuICApLFxyXG4pO1xyXG5cclxuQG1peGluIHNoYWRvdy10cmFuc2l0aW9uIHtcclxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yOHMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93cygkc2hhZG93LXR5cGVzKSB7XHJcbiAgYm94LXNoYWRvdzogbWFwLWdldCgkc2hhZG93LXR5cGVzLCBib3hTaGFkb3cpLCBtYXAtZ2V0KCRzaGFkb3ctdHlwZXMsIGJveFNoYWRvdzIpLCBtYXAtZ2V0KCRzaGFkb3ctdHlwZXMsIGJveFNoYWRvdzMpLCBtYXAtZ2V0KCRzaGFkb3ctdHlwZXMsIGJveFNoYWRvdzQpO1xyXG59IiwiQGltcG9ydCAnLi92YXJpYWJsZXMnO1xuQGltcG9ydCAnfmlvdGFjc3MtdG9vbHMtdHlwZS90b29scy50eXBlJztcblxuQG1peGluIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQpIHtcbiAgZm9udC1mYW1pbHk6IGlmKCRmb250LWZhbWlseSAhPSBudWxsLCAkZm9udC1mYW1pbHksICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQpO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuQG1peGluIHVpLXR5cG9ncmFwaHkoJHN0eWxlKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSkge1xuICAgICRzdHlsZTogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSk7XG4gICAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRzdHlsZSwgZm9udC1mYW1pbHkpO1xuXG4gICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeS1iYXNlKCRmb250LWZhbWlseSk7XG4gICAgQGluY2x1ZGUgaW90YS10eXBlKG1hcC1nZXQoJHN0eWxlLCBzaXplcykpO1xuXG4gICAgLy8gUmVtb3ZlIHByb3BlcnRpZXMgdGhhdCBkbyBub3QgbmVlZCB0byBiZSBnZW5lcmF0ZWQgYmVsb3dcbiAgICAkcHJvcHM6IG1hcC1yZW1vdmUoJHN0eWxlLCBmb250LWZhbWlseSwgbWFyZ2luLCBzaXplcyk7XG4gICAgJGtleXM6IG1hcC1rZXlzKCRwcm9wcyk7XG5cbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICN7JGtleX06IG1hcC1nZXQoJHByb3BzLCAka2V5KTtcbiAgICB9XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4oJ0NvdWxkIG5vdCBmaW5kIGAjeyRzdHlsZX1gIGluIGAkdWktdHlwb2dyYXBoeS1zdHlsZXNgJyk7XG4gIH1cbn1cblxuQG1peGluIHVpLXR5cG9ncmFwaHktbWFyZ2luKCRzdHlsZSkge1xuICBtYXJnaW46IG1hcC1nZXQobWFwLWdldCgkdWktdHlwb2dyYXBoeS1zdHlsZXMsICRzdHlsZSksIG1hcmdpbik7XG59XG4iLCJAbWl4aW4gX2lvdGEtZXh0cmFjdC10eXBlLXNpemVzKCRzaXplcykge1xuXG4gIEBpZiAoIGxlbmd0aCgkc2l6ZXMpID09IDIgKSB7XG4gICAgZm9udC1zaXplOiBudGgoJHNpemVzLCAxKTtcbiAgICBsaW5lLWhlaWdodDogbnRoKCRzaXplcywgMik7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAkc2l6ZXM7ICBcbiAgfVxuICBcbn1cbiIsIi8vIGh0dHBzOi8vam9lY2lhbmZsb25lLmNvL2FydGljbGUvc2Fzcy1weC10by1yZW1zXHJcbi8vIEJ1dCBObyBuZWVkIGZvciBwaXhlbCBmYWxsYmFjayBhbnltb3JlIHNlZSBzdXBwb3J0XHJcbi8vIGFuZCBmb3IgaW51aXQgdHlwZSB0b29sIChyZXNwb25zaXZlKSB3ZSBuZWVkIGp1c3QgYSByZXR1cm5lZCByZW0gdmFsdWUsIG5vIG5lZWQgZm9yIG1peGluc1xyXG5cclxuJGJhc2U6IDYyLjUlO1xyXG5cclxuQGZ1bmN0aW9uIGdldC12YWx1ZSgkbikge1xyXG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBnZXQtcmVtKCRmb250LXNpemUpIHtcclxuICAkYmFzZS1zaXplOiBnZXQtdmFsdWUoJGJhc2UgLyAxMDApO1xyXG4gICRiYXNlLXB4LXNpemU6IDE2ICogJGJhc2Utc2l6ZTtcclxuICBAcmV0dXJuICgoZ2V0LXZhbHVlKCRmb250LXNpemUpIC8gJGJhc2UtcHgtc2l6ZSkgKyByZW0pO1xyXG59Il19 */
