.site-footer {
  background-color: #361163;
}

.breadcrumbs {
  background-color: rgba(0, 0, 0, 0.25);
}

.breadcrumbs__item::before {
  background-image: url("data:image/svg+xml, %3Csvg%20viewBox%3D%220%200%2014%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M12.744%2012L.168.874A.5.5%200%201%201%20.83.126l13%2011.5a.5.5%200%200%201%200%20.748l-13%2011.5a.5.5%200%201%201-.662-.748L12.744%2012z%22%20fill%3D%22%23fff%22%20%2F%3E%3C%2Fsvg%3E");
  opacity: 0.6;
}
.breadcrumbs__item a {
  color: #fff;
  opacity: 0.6;
}
.breadcrumbs__item a::after {
  background-color: #fff;
}
.breadcrumbs__item a:hover, .breadcrumbs__item a:focus {
  color: #fff;
}
.breadcrumbs__item:first-child a {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%203.68v6.322h3.889v-3.89H6.11v3.89H10V3.68L5%200z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
@media (max-width: 759px) {
  .breadcrumbs__item:nth-last-child(2)::before {
    background-image: url("data:image/svg+xml, %3Csvg%20viewBox%3D%220%200%2014%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.254%2012L13.83%2023.126a.5.5%200%201%201-.662.748l-13-11.5a.5.5%200%200%201%200-.748l13-11.5a.5.5%200%201%201%20.663.748L1.255%2012z%22%20fill%3D%22%23fff%22%20%2F%3E%3C%2Fsvg%3E");
    opacity: 0.6;
  }
}

.button--icon-right .icon {
  transition: right 0.3s;
}
.button--icon-right:focus .icon, .button--icon-right:hover .icon {
  right: 0.875rem;
}

.slick-dots {
  line-height: 0;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  text-align: center;
  width: 100%;
}
.slick-dots li {
  display: inline-block;
  margin: 0;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}
.slick-dots button {
  background-color: #cbcece;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: 0.75rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  outline: 0;
  overflow: hidden;
  padding: 0;
  text-indent: 100%;
  transition: transform 0.3s;
  white-space: nowrap;
  width: 0.75rem;
}
@media (min-width: 960px) {
  .slick-dots button {
    height: 1rem;
    width: 1rem;
  }
}
.slick-dots button:hover, .slick-dots button:focus {
  background-color: #b1b5b5;
  transform: scale(1.25);
}
.slick-dots .slick-active button {
  background-color: #525e66;
  cursor: default;
  opacity: 1;
  transform: scale(1.25);
}

.events-listing .list--events-listing {
  align-content: stretch;
  display: flex;
  flex-flow: row wrap;
}
.events-listing .list__item {
  display: inline-block;
  padding: 0.375rem;
  width: 100%;
}
@media (min-width: 760px) {
  .events-listing .list__item {
    width: 50%;
  }
}
.events-listing .list__item .list__link {
  border: 0.125rem solid #b70062;
  display: block;
  height: 100%;
  transition: all 0.3s;
}
.events-listing .list__item .list__link:focus, .events-listing .list__item .list__link:hover {
  border-color: #361163;
}
.events-listing .list__item .list__link:focus .list__heading, .events-listing .list__item .list__link:hover .list__heading {
  color: #361163;
}
.events-listing .list__item .list__link:focus .list__text, .events-listing .list__item .list__link:hover .list__text {
  color: #361163;
}
.events-listing .list__item .list__link:focus .date-box, .events-listing .list__item .list__link:hover .date-box {
  background-color: #361163;
}
.events-listing .list__item .date-box,
.events-listing .list__item .list__content {
  display: inline-block;
  vertical-align: top;
}
.events-listing .list__item .date-box {
  align-content: center;
  background-color: #b70062;
  display: inline-flex;
  flex-flow: column wrap;
  height: 100%;
  justify-content: center;
  transition: all 0.3s;
  width: 22%;
}
@media (min-width: 960px) {
  .events-listing .list__item .date-box {
    width: 17%;
  }
}
.events-listing .list__item .list__content {
  padding: 0.75rem;
  width: 75%;
}
@media (min-width: 960px) {
  .events-listing .list__item .list__content {
    width: 81%;
  }
}
.events-listing .list__item .list__content .list__heading {
  font-size: 1.1390625rem;
  line-height: 1.404494382;
  color: #b70062;
  font-family: "DIN Medium", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  margin-bottom: 0.1875rem;
}
@media (min-width: 600px) and (max-width: 960px) {
  .events-listing .list__item .list__content .list__heading {
    font-size: calc( 1.1390625rem + 0.1423828125 * ( ( 100vw - 600px) / 360 ) );
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .events-listing .list__item .list__content .list__heading {
    font-size: calc( 1.2814453125rem + 0.1423828125 * ( ( 100vw - 960px) / 260 ) );
  }
}
@media (min-width: 1220px) {
  .events-listing .list__item .list__content .list__heading {
    font-size: 1.423828125rem;
  }
}
.events-listing .list__item .list__content .list__text {
  font-size: 0.7111111111rem;
  line-height: 1.406074241;
  color: #5d6b74;
}
@media (min-width: 600px) and (max-width: 960px) {
  .events-listing .list__item .list__content .list__text {
    font-size: calc( 0.7111111111rem + 0.0888888889 * ( ( 100vw - 600px) / 360 ) );
  }
}
@media (min-width: 960px) and (max-width: 1220px) {
  .events-listing .list__item .list__content .list__text {
    font-size: calc( 0.8rem + 0.0888888889 * ( ( 100vw - 960px) / 260 ) );
  }
}
@media (min-width: 1220px) {
  .events-listing .list__item .list__content .list__text {
    font-size: 0.8888888889rem;
  }
}
.events-listing .card--event {
  padding-right: 3rem;
}
.events-listing .card--event .date-box {
  background-color: #006167;
  bottom: unset;
  left: -10px;
  padding: 1.125rem;
  padding-bottom: 0.9375rem;
  top: -10px;
  z-index: 99999;
}
.events-listing .card--event .card__image-wrapper {
  overflow: visible;
  padding-bottom: 0;
}
.events-listing .card--event .card__content {
  padding-left: 4.875rem;
}

.event .list__link {
  color: #006167;
}
.event .list__link:focus, .event .list__link:hover {
  color: #525e66;
}
.event .list--event-contact .list__item--term {
  color: #006167;
}

.list--section-iterator a {
  color: #b70062;
}
.list--section-iterator a:hover, .list--section-iterator a:focus {
  color: #361163;
}
.list--section-iterator .list__item--prev a::before {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M.045%207.83C.04%207.82.032%207.814.028%207.805a.33.33%200%200%201%200-.268c.003-.01.01-.016.016-.026a.302.302%200%200%201%20.062-.08l.005-.01L8.45.09a.333.333%200%201%201%20.44.5L1.22%207.34h14.45a.334.334%200%200%201%200%20.667H1.218l7.67%206.75a.332.332%200%200%201-.22.583.33.33%200%200%201-.22-.083L.11%207.922c-.002%200-.003-.005-.005-.007a.348.348%200%200%201-.062-.083V7.83z%22%20fill%3D%22%23b70062%22%20%2F%3E%3C%2Fsvg%3E");
}
.list--section-iterator .list__item--next a::before {
  background-image: url("data:image/svg+xml, %3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.954%207.83c.005-.01.013-.016.017-.025a.33.33%200%200%200%200-.268c0-.01-.01-.016-.013-.026a.302.302%200%200%200-.062-.08l-.005-.01L7.552.09a.333.333%200%201%200-.44.5l7.67%206.75H.332a.333.333%200%200%200%200%20.667h14.45l-7.67%206.75a.332.332%200%200%200%20.22.583.33.33%200%200%200%20.22-.083l8.335-7.333c.002%200%20.003-.005.005-.007a.348.348%200%200%200%20.062-.083z%22%20fill%3D%22%23b70062%22%20%2F%3E%3C%2Fsvg%3E");
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxheW91dC9fZm9vdGVyLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwibWF0ZXJpYWxzLmNzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19ldmVudC5zY3NzIiwidmVuZG9ycy9tb2R1bGFyc2NhbGUvX3Jlc3BvbmQuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19saXN0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7RUFDRSx5QkNtTHNCO0FDdEx4Qjs7QUNNQTtFQUNFLHFDQUFBO0FESEY7O0FDZUU7RUFDRSxxVkFBQTtFQUNBLFlBQUE7QURaSjtBQ2lCRTtFQUNFLFdGc01vQjtFRXJNcEIsWUFBQTtBRGZKO0FDbUJJO0VBQ0Usc0JGZ01rQjtBQ2pOeEI7QUNvQkk7RUFFRSxXRjJMa0I7QUM5TXhCO0FDMEJJO0VBQ0Usb1NBQUE7QUR4Qk47QUVxaEJJO0VEdGZBO0lBRUksbVZBQUE7SUFDQSxZQUFBO0VEN0JOO0FBQ0Y7O0FHeEJJO0VBQ0Usc0JBQUE7QUgyQk47QUd0Qk07RUFDRSxlQUFBO0FId0JSOztBSTlCQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtBSmlDRjtBSTdCRTtFQUNFLHFCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0FKK0JKO0FJMUJFO0VBQ0UseUJMZ01vQjtFSy9McEIsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxlTDhPd0I7RUs3T3hCLG1CTDRPd0I7RUszT3hCLG9CTDJPd0I7RUsxT3hCLFVBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjTHFPd0I7QUN6TTVCO0FFdWVJO0VFbGhCRjtJQWtCSSxZTG1Pc0I7SUtsT3RCLFdMa09zQjtFQ3JNMUI7QUFDRjtBSTNCSTtFQUVFLHlCQUFBO0VBQ0Esc0JBQUE7QUo0Qk47QUlyQkk7RUFDRSx5Qkw2SmtCO0VLNUpsQixlQUFBO0VBQ0EsVUFBQTtFQUNBLHNCQUFBO0FKdUJOOztBS2pGRTtFQUNFLHNCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FMb0ZKO0FLakZFO0VBQ0UscUJBQUE7RUFDQSxpQk5nUXdCO0VNL1B4QixXQUFBO0FMbUZKO0FFNGNJO0VHbGlCRjtJQU1JLFVBQUE7RUxvRko7QUFDRjtBS2xGSTtFQUNFLDhCQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBTG9GTjtBS2xGTTtFQUVFLHFCTjRKZ0I7QUN6RXhCO0FLakZRO0VBQ0UsY055SmM7QUN0RXhCO0FLaEZRO0VBQ0UsY05xSmM7QUNuRXhCO0FLL0VRO0VBQ0UseUJOaUpjO0FDaEV4QjtBSzVFSTs7RUFFRSxxQkFBQTtFQUNBLG1CQUFBO0FMOEVOO0FLM0VJO0VBQ0UscUJBQUE7RUFDQSx5Qk5zSWtCO0VNcklsQixvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSxVQUFBO0FMNkVOO0FFc2FJO0VHM2ZBO0lBV0ksVUFBQTtFTDhFTjtBQUNGO0FLM0VJO0VBQ0UsZ0JONk1zQjtFTTVNdEIsVUFBQTtBTDZFTjtBRTZaSTtFRzVlQTtJQUtJLFVBQUE7RUw4RU47QUFDRjtBSzVFTTtFQzFDSSx1QkFBQTtFQ0pSLHdCQUFBO0VGaURNLGNOOEdnQjtFTTdHaEIsNkVOL0RZO0VNZ0VaLHdCTjZMb0I7QUMvRzVCO0FNcEhVO0VEaUNKO0lDOUJNLDJFQUFBO0VOcUhWO0FBQ0Y7QU16SFU7RURpQ0o7SUM5Qk0sOEVBQUE7RU4wSFY7QUFDRjtBTWpISTtFRG9CRTtJQ25CQSx5QkFBQTtFTm9ISjtBQUNGO0FLMUZNO0VDbERJLDBCQUFBO0VDSlIsd0JBQUE7RUZ5RE0sY0FBQTtBTDRGUjtBTXhJVTtFRHlDSjtJQ3RDTSw4RUFBQTtFTnlJVjtBQUNGO0FNN0lVO0VEeUNKO0lDdENNLHFFQUFBO0VOOElWO0FBQ0Y7QU1ySUk7RUQ0QkU7SUMzQkEsMEJBQUE7RU53SUo7QUFDRjtBS3RHRTtFQUNFLG1CTmdNd0I7QUN4RjVCO0FLdEdJO0VBQ0UseUJObUhrQjtFTWxIbEIsYUFBQTtFQUNBLFdBQUE7RUFDQSxpQk5pTHNCO0VNaEx0Qix5QkFBQTtFQUNBLFVBQUE7RUFDQSxjQUFBO0FMd0dOO0FLckdJO0VBQ0UsaUJBQUE7RUFDQSxpQkFBQTtBTHVHTjtBS3BHSTtFQUNFLHNCQUFBO0FMc0dOOztBS2hHRTtFQUNFLGNONkZvQjtBQ014QjtBS2pHSTtFQUVFLGNOa0drQjtBQ0F4QjtBSzdGSTtFQUNFLGNObUZrQjtBQ1l4Qjs7QVFuTkU7RUFDRSxjVGdMb0I7QUNzQ3hCO0FRcE5JO0VBRUUsY1QwS2tCO0FDMkN4QjtBUTdNTTtFQUNFLG9uQkFBQTtBUitNUjtBUXRNTTtFQUNFLDRtQkFBQTtBUndNUiIsImZpbGUiOiJtYXRlcmlhbHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZS9hcHBsaWNhdGlvbi5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5zaXRlLWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZnJpY2FuLXZpb2xldDtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gRm9udCBmYW1pbGllc1xuLy9cblxuLy8gUmVndWxhciBmb250IGZhbWlseVxuJGZvbnQtcmVndWxhcjogJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIEJyYW5kIGZvbnQgZmFtaWx5XG4kZm9udC1icmFuZDogICAgICAgICdESU4nLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLWxpZ2h0OiAgJ0RJTiBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtbWVkaXVtOiAnRElOIE1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtYm9sZDogICAnRElOIEJvbGQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLWJsYWNrOiAgJ0RJTiBCbGFjaycsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBSb3VuZCBicmFuZCBmb250IGZhbWlseVxuJGZvbnQtYnJhbmQtcm91bmQ6ICAgICAgICAnRElOIFJvdW5kJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1yb3VuZC1saWdodDogICdESU4gUm91bmQgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLXJvdW5kLW1lZGl1bTogJ0RJTiBSb3VuZCBNZWRpdW0nLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLXJvdW5kLWJvbGQ6ICAgJ0RJTiBSb3VuZCBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1icmFuZC1yb3VuZC1ibGFjazogICdESU4gUm91bmQgQmxhY2snLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gQ29uZGVuc2VkIGJyYW5kIGZvbnQgZmFtaWx5XG4kZm9udC1icmFuZC1jb25kZW5zZWQ6ICAgICAgICAnRElOIENvbmRlbnNlZCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtY29uZGVuc2VkLWxpZ2h0OiAgJ0RJTiBDb25kZW5zZWQgTGlnaHQnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJyYW5kLWNvbmRlbnNlZC1tZWRpdW06ICdESU4gQ29uZGVuc2VkIE1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtY29uZGVuc2VkLWJvbGQ6ICAgJ0RJTiBDb25kZW5zZWQgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYnJhbmQtY29uZGVuc2VkLWJsYWNrOiAgJ0RJTiBDb25kZW5zZWQgQmxhY2snLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuXG5cblxuXG4vL1xuLy8gRm9udCB3ZWlnaHRzXG4vL1xuXG4vLyBMaWdodCBmb250IHdlaWdodFxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgIDMwMCAhZGVmYXVsdDtcblxuLy8gTm9ybWFsIGZvbnQgd2VpZ2h0XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgNDAwICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gZm9udCB3ZWlnaHRcbiRmb250LXdlaWdodC1tZWRpdW06ICA1MDAgIWRlZmF1bHQ7XG5cbi8vIEJvbGQgZm9udCB3ZWlnaHRcbiRmb250LXdlaWdodC1ib2xkOiAgICA3MDAgIWRlZmF1bHQ7XG5cbi8vIEJsYWNrIGZvbnQgd2VpZ2h0XG4kZm9udC13ZWlnaHQtYmxhY2s6ICAgOTAwICFkZWZhdWx0O1xuXG5cblxuXG5cbi8vXG4vLyBUeXBlIHNjYWxlXG4vL1xuXG4vLyBNb2R1bGFyIHNjYWxlIGNvbmZpZ1xuJG1vZHVsYXJzY2FsZTogKFxuICByYXRpbzogMS4xMjUsXG4gIDYwMHB4OiAoXG4gICAgYmFzZTogMC44cmVtLFxuICApLFxuICA5NjBweDogKFxuICAgIGJhc2U6IDAuOXJlbVxuICApLFxuICAxMjIwcHg6IChcbiAgICBiYXNlOiAxcmVtXG4gIClcbik7XG5cblxuLy8gVHlwZSBzZXR0aW5ncyBtYXAgKGh0dHA6Ly93d3cubW9kdWxhcnNjYWxlLmNvbS8/MSZyZW0mMS4xMjUpXG4kdHlwZS1zZXR0aW5nczogKFxuICAtMjogKFxuICAgIHR5cGUtc2NhbGU6IC0yLCAvLyAwLjc5cmVtICgoMTIuNjRweClcbiAgICBsaW5lLWhlaWdodDogMS41ODIyNzg0ODEgLy8gMS4yNXJlbSAvIDAuNzlyZW1cbiAgKSxcbiAgLTE6IChcbiAgICB0eXBlLXNjYWxlOiAtMSwgLy8gMC44ODlyZW0gKDE0LjIycHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuNDA2MDc0MjQxIC8vIDEuMjVyZW0gLyAwLjg4OXJlbVxuICApLFxuICAwOiAoXG4gICAgdHlwZS1zY2FsZTogMCwgLy8gMXJlbSAoMTZweClcbiAgICBsaW5lLWhlaWdodDogMS41IC8vIDEuNXJlbSAvIDFyZW1cbiAgKSxcbiAgMTogKFxuICAgIHR5cGUtc2NhbGU6IDEsIC8vIDEuMTI1cmVtICgxOHB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjU1NTU1NTU1NiAvLyAxLjc1cmVtIC8gMS4xMjVyZW1cbiAgKSxcbiAgMjogKFxuICAgIHR5cGUtc2NhbGU6IDIsIC8vIDEuMjY2cmVtICgyMC4yNXB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjM4MjMwNjQ3NyAvLyAxLjc1cmVtIC8gMS4yNjZyZW1cbiAgKSxcbiAgMzogKFxuICAgIHR5cGUtc2NhbGU6IDMsIC8vIDEuNDI0cmVtICgyMi43OHB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjQwNDQ5NDM4MiAvLyAycmVtIC8gMS40MjRyZW1cbiAgKSxcbiAgNDogKFxuICAgIHR5cGUtc2NhbGU6IDQsIC8vIDEuNjAycmVtICgyNS42M3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjQwNDQ5NDM4MiAvLyAyLjI1cmVtIC8gMS42MDJyZW1cbiAgKSxcbiAgNTogKFxuICAgIHR5cGUtc2NhbGU6IDUsIC8vIDEuODAycmVtICgyOC44M3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjM4NzM0NzM5MiAvLyAyLjVyZW0gLyAxLjgwMnJlbVxuICApLFxuICA2OiAoXG4gICAgdHlwZS1zY2FsZTogNiwgLy8gMi4wMjdyZW0gKDMyLjQ0cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMzU2Njg0NzU2IC8vIDIuNzVyZW0gLyAyLjAyN3JlbVxuICApLFxuICA3OiAoXG4gICAgdHlwZS1zY2FsZTogNywgLy8gMi4yODFyZW0gKDM2LjQ5cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1MjEyNjI2IC8vIDNyZW0gLyAyLjI4MXJlbVxuICApLFxuICA4OiAoXG4gICAgdHlwZS1zY2FsZTogOCwgLy8gMi41NjZyZW0gKDQxLjA1cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMjY2NTYyNzQ0IC8vIDMuMjVyZW0gLyAyLjU2NnJlbVxuICApLFxuICA5OiAoXG4gICAgdHlwZS1zY2FsZTogOSwgLy8gMi44ODdyZW0gKDQ2LjE4cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMjEyMzMxMTQgLy8gMy41cmVtIC8gMi44ODdyZW1cbiAgKSxcbiAgMTA6IChcbiAgICB0eXBlLXNjYWxlOiAxMCwgLy8gMy4yNDdyZW0gKDUxLjk2cHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU0OTEyMjI3IC8vIDMuNzVyZW0gLyAzLjI0N3JlbVxuICApLFxuICAxMTogKFxuICAgIHR5cGUtc2NhbGU6IDExLCAvLyAzLjY1M3JlbSAoNTguNDVweClcbiAgICBsaW5lLWhlaWdodDogMS4xNjM0MjczMiAvLyA0LjI1cmVtIC8gMy42NTNyZW1cbiAgKSxcbiAgMTI6IChcbiAgICB0eXBlLXNjYWxlOiAxMiwgLy8gNC4xMXJlbSAoNjUuNzZweClcbiAgICBsaW5lLWhlaWdodDogMS4wOTQ4OTA1MTEgLy8gNC41cmVtIC8gNC4xMXJlbVxuICApLFxuICAxMzogKFxuICAgIHR5cGUtc2NhbGU6IDEzLCAvLyA0LjYyNHJlbSAoNzMuOThweClcbiAgICBsaW5lLWhlaWdodDogMS4wODEzMTQ4NzkgLy8gNXJlbSAvIDQuNjI0cmVtXG4gICksXG4gIDE0OiAoXG4gICAgdHlwZS1zY2FsZTogMTQsIC8vIDUuMjAycmVtICg4My4yM3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjA1NzI4NTY1OSAvLyA1LjVyZW0gLyA1LjIwMnJlbVxuICApLFxuICAxNTogKFxuICAgIHR5cGUtc2NhbGU6IDE1LCAvLyA1Ljg1MnJlbSAoOTMuNjNweClcbiAgICBsaW5lLWhlaWdodDogMS4wNjgwMTA5MzYgLy8gNi4yNXJlbSAvIDUuODUycmVtXG4gICksXG4gIDE2OiAoXG4gICAgdHlwZS1zY2FsZTogMTYsIC8vIDYuNTgzcmVtICgxMDUuMzNweClcbiAgICBsaW5lLWhlaWdodDogMS4wMjUzNjgzNzMgLy8gNi43NXJlbSAvIDYuNTgzcmVtXG4gICksXG4gIDE3OiAoXG4gICAgdHlwZS1zY2FsZTogMTcsIC8vIDcuNDA2cmVtICgoMTE4LjUwcHgpXG4gICAgbGluZS1oZWlnaHQ6IDEuMDEyNjkyNDEyIC8vIDcuNXJlbSAvIDcuNDA2cmVtXG4gICksXG4gIDE4OiAoXG4gICAgdHlwZS1zY2FsZTogMTgsIC8vIDguMzMycmVtICgxMzMuMzFweClcbiAgICBsaW5lLWhlaWdodDogMS4wMjAxNjMyMjYgLy8gOC41cmVtIC8gOC4zMzJyZW1cbiAgKSxcbiAgMTk6IChcbiAgICB0eXBlLXNjYWxlOiAxOSwgLy8gOS4zNzNyZW0gKDE0OS45N3B4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjAxMzU0OTU1NyAvLyA5LjVyZW0gLyA5LjM3M3JlbVxuICApLFxuICAyMDogKFxuICAgIHR5cGUtc2NhbGU6IDIwLCAvLyAxMC41NDVyZW0gKDE2OC43MnB4KVxuICAgIGxpbmUtaGVpZ2h0OiAxLjA0MzE0ODQxMiAvLyAxMXJlbSAvIDEwLjU0NXJlbVxuICApXG4pO1xuXG5cblxuXG5cbi8vXG4vLyBDb2xvdXJzXG4vL1xuXG4vLyBCcmFuZCBjb2xvdXJzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBjb2xvci1uby1oZXhcbiRhZnJpY2FuLXZpb2xldDogICAgICAgICMzNjExNjMgIWRlZmF1bHQ7XG4kYWZyaWNhbi12aW9sZXQtbGlnaHQ6ICAjNmYzMDkyICFkZWZhdWx0O1xuJG11bGJlcnJ5OiAgICAgICAgICAgICAgI2I3MDA2MiAhZGVmYXVsdDtcbiRtdWxiZXJyeS1saWdodDogICAgICAgICNlZDI0ODIgIWRlZmF1bHQ7XG4kbXVsYmVycnktbGlnaHQtYWE6ICAgICAjZTExYTgxICFkZWZhdWx0O1xuJG1lcmNpYS1yZWQ6ICAgICAgICAgICAgI2E3MDUzMSAhZGVmYXVsdDtcbiRtZXJjaWEtcmVkLWxpZ2h0OiAgICAgICNlZTJmNGYgIWRlZmF1bHQ7XG4kbWVyY2lhLXJlZC1saWdodC1hYTogICAjZDUyYTQ3ICFkZWZhdWx0O1xuJGJyb256ZTogICAgICAgICAgICAgICAgI2YyNmEzOCAhZGVmYXVsdDtcbiRicm9uemUtYWE6ICAgICAgICAgICAgICNjZjRhMmEgIWRlZmF1bHQ7XG4kYnJvbnplLWRhcms6ICAgICAgICAgICAjOTgzMzFkICFkZWZhdWx0O1xuJGdvbGQ6ICAgICAgICAgICAgICAgICAgI2U3N2UxZCAhZGVmYXVsdDtcbiRnb2xkLWFhOiAgICAgICAgICAgICAgICNjNzUzMDIgIWRlZmF1bHQ7XG4kZ29sZC1saWdodDogICAgICAgICAgICAjZmJhYTFiICFkZWZhdWx0O1xuJG1hcmlnb2xkOiAgICAgICAgICAgICAgI2JkODUwOCAhZGVmYXVsdDtcbiRtYXJpZ29sZC1hYTogICAgICAgICAgICM5YzZlMDcgIWRlZmF1bHQ7XG4kbWFyaWdvbGQtbGlnaHQ6ICAgICAgICAjZTdhZDAwICFkZWZhdWx0O1xuJGNhbmFyeTogICAgICAgICAgICAgICAgI2ZjZDgzOSAhZGVmYXVsdDtcbiRjZWRhcjogICAgICAgICAgICAgICAgICNiMWJlMjcgIWRlZmF1bHQ7XG4kY2VkYXItYWE6ICAgICAgICAgICAgICAjNmY3ZTBkICFkZWZhdWx0O1xuJGNlZGFyLWxpZ2h0OiAgICAgICAgICAgI2UxY2EwMCAhZGVmYXVsdDtcbiRvbHltcGljLWdyZWVuOiAgICAgICAgICMwMDg0NjYgIWRlZmF1bHQ7XG4kb2x5bXBpYy1ncmVlbi1hYTogICAgICAjMTI4ODUxICFkZWZhdWx0O1xuJG9seW1waWMtZ3JlZW4tZGFyazogICAgIzAwNmU1NSAhZGVmYXVsdDtcbiRuZXB0dW5lOiAgICAgICAgICAgICAgICMwMDYxNjcgIWRlZmF1bHQ7XG4kbmVwdHVuZS1saWdodDogICAgICAgICAjNzhiMmJiICFkZWZhdWx0O1xuJG5lcHR1bmUtbGlnaHQtYWE6ICAgICAgIzI2ODI4ZSAhZGVmYXVsdDtcbiRwZWFjb2NrOiAgICAgICAgICAgICAgICMwMGFhYWQgIWRlZmF1bHQ7XG4kcGVhY29jay1hYTogICAgICAgICAgICAjMmQ4Mjg5ICFkZWZhdWx0O1xuJHBlYWNvY2stbGlnaHQ6ICAgICAgICAgIzU0YzZkNSAhZGVmYXVsdDtcbiRwZXRyb2wtYmx1ZTogICAgICAgICAgICMwMDVlODIgIWRlZmF1bHQ7XG4kcGV0cm9sLWJsdWUtbGlnaHQ6ICAgICAjMDA5YmM5ICFkZWZhdWx0O1xuJHBldHJvbC1ibHVlLWxpZ2h0LWFhOiAgIzAwN2RhMyAhZGVmYXVsdDtcbiRhc3BoYWx0OiAgICAgICAgICAgICAgICM1MjVlNjYgIWRlZmF1bHQ7XG4kc2lsdmVyOiAgICAgICAgICAgICAgICAjOGM4YzhkICFkZWZhdWx0O1xuJHNpbHZlci1hYTogICAgICAgICAgICAgIzc2NzY3NyAhZGVmYXVsdDtcbiRmb3VudGFpbi1ncmV5OiAgICAgICAgICNjYmNlY2UgIWRlZmF1bHQ7XG4kcGViYmxlOiAgICAgICAgICAgICAgICAjNzE1ZjU0ICFkZWZhdWx0O1xuJGRvdmUtZ3JleTogICAgICAgICAgICAgI2E4OWI5MSAhZGVmYXVsdDtcbiRwZWFybC13aGl0ZTogICAgICAgICAgICNkMmM5YzEgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGRhcmstZ3JleTogICAgICAgICAgICAgIzFiMWIxYiAhZGVmYXVsdDtcbiRsaWdodC1ncmV5OiAgICAgICAgICAgICNmNmY3ZjcgIWRlZmF1bHQ7XG4kd2hpdGU6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGFzcGhhbHQgIWRlZmF1bHQ7XG4kdGV4dC1jb2xvci1saWdodDogICAgICBsaWdodGVuKCR0ZXh0LWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kdGV4dC1jb2xvci1saWdodGVzdDogICBsaWdodGVuKCR0ZXh0LWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBQcm9qZWN0IGNvbG91cnNcbi8vICR2YXJpYWJsZS1uYW1lOiAjMDAwO1xuLy8gc3R5bGVsaW50LWVuYWJsZSBjb2xvci1uby1oZXhcblxuXG5cblxuXG4vL1xuLy8gQ29udGFpbmVyJ3MgbWF4aW11bSB3aWR0aFxuLy9cbiRtYXgtd2lkdGg6IDExODBweCAhZGVmYXVsdDtcblxuXG5cblxuXG4vL1xuLy8gR3V0dGVyc1xuLy9cbiRndXR0ZXI6ICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kZ3V0dGVyLWhhbGY6ICAgICBtYXRoLmRpdigkZ3V0dGVyLCAyKSAhZGVmYXVsdDtcbiRndXR0ZXItdGhpcmQ6ICAgIG1hdGguZGl2KCRndXR0ZXIsIDMpICFkZWZhdWx0O1xuJGd1dHRlci1xdWFydGVyOiAgbWF0aC5kaXYoJGd1dHRlciwgNCkgIWRlZmF1bHQ7XG4kZ3V0dGVyLXNpeHRoOiAgICBtYXRoLmRpdigkZ3V0dGVyLCA2KSAhZGVmYXVsdDtcblxuXG5cblxuXG4vL1xuLy8gU3BhY2luZ1xuLy9cbiRzcGFjZTogICAgICAgICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7IC8vIDI0cHhcbiRzcGFjZS10d2VsdGg6ICAgICAgICAgICAgICBtYXRoLmRpdigkc3BhY2UsIDEyKSAhZGVmYXVsdDsgLy8gMnB4XG4kc3BhY2UtZWlnaHRoOiAgICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCA4KSAhZGVmYXVsdDsgLy8gM3B4XG4kc3BhY2Utc2l4dGg6ICAgICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCA2KSAhZGVmYXVsdDsgLy8gNHB4XG4kc3BhY2UtcXVhcnRlcjogICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCA0KSAhZGVmYXVsdDsgLy8gNnB4XG4kc3BhY2UtdGhpcmQ6ICAgICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCAzKSAhZGVmYXVsdDsgLy8gOHB4XG4kc3BhY2UtaGFsZjogICAgICAgICAgICAgICAgbWF0aC5kaXYoJHNwYWNlLCAyKSAhZGVmYXVsdDsgLy8gMTJweFxuJHNwYWNlLXR3by10aGlyZHM6ICAgICAgICAgICRzcGFjZS10aGlyZCAqIDIgIWRlZmF1bHQ7IC8vIDE2cHhcbiRzcGFjZS10aHJlZS1xdWFydGVyczogICAgICAkc3BhY2UtcXVhcnRlciAqIDMgIWRlZmF1bHQ7IC8vIDE4cHhcbiRzcGFjZS1maXZlLXNpeHRoczogICAgICAgICAkc3BhY2Utc2l4dGggKiA1ICFkZWZhdWx0OyAvLyAyMHB4XG4kc3BhY2UtYW5kLWVpZ2h0aDogICAgICAgICAgJHNwYWNlICsgJHNwYWNlLWVpZ2h0aCAhZGVmYXVsdDsgLy8gMjdweFxuJHNwYWNlLWFuZC1zaXh0aDogICAgICAgICAgICRzcGFjZSArICRzcGFjZS1zaXh0aCAhZGVmYXVsdDsgLy8gMjhweFxuJHNwYWNlLWFuZC1xdWFydGVyOiAgICAgICAgICRzcGFjZSArICRzcGFjZS1xdWFydGVyICFkZWZhdWx0OyAvLyAzMHB4XG4kc3BhY2UtYW5kLXRoaXJkOiAgICAgICAgICAgJHNwYWNlICsgJHNwYWNlLXRoaXJkICFkZWZhdWx0OyAvLyAzMnB4XG4kc3BhY2UtYW5kLWhhbGY6ICAgICAgICAgICAgJHNwYWNlICsgJHNwYWNlLWhhbGYgIWRlZmF1bHQ7IC8vIDM2cHhcbiRzcGFjZS1hbmQtdHdvLXRoaXJkczogICAgICAkc3BhY2UgKyAkc3BhY2UtdHdvLXRoaXJkcyAhZGVmYXVsdDsgLy8gNDBweFxuJHNwYWNlLWFuZC10aHJlZS1xdWFydGVyczogICRzcGFjZSArICRzcGFjZS10aHJlZS1xdWFydGVycyAhZGVmYXVsdDsgLy8gNDJweFxuJHNwYWNlLWRvdWJsZTogICAgICAgICAgICAgICRzcGFjZSAqIDIgIWRlZmF1bHQ7IC8vIDQ4cHhcbiRzcGFjZS10cmVibGU6ICAgICAgICAgICAgICAkc3BhY2UgKiAzICFkZWZhdWx0OyAvLyA3MnB4XG4kc3BhY2UtcXVhZHJ1cGxlOiAgICAgICAgICAgJHNwYWNlICogNCAhZGVmYXVsdDsgLy8gOTZweFxuXG5cblxuXG5cbi8vXG4vLyBNZWRpYSBxdWVyeSBicmVha3BvaW50c1xuLy9cbiRicmVha3BvaW50czogKFxuICAneHMnOiA0MDBweCxcbiAgJ3hzLXR3ZWFrJzogNTAwcHgsXG4gICdzJzogNjAwcHgsXG4gICdzLXR3ZWFrJzogNjgwcHgsXG4gICdtJzogNzYwcHgsXG4gICdtLXR3ZWFrJzogODYwcHgsXG4gICdsJzogOTYwcHgsXG4gICd4bCc6IDEwMjBweCxcbiAgJ21heCc6ICRtYXgtd2lkdGgsXG4gICd3aWRlJzogMTIyMHB4LFxuICAndWx0cmEtd2lkZSc6IDE0NDBweCxcbiAgJ3N1cGVyLXdpZGUnOiAxNjAwcHhcbik7XG4iLCIuc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYxMTYzO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYnJlYWRjcnVtYnNfX2l0ZW06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAyNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIuNzQ0JTIwMTJMLjE2OC44NzRBLjUuNSUyMDAlMjAxJTIwMSUyMC44My4xMjZsMTMlMjAxMS41YS41LjUlMjAwJTIwMCUyMDElMjAwJTIwLjc0OGwtMTMlMjAxMS41YS41LjUlMjAwJTIwMSUyMDEtLjY2Mi0uNzQ4TDEyLjc0NCUyMDEyeiUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5icmVhZGNydW1ic19faXRlbSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5icmVhZGNydW1ic19faXRlbSBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uYnJlYWRjcnVtYnNfX2l0ZW0gYTpob3ZlciwgLmJyZWFkY3J1bWJzX19pdGVtIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5icmVhZGNydW1ic19faXRlbTpmaXJzdC1jaGlsZCBhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMTAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMCUyMDEwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0wJTIwMy42OHY2LjMyMmgzLjg4OXYtMy44OUg2LjExdjMuODlIMTBWMy42OEw1JTIwMHolMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gIC5icmVhZGNydW1ic19faXRlbTpudGgtbGFzdC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMjQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEuMjU0JTIwMTJMMTMuODMlMjAyMy4xMjZhLjUuNSUyMDAlMjAxJTIwMS0uNjYyLjc0OGwtMTMtMTEuNWEuNS41JTIwMCUyMDAlMjAxJTIwMC0uNzQ4bDEzLTExLjVhLjUuNSUyMDAlMjAxJTIwMSUyMC42NjMuNzQ4TDEuMjU1JTIwMTJ6JTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMCUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLmJ1dHRvbi0taWNvbi1yaWdodCAuaWNvbiB7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3M7XG59XG4uYnV0dG9uLS1pY29uLXJpZ2h0OmZvY3VzIC5pY29uLCAuYnV0dG9uLS1pY29uLXJpZ2h0OmhvdmVyIC5pY29uIHtcbiAgcmlnaHQ6IDAuODc1cmVtO1xufVxuXG4uc2xpY2stZG90cyB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2xpY2stZG90cyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uc2xpY2stZG90cyBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JjZWNlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwLjc1cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgb3V0bGluZTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMC43NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuc2xpY2stZG90cyBidXR0b24ge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgfVxufVxuLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBidXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFiNWI1O1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xufVxuLnNsaWNrLWRvdHMgLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1ZTY2O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG59XG5cbi5ldmVudHMtbGlzdGluZyAubGlzdC0tZXZlbnRzLWxpc3Rpbmcge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG4uZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2xpbmsge1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNiNzAwNjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19saW5rOmZvY3VzLCAuZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2xpbms6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMzNjExNjM7XG59XG4uZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2xpbms6Zm9jdXMgLmxpc3RfX2hlYWRpbmcsIC5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fbGluazpob3ZlciAubGlzdF9faGVhZGluZyB7XG4gIGNvbG9yOiAjMzYxMTYzO1xufVxuLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19saW5rOmZvY3VzIC5saXN0X190ZXh0LCAuZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2xpbms6aG92ZXIgLmxpc3RfX3RleHQge1xuICBjb2xvcjogIzM2MTE2Mztcbn1cbi5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fbGluazpmb2N1cyAuZGF0ZS1ib3gsIC5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fbGluazpob3ZlciAuZGF0ZS1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYxMTYzO1xufVxuLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5kYXRlLWJveCxcbi5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAuZGF0ZS1ib3gge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNzAwNjI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgd2lkdGg6IDIyJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAuZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmRhdGUtYm94IHtcbiAgICB3aWR0aDogMTclO1xuICB9XG59XG4uZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICB3aWR0aDogNzUlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fY29udGVudCB7XG4gICAgd2lkdGg6IDgxJTtcbiAgfVxufVxuLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19jb250ZW50IC5saXN0X19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjEzOTA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQwNDQ5NDM4MjtcbiAgY29sb3I6ICNiNzAwNjI7XG4gIGZvbnQtZmFtaWx5OiBcIkRJTiBNZWRpdW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDAuMTg3NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fY29udGVudCAubGlzdF9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiBjYWxjKCAxLjEzOTA2MjVyZW0gKyAwLjE0MjM4MjgxMjUgKiAoICggMTAwdncgLSA2MDBweCkgLyAzNjAgKSApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19jb250ZW50IC5saXN0X19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGMoIDEuMjgxNDQ1MzEyNXJlbSArIDAuMTQyMzgyODEyNSAqICggKCAxMDB2dyAtIDk2MHB4KSAvIDI2MCApICk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19jb250ZW50IC5saXN0X19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuNDIzODI4MTI1cmVtO1xuICB9XG59XG4uZXZlbnRzLWxpc3RpbmcgLmxpc3RfX2l0ZW0gLmxpc3RfX2NvbnRlbnQgLmxpc3RfX3RleHQge1xuICBmb250LXNpemU6IDAuNzExMTExMTExMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDA2MDc0MjQxO1xuICBjb2xvcjogIzVkNmI3NDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5ldmVudHMtbGlzdGluZyAubGlzdF9faXRlbSAubGlzdF9fY29udGVudCAubGlzdF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiBjYWxjKCAwLjcxMTExMTExMTFyZW0gKyAwLjA4ODg4ODg4ODkgKiAoICggMTAwdncgLSA2MDBweCkgLyAzNjAgKSApO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19jb250ZW50IC5saXN0X190ZXh0IHtcbiAgICBmb250LXNpemU6IGNhbGMoIDAuOHJlbSArIDAuMDg4ODg4ODg4OSAqICggKCAxMDB2dyAtIDk2MHB4KSAvIDI2MCApICk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLmV2ZW50cy1saXN0aW5nIC5saXN0X19pdGVtIC5saXN0X19jb250ZW50IC5saXN0X190ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODg4ODg4ODg4OXJlbTtcbiAgfVxufVxuLmV2ZW50cy1saXN0aW5nIC5jYXJkLS1ldmVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG59XG4uZXZlbnRzLWxpc3RpbmcgLmNhcmQtLWV2ZW50IC5kYXRlLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYxNjc7XG4gIGJvdHRvbTogdW5zZXQ7XG4gIGxlZnQ6IC0xMHB4O1xuICBwYWRkaW5nOiAxLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgdG9wOiAtMTBweDtcbiAgei1pbmRleDogOTk5OTk7XG59XG4uZXZlbnRzLWxpc3RpbmcgLmNhcmQtLWV2ZW50IC5jYXJkX19pbWFnZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLmV2ZW50cy1saXN0aW5nIC5jYXJkLS1ldmVudCAuY2FyZF9fY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogNC44NzVyZW07XG59XG5cbi5ldmVudCAubGlzdF9fbGluayB7XG4gIGNvbG9yOiAjMDA2MTY3O1xufVxuLmV2ZW50IC5saXN0X19saW5rOmZvY3VzLCAuZXZlbnQgLmxpc3RfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzUyNWU2Njtcbn1cbi5ldmVudCAubGlzdC0tZXZlbnQtY29udGFjdCAubGlzdF9faXRlbS0tdGVybSB7XG4gIGNvbG9yOiAjMDA2MTY3O1xufVxuXG4ubGlzdC0tc2VjdGlvbi1pdGVyYXRvciBhIHtcbiAgY29sb3I6ICNiNzAwNjI7XG59XG4ubGlzdC0tc2VjdGlvbi1pdGVyYXRvciBhOmhvdmVyLCAubGlzdC0tc2VjdGlvbi1pdGVyYXRvciBhOmZvY3VzIHtcbiAgY29sb3I6ICMzNjExNjM7XG59XG4ubGlzdC0tc2VjdGlvbi1pdGVyYXRvciAubGlzdF9faXRlbS0tcHJldiBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTS4wNDUlMjA3LjgzQy4wNCUyMDcuODIuMDMyJTIwNy44MTQuMDI4JTIwNy44MDVhLjMzLjMzJTIwMCUyMDAlMjAxJTIwMC0uMjY4Yy4wMDMtLjAxLjAxLS4wMTYuMDE2LS4wMjZhLjMwMi4zMDIlMjAwJTIwMCUyMDElMjAuMDYyLS4wOGwuMDA1LS4wMUw4LjQ1LjA5YS4zMzMuMzMzJTIwMCUyMDElMjAxJTIwLjQ0LjVMMS4yMiUyMDcuMzRoMTQuNDVhLjMzNC4zMzQlMjAwJTIwMCUyMDElMjAwJTIwLjY2N0gxLjIxOGw3LjY3JTIwNi43NWEuMzMyLjMzMiUyMDAlMjAwJTIwMS0uMjIuNTgzLjMzLjMzJTIwMCUyMDAlMjAxLS4yMi0uMDgzTC4xMSUyMDcuOTIyYy0uMDAyJTIwMC0uMDAzLS4wMDUtLjAwNS0uMDA3YS4zNDguMzQ4JTIwMCUyMDAlMjAxLS4wNjItLjA4M1Y3LjgzeiUyMiUyMGZpbGwlM0QlMjIlMjNiNzAwNjIlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4ubGlzdC0tc2VjdGlvbi1pdGVyYXRvciAubGlzdF9faXRlbS0tbmV4dCBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE1Ljk1NCUyMDcuODNjLjAwNS0uMDEuMDEzLS4wMTYuMDE3LS4wMjVhLjMzLjMzJTIwMCUyMDAlMjAwJTIwMC0uMjY4YzAtLjAxLS4wMS0uMDE2LS4wMTMtLjAyNmEuMzAyLjMwMiUyMDAlMjAwJTIwMC0uMDYyLS4wOGwtLjAwNS0uMDFMNy41NTIuMDlhLjMzMy4zMzMlMjAwJTIwMSUyMDAtLjQ0LjVsNy42NyUyMDYuNzVILjMzMmEuMzMzLjMzMyUyMDAlMjAwJTIwMCUyMDAlMjAuNjY3aDE0LjQ1bC03LjY3JTIwNi43NWEuMzMyLjMzMiUyMDAlMjAwJTIwMCUyMC4yMi41ODMuMzMuMzMlMjAwJTIwMCUyMDAlMjAuMjItLjA4M2w4LjMzNS03LjMzM2MuMDAyJTIwMCUyMC4wMDMtLjAwNS4wMDUtLjAwN2EuMzQ4LjM0OCUyMDAlMjAwJTIwMCUyMC4wNjItLjA4M3olMjIlMjBmaWxsJTNEJTIyJTIzYjcwMDYyJTIyJTIwJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBicmVhZGNydW1iIGNvbXBvbmVudC4gRGVsZXRlIGFsbFxuLy8gaWYgZGVmYXVsdCBzdHlsZXMgYXJlIGdvaW5nIHRvIGJlIHVzZWQgZm9yIHRoaXMgcHJvamVjdC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBPdXRlciBjb250YWluZXIgY29sb3VyIG92ZXJyaWRlXG4vL1xuLmJyZWFkY3J1bWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xufVxuXG5cblxuXG5cbi8vXG4vLyBJbmRpdmlkdWFsIGJyZWFkY3J1bWIgaXRlbSBjb2xvdXIgb3ZlcnJpZGVzXG4vL1xuLmJyZWFkY3J1bWJzX19pdGVtIHtcbiAgLy8gUmlnaHQgY2hldnJvblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGVuY29kZS1zdmcoJzxzdmcgdmlld0JveD1cIjAgMCAxNCAyNFwiIHhtbG5zPVwiaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTIuNzQ0IDEyTC4xNjguODc0QS41LjUgMCAxIDEgLjgzLjEyNmwxMyAxMS41YS41LjUgMCAwIDEgMCAuNzQ4bC0xMyAxMS41YS41LjUgMCAxIDEtLjY2Mi0uNzQ4TDEyLjc0NCAxMnpcIiBmaWxsPVwiI3skd2hpdGV9XCIgLz48L3N2Zz4nKTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cblxuXG4gIC8vIExpbmtzIChjYW4ndCB1c2UgQkVNIGJlY2F1c2UgVDQgYXV0b21hdGljYWxseSBwcm9kdWNlcyB0aGUgbGluayBlbGVtZW50cylcbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjY7XG5cblxuICAgIC8vIEJvdHRvbSBib3JkZXIgKGhpZGRlbiBpbml0aWFsbHkpXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gRmlyc3QgYnJlYWRjcnVtYiBpdGVtIChob3VzZSBpY29uKVxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVuY29kZS1zdmcoJzxzdmcgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMCAxMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTAgMy42OHY2LjMyMmgzLjg4OXYtMy44OUg2LjExdjMuODlIMTBWMy42OEw1IDB6XCIgZmlsbD1cIiN7JHdoaXRlfVwiLz48L3N2Zz4nKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIExlZnQgY2hldnJvbiBvbiBtb2JpbGVcbiAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bScpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogZW5jb2RlLXN2ZygnPHN2ZyB2aWV3Qm94PVwiMCAwIDE0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMS4yNTQgMTJMMTMuODMgMjMuMTI2YS41LjUgMCAxIDEtLjY2Mi43NDhsLTEzLTExLjVhLjUuNSAwIDAgMSAwLS43NDhsMTMtMTEuNWEuNS41IDAgMSAxIC42NjMuNzQ4TDEuMjU1IDEyelwiIGZpbGw9XCIjeyR3aGl0ZX1cIiAvPjwvc3ZnPicpO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBidXR0b24gY29tcG9uZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ1dHRvbiB7XG4gICYtLWljb24tcmlnaHQge1xuICAgIC5pY29uIHtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuM3M7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgcmlnaHQ6ICRzcGFjZS1oYWxmICsgJHNwYWNlLXR3ZWx0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBjYWxsb3V0IGNvbXBvbmVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBDYXJvdXNlbCBwYWdpbmF0aW9uXG4vL1xuLnNsaWNrLWRvdHMge1xuICBsaW5lLWhlaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkc3BhY2UgMCAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG5cbiAgLy8gUGFnaW5hdGlvbiBidXR0b24gd3JhcHBlclxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cblxuICAvLyBQYWdpbmF0aW9uIGJ1dHRvblxuICBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3VudGFpbi1ncmV5O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHNwYWNlLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjZS10aGlyZDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS10aGlyZDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAkc3BhY2UtaGFsZjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVsJykge1xuICAgICAgaGVpZ2h0OiAkc3BhY2UtdHdvLXRoaXJkcztcbiAgICAgIHdpZHRoOiAkc3BhY2UtdHdvLXRoaXJkcztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRmb3VudGFpbi1ncmV5LCAxMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEluY3JlYXNlIG9wYWNpdHkgb2YgcGFnaW5hdGlvbiBpdGVtIHdoZW4gYWN0aXZlXG4gIC5zbGljay1hY3RpdmUge1xuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNwaGFsdDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGV2ZW50IGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmV2ZW50cy1saXN0aW5nIHtcbiAgLmxpc3QtLWV2ZW50cy1saXN0aW5nIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gIC5saXN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogJHNwYWNlLXF1YXJ0ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlbScpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmxpc3RfX2xpbmsge1xuICAgICAgYm9yZGVyOiAkc3BhY2UtdHdlbHRoIHNvbGlkICRtdWxiZXJyeTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWZyaWNhbi12aW9sZXQ7XG5cbiAgICAgICAgLmxpc3RfX2hlYWRpbmcge1xuICAgICAgICAgIGNvbG9yOiAkYWZyaWNhbi12aW9sZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdF9fdGV4dCB7XG4gICAgICAgICAgY29sb3I6ICRhZnJpY2FuLXZpb2xldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRlLWJveCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFmcmljYW4tdmlvbGV0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUtYm94LFxuICAgIC5saXN0X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmRhdGUtYm94IHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtdWxiZXJyeTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICB3aWR0aDogMjIlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgn4omlbCcpIHtcbiAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdF9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAkc3BhY2UtaGFsZjtcbiAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVsJykge1xuICAgICAgICB3aWR0aDogODElO1xuICAgICAgfVxuXG4gICAgICAubGlzdF9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygzKTtcblxuICAgICAgICBjb2xvcjogJG11bGJlcnJ5O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYnJhbmQtbWVkaXVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2UtZWlnaHRoO1xuICAgICAgfVxuXG4gICAgICAubGlzdF9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc2V0dGluZygtMSk7XG5cbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGFzcGhhbHQsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FyZC0tZXZlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZS1kb3VibGU7XG5cbiAgICAuZGF0ZS1ib3gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5lcHR1bmU7XG4gICAgICBib3R0b206IHVuc2V0O1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICBwYWRkaW5nOiAkc3BhY2UtdGhyZWUtcXVhcnRlcnM7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlLXRocmVlLXF1YXJ0ZXJzIC0gJHNwYWNlLWVpZ2h0aDtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICB9XG5cbiAgICAuY2FyZF9faW1hZ2Utd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jYXJkX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlLXRyZWJsZSArICRzcGFjZS1xdWFydGVyO1xuICAgIH1cbiAgfVxufVxuXG4uZXZlbnQge1xuICAubGlzdF9fbGluayB7XG4gICAgY29sb3I6ICRuZXB0dW5lO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYXNwaGFsdDtcbiAgICB9XG4gIH1cblxuICAubGlzdC0tZXZlbnQtY29udGFjdCB7XG4gICAgLmxpc3RfX2l0ZW0tLXRlcm0ge1xuICAgICAgY29sb3I6ICRuZXB0dW5lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gR2VuZXJhdGUgY2FsYygpIGZ1bmN0aW9uXG4vLyBiYXNlZCBvbiBNaWtlIFJpZXRobXVsbGVyJ3MgUHJlY2lzZSBjb250cm9sIG92ZXIgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4vLyBodHRwOi8vbWFkZWJ5bWlrZS5jb20uYXUvd3JpdGluZy9wcmVjaXNlLWNvbnRyb2wtcmVzcG9uc2l2ZS10eXBvZ3JhcGh5L1xuQGZ1bmN0aW9uIG1zLWZsdWlkKCR2YWwxOiAxZW0sICR2YWwyOiAxZW0sICRicmVhazE6IDAsICRicmVhazI6IDApIHtcbiAgJGRpZmY6IG1zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKTtcblxuICAvLyB2MSArICh2MiAtIHYxKSAqICggKDEwMHZ3IC0gYjEpIC8gYjIgLSBiMSApXG4gIEByZXR1cm4gY2FsYyggI3skdmFsMX0gKyAje21zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKX0gKiAoICggMTAwdncgLSAjeyRicmVhazF9KSAvICN7bXMtdW5pdGxlc3MoJGJyZWFrMikgLSBtcy11bml0bGVzcygkYnJlYWsxKX0gKSApO1xufVxuXG4vLyBNYWluIHJlc3BvbnNpdmUgbWl4aW5cbkBtaXhpbiBtcy1yZXNwb25kKCRwcm9wLCAkdmFsLCAkbWFwOiAkbW9kdWxhcnNjYWxlLCAkbXMtaW1wb3J0YW50OiBmYWxzZSkge1xuICAkYmFzZTogJG1zLWJhc2U7XG4gICRyYXRpbzogJG1zLXJhdGlvO1xuXG4gICRmaXJzdC13cml0ZTogdHJ1ZTtcbiAgJGxhc3QtYnJlYWs6IG51bGw7XG5cbiAgJGltcG9ydGFudDogJyc7XG5cbiAgQGlmICRtcy1pbXBvcnRhbnQgPT0gdHJ1ZSB7XG4gICAgJGltcG9ydGFudDogJyAhaW1wb3J0YW50JztcbiAgfVxuXG4gIC8vIGxvb3AgdGhyb3VnaCBhbGwgc2V0dGluZ3Mgd2l0aCBhIGJyZWFrcG9pbnQgdHlwZSB2YWx1ZVxuICBAZWFjaCAkdiwgJHMgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciB7XG4gICAgICBAaWYgdW5pdCgkdikgIT0gJycge1xuXG4gICAgICAgIC8vIFdyaXRlIG91dCB0aGUgZmlyc3QgdmFsdWUgd2l0aG91dCBhIG1lZGlhIHF1ZXJ5LlxuICAgICAgICBAaWYgJGZpcnN0LXdyaXRlIHtcbiAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcblxuICAgICAgICAgIC8vIE5vdCB0aGUgZmlyc3Qgd3JpdGUgYW55bW9yZSwgcmVzZXQgdG8gZmFsc2UgdG8gbW92ZSBvbi5cbiAgICAgICAgICAkZmlyc3Qtd3JpdGU6IGZhbHNlO1xuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdyaXRlIGludGVybWVkaWF0ZSBicmVha3BvaW50cy5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFzdC1icmVhaykgYW5kIChtYXgtd2lkdGg6ICR2KSB7XG4gICAgICAgICAgICAkdmFsMTogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAkdmFsMjogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZmx1aWQoJHZhbDEsJHZhbDIsJGxhc3QtYnJlYWssJHYpfSN7JGltcG9ydGFudH1cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdyaXRlIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4gIEBpZiAkbGFzdC1icmVhayB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXN0LWJyZWFrKSB7XG4gICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG4gIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgbWl4aW5zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIENsZWFyIGlubmVyIGZsb2F0c1xuLy8gQGluY2x1ZGUgY2xlYXJmaXg7XG4vL1xuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cblxuXG5cblxuXG4vL1xuLy8gVHlwZSBzZXR0aW5nIChmb250LXNpemUgYW5kIGxpbmUgaGVpZ2h0IGZyb20gc2NhbGUpXG4vLyBAaW5jbHVkZSB0eXBlLXNldHRpbmcoMik7XG4vL1xuQG1peGluIHR5cGUtc2V0dGluZygkbGV2ZWwpIHtcbiAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIG1hcC1nZXQobWFwLWdldCgkdHlwZS1zZXR0aW5ncywgJGxldmVsKSwgdHlwZS1zY2FsZSkpO1xuXG4gIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KG1hcC1nZXQoJHR5cGUtc2V0dGluZ3MsICRsZXZlbCksIGxpbmUtaGVpZ2h0KTtcbn1cblxuXG5cblxuXG4vL1xuLy8gVHlwZSBzY2FsZSAoZm9udCBzaXplIGZyb20gc2NhbGUpXG4vLyBAaW5jbHVkZSB0eXBlLXNjYWxlKDIpO1xuLy9cbkBtaXhpbiB0eXBlLXNjYWxlKCRsZXZlbCkge1xuICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgbWFwLWdldChtYXAtZ2V0KCR0eXBlLXNldHRpbmdzLCAkbGV2ZWwpLCB0eXBlLXNjYWxlKSk7XG59XG5cblxuXG5cblxuLy9cbi8vIENvbHVtblxuLy9cbi8vIERlZmF1bHQgYmVoYXZpb3VyIHByZXN1bWVzIGEgMTIgY29sdW1uIGdyaWQ6XG4vLyBgQGluY2x1ZGUgY29sKDMpO2Agb3V0cHV0cyB0byBgd2lkdGg6IDI1JTtgICgoMyAvIDEyKSAqIDEwMClcbi8vXG4vLyBPdmVycmlkZSAxMiBjb2x1bW4gZ3JpZCBieSBlbnRlcmluZyBzZWNvbmQgdmFsdWU6XG4vLyBgQGluY2x1ZGUgY29sKDIsIDEwKTtgIG91dHB1dHMgdG8gYHdpZHRoOiAyMCU7YCAoKDIgLyAxMCkgKiAxMDApXG4vL1xuQG1peGluIGNvbCgkY29sdW1uLCAkY29sdW1uczogJycpIHtcbiAgQGlmICRjb2x1bW5zICE9ICcnIHtcbiAgICB3aWR0aDogbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KCRjb2x1bW4sICRjb2x1bW5zKSk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJGNvbHVtbiwgMTIpKTtcbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGxpc3QgY29tcG9uZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIFNlY3Rpb24gaXRlcmF0b3Jcbi8vXG4ubGlzdC0tc2VjdGlvbi1pdGVyYXRvciB7XG4gIC8vIENoYW5nZSBsaW5rIGNvbG91clxuICBhIHtcbiAgICBjb2xvcjogJG11bGJlcnJ5O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYWZyaWNhbi12aW9sZXQ7XG4gICAgfVxuICB9XG5cblxuICAvLyBQcmV2aW91cyBsaW5rIGFycm93IGljb24gY29sb3VyXG4gIC5saXN0X19pdGVtLS1wcmV2IHtcbiAgICBhIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVuY29kZS1zdmcoJzxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTS4wNDUgNy44M0MuMDQgNy44Mi4wMzIgNy44MTQuMDI4IDcuODA1YS4zMy4zMyAwIDAgMSAwLS4yNjhjLjAwMy0uMDEuMDEtLjAxNi4wMTYtLjAyNmEuMzAyLjMwMiAwIDAgMSAuMDYyLS4wOGwuMDA1LS4wMUw4LjQ1LjA5YS4zMzMuMzMzIDAgMSAxIC40NC41TDEuMjIgNy4zNGgxNC40NWEuMzM0LjMzNCAwIDAgMSAwIC42NjdIMS4yMThsNy42NyA2Ljc1YS4zMzIuMzMyIDAgMCAxLS4yMi41ODMuMzMuMzMgMCAwIDEtLjIyLS4wODNMLjExIDcuOTIyYy0uMDAyIDAtLjAwMy0uMDA1LS4wMDUtLjAwN2EuMzQ4LjM0OCAwIDAgMS0uMDYyLS4wODNWNy44M3pcIiBmaWxsPVwiI3skbXVsYmVycnl9XCIgLz48L3N2Zz4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIE5leHQgbGluayBhcnJvdyBpY29uIGNvbG91clxuICAubGlzdF9faXRlbS0tbmV4dCB7XG4gICAgYSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlbmNvZGUtc3ZnKCc8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xNS45NTQgNy44M2MuMDA1LS4wMS4wMTMtLjAxNi4wMTctLjAyNWEuMzMuMzMgMCAwIDAgMC0uMjY4YzAtLjAxLS4wMS0uMDE2LS4wMTMtLjAyNmEuMzAyLjMwMiAwIDAgMC0uMDYyLS4wOGwtLjAwNS0uMDFMNy41NTIuMDlhLjMzMy4zMzMgMCAxIDAtLjQ0LjVsNy42NyA2Ljc1SC4zMzJhLjMzMy4zMzMgMCAwIDAgMCAuNjY3aDE0LjQ1bC03LjY3IDYuNzVhLjMzMi4zMzIgMCAwIDAgLjIyLjU4My4zMy4zMyAwIDAgMCAuMjItLjA4M2w4LjMzNS03LjMzM2MuMDAyIDAgLjAwMy0uMDA1LjAwNS0uMDA3YS4zNDguMzQ4IDAgMCAwIC4wNjItLjA4M3pcIiBmaWxsPVwiI3skbXVsYmVycnl9XCIgLz48L3N2Zz4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
