.shopping_benefits {
  min-height: 450px;
}

.shopping_benefits .banner-wrap .banner-list {
  display: block;
  margin-bottom: 15px;
}

.shopping_benefits .banner-wrap .banner-list:last-child {
  margin-bottom: 0;
}

.shopping_benefits .banner-wrap .list {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.shopping_benefits .banner-wrap .list:after {
  content: "";
  display: block;
  padding-top: 62.5%;
}

@media screen and (min-width: 768px) {
  .shopping_benefits .banner-wrap .list:after {
    padding-top: 25.222%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3BhZ2UvYmVuZWZpdHMvYmVuZWZpdHMuY3NzIiwic291cmNlcyI6WyJsYXlvdXQvcGFnZS9iZW5lZml0cy9iZW5lZml0cy5zY3NzIiwicmVzL3Njc3MvX192YXJpYWJsZXMuc2NzcyIsInJlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsInJlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcclxuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcclxuQGltcG9ydCBcInJlcy9zY3NzL19fbWl4aW5zLnNjc3NcIjtcclxuXHJcbiROQU1FU1BBQ0UgOiBcIi5zaG9wcGluZ19iZW5lZml0c1wiO1xyXG4jeyROQU1FU1BBQ0V9IHtcclxuICAme1xyXG4gICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICAuYmFubmVyLXdyYXB7XHJcbiAgICAgIC5iYW5uZXItbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGlzdHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNjIuNSU7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjUuMjIyJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvLy8vL2RlZmF1bHQvLy8vL1xyXG4vL2NvbG9yXHJcbiRnX3doaXRlOiAjZmZmICFkZWZhdWx0O1xyXG4kZ19ibGFjazogIzAwMCAhZGVmYXVsdDtcclxuJGdfcmVkOiAjZmYwMDAwO1xyXG5cclxuJGdfcG9pbnQtZm9udC1jb2xvcjogIzgyOTA5NDtcclxuJGdfcG9pbnQtdGhlbWUtY29sb3I6ICNiOWMwYzI7XHJcbiRnX2NvbG9yOiMxMTE7XHJcblxyXG4vL2ZvbnRcclxuLy8tZm9udC1mYW1pbHlcclxuJGdfZm9udC1mYW1pbHk6IChcclxuICBzeXN0ZW06ICcgXCLrp5HsnYAg6rOg65SVXCIsIFwiTWFsZ3VuIEdvdGhpY1wiLCBcIuyVoO2UjCBTRCDsgrDrj4zqs6DrlJUgTmVvXCIsIFwiQXBwbGUgU0QgR290aGljIE5lb1wiLCBzYW5zLXNlcmlmICcsXHJcbiAgbm90bzogJ1wiTm90byBTYW5zIEtSXCIsIHNhbnMtc2VyaWYnLFxyXG4gIHJvYm90bzonIFwiUm9ib3RvXCIsIHNhbnMtc2VyaWYgJyxcclxuICBkb3R1bTogJ1wiRG90dW1cIiwgc2Fucy1zZXJpZicsXHJcbik7XHJcbiRmb250LXN5c3RlbTogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBzeXN0ZW0pfTtcclxuJGZvbnQtbm90bzogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCBub3RvKX07XHJcbiRmb250LXJvYm90bzogI3ttYXAtZ2V0KCRnX2ZvbnQtZmFtaWx5LCByb2JvdG8pfTtcclxuJGZvbnQtZG90dW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgZG90dW0pfTtcclxuXHJcbi8vLWZvbnQtc2l6ZVxyXG4kZ19mb250LXNpemU6KFxyXG4gIHhzOiAxMHB4LFxyXG4gIHNtOiAxMnB4LFxyXG4gIG1kOiAxNXB4LFxyXG4gIGxnOiAxOHB4LFxyXG4gIHhsOiAyNHB4LFxyXG4pO1xyXG5cclxuLy8tZm9udC13ZWlnaHRcclxuJGdfZm9udC13ZWlnaHRzOiAxMDAsIDIwMCwgMzAwLCA0MDAsIDUwMCwgNjAwLCA3MDAsIDgwMCwgOTAwO1xyXG5cclxuLy8tbGV0dGVyLXNwYWNpbmdcclxuXHJcbi8vLy8vbWVkaWEvLy8vL1xyXG4kZ19tZWRpYS1icmVha3BvaW50czogKFxyXG4gIHhzOiAwLFxyXG4gIHNtOiA1NDRweCxcclxuICBtZDogNzY4cHgsXHJcbiAgbGc6IDk5MnB4LFxyXG4gIHhsOiAxMjAwcHgsXHJcbiAgeHhsOiAxNjAwcHgsXHJcbik7XHJcblxyXG4vLy8vL2xheW91dC8vLy8vXHJcbi8vYXJlYVxyXG4kZ19tYXgtd2lkdGg6IDExNDBweDtcclxuJGdfYXJlYS1ndXR0ZXItd2lkdGg6IDE1cHg7XHJcblxyXG4vL2dyaWRcclxuJGdfZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdfZ3JpZC1ndXR0ZXItd2lkdGg6IDElO1xyXG5cclxuJGdfZGVmYXVsdC1hcmVhOiAoXHJcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGgsXHJcbiAgZ3V0dGVyLXdpZHRoOiAkZ19hcmVhLWd1dHRlci13aWR0aCxcclxuICB3aWR0aDogMTAwJVxyXG4pO1xyXG4kZ19mdWxsLWFyZWE6IChcclxuICBtYXgtd2lkdGg6IDE3NTBweCxcclxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxyXG4gIHdpZHRoOiAxMDAlXHJcbik7XHJcbiRnX25vZ3V0dGVyLWFyZWE6IChcclxuICBtYXgtd2lkdGg6ICRnX21heC13aWR0aFxyXG4pO1xyXG5cclxuLy9ncmlkXHJcbiRnX2dyaWQtY29sLWluZm86IChcclxuICBncmlkLWNvbC1jbnQ6IDEyLFxyXG4gIGdyaWQtY29sLW5hbWU6IG51bGxcclxuKTtcclxuJGdyaWQtY29sNS1pbmZvOiAoXHJcbiAgZ3JpZC1jb2wtY250OiA1LFxyXG4gIGdyaWQtY29sLW5hbWU6IGZpdmUtXHJcbik7XHJcblxyXG4vLy8vL1VUSUxJVElFUy8vLy8vXHJcbi8vY2xlYXJcclxuXHJcbi8vc3BhY2luZ1xyXG4kc3BhY2VyczooXHJcbiAgMDogMCxcclxuICA1OiA1cHgsXHJcbiAgMTA6IDEwcHgsXHJcbiAgMTU6IDE1cHgsXHJcbiAgMjA6IDIwcHgsXHJcbiAgMjU6IDI1cHgsXHJcbiAgMzA6IDMwcHgsXHJcbiAgMzU6IDM1cHgsXHJcbiAgNDA6IDQwcHgsXHJcbiAgNDU6IDQ1cHgsXHJcbiAgNTA6IDUwcHgsXHJcbiAgNTU6IDU1cHgsXHJcbiAgNjA6IDYwcHgsXHJcbiAgNzA6IDcwcHgsXHJcbiAgODA6IDgwcHgsXHJcbiAgOTA6IDkwcHgsXHJcbiAgMTAwOiAxMDBweFxyXG4pO1xyXG5cclxuLy8vLy9DT01QT05FTlRTLy8vLy9cclxuLy9jYXJkXHJcbiRnX2NhcmQtd3JhcDogKFxyXG4gIGRlZmF1bHQ6IChcclxuICAgIHdyYXA6IChcclxuICAgICAgcGFkZGluZzogMCAzMHB4LFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4LFxyXG4gICAgICBib3JkZXItc3R5bGU6ICggYm9yZGVyOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKSxcclxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4XHJcbiAgICApLFxyXG4gICAgaGVhZGVyOiAoXHJcbiAgICAgIHBhZGRpbmc6IDI1cHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcclxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci1ib3R0b206IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApLFxyXG4gICAgICBmb250LXNpemU6IDE2cHhcclxuICAgICksXHJcbiAgICBib2R5OiAoXHJcbiAgICAgIHBhZGRpbmc6IDMwcHggMCxcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxyXG4gICAgKSxcclxuICAgIGZvb3RlcjogKFxyXG4gICAgICBwYWRkaW5nOiAyNXB4IDAsXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItdG9wOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKVxyXG4gICAgKVxyXG4gIClcclxuKTtcclxuLy9fZm9ybS13YXJwXHJcbiRnX2Zvcm0td3JhcDogKFxyXG4gIGRlZmF1bHRfdmFsdWU6IChcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxyXG4gICksXHJcbiAgdGFibGUgOiAoXHJcbiAgICBtZWRpYTogKFxyXG4gICAgICB4czogKFxyXG4gICAgICAgIGZvcm0td3JhcDogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS13cmFwXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgYm9yZGVyLXRvcDogXCIxcHggc29saWQgI2VlZVwiLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmxhc3QtY2hpbGRcIiA6IChcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBcIjFweCBzb2xpZCAjZWVlXCJcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS10aXRsZTogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS10aXRsZVxyXG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCxcclxuICAgICAgICAgIHdpZHRoOiAxMTVweCxcclxuICAgICAgICAgIHBhZGRpbmc6IFwiMCAxMHB4XCIsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4LFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCxcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtLFxyXG4gICAgICAgICAgY29sb3I6IzAwMCxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tYm9keTogKC8vLmZvcm0td2FycC10YWJsZSAuZm9ybS1ib2R5XHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgcGFkZGluZzogXCIxMHB4IDE1cHhcIixcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHgsXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICAgbWQ6IChcclxuICAgICAgICBmb3JtLXRpdGxlOiAoXHJcbiAgICAgICAgICB3aWR0aDogMTkwcHgsXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjIwcHggMjBweFwiLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZm9ybS1ib2R5OiAoXHJcbiAgICAgICAgICBwYWRkaW5nOiBcIjEwcHggMTVweFwiXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuICBtYXRlcmlhbCA6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgZm9ybS13cmFwOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgY29udGVudDogXCInJ1wiLFxyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgICAgIGhlaWdodDogMXB4LFxyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IFwidHJhbnNmb3JtIC41cywgYmFja2dyb3VuZC1jb2xvciAuNXNcIixcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKSxcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBcIjpob3ZlcjphZnRlclwiIDogKFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZCxcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIuYWN0aXZlOmFmdGVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBmb3JtLXRpdGxlOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayxcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIGZvcm0tYm9keTogKFxyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICksXHJcbiAgKSxcclxuICBuby1tZWRpYS10ZXN0IDogKFxyXG4gICAgeHMgOihcclxuICAgICAgZm9ybS13cmFwOiAoXHJcbiAgICAgICAgZGlzcGxheTogYmxvY2ssXHJcbiAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICksXHJcbiAgICApLFxyXG4gICksXHJcbik7XHJcbi8vX2lucHV0XHJcbiRnX2ZpZWxkLXN0eWxlOiAoXHJcbiAgc3R5bGUxOiAoLy/qtIDrpqzsnpBcclxuICAgIGJvcmRlci1zdHlsZTogKGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNmQ4KSxcclxuICAgIGlucHV0LWhlaWdodDogYXV0byxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMCA1cHggMCxcclxuICAgIGlucHV0LWJnOiB0cmFuc3BhcmVudCxcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjY2NjZmQ2LFxyXG4gICksXHJcbiAgc3R5bGUyOiAoLy/tmozsm5DqsIDsnoUsIO2ajOybkOygleuztCDsiJjsoJUg7Y+8XHJcbiAgICBtYXgtd2lkdGg6IDI5MHB4LFxyXG4gICAgYm9yZGVyLXN0eWxlOiAoYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMSksXHJcbiAgICBpbnB1dC1oZWlnaHQ6IDQwcHgsXHJcbiAgICBpbnB1dC1wYWRkaW5nOiAwIDEwcHgsXHJcbiAgICBwbGFjZWhvbGRlci1jb2xvcjogIzU1NSxcclxuICAgIGZvbnQtc2l6ZTogMTNweCxcclxuICAgIGZvbnQtY29sb3I6ICM1NTUsXHJcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbSxcclxuICApLFxyXG4gIHN0eWxlMzogKC8v66Gc6re47J24LCDtmozsm5DqsIDsnoUg7ZSM66Gc7JqwIC8v7IiY7KCV7JmE66OMXHJcbiAgICBib3JkZXItc3R5bGU6IChib3JkZXI6IDFweCBzb2xpZCAjZGRkKSxcclxuICAgIGlucHV0LWhlaWdodDogNTBweCxcclxuICAgIGlucHV0LXBhZGRpbmc6IDAgMTBweCxcclxuICAgIGlucHV0LWJnOiB0cmFuc3BhcmVudCxcclxuICAgIHBsYWNlaG9sZGVyLWNvbG9yOiAjOTA5MDkwLFxyXG4gICAgZm9udC1zaXplOiAxMnB4LFxyXG4gICAgZm9udC1jb2xvcjogIzMzMyxcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW0sXHJcbiAgKSxcclxuICBzdHlsZTQ6ICgvL+yDge2SiCDsg4HshLhcclxuICAgIGJvcmRlci1zdHlsZTogKGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDIpLFxyXG4gICAgaW5wdXQtaGVpZ2h0OiA0MnB4LFxyXG4gICAgaW5wdXQtcGFkZGluZzogMCAxNXB4LFxyXG4gICAgaW5wdXQtYmc6ICNmZmYsXHJcbiAgICBwbGFjZWhvbGRlci1jb2xvcjogIzkwOTA5MCxcclxuICAgIGZvbnQtc2l6ZTogMTNweCxcclxuICAgIGZvbnQtY29sb3I6ICM2ZTZkNmQsXHJcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDhlbSxcclxuICApXHJcbik7XHJcblxyXG4vL190ZXh0YXJlYVxyXG4kZ190ZXh0LWFyZWEtc3R5bGU6IChcclxuICBzdHlsZTE6IChcclxuICAgIHRleHQtYXJlYS1oZWlnaHQ6IDE1MHB4LFxyXG4gICAgdGV4dC1hcmVhLXBhZGRpbmc6IDVweCxcclxuICApLFxyXG4gIHN0eWxlMjogKFxyXG4gICAgdGV4dC1hcmVhLWhlaWdodDogMjMwcHgsXHJcbiAgICB0ZXh0LWFyZWEtcGFkZGluZzogMTBweCxcclxuICApLFxyXG4gIHN0eWxlMzogKFxyXG4gICAgdGV4dC1hcmVhLWhlaWdodDogMTUwcHgsXHJcbiAgICB0ZXh0LWFyZWEtcGFkZGluZzogNXB4LFxyXG4gICksXHJcbiAgXHJcbik7XHJcblxyXG4vL19zZWxlY3RcclxuJGdfc2VsZWN0LXN0eWxlOiAoXHJcbiAgc3R5bGUxOiAoXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMDBweCBib3R0b20gNTAlLFxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9idG5fc2VsZWN0X2Fycm93X3N0MDEucG5nKSxcclxuICApLFxyXG4gIHN0eWxlMjogKCAvLyAo7ZqM7JuQ6rCA7J6FLO2ajOybkOygleuztCkg7Jew65297LKYXHJcbiAgICBwYWRkaW5nOiAwIDM1cHggMCAxMHB4LFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBib3R0b20gNTAlLFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAxLnBuZyksXHJcbiAgICAvL29wdGlvbiA6ICggY29sb3I6IzIyMiApIC8v7ISc67iMIO2BtOuemOyKpCDsg53shLFcclxuICApLFxyXG4gIHN0eWxlMzogKFxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbixcclxuICApLFxyXG4gIHN0eWxlNDogKC8v7IOB7ZKIIOyDgeyEuFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCUsXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9pbWdfc2VsZWN0X3N0eWxlMS5wbmcpLFxyXG4gICAgLy9vcHRpb24gOiAoIGNvbG9yOiMyMjIgKSAvL+yEnOu4jCDtgbTrnpjsiqQg7IOd7ISxXHJcbiAgKVxyXG4pO1xyXG4vL19jaGVjay1ib3hcclxuJGdfY2hlY2stYm94LWltZzogKFxyXG4gIGltZy0xIDogKFxyXG4gICAgd2lkdGg6IDMwcHgsXHJcbiAgICBoZWlnaHQ6IDMwcHgsXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCxcclxuICAgIGJveC1pbWc6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwM19vZmYucG5nKSxcclxuICAgIGJveC1pbWctb246IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwM19vbi5wbmcpLFxyXG4gICAgZm9udC1zaXplOiAxNXB4LFxyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW1cclxuICApLFxyXG4gIGltZy0yIDogKFxyXG4gICAgd2lkdGg6IDMycHgsXHJcbiAgICBoZWlnaHQ6IDMycHgsXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweCxcclxuICAgIGJveC1pbWc6IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMV9vZmYucG5nKSxcclxuICAgIGJveC1pbWctb246IHVybCgvdmlld3MvcmVzL2ltZ3MvcGFnZS9pbWdfY2hlY2tib3gwMV9vbi5wbmcpLFxyXG4gICAgZm9udC1zaXplOiAxNHB4XHJcbiAgKSxcclxuICBpbWctMyA6IChcclxuICAgIHdpZHRoOiAyMHB4LFxyXG4gICAgaGVpZ2h0OiAyMHB4LFxyXG4gICAgYm94LWltZzogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29mZi5wbmcpLFxyXG4gICAgYm94LWltZy1vbjogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29uLnBuZyksXHJcbiAgICBmb250LXNpemU6IDE0cHhcclxuICApXHJcbik7XHJcbiRnX2NoZWNrLWJveC10YWc6IChcclxuICB0YWctMSA6ICggLy8g7JWE7J2065SU7KCA7J6lIC8vIOyVveq0gOuPmeydmCAvLyDqsrDsoJzsiJjri6ggLy/rsLDshqHsp4Ag7ISg7YOdIC8vIOuwsOyGoeyngOyXrSDshKDtg51cclxuICAgIHdpZHRoOiAxMnB4LFxyXG4gICAgaGVpZ2h0OiAxMnB4LFxyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4LFxyXG4gICAgYm94LW1hcmdpbi1yaWdodCA6IDVweCxcclxuICAgIGJveC1vdXRsaW5lOiAxcHggc29saWQgI2RkZCxcclxuICAgIGNoZWNrZWQtY29sb3I6ICM1NTUsXHJcbiAgICBmb250LXNpemU6IDExcHhcclxuICApLFxyXG4gIHRhZy0yIDogKFxyXG4gICAgd2lkdGg6IDIwcHgsXHJcbiAgICBoZWlnaHQ6IDIwcHgsXHJcbiAgICBib3gtbWFyZ2luLXJpZ2h0OiA1cHgsXHJcbiAgICBib3gtb3V0bGluZTogMXB4IHNvbGlkICMzMzMsXHJcbiAgICBjaGVja2VkLXdpZHRoOiAxMnB4LFxyXG4gICAgY2hlY2tlZC1oZWlnaHQ6IDEycHgsXHJcbiAgICBjaGVja2VkLWNvbG9yOiAjMzMzLFxyXG4gICAgZm9udC1zaXplOiAxNHB4XHJcbiAgKVxyXG4pO1xyXG5cclxuLy9fdGFibGVcclxuJGdfcnAtdGFibGU6IChcclxuICBzdHlsZTE6IChcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIHhzOiAoXHJcbiAgICAgICAgcnAtdGFibGU6IChcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHgsXHJcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U3ZTllZVxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGhlYWQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmVcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRoOiAoXHJcblxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdHI6IChcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrLFxyXG4gICAgICAgICAgcGFkZGluZzogMTBweCA1cHgsXHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTllZSxcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjVzLFxyXG4gICAgICAgICAgXCImXCIgOiAoXHJcbiAgICAgICAgICAgIFwiOmhvdmVyXCIgOiAoXHJcbiAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIuaXMtbm90aWNlXCIgOiAoXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgXCIubm9uZS1ob3Zlcjpob3ZlclwiIDogKFxyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgXHJcbiAgICAgICAgKSxcclxuICAgICAgICBycC10ZDogKFxyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxyXG4gICAgICAgICAgcGFkZGluZzogNXB4LFxyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHgsXHJcbiAgICAgICAgICBjb2xvcjogIzk5OSxcclxuICAgICAgICAgIFwiJlwiIDogKFxyXG4gICAgICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxyXG4gICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9ja1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgKSxcclxuICAgICAgbWQ6IChcclxuICAgICAgICBycC10YWJsZTogKFxyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTZweCxcclxuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMzMzLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGhlYWQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxyXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTllZSxcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRoOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsLFxyXG4gICAgICAgICAgcGFkZGluZzogMjJweCA1cHgsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4LFxyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0sXHJcbiAgICAgICAgICBjb2xvcjogIzAwMCxcclxuICAgICAgICApLFxyXG4gICAgICAgIHJwLXRyOiAoXHJcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZSxcclxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4LFxyXG4gICAgICAgICksXHJcbiAgICAgICAgcnAtdGQ6IChcclxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXHJcbiAgICAgICAgICB3aWR0aDogMTAwJSxcclxuICAgICAgICAgIHBhZGRpbmc6IDIwcHggNXB4LFxyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcclxuICAgICAgICAgIGZvbnQtc2l6ZToxNHB4LFxyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCxcclxuICAgICAgICAgIGNvbG9yOiM1NTUsXHJcbiAgICAgICAgICBcIiZcIiA6IChcclxuICAgICAgICAgICAgXCIudGQtYmxvY2tcIiA6IChcclxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSxcclxuICAgICAgKVxyXG4gICAgKSxcclxuICApXHJcbik7XHJcblxyXG4vL19idXR0b25cclxuJGdfYnRuLXNpemU6IChcclxuICBkZWZhdWx0X3ZhbHVlOiAoKSwgLy/stpTqsIDsi5wgYmFzZS9fYnV0dG9ucy5zY3NzIOyImOygleyalOunnVxyXG4gIHhzOiAoIC8v67Cw7Iah7KGw7ZqMLO2bhOq4sOyekeyEsVxyXG4gICAgd2lkdGg6IDUwcHgsXHJcbiAgICBoZWlnaHQ6IDM1cHgsXHJcbiAgICBsaW5lLWhlaWdodDogMzVweCxcclxuICAgIGZvbnQtc2l6ZTogMTJweCxcclxuICApLFxyXG4gIHNtOiAoIC8v6rKM7Iuc7YyQIOuyhO2KvCwgcG9wdXBcclxuICAgIHdpZHRoOiAxMThweCxcclxuICAgIGhlaWdodDogNTBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICAgbWVkaWE6IChcclxuICAgICAgc206IChcclxuICAgICAgICBoZWlnaHQ6IDQwcHgsXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHgsXHJcbiAgICAgIClcclxuICAgIClcclxuICApLFxyXG4gIG1kOiAoIC8v7Jqw7Y6467KI7Zi47LC+6riwLCDtmozsm5Dtg4jth7RcclxuICAgIHdpZHRoOiAxMDBweCxcclxuICAgIGhlaWdodDogMzVweCxcclxuICAgIGxpbmUtaGVpZ2h0OiAzNXB4LFxyXG4gICAgZm9udC1zaXplOiAxNHB4LFxyXG4gICksXHJcbiAgbGc6ICggLy/snqXrsJTqtazri4gsIO2ajOybkOqwgOyehSwg66eI7J207Y6Y7J207KeAXHJcbiAgICB3aWR0aDoyNjVweCxcclxuICAgIGhlaWdodDogNDBweCxcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4LFxyXG4gICAgZm9udC1zaXplOiAxNXB4LFxyXG4gICksXHJcbiAgeGw6ICggLy/roZzqt7jsnbgsIOu5hOuwgOuyiO2YuCDssL7quLAg7ZSM66Gc7JqwXHJcbiAgICB3aWR0aDogMjAwcHgsXHJcbiAgICBoZWlnaHQ6IDU1cHgsXHJcbiAgICBsaW5lLWhlaWdodDogNTBweCxcclxuICAgIGZvbnQtc2l6ZTogMTVweCxcclxuICAgIG1lZGlhOiAoXHJcbiAgICAgIG1kOiAoXHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4LFxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4LFxyXG4gICAgICApXHJcbiAgICApXHJcbiAgKSxcclxuICBwYWRkaW5nOiAoXHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHgsXHJcbiAgICBmb250LXNpemU6IDEzcHgsXHJcbiAgICBpbm5lci10ZXN0OiAoXHJcbiAgICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgICBoZWlnaHQ6IDUwcHgsXHJcbiAgICAgIHRlc3Q6IChcclxuICAgICAgICBzaXplOiAxMHB4XHJcbiAgICAgIClcclxuICAgICksXHJcbiAgICBtZWRpYTooXHJcbiAgICAgIHNtOihcclxuICAgICAgICBvcGFjaXR5OjFcclxuICAgICAgKVxyXG4gICAgKSxcclxuICApLFxyXG4gIGZ1bGw6KFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgKSxcclxuKTtcclxuXHJcbiRnX2J0bi1ncm91cCA6ICggLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlZjquLBcclxuICBwb2ludCA6ICAoIC8vIGRlZmF1bHRcclxuICAgIHRoZW1lLWNvbG9yOiAjMTExLFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIC8vIGJvcmRlciA6IDFweCBzb2xpZCAjMjA3ZWJkLFxyXG4gICAgLy8gYm9yZGVyLXJhZGl1czo1cHgsXHJcblxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6IzExMSxcclxuICAgIGhvdmVyLWNvbG9yOiAjZmZmLFxyXG4gICAgLy8gaG92ZXItYm9yZGVyIDogMXB4IHNvbGlkICMwMDAsXHJcblxyXG4gICAgZGlzYWJsZWQtZ3JvdXAgOiggLy8g6riw67O47KCB7Jy866GcIG9wYWNpdHk6LjY1LCDsu6TsiqTthYDsnYAg7JWE656Y7JeQIOqwkiDrs4Dqsr1cclxuICAgICAgZGltLXRoZW1lLWNvbG9yOiMxMTEsXHJcbiAgICAgIGRpbS1jb2xvcjogIzExMSxcclxuICAgICAgZGltLW9wYWNpdHkgOiAuNSxcclxuICAgICksXHJcbiAgKSxcclxuICBzdWItcG9pbnQgOihcclxuICAgIHRoZW1lLWNvbG9yOiMxNDc1M2YsXHJcbiAgICBmb250LWNvbG9yOiAjZmZmLFxyXG4gICksXHJcbiAgc3R5bGUxIDogICggLy/roZzqt7jsnbhcclxuICAgIHRoZW1lLWNvbG9yOiAjYWFhLFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICApLFxyXG4gIHN0eWxlMiA6ICggLy8g7ZqM7JuQ6rCA7J6FLCDruYTrsIDrsojtmLgg7JWE7J2065SU7LC+6riwLFxyXG4gICAgZm9udC1jb2xvcjogIzAwMCxcclxuICAgIHRoZW1lLWNvbG9yOiAjZjJmMmYyLFxyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkLFxyXG4gICAgaG92ZXItdGhlbWUtY29sb3I6I2YyZjJmMixcclxuICApLFxyXG4gIHN0eWxlMyA6ICggLy8g7KO866y4IOy3qOyGjCDrsoTtirwsIOyjvOusuCDrpqzsiqTtirgg6rKA7IOJIOuyhO2KvFxyXG4gICAgZm9udC1jb2xvcjogI2ZmZixcclxuICAgIHRoZW1lLWNvbG9yOiAjNTU1LFxyXG4gICksXHJcbiAgb3V0bGluZS1zdHlsZTEgOiAgKCAvLyDso7zrrLjsg4HshLjrs7TquLAsIGN1c3RvbTJcclxuICAgIGZvbnQtY29sb3I6ICMxMTEsXHJcbiAgICB0aGVtZS1jb2xvcjogdHJhbnNwYXJlbnQsXHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgI2RkZCxcclxuICAgIGhvdmVyLWJvcmRlciA6IDFweCBzb2xpZCAjZGRkLFxyXG4gICksXHJcbik7XHJcblxyXG4vL19wYWdpbmF0aW9uICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXHJcbiRnX3BhZ2UtaXRlbS1ncm91cCA6IChcclxuICAvLyBkZWZhdWx0XHJcbiAgd2lkdGg6NTBweCxcclxuICBoZWlnaHQ6NTBweCxcclxuXHJcbiAgLy9wYWRkaW5nOjIwcHgsXHJcbiAgbWFyZ2luOjAgLTFweCxcclxuICB0aGVtZS1jb2xvcjogI2ZmZixcclxuICBib3JkZXIgOiAxcHggc29saWQgI2RkZCxcclxuICAvL2JvcmRlci1yYWRpdXM6IDNweCxcclxuICAvL2JvcmRlci1yYWRpdXMtZi1sOiAzcHgsIC8vIOyyq+uyiOynuCDrp4jsp4Drp4kg67KE7Yq8IOy9lOuEiCByYWRpdXNcclxuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXHJcbiAgLy9ib3JkZXItc3R5bGU6ICggLy8gbGFzdC1jaGlsZOyXkCDsoIHsmqnrkKhcclxuICAvL1x0Ym9yZGVyLXJpZ2h0IDogXCIxcHggc29saWQgI2UxZTFlMVwiLFxyXG4gIC8vKSxcclxuXHJcbiAgZm9udC1zaXplOjE2cHgsXHJcbiAgZm9udC13ZWlnaHQ6NDAwLFxyXG4gIGxldHRlci1zcGFjaW5nOi0wLjA1ZW0sXHJcbiAgZm9udC1jb2xvcjojNzc3LFxyXG5cclxuICAvLyBob3ZlclxyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXHJcbiAgLy8gaG92ZXItYm9yZGVyLWNvbG9yIDogI2RkZCxcclxuICBob3Zlci1jb2xvcjogIzAwMCxcclxuXHJcbiAgLy8gYWN0aXZlXHJcbiAgYWN0aXZlLXRoZW1lOiNmMmYyZjIsXHJcbiAgYWN0aXZlLWNvbG9yOiMwMDAsXHJcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxyXG4gICAgLy9ib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcclxuICAgIC8vZm9udC13ZWlnaHQ6Ym9sZCxcclxuICApLFxyXG5cclxuICAvLyBkaXNhYmxlZFxyXG4gIGRpbS1vcGFjaXR5IDogLjUsXHJcbiAgLy9kaXNhYmxlZC1zdHlsZTogKCAvLyDsu6TsiqTthYDsmqlcclxuICAvL1x0Ly/rsoTtirzsl5DshJzripQgbWFwLWhhcy1rZXnqsJLsnYQg7J207Jqp7ZW07IScIO2CpOqwkuydtCDsnofsnLzrqbQg66e17J2YIO2CpOqwkuqzvCDrsqjrpZjroZwg7Lac66ClXHJcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cclxuICAvL1x0Ly/qsrDqs7wg6rCS7J2AIOqwmeycvOuCmCBtaXhpbuuwqeuyleydtCDri6TrpbTri6Qg7ZiE7J6sXHJcbiAgLy9cdGJhY2tncm91bmQtY29sb3I6IzExMSxcclxuICAvL1x0Y29sb3I6ICMxMTEsXHJcbiAgLy9cdGJvcmRlci1ib3R0b206XCIycHggc29saWQgIzAyMzg4YlwiLFxyXG4gIC8vKSxcclxuICBhcnJvdy1ncm91cCA6IChcclxuICAgIHN0YXJ0IDogKCAvL+y7pOyKpO2FgFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfc3RhcnQucG5nKSxcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcclxuICAgICksXHJcbiAgICBwcmV2IDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfcHJldi5wbmcpLFxyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxyXG4gICAgKSxcclxuICAgIG5leHQgOiAoXHJcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZSA6dXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vcGFnaW5hdGlvbl9hcnJvd19uZXh0LnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICAgZW5kIDogKFxyXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL3BhZ2luYXRpb25fYXJyb3dfZW5kLnBuZyksXHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXHJcbiAgICApLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190b29sdGlwXHJcbiRnX3Rvb2x0aXAtZ3JvdXAgOiAoIC8vIC50b29sdGlwID4gLnRvb2x0aXAtaW5uZXJcclxuICB0b3AgOiAtNDBweCxcclxuICBwYWRkaW5nOiAzcHggOHB4LFxyXG4gIGJhY2tncm91bmQtY29sb3I6IzAwMCxcclxuICBib3JkZXItcmFkaXVzOjNweCxcclxuICBmb250LXNpemU6MTNweCxcclxuICBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxyXG4gIGNvbG9yOiNmZmYsXHJcbiAgdGV4dC1hbGlnbjpjZW50ZXIsXHJcbiAgdHJhbnNpdGlvbi10aW1lIDogLjVzLFxyXG4gIG9wYWNpdHk6MCwgLy9ub3JtYWxcclxuICBzaG93LW9wYWNpdHk6LjksIC8vOmhvdmVy7J2865WMXHJcbiAgYXJyb3ctZ3JvdXAgOiAoIC8vIO2ItO2Mgeq8rOumrFxyXG4gIC8vICBsZWZ0IDogMCxcclxuICAvLyAgcmlnaHQgOiAwLFxyXG4gICAgY2VudGVyOiA1MCUsXHJcbiAgICBhcnJvdy13aWR0aDo1cHggNXB4IDAsXHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwLFxyXG4gICksXHJcbik7XHJcblxyXG4vL190YWJcclxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3Qub25cclxuICAvLyDslYTrnpjsl5Ag6rO17Ya167aA67aEIHN1Yi1jbGFzc2luZyDquLDspIDsnLzroZwg7JWI7JeQ7IScIOyDgeyGjeuwm+uKlOqxuOuhnCDrgpjriKDsp4DripQg7J207IqI7LK07YGsXHJcbiAgZmxvYXQ6bGVmdCxcclxuICBkaXNwbGF5OmlubGluZS1ibG9jayxcclxuICB3aWR0aDo1MCUsXHJcbiAgcGFkZGluZzoxOHB4LFxyXG4gIHRoZW1lLWNvbG9yOiAjZmZmLFxyXG4gIGJvcmRlcjoxcHggc29saWQgI2UxZTFlMSxcclxuICBmb250LWNvbG9yOiAjODg4LFxyXG4gIGZvbnQtd2VpZ2h0OjMwMCxcclxuICBmb250LXNpemU6MTZweCxcclxuICB0ZXh0LWFsaWduOmNlbnRlcixcclxuICBsZXR0ZXItc3BhY2luZzotMC4wM2VtLFxyXG5cclxuICBzdWItY2xhc3NpbmcgOiAoIC8vIOyeheugpe2VmOuKlOuNsOuhnFxyXG4gICAgc3R5bGUgOiAoIC8vIOuEpOuqqO2DrVxyXG4gICAgICBtYXJnaW46NXB4LFxyXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICMwMDAsXHJcbiAgICApLFxyXG4gICAgc3R5bGUxIDogKCAvLyDsnbzroKztg61cclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTEsXHJcbiAgICApLFxyXG4gICksXHJcblxyXG4gIGFjdGl2ZSA6ICggLy8g7J6F66Cl7ZWY64qU642w66GcXHJcbiAgICBib3JkZXItY29sb3I6ICRnX2NvbG9yLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjokZ19jb2xvcixcclxuICAgIGNvbG9yOiNmZmYsXHJcbiAgICBmb250LXdlaWdodDo0MDAsXHJcbiAgKSxcclxuXHJcbiAgLy/rr7jrlJTslrTsv7zrpqxcclxuICBtZWRpYTogKFxyXG4gICAgbWQ6ICggLy8g7J6F66Cl7ZWY64qU642w66GcXHJcbiAgICAgIC8vZGlzcGxheTpibG9jayxcclxuICAgICAgd2lkdGg6MjUlLFxyXG4gICAgICBmb250LXNpemU6MTVweCxcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6LTAuMDJlbSxcclxuICAgIClcclxuICApXHJcbik7XHJcbi8vX3NlYXJjaGJhclxyXG5cclxuLy9fIGNhcmRcclxuXHJcbiIsIi8vIFRvZ2dsZXNcclxuLy9cclxuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXHJcblxyXG5AaW1wb3J0IFwibWl4aW5zL19tZWRpYS1xdWVyeVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19tYXBcIjtcclxuXHJcbi8vIFV0aWxpdGllc1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvYnJlYWtwb2ludHNcIjtcclxuQGltcG9ydCBcIm1peGlucy9fY2xlYXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZmxvYXRcIjtcclxuQGltcG9ydCBcIm1peGlucy9faG92ZXJcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvcmVzaXplXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3NjcmVlbnJlYWRlclwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19yZXNldC10ZXh0XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3ByZWZpeGVyXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RleHQtdHJ1bmNhdGVcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcclxuXHJcbi8vIC8vIENvbXBvbmVudHNcclxuLy9AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX3RyaWFuZ2xlXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX2J1dHRvbnNcIjtcclxuQGltcG9ydCBcIm1peGlucy9jYXJkc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL19wYWdpbmF0aW9uXCI7XHJcbi8vQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZm9ybXNcIjtcclxuQGltcG9ydCBcIm1peGlucy90YWJsZXNcIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zL190YWJcIjtcclxuXHJcbi8vIC8vIFNraW5zXHJcbi8vQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcclxuQGltcG9ydCBcIm1peGlucy9fYm9yZGVyLXJhZGl1c1wiO1xyXG4vL0BpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XHJcblxyXG4vLyAvLyBMYXlvdXRcclxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcclxuLy9AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvX2FyZWFcIjtcclxuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xyXG4iLCIvLyBtZWRpYS1xdWVyeS1taW4g66+57Iqk7J24XHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRicmVha3BvaW50IOq4sOuzuOqwkjog7JeG7J2MXHJcbi8vICRicmVha3BvaW50IOyXkCDqsIDsmqnqsIDriqXtlZwg6rCSXHJcbi8vICgxKSAkbWVkaWEtYnJlYWtwb2ludHMg7J2YIO2CpCDqsJIgKHhzLCBzbSwgbWQsIGxnLCB4bCAp7KSRIO2VmOuCmFxyXG4vLyAoMikg6rOg7KCVIHB46rCSXHJcbi8vICRicmVha3BvaW50IOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIEBtZWRpYShtaW4td2lkdGg6IFwi66ek6rCc67OA7IiY7JeQIO2VtOuLue2VmOuKlCDqsJJcIikg7IWL7YyF7ZW07KSN64uI64ukLlxyXG4vLyAkYnJlYWtwb2ludCDqsJLsnYQg7ZS97IWA66GcIOuEo+uKlOuLpOuptCDtlbTri7kg7ZS97IWA6rCS7J2YIOuvuOuUlOyWtOy/vOumrOulvCDrp4zrk6TslrQg7KSN64uI64ukLlxyXG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7IEBjb250ZW50IH1cclxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbig1MDBweCkgeyBAY29udGVudCB9XHJcbkBtaXhpbiBtZWRpYS1xdWVyeS1taW4oICRicmVha3BvaW50ICkge1xyXG4gIEBpZiBtYXBfaGFzX2tleSggJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50ICl7XHJcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XHJcbiAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtZWRpYS1xdWVyeS1tYXgoICRicmVha3BvaW50ICkge1xyXG4gIEBpZiBtYXBfaGFzX2tleSggJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50ICl7XHJcbiAgICBAaWYgICRicmVha3BvaW50ID09IFwieHNcIiB7XHJcbiAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgdW5pdCgkYnJlYWtwb2ludCkgPT0gXCJweFwiIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gbWVkaWEtcXVlcnktbWluLXZhbCDtlajsiJhcclxuLy8g7KCE7Jet67OA7IiYICRtZWRpYS1icmVha3BvaW50cyBtYXDsnZggdmFsdWXrpbwg67CY7ZmY7ZW0IOykjeuLiOuLpC5cclxuLy8g7KO866GcIGVhY2gg66y46rO8IOqwmeydgCBsb29wIOusuOyXkOyEnCDtmZzsmqnrkKnri4jri6QuXHJcbi8vIGV4KVxyXG4vLyBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXBfa2V5cygkbWVkaWEtYnJlYWtwb2ludHMpIHtcclxuLy8gICAkcG9pbnQ6IG1lZGlhLXF1ZXJ5LW1pbi12YWwoJGJyZWFrcG9pbnQpO1xyXG4vLyAgIEBtZWRpYSAoIG1pbi13aWR0aDogI3skcG9pbnR9ICl7XHJcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1sIHsgQGluY2x1ZGUgZmxvYXQtbGVmdCB9XHJcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1yIHsgQGluY2x1ZGUgZmxvYXQtcmlnaHQgfVxyXG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtbiB7IEBpbmNsdWRlIGZsb2F0LW5vbmUgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5AZnVuY3Rpb24gbWVkaWEtcXVlcnktbWluLXZhbCggJGJyZWFrcG9pbnQgKXtcclxuICBAcmV0dXJuIG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJAZnVuY3Rpb24gbWFwLXNldCgkbWFwLCAka2V5LCAkdmFsdWUpIHtcclxuICAkbmV3OiAoJGtleTogJHZhbHVlKTtcclxuICBAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAkbmV3KTtcclxufVxyXG5cclxuXHJcbi8vcHJlZml4IOygnOqxsFxyXG4vL+2DnOq3uOydtOumhCwg7IaN7ISxLCDslYTsnbTrlJQg65OxICDshYDroInthLAg6rCA64ql64+E66GdXHJcbkBmdW5jdGlvbiBtYWtlTWFwVG9Db2RlcygkbWFwLCAkcHJlZml4OiBcIlwiLCAkc2VsZjogZmFsc2UpIHtcclxuICAkY29kZXMgOiAoKTtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xyXG4gICAgQGlmICggdHlwZS1vZigkdmFsKSA9PSBtYXAgKSB7XHJcblxyXG4gICAgICBAaWYgKCRrZXkgPT0gXCImXCIpIHtcclxuICAgICAgICAkbWFrZTogbWFrZU1hcFRvQ29kZXMoJHZhbCwgXCJcIiwgdHJ1ZSk7XHJcbiAgICAgICAgJGNvZGVzOiBtYXAtbWVyZ2UoJGNvZGVzLCAkbWFrZSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICRzZWxlY3RvcjogXCIuI3skcHJlZml4fSN7JGtleX1cIjtcclxuXHJcbiAgICAgICAgQGlmICgkc2VsZikge1xyXG4gICAgICAgICAgJHNlbGVjdG9yIDogXCImI3skcHJlZml4fSN7JGtleX1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsICRwcmVmaXgpO1xyXG4gICAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRzZWxlY3RvciwgJG1ha2UpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRjb2RlczogbWFwLXNldCgkY29kZXMsICRrZXksICR2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRjb2RlcztcclxufTtcclxuXHJcblxyXG5AbWl4aW4gcHJpbnRDb2RlcygkbWFwKSB7XHJcblxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XHJcbiAgIFxyXG4gICAgQGlmICggdHlwZS1vZigkdmFsKSA9PSBtYXAgKSB7XHJcbiAgICAgICN7JGtleX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbCk7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAjeyRrZXl9IDogI3skdmFsfTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gaXNNYXAg7ZWo7IiYXHJcbi8vICN7a2V5fSA6ICN7dmFsdWV97J2YIO2Yle2DnOulvCDrpqzthLTtlbTso7zripQg7ZWo7IiYXHJcbi8vIGlzTWFwKCR2YWwsICRrZXkpO1xyXG4vLyBpc01hcCDtlajsiJjsl5DshJwg7J247J6Q66GcIOuEmOyWtOyYqCAnJHZhbCfsl5Ag7ZWg64u565CcIOqwkuydtCBtYXDsnbTrnbzrqbQgaXNtYXDtlajsiJjrpbwg7J6s6reA7Zi47LacIO2VnOuLpC5cclxuLy8g7JiI7Jm47KCB7Jy866GcIO2CpOqwkuydtCBcIl9cIiDrnbzrqbQgaXNQc2V1ZG/rpbwg7Zi47Lac7ZWc64ukLlxyXG4vLyDstZzsooXsoIHsnLzroZwgI3trZXl9IDogI3t2YWx1ZX3snZgg6rCS7J2EIOumrO2EtO2VmOuPhOuhnSDrp4zrk6Dri6QuXHJcblxyXG4vL2lzUHNldWRvIO2VqOyImFxyXG4vL+qwgOyDgSDshKDtg53snpDrpbwg66eM65Ok7Ja0IOumrO2EtO2VtOyjvOuKlCDtlajsiJhcclxuLy9cclxuXHJcblxyXG4vL0BmdW5jdGlvbiBpc01hcCAoJHZhbCwgJGtleSkge1xyXG4vLyAgJHJlc3VsdCA6ICgpO1xyXG4vL1xyXG4vLyAgQGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCkge1xyXG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbi8vICAgICAgQGlmICh0eXBlLW9mKCR2YWwyKSA9PSBtYXAgYW5kICRrZXkgPT0gbnVsbCkge1xyXG4vLyAgICAgICAgJG1hcCA6IGlzTWFwKCR2YWwyLCAka2V5Mik7XHJcbi8vICAgICAgICAkbWFwa2V5IDogbWFwLWtleXMoJG1hcCk7XHJcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRtYXBrZXksIG1hcC1nZXQoJG1hcCwgI3skbWFwa2V5fSkpO1xyXG4vLyAgICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBcIl9cIil7XHJcbi8vICAgICAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICRrZXkyLCBpc01hcCgkdmFsMiwgJGtleTIpKTtcclxuLy8gICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsICR2YWwyKTtcclxuLy8gICAgICB9XHJcbi8vICAgIH1cclxuLy8gIH0gQGVsc2Uge1xyXG4vLyAgICAkcmVzdWx0OiBtYXAtc2V0KCRyZXN1bHQsICR2YWwsICRrZXkpO1xyXG4vLyAgfVxyXG4vL1xyXG4vLyAgQHJldHVybiAkcmVzdWx0O1xyXG4vL307XHJcblxyXG5cclxuLy9AZnVuY3Rpb24gaXNQc2V1ZG8gKCRrZXksICR2YWwpIHtcclxuLy8gICRyZXN1bHQ6IG51bGw7XHJcbi8vICBAaWYgKCRrZXkgPT0gXCJfXCIpIHtcclxuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xyXG4vLyAgICAgICRyZXN1bHQ6IGlzTWFwKCRrZXkyLCAkdmFsMik7XHJcbi8vICAgICAgQHJldHVybiBpc01hcCgka2V5MiwgJHZhbDIpO1xyXG4vLyAgICB9XHJcbi8vICB9IEBlbHNlICB7XHJcbi8vICAgICRyZXN1bHQ6IGlzTWFwKCRrZXksICR2YWwpO1xyXG4vLyAgICBAcmV0dXJuICRyZXN1bHQ7XHJcbi8vICB9XHJcbi8vfTtcclxuXHJcblxyXG4iLCJAbWl4aW4gY2xlYXIoKSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgY2xlYXI6IGJvdGg7XHJcbiAgIH1cclxufVxyXG5cclxuXHJcblxyXG4iLCJAbWl4aW4gZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxufVxyXG5AbWl4aW4gZmxvYXQtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBmbG9hdC1ub25lIHtcclxuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIkBtaXhpbiBob3Zlci1vbntcclxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5vbnsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuQG1peGluIGhvdmVye1xyXG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5cclxuLy9cclxuLy9AbWl4aW4gaG92ZXIge1xyXG4vLyAgJjpob3ZlciB7IEBjb250ZW50OyB9XHJcbi8vfVxyXG4vL1xyXG4vL0BtaXhpbiBob3Zlci1mb2N1cyB7XHJcbi8vICAmOmhvdmVyLFxyXG4vLyAgJjpmb2N1cyB7XHJcbi8vICAgIEBjb250ZW50O1xyXG4vLyAgfVxyXG4vL31cclxuLy9cclxuLy9AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xyXG4vLyAgJixcclxuLy8gICY6aG92ZXIsXHJcbi8vICAmOmZvY3VzIHtcclxuLy8gICAgQGNvbnRlbnQ7XHJcbi8vICB9XHJcbi8vfVxyXG4vL1xyXG4vL0BtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xyXG4vLyAgJjpob3ZlcixcclxuLy8gICY6Zm9jdXMsXHJcbi8vICAmOmFjdGl2ZSB7XHJcbi8vICAgIEBjb250ZW50O1xyXG4vLyAgfVxyXG4vL30iLCIvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cclxuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXHJcbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXHJcbkBtaXhpbiBzci1vbmx5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuQG1peGluIHRleHQtaGlkZSB7XHJcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICBsaW5lLWJyZWFrOiBhdXRvO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXHJcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xyXG59XHJcbiIsIi8vIC8qIHByZWZpeCAqL1xyXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlczooKSl7XHJcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXN7XHJcbiAgICAjeyctJyskcHJlZml4KyctJyskcHJvcGVydHl9OiR2YWx1ZTtcclxuICB9XHJcbiAgI3skcHJvcGVydHl9IDogJHZhbHVlO1xyXG59XHJcblxyXG4gIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgcm90YXRlKDQ1ZGVnKSwgd2Via2l0IG1zKTsgb3IgKFwid2Via2l0XCIsIFwibW96XCIpXHJcblxyXG4gLy9jc3NcclxuICAvLyAuc2VsZWN0b3Ige1xyXG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLy8gICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC8vIH1cclxuXHJcbiIsIkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCR3aWR0aCwkaGVpZ2h0LCR3aWR0aFNpemUsJGhlaWdodFNpemUsJGNvbG9yKSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6ICR3aWR0aDtcclxuICAgIHdpZHRoOiAkaGVpZ2h0O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIEBpZiAkd2lkdGggPT0gMCB7XHJcbiAgICAgICAgQGlmICR3aWR0aCA9PSAwIGFuZCAkaGVpZ2h0ID09IDAge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICgkd2lkdGhTaXplIC8gMikgJGhlaWdodFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidXAtcmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplIDA7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgMCAwICR3aWR0aFNpemU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZSAoJGhlaWdodFNpemUgLyAyKSAwO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfUBlbHNlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICRjb2xvciAkY29sb3IgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICR3aWR0aFNpemUgJGhlaWdodFNpemUgMDtcclxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duLXJpZ2h0XCIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd24tbGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInVwLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAuZWxlbWVudCB7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDAsMCwxMHB4LDEwcHgsICNiMjVjOWMpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5lbGVtZW50MiB7XHJcbi8vICAgICBsZWZ0OjIwcHg7XHJcbi8vICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuLy8gICAgICY6OmJlZm9yZSB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoXCJ1cC1sZWZ0XCIsIDhweCw4cHgsMnB4LDJweCwgI2IyNWM5Yyk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIGNzc1xyXG4vLyAuZWxlbWVudDIge1xyXG4vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbi8vICAgICBoZWlnaHQ6IDhweDtcclxuLy8gICAgIHdpZHRoOiA4cHg7XHJcbi8vICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNiMjVjOWMgI2IyNWM5YyB0cmFuc3BhcmVudDtcclxuLy8gICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbi8vICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4vLyB9XHJcbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xyXG4vLyDrsoTtirwg7IKs7J207KaI67OEIOyDneyEsVxyXG5AbWl4aW4gYnV0dG9uLXNpemUtcHgoJGJ0bi1zaXplIDogJGdfYnRuLXNpemUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkYnRuLXNpemUpe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuYnRuLSN7JGtleX0ge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgIEBpZiAoJGtleTIgPT0gbWVkaWEpIHtcclxuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcclxuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBAZWxzZXtcclxuICAgICAgICAgICAgQGlmICggdHlwZS1vZigkdmFsMikgPT0gbWFwICkgeyAvLyBvbmUgZGVwdGggY2xhc3Mg7JWI7JeQIOy2lOqwgCBjbGFzcyDsg53shLFcclxuICAgICAgICAgICAgICAuI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxyXG4gICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ0bi1kaXNhYmxlZCgpIHtcclxuICAmLmRpc2FibGVkIHtcclxuICAgIEBjb250ZW50O1xyXG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXHJcbkBtaXhpbiBidXR0b24tc3R5bGUoJGJ0bi1ncm91cCA6ICRnX2J0bi1ncm91cCl7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnRuLWdyb3VwIHtcclxuICAgIC5idG4tI3ska2V5fSxcclxuICAgIC5idG4tI3ska2V5fTp2aXNpdGVkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCB0aGVtZS1jb2xvcik7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIGZvbnQtY29sb3IpO1xyXG4gICAgICBib3JkZXI6IG1hcC1nZXQoJHZhbCwgYm9yZGVyKTtcclxuICAgICAgYm9yZGVyLXJhZGl1cyA6IG1hcC1nZXQoJHZhbCwgYm9yZGVyLXJhZGl1cyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBob3Zlci1vbiB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLXRoZW1lLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkdmFsLCBob3Zlci10aGVtZS1jb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKCBtYXAtZ2V0KCR2YWwsIHRoZW1lLWNvbG9yKSwgMTUlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGhvdmVyLWNvbG9yKSB7XHJcbiAgICAgICAgICBjb2xvcjptYXAtZ2V0KCR2YWwsIGhvdmVyLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgY29sb3I6bWFwLWdldCgkdmFsLCBmb250LWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCR2YWwsIGhvdmVyLWJvcmRlcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJ0bi1kaXNhYmxlZCB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGRpc2FibGVkLWdyb3VwKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJHZhbCwgZGlzYWJsZWQtZ3JvdXApLGRpbS10aGVtZS1jb2xvcik7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldChtYXAtZ2V0KCR2YWwsIGRpc2FibGVkLWdyb3VwKSwgZGltLWNvbG9yKTtcclxuICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQobWFwLWdldCgkdmFsLCBkaXNhYmxlZC1ncm91cCksIGRpbS1vcGFjaXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgb3BhY2l0eTouNjU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBtYWtlLWNhcmQtc2V0KCRjYXJkLWluZm8pIHtcclxuICAlY2FyZC13cmFwe1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGNhcmQtaW5mbyB7XHJcbiAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XHJcbiAgICAgICAgLmNhcmQtI3ska2V5Mn0tI3ska2V5fSB7XHJcbiAgICAgICAgICBAZXh0ZW5kICVjYXJkLXdyYXA7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZhbDIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAjeyRrZXkzfTogI3skdmFsM307XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XHJcbiAgICAgICAgLmNhcmQtd3JhcC0jeyRrZXl9e1xyXG4gICAgICAgICAgLmNhcmQtI3ska2V5Mn0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAgbWFwLWdldCgkdmFsMiwgYm9yZGVyLXN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdmFsMiwgZm9udC1zaXplKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcclxuICAgICAgICAgIC5jYXJkLSN7JGtleTJ9IHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyDri6Qg64KY64iE6rOgIO2VmOuCmOuhnCDtlansuZjripTqsowg7KKL7KeAIOyViuydhOq5jD8/Pz8/Pz9cclxuLy8g7IOB7IaN7J2YIOqzhOuFkOydhCDsoIHsmqntlbTslbwg7ZWY64qU6rCAPz9cclxuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xyXG4vLyDslYTsmIggd3JhcCwgaGVhZGVyLCBib2R5LCBmb290ZXIg64KY64iE64qU642Y7KeALCDsp4DquIjsspjrn7wg7LKY66as7ZWY64qU6rKMIOuCmOydhOuTr1xyXG4iLCIvLyBQYWdpbmF0aW9uXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xyXG4gIHdpZHRoOm1hcC1nZXQoJHBhZ2UtaXRlbSwgd2lkdGgpO1xyXG4gIGhlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhlaWdodCk7XHJcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XHJcblxyXG4gIC8vcGFkZGluZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIHBhZGRpbmcpOyAtPiDsgq3soJzsmIjsoJUg67O066WYLi5cclxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWdlLWl0ZW0sIHRoZW1lLWNvbG9yKTtcclxuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcclxuICBib3JkZXItcmlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBib3JkZXItcmlnaHQpO1xyXG5cclxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XHJcbiAgZm9udC1zaXplOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtd2VpZ2h0KTtcclxuICBsZXR0ZXItc3BhY2luZzptYXAtZ2V0KCRwYWdlLWl0ZW0sIGxldHRlci1zcGFjaW5nKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHBhZ2UtaXRlbSwgaG92ZXItdGhlbWUtY29sb3IpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XHJcbiAgICB9XHJcbiAgICBjb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0sIGhvdmVyLWNvbG9yKTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xyXG4gIH1cclxuXHJcbn1cclxuLy8g7JWh7Yuw67iMIOuQoOyLnFxyXG5AbWl4aW4gcGFnaW5hdGlvbi1hY3RpdmUoJHBhZ2UtYWN0aXZlLWl0ZW0pe1xyXG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcclxuICBjb2xvcjptYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1jb2xvcik7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWFjdGl2ZS1pdGVtLGFjdGl2ZS1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG4vLyDrlKQg65Cg7IucXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWRpc2FibGVkKCRwYWdlLWRpc2FibGVkLWl0ZW0pe1xyXG4gIG9wYWNpdHk6bWFwLWdldCgkcGFnZS1kaXNhYmxlZC1pdGVtLCBkaW0tb3BhY2l0eSk7XHJcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcclxuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtZGlzYWJsZWQtaXRlbSxkaXNhYmxlZC1zdHlsZSkpe1xyXG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xyXG4gIH1cclxufVxyXG5cclxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcclxuQG1peGluIHBhZ2luYXRpb24tYXJyb3dzKCRwYWdlLWFycm93LXN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluICRwYWdlLWFycm93LXN0eWxlIHtcclxuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICB9XHJcbn0iLCJAbWl4aW4gbWFrZS1mb3JtLXdyYXAoICRmb3JtLXdyYXAtaW5mbyA6ICRnX2Zvcm0td3JhcCApIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xyXG4gICAgQGlmICgka2V5ID09IGRlZmF1bHRfdmFsdWUpIHtcclxuICAgICAgJWRlZmF1bHRfdmFsdWUge1xyXG4gICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcclxuICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAuZm9ybS13cmFwLSN7JGtleX0ge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGZvcm0td3JhcC1pbmZvLCBkZWZhdWx0X3ZhbHVlKSkge1xyXG4gICAgICAgICAgQGV4dGVuZCAlZGVmYXVsdF92YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkdmFsLCBtZWRpYSkpIHtcclxuICAgICAgICAgICRtZWRpYTogbWFwX2dldCgkdmFsLCBtZWRpYSk7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJG1lZGlhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbCB7XHJcbiAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJGtleTMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKu2FjeyKpO2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1maWVsZC1kZWZhdWx0KCkge1xyXG4gICVmaWVsZC1iYXNlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBzZWxlY3QsXHJcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcclxuICAgICAgQGV4dGVuZCAlZmllbGQtYmFzZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogbWFwLWdldCgkdmFsLCBtYXgtd2lkdGgpO1xyXG4gICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaW5wdXQtaGVpZ2h0KTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkdmFsLCBtYXJnaW4tYm90dG9tKTtcclxuICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCBpbnB1dC1wYWRkaW5nKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCBpbnB1dC1iZyk7XHJcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiBtYXAtZ2V0KCR2YWwsIGJvcmRlci1zdHlsZSkge1xyXG4gICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgfVxyXG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJHZhbCwgbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBmb250LWNvbG9yKTtcclxuICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWwsIGZvY3VzLXN0eWxlKSB7XHJcbiAgICAgICAgJGZvY3VzLXN0eWxlOiBtYXAtZ2V0KCR2YWwsIGZvY3VzLXN0eWxlKTtcclxuICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJGZvY3VzLXN0eWxlIHtcclxuICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAjeyRrZXkzfSA6ICN7JHZhbDN9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAuZmllbGQtI3ska2V5fSBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgLmZpZWxkLSN7JGtleX0gdGV4dGFyZWF7XHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdmFsLCBwbGFjZWhvbGRlci1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YWwsIHBsYWNlaG9sZGVyLWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWFrZS10ZXh0LWFyZWEoJGtleSk7XHJcbiAgICBAaW5jbHVkZSBtYWtlLXNlbGVjdGJveCgka2V5KTtcclxuXHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtYWtlLXRleHQtYXJlYSgkc3R5bGUpIHtcclxuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZ190ZXh0LWFyZWEtc3R5bGUpIHtcclxuICAgIEBpZiAoJHN0eWxlID09ICRrZXkpIHtcclxuICAgICAgLmZpZWxkLSN7JHN0eWxlfSB0ZXh0YXJlYXtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgdGV4dC1hcmVhLWhlaWdodCk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmFsLCB0ZXh0LWFyZWEtcGFkZGluZyk7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAvKuyFgOugie2KuCDrsJXsiqQqL1xyXG5AbWl4aW4gbWFrZS1zZWxlY3Rib3goJHN0eWxlKSB7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XHJcbiAgICBAaWYgKCRzdHlsZSA9PSAka2V5KSB7XHJcbiAgICAgIC5maWVsZC0jeyRzdHlsZX0gc2VsZWN0e1xyXG4gICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC8q7J2066+47KeAIOyytO2BrCAmIOudvOuUlOyYpCovXHJcbkBtaXhpbiBtYWtlLWNoZWNrYm94LWltZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtaW1nICkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xyXG4gICAgLmNrYngtI3ska2V5fXtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgbWFyZ2luLXJpZ2h0KTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAuY3VzdG9tLWNoZWNrZWQge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR2YWwsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHZhbCwgaGVpZ2h0KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgYm94LW1hcmdpbi1yaWdodCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkdmFsLCBib3gtaW1nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkdmFsLCBsZXR0ZXItc3BhY2luZyk7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxyXG4gICAgICAgICZbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBtYXAtZ2V0KCR2YWwsIGJveC1pbWctb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBjb2xvcjogI2VlZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyAvKu2DnOq3uCDssrTtgawmIOudvOuUlOyYpCovXHJcbkBtaXhpbiBtYWtlLWNoZWNrYm94LXRhZyggJGNoZWNrLWJveC1pbmZvOiAkZ19jaGVjay1ib3gtdGFnICkge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xyXG4gICAgLy/rs4DsiJhcclxuICAgICR3aWR0aDogbWFwLWdldCgkdmFsLCB3aWR0aCk7XHJcbiAgICAkaGVpZ2h0OiBtYXAtZ2V0KCR2YWwsIGhlaWdodCk7XHJcbiAgICAkYm94LW1hcmdpbi1yaWdodDogMDtcclxuICAgICRjaGVjay13aWR0aDogJHdpZHRoIC8gMjtcclxuICAgICRjaGVjay1oZWlnaHQ6ICRoZWlnaHQgLyAyO1xyXG5cclxuICAgIC8v7ZW064u56rCS7J20IOyeiOuKlOyngCDssrTtgaxcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsLCBib3gtbWFyZ2luLXJpZ2h0KSB7XHJcbiAgICAgICRib3gtbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCR2YWwsIGJveC1tYXJnaW4tcmlnaHQpXHJcbiAgICB9XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbCwgY2hlY2tlZC13aWR0aCkge1xyXG4gICAgICAkY2hlY2std2lkdGg6IG1hcC1nZXQoJHZhbCwgY2hlY2tlZC13aWR0aClcclxuICAgIH1cclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsLCBjaGVja2VkLWhlaWdodCkge1xyXG4gICAgICAkY2hlY2staGVpZ2h0OiBtYXAtZ2V0KCR2YWwsIGNoZWNrZWQtaGVpZ2h0KVxyXG4gICAgfVxyXG4gICAgLmNrYngtI3ska2V5fXtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHZhbCwgbWFyZ2luLXJpZ2h0KTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtaW4td2lkdGg6ICR3aWR0aDtcclxuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCBib3gtYmcpO1xyXG4gICAgICAgIGJvcmRlcjogbWFwLWdldCgkdmFsLCBib3gtb3V0bGluZSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkdmFsLCBib3gtcmFkaXVzKTtcclxuICAgICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XHJcbiAgICAgIH1cclxuICAgICAgPiAqIHtcclxuICAgICAgICAvLyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IOqyjOyLnO2MkCDquIDsk7DquLAg67mE67CA6riA7JeQ7IScIOq5qOyguOyEnCDsmrDshKAg7KO87ISd7LKY66asXHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHZhbCwgZm9udC1zaXplKSA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkYm94LW1hcmdpbi1yaWdodCArICR3aWR0aDtcclxuICAgICAgfVxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAmW3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQsXHJcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbGVmdDogKCR3aWR0aCAtICRjaGVjay13aWR0aCkgLyAyIDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB3aWR0aDogJGNoZWNrLXdpZHRoO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkY2hlY2staGVpZ2h0O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmFsLCBjaGVja2VkLWNvbG9yKTtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHZhbCwgYm94LXJhZGl1cyk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWR7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICNlZWU7XHJcbiAgICAgICAgbGFiZWw6YmVmb3Jle1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmNpcmNsZTpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgfVxyXG4gICAgICAmLmNpcmNsZSBpbnB1dCB7XHJcbiAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxyXG4gICAgICAgICZbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLy9ycC10YWJsZVxyXG5AbWl4aW4gbWFrZS1ycC10YWJsZSgkcnAtdGFibGUtaW5mbykge1xyXG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRycC10YWJsZS1pbmZvKXtcclxuICAgIEBpZiAoJGtleSA9PSBkZWZhdWx0X3ZhbHVlKSB7XHJcbiAgICAgICVkZWZhdWx0X3ZhbHVlIHtcclxuICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XHJcbiAgICAgICAgICAjeyRrZXkyfTogI3skdmFsMn07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgLnJwLXRhYmxlLSN7JGtleX0ge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHZhbCwgbWVkaWEpKSB7XHJcbiAgICAgICAgICAkbWVkaWE6IG1hcF9nZXQoJHZhbCwgbWVkaWEpO1xyXG4gICAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICRtZWRpYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mikge1xyXG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwge1xyXG4gICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCRrZXkzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIi8vLyogdGFiICovXHJcbkBtaXhpbiB0YWItaXRlbXMoJHRhYi1ncm91cCkge1xyXG4gICAgLnRhYi13cmFwIHtcclxuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAmIC50YWItbGlzdCB7XHJcbiAgICAgICAgICAgIGZsb2F0Om1hcC1nZXQoJHRhYi1ncm91cCwgZmxvYXQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5Om1hcC1nZXQoJHRhYi1ncm91cCwgZGlzcGxheSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWItZ3JvdXAsIHdpZHRoKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGFiLWdyb3VwLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCR0YWItZ3JvdXAsIHRoZW1lLWNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyOm1hcC1nZXQoJHRhYi1ncm91cCwgYm9yZGVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOm1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bWFwLWdldCgkdGFiLWdyb3VwLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOm1hcC1nZXQoJHRhYi1ncm91cCwgZm9udC1jb2xvcik7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246bWFwLWdldCgkdGFiLWdyb3VwLCB0ZXh0LWFsaWduKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6bWFwLWdldCgkdGFiLWdyb3VwLCBsZXR0ZXItc3BhY2luZyk7XHJcblxyXG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHRhYi1ncm91cCwgbWVkaWEpIHtcclxuICAgICAgICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiBtYXBfZ2V0KCR0YWItZ3JvdXAsIG1lZGlhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsMntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gKG1hcC1nZXQoJHRhYi1ncm91cCwgc3ViLWNsYXNzaW5nKSl7XHJcbiAgICAgICAgICAgICYuI3ska2V5fSAudGFiLWxpc3R7XHJcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbHVle1xyXG4gICAgICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAudGFiLWxpc3Qub24ge1xyXG4gICAgICAgICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHRhYi1ncm91cCxhY3RpdmUpKXtcclxuICAgICAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGdfdGFiLWdyb3VwLGZsb2F0KXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG4iLCIvLyBtYWtlLWFyZWEg66+57Iqk7J24XHJcbi8vIOq4sOuzuOqwkuydtCBudWxs66GcIOyFi+2MheuQmOyWtCDsnojripQg7JqU7IaM64qUIOyduOyekOqwgCDsoITri6zrkJjsp4Ag7JWK7J2EIOyLnCDsu7TtjIzsnbwg65CY7KeAIOyViuyKteuLiOuLpC5cclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJG1heC13aWR0aCDquLDrs7jqsJI6IG51bGxcclxuLy8gJGd1dHRlci13aWR0aCDquLDrs7jqsJI6IG51bGxcclxuLy8gJHdpZHRoIOq4sOuzuOqwkjogMTAwJVxyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiAkbWF4LXdpZHRoLCAkZ3V0dGVyLXdpZHRoOiAkYXJlYS1ndXR0ZXItd2lkdGggKTtcclxuLy8gZXgpIEBpbmNsdWRlIG1ha2UtYXJlYSggJHdpZHRoOiAxNjAwcHggKTtcclxuLy9AbWl4aW4gbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiBudWxsLCAkZ3V0dGVyLXdpZHRoOiBudWxsLCAkd2lkdGg6IDEwMCUgKSB7XHJcbi8vICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICB3aWR0aDogJHdpZHRoO1xyXG4vLyAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4vLyAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4vLyAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbi8vICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xyXG4vLyAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xyXG4vL31cclxuXHJcbkBtaXhpbiBtYWtlLWFyZWEoICRhcmVhLWluZm86ICRnX2RlZmF1bHQtYXJlYSApIHtcclxuICAkd2lkdGg6IDEwMCU7XHJcbiAgQGlmICBtYXAtaGFzLWtleSgkYXJlYS1pbmZvLCB3aWR0aCkge1xyXG4gICAgJHdpZHRoIDogbWFwLWdldCgkYXJlYS1pbmZvLCB3aWR0aClcclxuICB9IEBlbHNlIHtcclxuICAgICR3aWR0aCA6IDEwMCVcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRhcmVhLWluZm8sIG1heC13aWR0aCk7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcclxuICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcclxufVxyXG5cclxuIiwiLy8gbWFrZS1yb3cg66+57Iqk7J24XHJcbi8vIFvrp6TqsJzrs4DsiJhdXHJcbi8vICRncmlkLWd1dHRlciDquLDrs7jqsJI6ICRncmlkLWd1dHRlci13aWR0aFxyXG4vLyAkZ3JpZC1ndXR0ZXIg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgbWFyZ2luLXJpZ2h0LCBtYXJnaW4tbGVmdCDqsJLsnYQg7IWL7YyF7ZW0IOykjeuLiOuLpC5cclxuLy8gZXgpIEBpbmNsdWRlIG1ha2Utcm93KCAkZ3JpZC1ndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XHJcbkBtaXhpbiBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyO1xyXG4gIEBpbmNsdWRlIGNsZWFyKCk7XHJcbn1cclxuXHJcbi8vIG1ha2UtY29sLXNldCDrr7nsiqTsnbhcclxuLy8gW+unpOqwnOuzgOyImF1cclxuLy8gJGdyaWQtY29sLWNudCDquLDrs7jqsJI6ICRncmlkLWNvbHVtbnNcclxuLy8gJGdyaWQtY29sLWNudCDsoITri6zrkJwg6rCS7J2YIOqwnOyImOunjO2CgeydmCBjb2wscHVsbCxwdXNoLG9mZnNldCDrk7HsnYQg66eM65Ok7Ja07KSN64uI64ukLlxyXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1jb2wtc2V0KCk7XHJcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoJGdyaWQtY29sLWNudDogNSk7XHJcbkBtaXhpbiBtYWtlLWNvbC1zZXQoICRncmlkLWNvbC1pbmZvOiAkZ19ncmlkLWNvbC1pbmZvICkge1xyXG4gICRncmlkLWNvbC1uYW1lOiBudWxsO1xyXG4gIEBpZiAgbWFwLWhhcy1rZXkoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpIHtcclxuICAgICRncmlkLWNvbC1uYW1lIDogbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtbmFtZSlcclxuICB9IEBlbHNlIHtcclxuICAgICRncmlkLWNvbC1uYW1lIDogbnVsbFxyXG4gIH1cclxuICAgIEBpbmNsdWRlIG1ha2UtY29sKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xyXG4gIEBpbmNsdWRlIG1ha2UtcHVsbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcclxuICBAaW5jbHVkZSBtYWtlLXB1c2goIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbiAgQGluY2x1ZGUgbWFrZS1vZmZzZXQoIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFrZS1jb2woICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xyXG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcclxuICAgICAgLiN7JGNvbC1uYW1lfWNvbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wtYXV0byB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH07XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRpfSB7XHJcbiAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9Y29sLSN7JGJyZWFrcG9pbnR9IHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS1hdXRvIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2UtcHVsbCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XHJcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICAuI3skY29sLW5hbWV9cHVsbC0wIHtcclxuICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGl9IHtcclxuICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LTAge1xyXG4gICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XHJcbiAgICAgICAgICAuI3skY29sLW5hbWV9cHVsbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFrZS1wdXNoKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XHJcbiAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLTAge1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAuI3skY29sLW5hbWV9cHVzaC0jeyRpfSB7XHJcbiAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LTAge1xyXG4gICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IHtcclxuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcclxuICAgICAgICAgICAgbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1ha2Utb2Zmc2V0KCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2x1bW5zLCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcclxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcclxuICAgICRwb2ludDogbWVkaWEtcXVlcnktbWluLXZhbCgkYnJlYWtwb2ludCk7XHJcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQgLSAxIHtcclxuICAgICAgICAuI3skY29sLW5hbWV9b2Zmc2V0LSN7JGl9IHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICN7JHBvaW50fSkge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCAtIDEge1xyXG4gICAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsQUFDRSxrQkFEZ0IsQ0FDZjtFQUNDLFVBQVUsRUFBRSxLQUFLO0NBdUJsQjs7QUF6QkgsQUFJTSxrQkFKWSxDQUdkLFlBQVksQ0FDVixZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLGFBQWEsRUFBRSxJQUFJO0NBSXBCOztBQVZQLEFBT1Esa0JBUFUsQ0FHZCxZQUFZLENBQ1YsWUFBWSxBQUdULFdBQVcsQ0FBQTtFQUNWLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQVRULEFBV00sa0JBWFksQ0FHZCxZQUFZLENBUVYsS0FBSyxDQUFBO0VBQ0gsZUFBZSxFQUFFLEtBQUs7RUFDdEIsbUJBQW1CLEVBQUUsTUFBTTtFQUMzQixpQkFBaUIsRUFBRSxTQUFTO0NBUzdCOztBQXZCUCxBQWVRLGtCQWZVLENBR2QsWUFBWSxDQVFWLEtBQUssQUFJRixNQUFNLENBQUE7RUFDTCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsV0FBVyxFQUFFLEtBQUs7Q0FJbkI7O0FHWEgsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFSFh6QyxBQWVRLGtCQWZVLENBR2QsWUFBWSxDQVFWLEtBQUssQUFJRixNQUFNLENBQUE7SUFLSCxXQUFXLEVBQUUsT0FBTztHQUV2QiJ9 */
