.page-directions .tab-cont-wrap {
  padding-bottom: 20px;
}

@media screen and (min-width: 992px) {
  .page-directions .tab-cont-wrap {
    padding-bottom: 40px;
  }
}

.page-directions .tab-cont {
  position: relative;
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont.row {
    margin-left: 0;
    margin-right: -20px;
  }
  .page-directions .tab-cont.row > [class*="col-"] {
    padding: 0 20px;
  }
}

@media screen and (min-width: 992px) {
  .page-directions .tab-cont.row {
    margin-left: 0;
    margin-right: -42px;
  }
  .page-directions .tab-cont.row > [class*="col-"] {
    padding: 0 42px;
  }
}

@media screen and (min-width: 1200px) {
  .page-directions .tab-cont.row {
    margin-left: -42px;
    margin-right: -42px;
  }
  .page-directions .tab-cont.row > [class*="col-"] {
    padding: 0 42px;
  }
}

.page-directions .tab-cont .left-wrap .location {
  height: 447px;
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .left-wrap .location {
    height: 540px;
  }
}

@media screen and (min-width: 992px) {
  .page-directions .tab-cont .left-wrap .location {
    height: 610px;
  }
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .left-wrap {
    position: relative;
  }
  .page-directions .tab-cont .left-wrap::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: calc(100% - 60px);
    height: 100%;
    background-color: #f8f8f8;
  }
}

@media screen and (min-width: 768px) and (min-width: 992px) {
  .page-directions .tab-cont .left-wrap::before {
    top: 40px;
    width: calc(100% - 90px);
  }
}

.page-directions .tab-cont .left-wrap .img-box {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 447px;
  border: 1px solid #ccc;
  background-color: #eff0f1;
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .left-wrap .img-box {
    height: 540px;
  }
}

@media screen and (min-width: 992px) {
  .page-directions .tab-cont .left-wrap .img-box {
    height: 610px;
  }
}

.page-directions .tab-cont .left-wrap .img-box .icon-marker {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 85px;
  max-width: 112px;
  width: 22%;
  min-height: 38px;
  max-height: 50px;
  transform: translate(-50%, -91%);
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .left-wrap .img-box .icon-marker {
    transform: translate(-50%, -71%);
  }
}

.page-directions .tab-cont .left-wrap .img-box .img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-49%, -51%);
  max-width: 145%;
}

@media screen and (min-width: 544px) {
  .page-directions .tab-cont .left-wrap .img-box .img {
    max-width: 725px;
  }
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .left-wrap .img-box .img {
    transform: translate(-50%, -51%);
    max-width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .right-wrap {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont .right-wrap.cont-info-wrap .desc {
    line-height: 1.3;
  }
}

@media screen and (min-width: 992px) {
  .page-directions .tab-cont .right-wrap.cont-info-wrap .desc {
    line-height: 1.6;
  }
}

.page-directions .tab-cont > div:nth-of-type(2) {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .page-directions .tab-cont > div:nth-of-type(2) {
    margin-top: 0;
  }
}

.page-directions .tab-cont > div:nth-of-type(2) .list:last-child {
  margin-bottom: 0;
}

.page-directions .tab-cont .cate {
  position: relative;
  padding-left: 10px;
  display: inline-block;
  width: 88px;
  vertical-align: top;
  color: #092f87;
  letter-spacing: -0.02em;
}

.page-directions .tab-cont .cate:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  transform: translateY(-50%);
  background-color: #092f87;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3BhZ2Uvc2VydmljZV9jZW50ZXIvZGlyZWN0aW9ucy5jc3MiLCJzb3VyY2VzIjpbImxheW91dC9wYWdlL3NlcnZpY2VfY2VudGVyL2RpcmVjdGlvbnMuc2NzcyIsInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL3ZhcmlhYmxlc19jb21wb25lbnRzL19jYXJkcy5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fdGFiLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwicmVzL3Njc3MvX19taXhpbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWVkaWEtcXVlcnkuc2NzcyIsInJlcy9zY3NzL21peGlucy9fbWFwLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NsZWFyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3NjcmVlbnJlYWRlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3ByZWZpeGVyLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fYXJlYS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RyaWFuZ2xlLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fY2FyZHMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190YWJsZXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFiLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJyZXMvc2Nzcy9fX21peGlucy5zY3NzXCI7XG5cbiROQU1FU1BBQ0UgOiBcIi5wYWdlLWRpcmVjdGlvbnNcIjtcblxuI3skTkFNRVNQQUNFfSB7XG4gICYge1xuICAgIC50YWItY29udC13cmFwe1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWItY29udCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmLnJvd3tcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDotMjBweDtcbiAgICAgICAgICA+W2NsYXNzKj1cImNvbC1cIl17XG4gICAgICAgICAgICBwYWRkaW5nOjAgMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDotNDJweDtcbiAgICAgICAgICA+W2NsYXNzKj1cImNvbC1cIl17XG4gICAgICAgICAgICBwYWRkaW5nOjAgNDJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHhsKXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDotNDJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6LTQycHg7XG4gICAgICAgICAgPltjbGFzcyo9XCJjb2wtXCJde1xuICAgICAgICAgICAgcGFkZGluZzowIDQycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGVmdC13cmFwIHtcbiAgICAgICAgLmxvY2F0aW9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ0N3B4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICAgICAgICBoZWlnaHQ6IDU0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgICAgICAgaGVpZ2h0OiA2MTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6MjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgICAgICAgICAgdG9wOjQwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltZy1ib3gge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogNDQ3cHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzs7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjBmMTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgICAgaGVpZ2h0OiA1NDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgICAgICAgIGhlaWdodDogNjEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pY29uLW1hcmtlcntcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOjg1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6MTEycHg7XG4gICAgICAgICAgICB3aWR0aDogMjIlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzhweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtOTElKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC03MSUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTQ5JSwtNTElKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTQ1JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUxJSk7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5yaWdodC13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICB0b3A6NTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnQtaW5mby13cmFwe1xuICAgICAgICAgIC5kZXNje1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY+ZGl2Om50aC1vZi10eXBlKDIpe1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmxpc3Q6bGFzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2F0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA4OHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogIzA5MmY4NztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wIDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MmY4NztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vLy8vZGVmYXVsdC8vLy8vXG4vL2NvbG9yXG4kZ193aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRnX2JsYWNrOiAjMDAwICFkZWZhdWx0O1xuJGdfcmVkOiAjY2QyMDAwO1xuXG4kZ19wb2ludC1mb250LWNvbG9yOiAjMDBhZWVmO1xuJGdfcG9pbnQtZm9udC1jb2xvcjI6ICMxYjQ1OGU7XG4kZ19wb2ludC10aGVtZS1jb2xvcjogIzAwYWVlZjtcbiRnX3BvaW50LXRoZW1lLWNvbG9yMjogIzFiNDU4ZTtcbiRnX2JvcmRlci1jb2xvciA6ICNkZGQ7XG5cbi8vZm9udFxuLy8tZm9udC1mYW1pbHlcbiRnX2ZvbnQtZmFtaWx5OiAoXG4gIHN5c3RlbTogJyBcIuunkeydgCDqs6DrlJVcIiwgXCJNYWxndW4gR290aGljXCIsIFwi7JWg7ZSMIFNEIOyCsOuPjOqzoOuUlSBOZW9cIiwgXCJBcHBsZSBTRCBHb3RoaWMgTmVvXCIsIHNhbnMtc2VyaWYgJyxcbiAgbm90bzogJ1wiTm90byBTYW5zIEtSXCIsIHNhbnMtc2VyaWYnLFxuICBsYXRvIDogJ1wiTGF0b1wiLCBzYW5zLXNlcmlmJyxcbiAgZG90dW06ICdcIkRvdHVtXCIsIHNhbnMtc2VyaWYnLFxuKTtcblxuJGZvbnQtc3lzdGVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIHN5c3RlbSl9O1xuJGZvbnQtbm90bzogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBub3RvKX07XG4kZm9udC1sYXRvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGxhdG8pfTsgLy8xMDAoVCksMzAwKEwpLDQwMChSKSw3MDAoQiksOTAwKEIpXG4kZm9udC1kb3R1bTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBkb3R1bSl9O1xuXG4vLy1kZWZhdWx0IGZvbnQg7ISk7KCVXG4kZm9udC0zMDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtNDAwIDogJGZvbnQtbm90bztcbiRmb250LTUwMCA6ICRmb250LW5vdG87XG4kZm9udC03MDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtODAwIDogJGZvbnQtbm90bztcblxuLy8tZm9udC1zaXplXG4kZ19mb250LXNpemU6KFxuICB4czogMTBweCxcbiAgc206IDEycHgsXG4gIG1kOiAxNXB4LFxuICBsZzogMThweCxcbiAgeGw6IDI0cHgsXG4pO1xuXG4vLy1mb250LXdlaWdodFxuJGdfZm9udC13ZWlnaHRzOiAxMDAsIDIwMCwgMzAwLCA0MDAsIDUwMCwgNjAwLCA3MDAsIDgwMCwgOTAwO1xuXG4vLy1sZXR0ZXItc3BhY2luZ1xuXG4vLy8vL21lZGlhLy8vLy9cbiRnX21lZGlhLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTQ0cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4XG4pO1xuXG4vLy8vL2xheW91dC8vLy8vXG4vL2FyZWFcbiRnX21heC13aWR0aDogMTE0MHB4O1xuJGdfYXJlYS1ndXR0ZXItd2lkdGg6IDIwcHg7XG5cbi8vZ3JpZFxuJGdfZ3JpZC1jb2x1bW5zOiAxMjtcbiRnX2dyaWQtZ3V0dGVyLXdpZHRoOiAxJTtcblxuJGdfZGVmYXVsdC1hcmVhOiAoXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoLFxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxuICB3aWR0aDogMTAwJVxuKTtcbiRnX2Z1bGwtYXJlYTogKFxuICBtYXgtd2lkdGg6IDE3NTBweCxcbiAgZ3V0dGVyLXdpZHRoOiAkZ19hcmVhLWd1dHRlci13aWR0aCxcbiAgd2lkdGg6IDEwMCVcbik7XG4kZ19ub2d1dHRlci1hcmVhOiAoXG4gIG1heC13aWR0aDogJGdfbWF4LXdpZHRoXG4pO1xuXG4vL2dyaWRcbiRnX2dyaWQtY29sLWluZm86IChcbiAgZ3JpZC1jb2wtY250OiAxMixcbiAgZ3JpZC1jb2wtbmFtZTogbnVsbFxuKTtcbiRncmlkLWNvbDUtaW5mbzogKFxuICBncmlkLWNvbC1jbnQ6IDUsXG4gIGdyaWQtY29sLW5hbWU6IGZpdmUtXG4pO1xuXG4vLy8vL1VUSUxJVElFUy8vLy8vXG4vL2NsZWFyXG5cbi8vc3BhY2luZ1xuJHNwYWNlcnM6KFxuICAwOiAwLFxuICA1OiA1cHgsXG4gIDEwOiAxMHB4LFxuICAxNTogMTVweCxcbiAgMjA6IDIwcHgsXG4gIDI1OiAyNXB4LFxuICAzMDogMzBweCxcbiAgNDA6IDQwcHgsXG4gIDUwOiA1MHB4LFxuICA2MDogNjBweCxcbiAgNzA6IDcwcHgsXG4gIDgwOiA4MHB4LFxuICA5MDogOTBweCxcbiAgMTAwOiAxMDBweCxcbiAgMTIwOiAxMjBweCxcbik7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PS8vXG5cbi8vLy8vQ09NUE9ORU5UUy8vLy8vXG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2J1dHRvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19mb3Jtc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19jYXJkc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190YWJsZVwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190YWJcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29tcG9uZW50cy9fcGFnaW5hdGlvblwiO1xuLy8gQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL190b29sdGlwXCI7IC8vIOyCrOyaqe2VmOyngCDslYrripQg67aA67aE7J2AIOyjvOyEnSAoIGJhc2Uuc2NzcyDsl5Drj4Qg7KO87ISdIClcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cbiIsIi8vIF9idXR0b25cbiRnX2J0bi1zaXplOiAoeHM6ICggLy8g67Cw7Iah7KGw7ZqMLO2bhOq4sOyekeyEsVxuICAgIHdpZHRoOiA1MHB4LFxuICAgIGhlaWdodDogMzdweCxcbiAgICBsaW5lLWhlaWdodDogMzdweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICApLFxuICBzbTogKCAvLyDtmozsm5DqsIDsnoUsIOuniOydtO2OmOydtOyngCwg6rKM7Iuc7YyQLCBwb3B1cCBidG4g6rSA66CoIOuyhO2KvFxuICAgIHdpZHRoOiA5MHB4LFxuICAgIGhlaWdodDogMzdweCxcbiAgICBsaW5lLWhlaWdodDogMzdweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICApLFxuICBtZDogKCAvL+ydvOuwmCDtjpjsnbTsp4BcbiAgICB3aWR0aDogMjEwcHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgKSxcbiAgbGc6ICggLy/snqXrsJTqtazri4hcbiAgICB3aWR0aDoyNjVweCxcbiAgICBoZWlnaHQ6IDQwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDQwcHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICAgIGZvbnQtd2VpZ2h0OjUwMCxcbiAgKSxcbiAgeGw6ICggLy/roZzqt7jsnbgsIO2ajOybkOqwgOyehSwg7JWE7J2065SUJuu5hOuwgOuyiO2YuCDssL7quLAg7ZSM66Gc7JqwXG4gICAgaGVpZ2h0OiA1MHB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICBmb250LXdlaWdodDo1MDAsXG4gICAgbWVkaWE6IChtZDogKGhlaWdodDogNTVweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgICApKSksXG4gIGZ1bGwtc20gOiAoIC8vIOqyjOyLnO2MkOyXkOyEnCDsgqzsmqlcbiAgICB3aWR0aDoxMDAlLFxuICAgIGhlaWdodDogNDJweCxcbiAgICBsaW5lLWhlaWdodDogNDJweCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICAgIG1lZGlhIDogKG1kIDogKHdpZHRoOiA5MHB4LFxuICAgICAgICBoZWlnaHQ6IDM3cHgsXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgICAgKSxcbiAgICApKSxcbiAgZnVsbC1tZDogKCAvL+ydvOuwmCDtjpjsnbTsp4BcbiAgICB3aWR0aDogMTAwJSxcbiAgICBtYXgtd2lkdGg6IDIxMHB4LFxuICAgIGhlaWdodDogNTVweCxcbiAgICBsaW5lLWhlaWdodDogNTVweCxcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICksXG4gIHBvcHVwOiAoIC8vcG9wdXAg67KE7Yq8XG4gICAgbWF4LXdpZHRoOjIxMHB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGhlaWdodDogNTVweCxcbiAgKSxcbiAgZnVsbDood2lkdGg6IDEwMCUsXG4gICksXG4pO1xuXG4kZ19idG4tZ3JvdXAgOiAoIC8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZWY6riwXG4gIHBvaW50IDogKCAvLyBkZWZhdWx0XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQsXG4gICAgaG92ZXIgOiAoYmFja2dyb3VuZC1jb2xvcjojMGIyZDY3LFxuICAgICkpLFxuICBzdWItcG9pbnQgOihiYWNrZ3JvdW5kLWNvbG9yOiRnX3BvaW50LXRoZW1lLWNvbG9yLFxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQsXG4gICAgaG92ZXIgOiAoYmFja2dyb3VuZC1jb2xvcjojMDc5MGQwLFxuICAgICkpLFxuICBzdHlsZTIgOiAoIC8vIO2ajOybkOqwgOyehSwg7JWE7J2065SUJuu5hOuwgOuyiO2YuCDssL7quLBcbiAgICBib3JkZXI6MXB4IHNvbGlkICNjY2MsXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMCxcbiAgICBjb2xvcjogIzU1NSxcbiAgKSxcbiAgc3R5bGUzIDogKCAvLyDso7zrrLjst6jshowsIOyjvOusuOumrOyKpO2KuOqygOyDiVxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUsXG4gICAgY29sb3I6ICNmZmYsXG4gICksXG4gIG91dGxpbmUtc3R5bGUxIDogKCAvLyDroZzqt7jsnbgsIOyjvOusuOyDgeyEuOuztOq4sCwgY3VzdG9tMlxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIGNvbG9yOiM1NTUgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjIsXG4gICAgKSksXG4gIG91dGxpbmUtc3R5bGUyIDogKCAvLyDquIDsk7DquLBcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjIyLFxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZixcbiAgICBjb2xvcjojMjIyLFxuICApLFxuICBvdXRsaW5lLXN0eWxlMzogKGJvcmRlcjogMXB4IHNvbGlkICNmZmYsXG4gICAgY29sb3IgOiNmZmYsXG4gICAgaG92ZXI6IChiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICApKSxcbik7IiwiLy8gX2Zvcm1cbiRnX2Zvcm0td3JhcDogKHRhYmxlIDogKCAvLy5mb3JtLXdyYXAtdGFibGUgKO2ajOybkOqwgOyehSbsoJXrs7QsIOyjvOusuOqysOygnCbrgrTsl60pXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICBmb3JtLXdyYXA6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0td3JhcFxuICAgICAgZGlzcGxheTogZmxleCxcbiAgICApLFxuICAgIGZvcm0tdGl0bGU6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tdGl0bGVcbiAgICAgIGRpc3BsYXk6IGZsZXgsXG4gICAgICBmbGV4LWdyb3c6IDAsXG4gICAgICBmbGV4LXNocmluazogMSxcbiAgICAgIGZsZXgtYmFzaXM6IDkwcHgsXG4gICAgICBtaW4td2lkdGg6IDkwcHgsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nOiAxOXB4IDEwcHgsXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW0sXG4gICAgICBmb250LXNpemU6IDEycHgsXG4gICAgICBtZWRpYTogKHNtOiAoZmxleC1iYXNpczogMTAwJSxcbiAgICAgICAgICBtYXgtd2lkdGg6MTUwcHgsXG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4LFxuICAgICAgICApLFxuICAgICAgICBtZDogKG1heC13aWR0aDoyMDNweCxcbiAgICAgICAgICBmb250LXNpemU6IDEzcHgsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICAgZm9ybS1ib2R5OiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLWJvZHlcbiAgICAgIGZsZXgtZ3JvdzogMCxcbiAgICAgIGZsZXgtc2hyaW5rOiAxLFxuICAgICAgZmxleC1iYXNpczogNDAzcHgsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nOiBcIjEwcHhcIixcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICApLFxuICApLFxuICBzdHlsZTEgOiAoIC8vLmZvcm0td3JhcC1zdHlsZTEgKOyCrOyXheyEpOuqhe2ajCDtjJ3sl4Ug7IKs7JqpIC8gcHJlc2VudGF0aW9uX2luc2VydC5waHApXG4gICAgbWFyZ2luLWJvdHRvbTogLTI0cHgsXG4gICAgZm9ybS13cmFwOiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLXdyYXBcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHgsXG4gICAgKSxcbiAgICBmb3JtLXRpdGxlOiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLXRpdGxlXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHgsXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzU1NSxcbiAgICApLFxuICAgIGZvcm0tYm9keTogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS1ib2R5XG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgKSxcbiAgKSxcbik7XG4vL19pbnB1dFxuJGdfZmllbGQtc3R5bGU6ICggLy8oIGZvcm3sl5DshJwg6rCZ7J20ICdpbnB1dCxzZWxlY3QsdGV4dGFyZWEnIHN0eWxl7J20IO2VqOq7mCDsgqzsmqnsi5wgKVxuICBzdHlsZTE6ICggLy/qtIDrpqzsnpBcbiAgICBpbnB1dF9kZWZhdWx0IDogKCAvLy5maWVsZC1zdHlsZTEgaW5wdXQgLi5cbiAgICAgIGhlaWdodDphdXRvLFxuICAgICAgcGFkZGluZzogMCAwIDVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCxcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNmQ4LFxuICAgICAgZm9jdXMtc3R5bGUgOiAoYm9yZGVyOjFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcixcbiAgICAgICksXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2NjY2ZkNixcbiAgICAgICksXG4gICAgKSxcbiAgICBzZWxlY3QgOiAoIC8vLmZpZWxkLXN0eWxlMSBzZWxlY3QgLi5cbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwMHB4IGJvdHRvbSA1MCUsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9idG5fc2VsZWN0X2Fycm93X3N0MDEuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCA3cHgsXG4gICAgKSxcbiAgICB0ZXh0YXJlYSA6ICggLy8uZmllbGQtc3R5bGUxIHRleHRhcmVhIC4uXG4gICAgICBoZWlnaHQ6MTUwcHgsXG4gICAgICBwYWRkaW5nIDogNXB4LFxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkLFxuICAgICksXG4gICksXG4gIHN0eWxlMjogKCAvL+2ajOybkOqwgOyehSwg7ZqM7JuQ7KCV67O0LCDso7zrrLjqsrDsoJwsIOyjvOusuO2ZleyduCDtj7xcbiAgICBpbnB1dF9kZWZhdWx0IDogKGZsZXgtZ3JvdzogMSxcbiAgICAgIGZsZXgtc2hyaW5rOiAwLFxuICAgICAgZmxleC1iYXNpczogMTAwJSxcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICAgIGhlaWdodDogMzdweCxcbiAgICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW0sXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2FhYSxcbiAgICAgICksXG4gICAgKSxcbiAgICBzZWxlY3QgOiAoIC8vICjtmozsm5DqsIDsnoUs7ZqM7JuQ7KCV67O0KSDsl7Drnb3ssphcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA1cHggYm90dG9tIDUwJSxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMi5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDdweCxcbiAgICAgIG1lZGlhOihtZDoocGFkZGluZzogMCAzNXB4IDAgMTBweCxcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGJvdHRvbSA1MCUsXG4gICAgICAgICkpKSxcbiAgICB0ZXh0YXJlYSA6IChtYXgtd2lkdGg6aW5pdGlhbCxcbiAgICAgIGhlaWdodDoxMDBweCxcbiAgICAgIHBhZGRpbmcgOiAxMHB4LFxuICAgICkpLFxuICBzdHlsZTM6ICggLy/roZzqt7jsnbgsIO2ajOybkOqwgOyehSDtlIzroZzsmrAgLy/siJjsoJXsmYTro4xcbiAgICBpbnB1dF9kZWZhdWx0IDogKGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgICBoZWlnaHQ6IDUwcHgsXG4gICAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgKSxcbiAgICAgIG1lZGlhOiAobWQ6IChoZWlnaHQ6NTVweCxcbiAgICAgICAgKSkpLFxuICAgIHNlbGVjdCA6IChvdmVyZmxvdzogaGlkZGVuLFxuICAgICkpLFxuICBzdHlsZTQ6ICggLy8o7IKs7JeF7ISk66qF7ZqMIO2MneyXhSDsgqzsmqkgLyBwcmVzZW50YXRpb25faW5zZXJ0LnBocClcbiAgICBpbnB1dF9kZWZhdWx0IDogKGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICAgIGhlaWdodDogNTBweCxcbiAgICAgIHBhZGRpbmc6MTVweCAxMHB4LFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBwbGFjZWhvbGRlci1zdHlsZSA6IChjb2xvcjogI2FhYSxcbiAgICAgICAgZm9udC13ZWlnaHQ6MzAwLFxuICAgICAgKSxcbiAgICAgIG1lZGlhOiAobWQ6IChmb250LXNpemU6IDE1cHgsXG4gICAgICAgICAgcGFkZGluZzoxNXB4LFxuICAgICAgICApKSksXG4gICAgc2VsZWN0IDogKHBhZGRpbmctcmlnaHQ6IDMwcHgsXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyMHB4IGNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX2Rvd24uc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCA3cHgsXG4gICAgKSxcbiAgKSk7XG5cbi8vX3RleHRhcmVhXG4kZ190ZXh0LWFyZWEtc3R5bGU6ICggLy8oIO2OmOydtOyngOyXkOyEnCDsgqzsmqnsi5wgKVxuICBzdHlsZTE6ICggLy8udGV4dGFyZWEtc3R5bGUxIHRleHRhcmVhIHt9XG4gICAgLy8g7IKs7Jqp7IucIGNzcyDstpTqsIBcbiAgKSxcbik7XG5cbi8vX3NlbGVjdFxuJGdfc2VsZWN0LXN0eWxlOiAoIC8vLnNlbGVjdC1zdHlsZTEgc2VsZWN0IHt9ICgg7Y6Y7J207KeA7JeQ7IScIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvLyDsg4Htkogg66as7Iqk7Yq4LCDsg4HshLgsIOuniOydtO2OmOydtOyngCBcbiAgICB3aWR0aDogMTAwJSxcbiAgICBoZWlnaHQ6IDUwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDQ3cHgsXG4gICAgcGFkZGluZzogMCAxMHB4LFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICAgY29sb3I6ICM1NTUsXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTIlIDUwJSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2ZyksXG4gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsLFxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZixcbiAgICBtZWRpYTogKHNtOiAocGFkZGluZzogMCAxNXB4LFxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MCUgNTAlLFxuICAgICAgKSkpLFxuICBzdHlsZTI6ICggLy8g6rKM7Iuc7YyQIOq4gOyTsOq4sCAo6rKM7Iuc66y8IO2DgOyehSlcbiAgICB3aWR0aDogMTIwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRnX2JvcmRlci1jb2xvcixcbiAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgZm9udC1zaXplOiAxMnB4LFxuICAgIGNvbG9yOiAjMjIyLFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCUsXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZG93bi5zdmcpLFxuICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbCxcbiAgKSxcbik7XG5cbi8vX2NoZWNrLWJveFxuJGdfY2hlY2stYm94LWltZzogKGltZy0xIDogKGRpc3BsYXk6ZmxleCxcbiAgICBhbGlnbi1pdGVtcyA6IGZsZXgtc3RhcnQsXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4LFxuICAgIGNvbG9yOiM2NjYsXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBtaW4td2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMl9vZmYuc3ZnKSxcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMl9vbi5zdmcpLFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6IChkaXNwbGF5OiBmbGV4LFxuICAgICAgZmxleC13cmFwOiB3cmFwLFxuICAgICAgbGluZS1oZWlnaHQ6MS41LFxuICAgICAgcGFkZGluZy1sZWZ0OjdweCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIGNoZWNrIDogKGNvbG9yOiNmZjhlMmEsXG4gICAgICApLFxuICAgICksXG4gICksXG4gIGltZy0yIDogKGRpc3BsYXk6aW5saW5lLWJsb2NrLFxuICAgIG1hcmdpbi1yaWdodDogMTVweCxcbiAgICBjaGVja2JveC1zdHlsZSA6IChkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDogMzJweCxcbiAgICAgIGhlaWdodDogMzJweCxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29mZi5wbmcpLFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAxX29uLnBuZyksXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHBhZGRpbmctbGVmdDo0cHgsXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICksXG4gICksXG4pO1xuJGdfY2hlY2stYm94LXRhZzogKHRhZy0xIDogKCAvLyDslYTsnbTrlJTsoIDsnqUgLy8g7JW96rSA64+Z7J2YIC8vIOqysOygnOyImOuLqCAvL+uwsOyGoeyngCDshKDtg50gLy8g67Cw7Iah7KeA7JetIOyEoO2DnVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSxcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgbWFyZ2luLXJpZ2h0OjMwcHgsIC8vc2VsZlxuICAgIGNoZWNrYm94LXN0eWxlIDogKCAvLyAmOmJlZm9yZVxuICAgICAgdG9wOjlweCxcbiAgICAgIHdpZHRoOiAyMnB4LFxuICAgICAgaGVpZ2h0OiAyMnB4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYyxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKCAvLy5jdXN0b20tY2hlY2tlZFxuICAgICAgbGVmdDowLFxuICAgICAgdG9wOjlweCxcbiAgICAgIHdpZHRoOiAyMnB4LFxuICAgICAgaGVpZ2h0OiAyMnB4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6ICggLy8udGV4dFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlLFxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgbGluZS1oZWlnaHQ6IDEsXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMxcHgsIC8vIOuwleyKpO2BrOq4sCArIOuwleyKpOyZgCDthY3siqTtirgg7IKs7J207J2YIOqwhOqyqVxuICAgICAgZm9udC1zaXplOiAxNXB4LFxuICAgICAgY29sb3I6ICMwMDAsXG4gICAgKSxcbiAgKSxcbiAgdGFnLTIgOiAocG9zaXRpb246IHJlbGF0aXZlLFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICBtYXJnaW4tcmlnaHQ6MTVweCwgLy9zZWxmXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoIC8vICY6YmVmb3JlXG4gICAgICB3aWR0aDogMTdweCxcbiAgICAgIGhlaWdodDogMTdweCxcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQsXG4gICAgKSxcbiAgICBjaGVja2VkLXN0eWxlIDogKCAvLy5jdXN0b20tY2hlY2tlZFxuICAgICAgLy8gd2lkdGg6OXB4LFxuICAgICAgLy8gaGVpZ2h0OiA5cHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1LFxuICAgICksXG4gICAgdGV4dC1zdHlsZSA6ICggLy8udGV4dFxuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4LCAvLyDrsJXsiqTtgazquLAgKyDrsJXsiqTsmYAg7YWN7Iqk7Yq4IOyCrOydtOydmCDqsITqsqlcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICApLFxuICApKTsiLCIvLyBfY2FyZFxuJGdfY2FyZC13cmFwOiAoXG4gIGRlZmF1bHQ6IChcbiAgICB3cmFwOiAoXG4gICAgICBwYWRkaW5nOiAwIDMwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweCxcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXI6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4XG4gICAgKSxcbiAgICBoZWFkZXI6IChcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyLWJvdHRvbTogXCIxcHggc29saWQgI2U3ZTllZVwiICksXG4gICAgICBmb250LXNpemU6IDE2cHhcbiAgICApLFxuICAgIGJvZHk6IChcbiAgICAgIHBhZGRpbmc6IDMwcHggMCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZcbiAgICApLFxuICAgIGZvb3RlcjogKFxuICAgICAgcGFkZGluZzogMjVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKVxuICAgIClcbiAgKVxuKTtcbiIsIi8vIF90YWJsZVxuJGdfcnAtdGFibGU6IChcbiAgc3R5bGUxOiAoXG4gICAgZm9udC1mYW1pbHk6JGZvbnQtZG90dW0sXG4gICAgY29sb3I6IzIyMixcbiAgICBycC10YWJsZTogKFxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyMjJcbiAgICApLFxuICAgIHJwLXRoZWFkOiAoXG4gICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcbiAgICAgICAgICB3aWR0aDogMTAwJSxcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZCxcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHgsXG4gICAgICAgICksXG4gICAgICApXG4gICAgKSxcbiAgICBycC10aDogKFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxuICAgICAgICAgIHBhZGRpbmc6IDE4cHggNXB4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgICAgICBjb2xvcjogIzg4OCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRyOiAoXG4gICAgICBkaXNwbGF5OiBibG9jayxcbiAgICAgIHBhZGRpbmc6IDlweCA1cHgsXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZCxcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzLFxuICAgICAgLy8gXCImXCIgOiAoXG4gICAgICAvLyAgIFwiOmhvdmVyXCIgOiAoXG4gICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSxcbiAgICAgICAgLy8gKSxcbiAgICAgICAgLy8gXCIubm9uZS1ob3Zlcjpob3ZlclwiIDogKFxuICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICAgIC8vICksXG4gICAgICAvLyApLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcbiAgICAgICAgICB3aWR0aDogMTAwJSxcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHgsXG4gICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRkOiAoXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICBwYWRkaW5nOiA1cHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtc2l6ZTogMTFweCxcbiAgICAgIFwiJlwiIDogKFxuICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxuICAgICAgICAgIGRpc3BsYXkgOiBibG9ja1xuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWVkaWE6IChcbiAgICAgICAgbWQ6IChcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIHBhZGRpbmc6IDE2cHggNXB4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICAgICAgIFwiJlwiIDogKFxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcbiAgICAgICAgICAgICAgZGlzcGxheSA6IHRhYmxlLWNlbGxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICApXG4gICAgKSxcbiAgKVxuKTtcbiIsIi8vIF90YWJcbiRnX3RhYi1ncm91cCA6ICggLy8gLnRhYi13cmFwID4gLnRhYi1saXN0XG4gIHRhYi13cmFwLWRlZmF1bHQgOiAoIFxuICAgIGRpc3BsYXk6IGJsb2NrLFxuICAgIG1hcmdpbi1ib3R0b206NjBweCxcbiAgICBmb250LXNpemU6IDAsXG4gICAgY29sb3I6ICMwMDAsXG4gICAgdGV4dC1hbGlnbjpjZW50ZXIsXG4gICksXG4gIGJveC1zdHlsZSA6ICggXG4gICAgdGFiLWxpc3QgOiAoIFxuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDoxNDBweCxcbiAgICAgIHBhZGRpbmc6MTNweCAxMHB4LFxuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjYmJiLFxuICAgICAgYm9yZGVyLXJpZ2h0OiAwLFxuICAgICAgZm9udC1zaXplOiAxNXB4LFxuICAgICAgY29sb3I6ICM3Nzc3NzcsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgY3Vyc29yOnBvaW50ZXIsXG4gICAgICBhY3RpdmUgOiAoIC8vLnRhYi1saXN0LmFjdGl2ZVxuICAgICAgICBib3JkZXItY29sb3I6JGdfcG9pbnQtZm9udC1jb2xvcjIsXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnX3BvaW50LXRoZW1lLWNvbG9yMixcbiAgICAgICAgY29sb3I6ICRnX3doaXRlLFxuICAgICAgKSxcbiAgICAgIFwiJlwiIDogKFxuICAgICAgICBcIjpsYXN0LWNoaWxkXCIgOiAoXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYmJiLFxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgKSxcbik7XG4iLCJcbi8vIF9wYWdpbmF0aW9uIFxuJGdfcGFnZS1pdGVtLWdyb3VwIDogKCAvLyAo66qF7LmtIDogYSDtg5zqt7ggcGFnZS1saW5rIOuhnCjsiqTtg4DsnbwpICAvIHBhZ2UtaXRlbSDsnbQg6rCB7J6Q7J2YIHdyYXAgKOqwhOqyqeyhsOyglSkvIOyghOyytOulvCAucGFnaW5hdGlvbuydtCDqsJDsi7jqs6Ag7J6I7J2MKVxuICAvLyBkZWZhdWx0XG4gIC8vIHdpZHRoOjIwcHgsXG4gIGhlaWdodDoyMHB4LFxuXG4gIC8vcGFkZGluZzoyMHB4LFxuICAvLyBtYXJnaW46MCAtMXB4LFxuICAvLyB0aGVtZS1jb2xvcjogI2ZmZixcbiAgLy8gYm9yZGVyIDogMXB4IHNvbGlkICMyMjIsXG4gIC8vYm9yZGVyLXJhZGl1czogM3B4LFxuICAvL2JvcmRlci1yYWRpdXMtZi1sOiAzcHgsIC8vIOyyq+uyiOynuCDrp4jsp4Drp4kg67KE7Yq8IOy9lOuEiCByYWRpdXNcbiAgLy9ib3JkZXItcmlnaHQgOiBub25lLCAvLyDrsoTtirzsnbQg67aZ7Ja07J6I64qUIOqyveyasFxuICAvL2JvcmRlci1zdHlsZTogKCAvLyBsYXN0LWNoaWxk7JeQIOyggeyaqeuQqFxuICAvL1x0Ym9yZGVyLXJpZ2h0IDogXCIxcHggc29saWQgI2UxZTFlMVwiLFxuICAvLyksXG5cbiAgZm9udC1zaXplOjEzcHgsXG4gIGZvbnQtd2VpZ2h0OjQwMCxcbiAgLy8gbGV0dGVyLXNwYWNpbmc6LTAuMDVlbSxcbiAgZm9udC1jb2xvcjojYWFhLFxuICBmb250LWZhbWlseTokZm9udC1sYXRvLFxuICAvLyBob3ZlclxuICBob3Zlci10aGVtZS1jb2xvcjojZmZmLFxuICAvLyBob3Zlci1ib3JkZXItY29sb3IgOiAjZGRkLFxuICBob3Zlci1jb2xvcjojMDAwLFxuXG4gIC8vIGFjdGl2ZVxuICAvLyBhY3RpdmUtdGhlbWU6I2YyZjJmMixcbiAgYWN0aXZlLWNvbG9yOiMwMDAsXG4gIGFjdGl2ZS1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcbiAgICAvKiBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdfcG9pbnQtdGhlbWUtY29sb3IsICovXG4gICAgZm9udC13ZWlnaHQ6Ym9sZCxcbiAgKSxcblxuICAvLyBkaXNhYmxlZFxuICBkaW0tb3BhY2l0eSA6IC41LFxuICAvL2Rpc2FibGVkLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxuICAvL1x0Ly/rsoTtirzsl5DshJzripQgbWFwLWhhcy1rZXnqsJLsnYQg7J207Jqp7ZW07IScIO2CpOqwkuydtCDsnofsnLzrqbQg66e17J2YIO2CpOqwkuqzvCDrsqjrpZjroZwg7Lac66ClXG4gIC8vXHQvL+2OmOydtOyngOuEpOydtOyFmOyXkOyEnOuKlCDtgqTqsJLsnbQg7J6I7Jy866m0IOyViOyXkCDrgrTsmqkg6re464yA66GcIOy2nOugpS4uXG4gIC8vXHQvL+qysOqzvCDqsJLsnYAg6rCZ7Jy864KYIG1peGlu67Cp67KV7J20IOuLpOultOuLpCDtmITsnqxcbiAgLy9cdGJhY2tncm91bmQtY29sb3I6IzExMSxcbiAgLy9cdGNvbG9yOiAjMTExLFxuICAvL1x0Ym9yZGVyLWJvdHRvbTpcIjJweCBzb2xpZCAjMDIzODhiXCIsXG4gIC8vKSxcbiAgYXJyb3ctZ3JvdXAgOiAoXG4gICAgc3RhcnQgOiAoIC8v7Luk7Iqk7YWAXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fc3RhcnQuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICAgcHJldiA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL3BhZ2luYXRpb25fcHJldl9pY29uLnBuZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICAgIG5leHQgOiAoXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9wYWdpbmF0aW9uX25leHRfaWNvbi5wbmcpLFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXG4gICAgKSxcbiAgICBlbmQgOiAoXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZW5kLnN2ZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICApLFxuKTtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuQGltcG9ydCBcIm1peGlucy9fbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX21hcFwiO1xuXG4vLyBVdGlsaXRpZXNcbi8vQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9fY2xlYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2Zsb2F0XCI7XG5AaW1wb3J0IFwibWl4aW5zL19ob3ZlclwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvYmFkZ2VcIjtcbi8vQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3NjcmVlbnJlYWRlclwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3ByZWZpeGVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcbi8vQGltcG9ydCBcIm1peGlucy90cmFuc2Zvcm1zXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcIm1peGlucy9fYm9yZGVyLXJhZGl1c1wiO1xuXG4vLyAvLyBMYXlvdXRcbi8vIEBpbXBvcnQgXCJtaXhpbnMvbmF2YmFyLWFsaWduXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2FyZWFcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2dyaWRcIjtcblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly8vXG5cblxuLy8gLy8gQ29tcG9uZW50c1xuLy9AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL190cmlhbmdsZVwiO1xuQGltcG9ydCBcIm1peGlucy9fYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xuQGltcG9ydCBcIm1peGlucy9fcGFnaW5hdGlvblwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL19mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZXNcIjtcbi8vQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3RhYlwiO1xuXG4iLCIvLyBtZWRpYS1xdWVyeS1taW4g66+57Iqk7J24XG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJGJyZWFrcG9pbnQg6riw67O46rCSOiDsl4bsnYxcbi8vICRicmVha3BvaW50IOyXkCDqsIDsmqnqsIDriqXtlZwg6rCSXG4vLyAoMSkgJG1lZGlhLWJyZWFrcG9pbnRzIOydmCDtgqQg6rCSICh4cywgc20sIG1kLCBsZywgeGwgKeykkSDtlZjrgphcbi8vICgyKSDqs6DsoJUgcHjqsJJcbi8vICRicmVha3BvaW50IOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIEBtZWRpYShtaW4td2lkdGg6IFwi66ek6rCc67OA7IiY7JeQIO2VtOuLue2VmOuKlCDqsJJcIikg7IWL7YyF7ZW07KSN64uI64ukLlxuLy8gJGJyZWFrcG9pbnQg6rCS7J2EIO2UveyFgOuhnCDrhKPripTri6TrqbQg7ZW064u5IO2UveyFgOqwkuydmCDrr7jrlJTslrTsv7zrpqzrpbwg66eM65Ok7Ja0IOykjeuLiOuLpC5cbi8vIGV4KSBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHsgQGNvbnRlbnQgfVxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbig1MDBweCkgeyBAY29udGVudCB9XG5AbWl4aW4gbWVkaWEtcXVlcnktbWluKCAkYnJlYWtwb2ludCApIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxuICB9XG59XG5AbWl4aW4gbWVkaWEtcXVlcnktbWF4KCAkYnJlYWtwb2ludCApIHtcbiAgQGlmIG1hcF9oYXNfa2V5KCAkZ19tZWRpYS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQgKXtcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludCl7ICBAY29udGVudCAgfVxuICB9XG59XG5cblxuLy8gbWVkaWEtcXVlcnktbWluLXZhbCDtlajsiJhcbi8vIOyghOyXreuzgOyImCAkbWVkaWEtYnJlYWtwb2ludHMgbWFw7J2YIHZhbHVl66W8IOuwmO2ZmO2VtCDspI3ri4jri6QuXG4vLyDso7zroZwgZWFjaCDrrLjqs7wg6rCZ7J2AIGxvb3Ag66y47JeQ7IScIO2ZnOyaqeuQqeuLiOuLpC5cbi8vIGV4KVxuLy8gQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwX2tleXMoJG1lZGlhLWJyZWFrcG9pbnRzKSB7XG4vLyAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XG4vLyAgIEBtZWRpYSAoIG1pbi13aWR0aDogI3skcG9pbnR9ICl7XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbCB7IEBpbmNsdWRlIGZsb2F0LWxlZnQgfVxuLy8gICAgIC4jeyRicmVha3BvaW50fS1mLXIgeyBAaW5jbHVkZSBmbG9hdC1yaWdodCB9XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbiB7IEBpbmNsdWRlIGZsb2F0LW5vbmUgfVxuLy8gICB9XG4vLyB9XG5AZnVuY3Rpb24gbWVkaWEtcXVlcnktbWluLXZhbCggJGJyZWFrcG9pbnQgKXtcbiAgQHJldHVybiBtYXBfZ2V0KCRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG59XG5cblxuXG5cblxuXG4iLCJAZnVuY3Rpb24gbWFwLXNldCgkbWFwLCAka2V5LCAkdmFsdWUpIHtcbiAgJG5ldzogKCRrZXk6ICR2YWx1ZSk7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCRtYXAsICRuZXcpO1xufVxuXG5cbi8vcHJlZml4IOygnOqxsFxuLy/tg5zqt7jsnbTrpoQsIOyGjeyEsSwg7JWE7J2065SUIOuTsSAg7IWA66CJ7YSwIOqwgOuKpeuPhOuhnVxuQGZ1bmN0aW9uIG1ha2VNYXBUb0NvZGVzKCRtYXAsICRwcmVmaXg6IFwiXCIsICRzZWxmOiBmYWxzZSkge1xuICAkY29kZXMgOiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcblxuICAgICAgQGlmICgka2V5ID09IFwiJlwiKSB7XG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgJGNvZGVzOiBtYXAtbWVyZ2UoJGNvZGVzLCAkbWFrZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNlbGVjdG9yOiBcIi4jeyRwcmVmaXh9I3ska2V5fVwiO1xuXG4gICAgICAgIEBpZiAoJHNlbGYpIHtcbiAgICAgICAgICAkc2VsZWN0b3IgOiBcIiYjeyRwcmVmaXh9I3ska2V5fVwiO1xuICAgICAgICB9XG4gICAgICAgICRtYWtlOiBtYWtlTWFwVG9Db2RlcygkdmFsLCAkcHJlZml4KTtcbiAgICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJHNlbGVjdG9yLCAkbWFrZSk7XG4gICAgICB9XG4gICAgICBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRrZXksICR2YWwpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRjb2Rlcztcbn07XG5cblxuQG1peGluIHByaW50Q29kZXMoJG1hcCkge1xuXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICBcbiAgICBAaWYgKCB0eXBlLW9mKCR2YWwpID09IG1hcCApIHtcbiAgICAgICN7JGtleX0ge1xuICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgI3ska2V5fSA6ICN7JHZhbH07XG4gICAgfVxuICAgIFxuICB9XG59XG5cbi8vIGlzTWFwIO2VqOyImFxuLy8gI3trZXl9IDogI3t2YWx1ZX3snZgg7ZiV7YOc66W8IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcbi8vIGlzTWFwKCR2YWwsICRrZXkpO1xuLy8gaXNNYXAg7ZWo7IiY7JeQ7IScIOyduOyekOuhnCDrhJjslrTsmKggJyR2YWwn7JeQIO2VoOuLueuQnCDqsJLsnbQgbWFw7J20652866m0IGlzbWFw7ZWo7IiY66W8IOyerOq3gO2YuOy2nCDtlZzri6QuXG4vLyDsmIjsmbjsoIHsnLzroZwg7YKk6rCS7J20IFwiX1wiIOudvOuptCBpc1BzZXVkb+ulvCDtmLjstpztlZzri6QuXG4vLyDstZzsooXsoIHsnLzroZwgI3trZXl9IDogI3t2YWx1ZX3snZgg6rCS7J2EIOumrO2EtO2VmOuPhOuhnSDrp4zrk6Dri6QuXG5cbi8vaXNQc2V1ZG8g7ZWo7IiYXG4vL+qwgOyDgSDshKDtg53snpDrpbwg66eM65Ok7Ja0IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcbi8vXG5cblxuLy9AZnVuY3Rpb24gaXNNYXAgKCR2YWwsICRrZXkpIHtcbi8vICAkcmVzdWx0IDogKCk7XG4vL1xuLy8gIEBpZiAodHlwZS1vZigkdmFsKSA9PSBtYXApIHtcbi8vICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbi8vICAgICAgQGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gbnVsbCkge1xuLy8gICAgICAgICRtYXAgOiBpc01hcCgkdmFsMiwgJGtleTIpO1xuLy8gICAgICAgICRtYXBrZXkgOiBtYXAta2V5cygkbWFwKTtcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRtYXBrZXksIG1hcC1nZXQoJG1hcCwgI3skbWFwa2V5fSkpO1xuLy8gICAgICB9IEBlbHNlIGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gXCJfXCIpe1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsIGlzTWFwKCR2YWwyLCAka2V5MikpO1xuLy8gICAgICB9IEBlbHNlIHtcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRrZXkyLCAkdmFsMik7XG4vLyAgICAgIH1cbi8vICAgIH1cbi8vICB9IEBlbHNlIHtcbi8vICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJHZhbCwgJGtleSk7XG4vLyAgfVxuLy9cbi8vICBAcmV0dXJuICRyZXN1bHQ7XG4vL307XG5cblxuLy9AZnVuY3Rpb24gaXNQc2V1ZG8gKCRrZXksICR2YWwpIHtcbi8vICAkcmVzdWx0OiBudWxsO1xuLy8gIEBpZiAoJGtleSA9PSBcIl9cIikge1xuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuLy8gICAgICAkcmVzdWx0OiBpc01hcCgka2V5MiwgJHZhbDIpO1xuLy8gICAgICBAcmV0dXJuIGlzTWFwKCRrZXkyLCAkdmFsMik7XG4vLyAgICB9XG4vLyAgfSBAZWxzZSAge1xuLy8gICAgJHJlc3VsdDogaXNNYXAoJGtleSwgJHZhbCk7XG4vLyAgICBAcmV0dXJuICRyZXN1bHQ7XG4vLyAgfVxuLy99O1xuXG5cbiIsIkBtaXhpbiBjbGVhcigpIHtcbiAgJjo6YWZ0ZXIge1xuICAgICBjb250ZW50OiBcIlwiO1xuICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgY2xlYXI6IGJvdGg7XG4gICB9XG59XG5cblxuXG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBob3Zlci1vbntcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYub257IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUgeyBAY29udGVudDsgfVxufVxuIiwiLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG5cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG59XG4iLCIvLyAvKiBwcmVmaXggKi9cbkBtaXhpbiBwcmVmaXhlcigkcHJvcGVydHksICR2YWx1ZSwgJHByZWZpeGVzOigpKXtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXN7XG4gICAgI3snLScrJHByZWZpeCsnLScrJHByb3BlcnR5fTokdmFsdWU7XG4gIH1cbiAgI3skcHJvcGVydHl9IDogJHZhbHVlO1xufVxuXG4gIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlKDQ1ZGVnKSwgd2Via2l0IG1zKTsgb3IgKFwid2Via2l0XCIsIFwibW96XCIpXG5cbiAvL2Nzc1xuICAvLyAuc2VsZWN0b3Ige1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAvLyAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAvLyB9XG5cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuIiwiLy8gbWFrZS1hcmVhIOuvueyKpOyduFxuLy8g6riw67O46rCS7J20IG51bGzroZwg7IWL7YyF65CY7Ja0IOyeiOuKlCDsmpTshozripQg7J247J6Q6rCAIOyghOuLrOuQmOyngCDslYrsnYQg7IucIOy7tO2MjOydvCDrkJjsp4Ag7JWK7Iq164uI64ukLlxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRtYXgtd2lkdGgg6riw67O46rCSOiBudWxsXG4vLyAkZ3V0dGVyLXdpZHRoIOq4sOuzuOqwkjogbnVsbFxuLy8gJHdpZHRoIOq4sOuzuOqwkjogMTAwJVxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtYXJlYSggJG1heC13aWR0aDogJG1heC13aWR0aCwgJGd1dHRlci13aWR0aDogJGFyZWEtZ3V0dGVyLXdpZHRoICk7XG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkd2lkdGg6IDE2MDBweCApO1xuLy9AbWl4aW4gbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiBudWxsLCAkZ3V0dGVyLXdpZHRoOiBudWxsLCAkd2lkdGg6IDEwMCUgKSB7XG4vLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gIHdpZHRoOiAkd2lkdGg7XG4vLyAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuLy8gIG1hcmdpbi1yaWdodDogYXV0bztcbi8vICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xuLy8gIHBhZGRpbmctbGVmdDogJGd1dHRlci13aWR0aDtcbi8vfVxuXG5AbWl4aW4gbWFrZS1hcmVhKCAkYXJlYS1pbmZvOiAkZ19kZWZhdWx0LWFyZWEgKSB7XG4gICR3aWR0aDogMTAwJTtcbiAgQGlmICBtYXAtaGFzLWtleSgkYXJlYS1pbmZvLCB3aWR0aCkge1xuICAgICR3aWR0aCA6IG1hcC1nZXQoJGFyZWEtaW5mbywgd2lkdGgpXG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aCA6IDEwMCVcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG1heC13aWR0aDogbWFwLWdldCgkYXJlYS1pbmZvLCBtYXgtd2lkdGgpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XG4gIHBhZGRpbmctbGVmdDogbWFwLWdldCgkYXJlYS1pbmZvLCBndXR0ZXItd2lkdGgpO1xufVxuXG4iLCIvLyBtYWtlLXJvdyDrr7nsiqTsnbhcbi8vIFvrp6TqsJzrs4DsiJhdXG4vLyAkZ3JpZC1ndXR0ZXIg6riw67O46rCSOiAkZ3JpZC1ndXR0ZXItd2lkdGhcbi8vICRncmlkLWd1dHRlciDsoITri6zrkJwg6rCS7JeQIOuUsOudvOyEnCBtYXJnaW4tcmlnaHQsIG1hcmdpbi1sZWZ0IOqwkuydhCDshYvtjIXtlbQg7KSN64uI64ukLlxuLy8gZXgpIEBpbmNsdWRlIG1ha2Utcm93KCAkZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG5AbWl4aW4gbWFrZS1yb3coICRncmlkLWd1dHRlciA6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyO1xuICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlcjtcbiAgQGluY2x1ZGUgY2xlYXIoKTtcbn1cblxuLy8gbWFrZS1jb2wtc2V0IOuvueyKpOyduFxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRncmlkLWNvbC1jbnQg6riw67O46rCSOiAkZ3JpZC1jb2x1bW5zXG4vLyAkZ3JpZC1jb2wtY250IOyghOuLrOuQnCDqsJLsnZgg6rCc7IiY66eM7YKB7J2YIGNvbCxwdWxsLHB1c2gsb2Zmc2V0IOuTseydhCDrp4zrk6TslrTspI3ri4jri6QuXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCk7XG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCRncmlkLWNvbC1jbnQ6IDUpO1xuQG1peGluIG1ha2UtY29sLXNldCggJGdyaWQtY29sLWluZm86ICRnX2dyaWQtY29sLWluZm8gKSB7XG4gICRncmlkLWNvbC1uYW1lOiBudWxsO1xuICBAaWYgIG1hcC1oYXMta2V5KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKSB7XG4gICAgJGdyaWQtY29sLW5hbWUgOiBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1uYW1lKVxuICB9IEBlbHNlIHtcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG51bGxcbiAgfVxuICAgIEBpbmNsdWRlIG1ha2UtY29sKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xuICBAaW5jbHVkZSBtYWtlLXB1bGwoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG4gIEBpbmNsdWRlIG1ha2UtcHVzaCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbiAgQGluY2x1ZGUgbWFrZS1vZmZzZXQoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG59XG5cblxuQG1peGluIG1ha2UtY29sKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuI3skY29sLW5hbWV9Y29sLWF1dG8ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH07XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGl9IHtcbiAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9LWF1dG8ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9O1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtcHVsbCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAuI3skY29sLW5hbWV9cHVsbC0wIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRpfSB7XG4gICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRicmVha3BvaW50fS0wIHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXB1c2goICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtMCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRpfSB7XG4gICAgICAgICAgbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LTAge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcbiAgICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLW9mZnNldCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sdW1ucywgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xuICAgICAgICAuI3skY29sLW5hbWV9b2Zmc2V0LSN7JGl9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gdHJpYW5nbGUo4pa2KSwgYXJyb3coPikg7IKs7Jqp67KVXG4vLyAtIOuwqe2WpSA6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuLy8gKHRyaWFuZ2xlKOKWtinsnYAgdG9wLWxlZnQvcmlnaHQsIGJvdHRvbS1sZWZ0L3JpZ2h0IOuwqe2WpeuPhCDqsIDriqUpXG4vLyBAaW5jbHVkZSB0cmlhbmdsZShcIuyCvOqwge2Yleuwqe2WpVwiLCDqsIDroZxweCwg7IS466GccHgsICPsu6zrn6wpO1xuLy8gQGluY2x1ZGUgYXJyb3coXCLtmZTsgrTtkZzrsKntlqVcIiwg6rCA66GccHgsIOyEuOuhnHB4LCDshKDqtbXquLAsICPsu6zrn6wpO1xuLy8g7LC46rOgIHVybCA6IGh0dHA6Ly9hcHBzLmVreS5oay9jc3MtdHJpYW5nbGUtZ2VuZXJhdG9yL1xuXG4vLyDsgrzqsIHtmJUg4pa2XG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJHdpZHRoU2l6ZSwgJGhlaWdodFNpemUsICRjb2xvcikge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgQGlmICRkaXJlY3Rpb249PVwidG9wXCIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGhTaXplIC8gMikgJGhlaWdodFNpemU7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInRvcC1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aFNpemUgJGhlaWdodFNpemUgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodFNpemUgLyAyKSAwICgkaGVpZ2h0U2l6ZSAvIDIpICR3aWR0aFNpemU7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbS1yaWdodFwiIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwICR3aWR0aFNpemUgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0U2l6ZSAoJHdpZHRoU2l6ZSAvIDIpIDA7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImJvdHRvbS1sZWZ0XCIge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoU2l6ZSAwIDAgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJGhlaWdodFNpemUgLyAyKSAkd2lkdGhTaXplICgkaGVpZ2h0U2l6ZSAvIDIpIDA7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGhTaXplICR3aWR0aFNpemUgMCAwO1xuICB9XG59XG4vLyDtmZTsgrTtkZwgPlxuQG1peGluIGFycm93KCRkaXJlY3Rpb24sICR3aWR0aCwgJGhlaWdodCwgJGJvcmRlciwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6XCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogZmxvb3IoJHdpZHRoIC8gMS40MTQpO1xuICBoZWlnaHQ6IGZsb29yKCRoZWlnaHQqKCR3aWR0aC8kaGVpZ2h0KSAvIDEuNDE0KTtcbiAgYm9yZGVyLXRvcDogJGJvcmRlciBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci1yaWdodDogJGJvcmRlciBzb2xpZCAkY29sb3I7XG4gIEBpZiAkZGlyZWN0aW9uID09IFwidG9wXCIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uPT1cImxlZnRcIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tXCIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgfVxufVxuXG4vL+yggeyaqSDtm4QsIG1hcmdpbuydtOuCmCB0cmFzbmZvcm3snLzroZwg7JyE7LmYIOyhsOygiC4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vIOuyhO2KvCDsgqzsnbTspojrs4Qg7IOd7ISxXG5AbWl4aW4gYnV0dG9uLXNpemUtcHgoJGJ0bi1zaXplIDogJGdfYnRuLXNpemUpIHtcbiAgLy8gQmFzZSBzdHlsZXNcbiAgJWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgbGluZWFyLGJvcmRlciAuM3MgbGluZWFyO1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRidG4tc2l6ZSl7XG4gICAgLmJ0bi0jeyRrZXl9IHtcbiAgICAgIEBleHRlbmQgJWJ0bjtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2V7XG4gICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcbiAgICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDrsoTtirxcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ0bi1kaXNhYmxlZCgpIHtcbiAgJi5kaXNhYmxlZCB7XG4gICAgQGNvbnRlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgfVxufVxuXG4vLyDrsoTtirwg7Iqk7YOA7J28IOyEpOygle2VtOyjvOq4sFxuQG1peGluIGJ1dHRvbi1zdHlsZSgkYnRuLWdyb3VwIDogJGdfYnRuLWdyb3VwKXtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnRuLWdyb3VwIHtcbiAgICAuYnRuLSN7JGtleX0sXG4gICAgLmJ0bi0jeyRrZXl9OnZpc2l0ZWR7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZiAoJGtleTIgPT0gbWVkaWEpIHsgLy8gbWVkaWFcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gaG92ZXIpeyAvLyBob3ZlclxuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyLW9uIHtcbiAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgIC8vIEBpZigka2V5NCAhPSBiYWNrZ3JvdW5kLWNvbG9yKXsgLy8gYmFja2dyb3VuZC1jb2xvciDsnbTsmbjsnZgg64KY66i47KeAIOy2nOugpVxuICAgICAgICAgICAgICAgICN7JGtleTR9OiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQGlmKG1hcF9oYXNfa2V5KG1hcC1nZXQoJHZhbCxob3ZlciksYmFja2dyb3VuZC1jb2xvcikpeyAvL2hvdmVyIG1hcOyXkCBiYWNrZ3JvdW5kLWNvbG9yIOqwkuydtCDsnojsnLzrqbQg6re46rKD7J2EIOy2nOugpVxuICAgICAgICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgLy8gQGVsc2UgaWYobWFwX2hhc19rZXkoJHZhbCxiYWNrZ3JvdW5kLWNvbG9yKSl7IC8v7JeG7Jy866m0IOq4sOuzuCDshKTsoJXqsJLsl5AgZGFya2Vu7Jy866GcIOyggeyaqVxuICAgICAgICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbihtYXAtZ2V0KCR2YWwsYmFja2dyb3VuZC1jb2xvciksIDE1JSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gZGlzYWJsZWQpeyAvLyBkaXNhYmxlZFxuICAgICAgICAgIEBpbmNsdWRlIGJ0bi1kaXNhYmxlZCB7XG4gICAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk1LCAkdmFsNSBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgI3ska2V5NX06ICN7JHZhbDV9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcbiAgICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDsvZTrk5wg7Lac66ClXG4gICAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIkBtaXhpbiBtYWtlLWNhcmQtc2V0KCRjYXJkLWluZm8pIHtcbiAgJWNhcmQtd3JhcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkY2FyZC1pbmZvIHtcbiAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICBAaWYgJGtleTIgPT0gXCJ3cmFwXCIge1xuICAgICAgICAuY2FyZC0jeyRrZXkyfS0jeyRrZXl9IHtcbiAgICAgICAgICBAZXh0ZW5kICVjYXJkLXdyYXA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkdmFsMiwgbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkdmFsMiwgYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRrZXkyID09IFwiaGVhZGVyXCIge1xuICAgICAgICAuY2FyZC13cmFwLSN7JGtleX17XG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsMiwgZm9udC1zaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuY2FyZC13cmFwLSN7JGtleX17XG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIOuLpCDrgpjriITqs6Ag7ZWY64KY66GcIO2Vqey5mOuKlOqyjCDsoovsp4Ag7JWK7J2E6rmMPz8/Pz8/P1xuLy8g7IOB7IaN7J2YIOqzhOuFkOydhCDsoIHsmqntlbTslbwg7ZWY64qU6rCAPz9cbi8vIOyDgeyGjeydhCDsoIHsmqntlZjrqbQg7L2U65Oc6rCAIOyhsOq4iCDrs7XsnqHtlbTsp4jrk69cbi8vIOyVhOyYiCB3cmFwLCBoZWFkZXIsIGJvZHksIGZvb3RlciDrgpjriITripTrjZjsp4AsIOyngOq4iOyymOufvCDsspjrpqztlZjripTqsowg64KY7J2E65OvXG4iLCIvLyBQYWdpbmF0aW9uXG5AbWl4aW4gcGFnaW5hdGlvbi1saW5rcygkcGFnZS1pdGVtKXtcbiAgd2lkdGg6bWFwLWdldCgkcGFnZS1pdGVtLCB3aWR0aCk7XG4gIGhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7XG4gIGxpbmUtaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTsgLy8gaGVpZ2h06rCS6rO8IOuPmeydvFxuXG4gIC8vcGFkZGluZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIHBhZGRpbmcpOyAtPiDsgq3soJzsmIjsoJUg67O066WYLi5cbiAgbWFyZ2luOm1hcC1nZXQoJHBhZ2UtaXRlbSwgbWFyZ2luKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKTtcbiAgYm9yZGVyOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlcik7XG4gIGJvcmRlci1yaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlci1yaWdodCk7XG5cbiAgYm9yZGVyLXJhZGl1czptYXAtZ2V0KCRwYWdlLWl0ZW0sIGJvcmRlci1yYWRpdXMpO1xuICBmb250LXNpemU6bWFwLWdldCgkcGFnZS1pdGVtLCBmb250LXNpemUpO1xuICBmb250LXdlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtd2VpZ2h0KTtcbiAgZm9udC1mYW1pbHk6bWFwLWdldCgkcGFnZS1pdGVtLCBmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgbGV0dGVyLXNwYWNpbmcpO1xuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtY29sb3IpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZ2UtaXRlbSwgaG92ZXItdGhlbWUtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1pdGVtLGhvdmVyLXRoZW1lLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oIG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpLCAxNSUpO1xuICAgIH1cbiAgICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG59XG4vLyDslaHti7DruIwg65Cg7IucXG5AbWl4aW4gcGFnaW5hdGlvbi1hY3RpdmUoJHBhZ2UtYWN0aXZlLWl0ZW0pe1xuICBiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sIGFjdGl2ZS10aGVtZSk7XG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLWNvbG9yKTtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1zdHlsZSkpe1xuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgfVxufVxuLy8g65SkIOuQoOyLnFxuQG1peGluIHBhZ2luYXRpb24tZGlzYWJsZWQoJHBhZ2UtZGlzYWJsZWQtaXRlbSl7XG4gIG9wYWNpdHk6bWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLCBkaW0tb3BhY2l0eSk7XG4gIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAobWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLGRpc2FibGVkLXN0eWxlKSl7XG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICB9XG59XG5cbi8vIOyymOydjCDsnbTsoIQg64uk7J2MIOuBnSBhcnJvdyDqtIDroKgg7Luk7Iqk7YWAXG5AbWl4aW4gcGFnaW5hdGlvbi1hcnJvd3MoJHBhZ2UtYXJyb3ctc3R5bGUpIHtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluICRwYWdlLWFycm93LXN0eWxlIHtcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gIH1cbn0iLCJAbWl4aW4gbWFrZS1mb3JtLXdyYXAoICRmb3JtLXdyYXAtaW5mbyA6ICRnX2Zvcm0td3JhcCApIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGZvcm0td3JhcC1pbmZvKXtcbiAgICAuZm9ybS13cmFwLSN7JGtleX0ge1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYodHlwZS1vZigkdmFsMikgIT0gbWFwKSB7XG4gICAgICAgICAgI3ska2V5Mn0gOiAjeyR2YWwyfTtcbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAuI3ska2V5Mn0ge1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDMpICE9IG1hcCkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XG4gICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmKCRrZXkzID09IG1lZGlhKXtcbiAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDQpO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1AZWxzZSBpZigka2V5MyA9PSBcIiZcIikge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMywgXCJcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIC4jeyRrZXkzfSB7XG4gICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIC8q7YWN7Iqk7Yq4IOuwleyKpCovXG5AbWl4aW4gbWFrZS1maWVsZC1kZWZhdWx0KCkge1xuICAlZmllbGQtYmFzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ19maWVsZC1zdHlsZSkge1xuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAuZmllbGQtI3ska2V5fSBzZWxlY3QsXG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XG4gICAgICBAZXh0ZW5kICVmaWVsZC1iYXNlO1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZiggJGtleTIgPT0gXCJpbnB1dF9kZWZhdWx0XCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gKCR2YWwyKSB7XG4gICAgICAgICAgICBAaWYoIHR5cGUtb2YoJHZhbDMpICE9IG1hcCkge1xuICAgICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xuICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09ICdmb2N1cy1zdHlsZScpe1xuICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSBpZigka2V5MyA9PSAncGxhY2Vob2xkZXItc3R5bGUnKXtcbiAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXJ7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICN7JGtleTR9IDogI3skdmFsNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSBpZiAoJGtleTMgPT0gJ21lZGlhJykge1xuICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYoICRrZXkyID09IFwic2VsZWN0XCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGlmICgka2V5MyA9PSBtZWRpYSkge1xuICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5NCkge1xuICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKCAka2V5MiA9PSBcInRleHRhcmVhXCIpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGlmICgka2V5MyA9PSAnbWVkaWEnKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtI3ska2V5fS5uby11bmRlcmxpbmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIC8qdGV4dGFyZWEqL1xuQG1peGluIG1ha2UtdGV4dC1hcmVhKCkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ190ZXh0LWFyZWEtc3R5bGUpIHtcbiAgICAudGV4dGFyZWEtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKCRrZXkyID09IG1lZGlhKSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIC8q7IWA66CJ7Yq4IOuwleyKpCovXG5AbWl4aW4gbWFrZS1zZWxlY3Rib3goKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3NlbGVjdC1zdHlsZSkge1xuICAgIC5zZWxlY3QtI3ska2V5fSBzZWxlY3R7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZiggdHlwZS1vZigkdmFsMikgIT0gbWFwKXtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyrsnbTrr7jsp4Ag7LK07YGsICYg652865SU7JikKi9cbkBtaXhpbiBtYWtlLWNoZWNrYm94LWltZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtaW1nICkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkY2hlY2stYm94LWluZm8pIHtcbiAgICAuY2tieC0jeyRrZXl9e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBjaGVja2JveC1zdHlsZSkge1xuICAgICAgICAgICAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gY2hlY2tlZC1zdHlsZSl7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9QGVsc2UgaWYoJGtleTIgPT0gdGV4dC1zdHlsZSl7XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gLyrtg5zqt7gg7LK07YGsJiDrnbzrlJTsmKQqL1xuQG1peGluIG1ha2UtY2hlY2tib3gtdGFnKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC10YWcgKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xuICAgIC8vIOuzgOyImCDshKDslrhcbiAgICAkd2lkdGggOiBmYWxzZTtcbiAgICAkaGVpZ2h0IDogZmFsc2U7XG4gICAgLmNrYngtI3ska2V5fXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYodHlwZS1vZigkdmFsMikgIT0gbWFwKSB7XG4gICAgICAgICAgI3ska2V5Mn0gOiAjeyR2YWwyfTtcbiAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICBAaWYoJGtleTIgPT0gY2hlY2tib3gtc3R5bGUpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgICBAaWYgKCRrZXkzID09IHdpZHRoKXtcbiAgICAgICAgICAgICAgICAgICR3aWR0aDogJHZhbDM7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0ocm91bmQoJHZhbDMgLyAyKSk7XG4gICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoJGtleTMgPT0gaGVpZ2h0KXtcbiAgICAgICAgICAgICAgICAgICRoZWlnaHQ6ICR2YWwzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBjaGVja2VkLXN0eWxlKSB7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogcm91bmQoKCR3aWR0aCAtICgkd2lkdGggLyAyKSkgLyAyKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJHZhbDIsIHdpZHRoKSA9PSBmYWxzZSBhbmQgJHdpZHRoKXsgXG4gICAgICAgICAgICAgICAgICAvLyBjaGVja2VkIG1hcOyXkCB3aWR0aOqwgCDsnojripTsp4Ag7LK07YGsIOyXhuycvOuptCBjaGVja2JveCBtYXAg7J2YIOuwmOyCrOydtOymiOuhnCDqsIDsoLjsmLRcbiAgICAgICAgICAgICAgICAgICR2YWwyIDogbWFwLXNldCgkdmFsMix3aWR0aCxyb3VuZCgkd2lkdGggLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkdmFsMiwgaGVpZ2h0KSA9PSBmYWxzZSBhbmQgJGhlaWdodCl7IFxuICAgICAgICAgICAgICAgICAgLy8gY2hlY2tlZCBtYXDsl5AgaGVpZ2h0IOyeiOuKlOyngCDssrTtgawg7JeG7Jy866m0IGNoZWNrYm94IG1hcCDsnZgg67CY7IKs7J207KaI66GcIOqwgOyguOyYtFxuICAgICAgICAgICAgICAgICAgJHZhbDIgOiBtYXAtc2V0KCR2YWwyLGhlaWdodCxyb3VuZCgkaGVpZ2h0IC8gMikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDIge1xuICAgICAgICAgICAgICAgICAgQGlmICgka2V5NCA9PSB3aWR0aCl7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LShyb3VuZCgkdmFsNCAvIDIpKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCB0cmFuc2xhdGVZKC01MCUpLCB3ZWJraXQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSB0ZXh0LXN0eWxlKXtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWR7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogI2VlZTtcbiAgICAgICAgbGFiZWw6YmVmb3Jle1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5jaXJjbGU6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgJi5jaXJjbGUgaW5wdXQge1xuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXG4gICAgICAgICZbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtaW4td2lkdGg6ICR3aWR0aDtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvL3JwLXRhYmxlXG5AbWl4aW4gbWFrZS1ycC10YWJsZSgkcnAtdGFibGUtaW5mbyA6ICRnX3JwLXRhYmxlKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRycC10YWJsZS1pbmZvKXtcbiAgICAucnAtdGFibGUtI3ska2V5fSB7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsMykgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYoJGtleTMgPT0gbWVkaWEpe1xuICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLiN7JGtleTN9IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuIiwiLy8vKiB0YWIgKi9cbkBtaXhpbiB0YWItaXRlbXMoJHRhYi1ncm91cCA6ICRnX3RhYi1ncm91cCkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkdGFiLWdyb3VwKXtcbiAgICBAaWYoJGtleSA9PSB0YWItd3JhcC1kZWZhdWx0KXtcbiAgICAgIC50YWItd3JhcCB7XG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgICBAaWYoJGtleTIgPT0gbWVkaWEpe1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9QGVsc2Uge1xuICAgICAgLnRhYi13cmFwLiN7JGtleX0ge1xuICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbCB7XG4gICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDQpICE9IG1hcCApIHsgLy9jYXNjYWRpbmfsnLzroZwg66i87KCAIOy2nOugpVxuICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgIH1AZWxzZSB7IC8vbWVkaWEsIGFjdGl2ZSwgc3ViQ2xhc3NcbiAgICAgICAgICAgIC4jeyRrZXk0fSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk1LCAkdmFsNSBpbiAkdmFsNCB7XG4gICAgICAgICAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDUpICE9IG1hcCkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAgICAgICAjeyRrZXk1fTogI3skdmFsNX07XG4gICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIEBpZigka2V5NSA9PSBtZWRpYSl7XG4gICAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXk2LCAkdmFsNiBpbiAkdmFsNSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1AZWxzZSBpZiAoJGtleTUgPT0gYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWw1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmKCRrZXk1ID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNSwgXCJcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIC4jeyRrZXk1fSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxBQUVJLGdCQUZZLENBRVosY0FBYyxDQUFBO0VBQ1osY0FBYyxFQUFFLElBQUk7Q0FJckI7O0FTR0MsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFVFZ6QyxBQUVJLGdCQUZZLENBRVosY0FBYyxDQUFBO0lBR1YsY0FBYyxFQUFFLElBQUk7R0FFdkI7OztBQVBMLEFBUUksZ0JBUlksQ0FRWixTQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtDQTRJbkI7O0FTM0lDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVRWekMsQUFVTSxnQkFWVSxDQVFaLFNBQVMsQUFFTixJQUFJLENBQUE7SUFFRCxXQUFXLEVBQUMsQ0FBQztJQUNiLFlBQVksRUFBQyxLQUFLO0dBbUJyQjtFQWhDUCxBQWNVLGdCQWRNLENBUVosU0FBUyxBQUVOLElBQUksSUFJQSxBQUFBLEtBQUMsRUFBTyxNQUFNLEFBQWIsRUFBYztJQUNkLE9BQU8sRUFBQyxNQUFNO0dBQ2Y7OztBU05MLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RVRWekMsQUFVTSxnQkFWVSxDQVFaLFNBQVMsQUFFTixJQUFJLENBQUE7SUFTRCxXQUFXLEVBQUMsQ0FBQztJQUNiLFlBQVksRUFBQyxLQUFLO0dBWXJCO0VBaENQLEFBcUJVLGdCQXJCTSxDQVFaLFNBQVMsQUFFTixJQUFJLElBV0EsQUFBQSxLQUFDLEVBQU8sTUFBTSxBQUFiLEVBQWM7SUFDZCxPQUFPLEVBQUMsTUFBTTtHQUNmOzs7QVNiTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMs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 */
