body {
    /*background-color: lightgray;*/
}

.nav-item.dropdown.active .dropdown-menu,
.nav-item .dropdown:hover .dropdown-menu {

    display: block;


}

#navbarTop ul {
    width: 99%;
}

#navbarTop li a.login {
    /*float: right;*/
    /*margin-right: 10px;*/
}

#navbarTop li .nav-link {
    margin-top: 5px;
    color: #fff;
    font-size: 18px;
}

#navbarTop li {
    width: 33%;
    color: #fff;
}

.logo_holder h2 {
    float: left;
    font-size: 40px;
    margin-left: 10px;
}

.logo_holder i {
    font-size: 50px;
    float: left;
}

.logo_holder {
    text-decoration: none;
    color: #fff;
}

.pointer-event {
    cursor: pointer;
}

a.black {
    color: #000;
}

/*// Test*/

.chosen-container.chosen-container-single .chosen-single {
    display: block;
    width: 100%;
    height: 32px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.388571429;
    color: #555;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    background-image: none
}

.chosen-container.chosen-container-single .chosen-single div {
    top: 4px;
    color: #000
}

.chosen-container.chosen-container-single.chosen-container-active .chosen-single, .chosen-container.chosen-container-single .chosen-search input[type=text]:focus {
    border-color: #66AFE9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6)
}

.chosen-container.chosen-container-single.chosen-disabled .chosen-single {
    background-color: #EEE;
    color: black
}

.chosen-container .chosen-drop {
    background-color: #FFF;
    border: none;
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
    margin: 1px 0 0 0;
    padding-top: 1px
}

.chosen-container.chosen-with-drop .chosen-drop {
    border: 1px solid #CCC;
    border: 1px solid rgba(0, 0, 0, 0.15)
}

.chosen-container .chosen-search input[type=text] {
    display: block;
    width: 100%;
    height: 32px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.388571429;
    color: #555;
    vertical-align: middle;
    background-color: #FFF;
    border: 1px solid #CCC;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    background-image: none
}

.chosen-container .chosen-results {
    margin: 2px 0 0;
    padding: 5px 0;
    font-size: 14px;
    list-style: none;
    background-color: #fff;
    margin-bottom: 5px
}

.chosen-container .chosen-results li {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.388571429;
    color: #333;
    background-image: none
}

.chosen-container .chosen-results li.active-result {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.388571429;
    color: #333;
    background-image: none
}

.chosen-container .chosen-results li:hover, .chosen-container .chosen-results li.active-result:hover, .chosen-container .chosen-results li.highlighted {
    color: #FFF;
    text-decoration: none;
    background-color: #428BCA;
    background-image: none
}

.chosen-container.chosen-container-multi .chosen-results li.result-selected {
    display: list-item;
    color: #ccc;
    cursor: default;
    background-color: white
}

.chosen-container.chosen-container-multi .chosen-choices {
    display: block;
    width: 100%;
    min-height: 32px;
    font-size: 14px;
    line-height: 1;
    color: #555;
    vertical-align: middle;
    background-color: #FFF;
    border: 1px solid #CCC;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    background-image: none
}

.chosen-container.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    padding: 5px 0
}

.chosen-container.chosen-container-multi .chosen-choices li.search-choice {
    background-image: none;
    padding: 2px 24px 2px 5px;
    margin: 2px 6px 0 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.388571429;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    background-color: #FFF;
    border-color: #CCC
}

.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: 6px;
    right: 6px
}

.chosen-container.chosen-container-multi.chosen-container-active .chosen-choices {
    border-color: #66AFE9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6)
}

.chosen-container.chosen-container-multi.chosen-disabled .chosen-choices {
    background-color: #EEE;
    color: black
}

.chosen-container.chosen-container-multi.chosen-disabled .chosen-choices li.search-choice {
    padding-right: 5px;
    background-color: #EEE
}

.chosen-container.chosen-container-multi.chosen-disabled .chosen-choices li.search-choice .search-choice-close {
    display: none
}


.mobile_flex,
.mobile {
    display: none;
}


@media (max-width: 768px) {

    body .navbar {
        margin-top: 62px !important;
    }

    .mobile_flex {
        display: flex;
    }
    .mobile {
        display: block;
    }

    .desktop {
        display: none;
    }

    .popup_filter.wide_2,
    .popup_filter.wide_3 {
        column-count: 1 !important;
        min-width: auto !important;
    }

    .context_menu {
        /*width: 100%;*/
        /*position: static !important;*/
        /*top: auto;*/
        /*right: auto;*/
        /*float: right;*/
        /*width: 100% !important;*/
        /*text-align: right;*/
    }

    #footer {
        margin-top: 350px !important;
    }

    #header {
        z-index: 1050;
    }

    #register_block {
        width: auto !important;
    }
}

.one_result {
  border: 3px solid #fff3e6;
  padding: 28px;
  margin-bottom: 18px;
  border-radius: 12px;
  background-color: #ffffff;
}
.tag {
  border: 1px solid #6d6d6d;
  font-size: 11px;
  background-color: #fff;
  margin-right: 5px;
  padding: 4px;
  border-radius: 4px;
  display: block;
  float: left;
  margin-top: 13px;
}
.popup_filter.show {
  display: block;
}
.popup_filter.wide_3 {
  column-count: 3;
  min-width: 800px;
}
.popup_filter.wide_2 {
  column-count: 2;
  min-width: 500px;
}
.popup_filter {
  min-width: 260px;
  height: auto;
  position: relative;
  border: 1px solid #cecece;
  padding: 18px;
  border-radius: 5px;
  left: 0px;
  top: 0px;
  background-color: #fff;
  display: none;
  z-index: 10000;
}
#filter_search.hideSearch {
  display: none;
}
#results_search {
  display: none;
}
#results_search.hideSearch {
  display: block;
}
.small_button {
  height: 39px !important;
  font-size: 23px !important;;
  padding-top: 10px !important;
}
#results_search .row.tag_indiv {
  border: 2px solid #fff3e6;
  padding-bottom: 5px;
  margin-right: -6px;
  padding-top: 5px;
  background-color: #cecece2e;
  border-radius: 10px !important;
  margin: 5px;
  background-color: #fff3e6b3 !important;
}
.tag_bar {
  border-right: 1px solid #cecece;
}
#results_search > div {
  float: left;
}
.context_menu {
  width: 143px;
  float: right;
  margin-right: -18px;
}
.context_menu i {
  opacity: 0.5;
}
.context_menu i:hover {
  opacity: 0.9;
}
#search_button,
.no_filter_button,
#reset_filter {
  height: 39px;
  font-size: 17px;
  margin-top: 10px;
  border-radius: 10px;
  padding-top: 10px;
  width: 100%;
}
.tag_indiv i {
  font-size: 11px;
  cursor: pointer;
}



/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL0FwcC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSwrQkFBK0I7QUFDbkM7O0FBRUE7OztJQUdJLGNBQWM7OztBQUdsQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxVQUFVO0lBQ1YsV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztBQUNmOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUEsVUFBVTs7QUFFVjtJQUNJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsZ0RBQWdEO0lBQ2hELDhFQUE4RTtJQUM5RSxzRUFBc0U7SUFDdEU7QUFDSjs7QUFFQTtJQUNJLFFBQVE7SUFDUjtBQUNKOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFVBQVU7SUFDVjtBQUNKOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQiwyQ0FBMkM7SUFDM0MsNEJBQTRCO0lBQzVCLGlCQUFpQjtJQUNqQjtBQUNKOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGdEQUFnRDtJQUNoRCxnRkFBZ0Y7SUFDaEYsd0VBQXdFO0lBQ3hFO0FBQ0o7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLFdBQVc7SUFDWDtBQUNKOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixXQUFXO0lBQ1g7QUFDSjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCO0FBQ0o7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGVBQWU7SUFDZjtBQUNKOztBQUVBO0lBQ0ksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWM7SUFDZCxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGdEQUFnRDtJQUNoRCxnRkFBZ0Y7SUFDaEYsd0VBQXdFO0lBQ3hFO0FBQ0o7O0FBRUE7SUFDSTtBQUNKOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSSxRQUFRO0lBQ1I7QUFDSjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixVQUFVO0lBQ1Y7QUFDSjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QjtBQUNKOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCO0FBQ0o7O0FBRUE7SUFDSTtBQUNKOzs7QUFHQTs7SUFFSSxhQUFhO0FBQ2pCOzs7QUFHQTs7SUFFSTtRQUNJLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLGFBQWE7SUFDakI7SUFDQTtRQUNJLGNBQWM7SUFDbEI7O0lBRUE7UUFDSSxhQUFhO0lBQ2pCOztJQUVBOztRQUVJLDBCQUEwQjtRQUMxQiwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsK0JBQStCO1FBQy9CLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLDBCQUEwQjtRQUMxQixxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSw0QkFBNEI7SUFDaEM7O0lBRUE7UUFDSSxhQUFhO0lBQ2pCOztJQUVBO1FBQ0ksc0JBQXNCO0lBQzFCO0FBQ0osQzs7QUMrMEJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7QUFDQTtBQUNBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7QUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFFQTtFQUNBO0FBQ0E7QUFFQTtFQUNBO0FBQ0E7QUFFQTs7O0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFFQTtFQUNBO0VBQ0E7QUFDQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keSB7XG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7Ki9cbn1cblxuLm5hdi1pdGVtLmRyb3Bkb3duLmFjdGl2ZSAuZHJvcGRvd24tbWVudSxcbi5uYXYtaXRlbSAuZHJvcGRvd246aG92ZXIgLmRyb3Bkb3duLW1lbnUge1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cblxufVxuXG4jbmF2YmFyVG9wIHVsIHtcbiAgICB3aWR0aDogOTklO1xufVxuXG4jbmF2YmFyVG9wIGxpIGEubG9naW4ge1xuICAgIC8qZmxvYXQ6IHJpZ2h0OyovXG4gICAgLyptYXJnaW4tcmlnaHQ6IDEwcHg7Ki9cbn1cblxuI25hdmJhclRvcCBsaSAubmF2LWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbiNuYXZiYXJUb3AgbGkge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5sb2dvX2hvbGRlciBoMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4ubG9nb19ob2xkZXIgaSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ubG9nb19ob2xkZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLnBvaW50ZXItZXZlbnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYS5ibGFjayB7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qLy8gVGVzdCovXG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM4ODU3MTQyOTtcbiAgICBjb2xvcjogIzU1NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmVcbn1cblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgICB0b3A6IDRweDtcbiAgICBjb2xvcjogIzAwMFxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSwgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjZBRkU5O1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1zaW5nbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBtYXJnaW46IDFweCAwIDAgMDtcbiAgICBwYWRkaW5nLXRvcDogMXB4XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1kcm9wIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSlcbn1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4zODg1NzE0Mjk7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMnB4IDAgMDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDVweFxufVxuXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzg4NTcxNDI5O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmVcbn1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmFjdGl2ZS1yZXN1bHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzg4NTcxNDI5O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmVcbn1cblxuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpOmhvdmVyLCAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuYWN0aXZlLXJlc3VsdDpob3ZlciwgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyOEJDQTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1yZXN1bHRzIGxpLnJlc3VsdC1zZWxlY3RlZCB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHBhZGRpbmc6IDVweCAwXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgcGFkZGluZzogMnB4IDI0cHggMnB4IDVweDtcbiAgICBtYXJnaW46IDJweCA2cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM4ODU3MTQyOTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBib3JkZXItY29sb3I6ICNDQ0Ncbn1cblxuLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgdG9wOiA2cHg7XG4gICAgcmlnaHQ6IDZweFxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjZBRkU5O1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgMC42KVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLWNob2ljZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgY29sb3I6IGJsYWNrXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkuY2hvc2VuLWRpc2FibGVkIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRVxufVxuXG4uY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG5cbi5tb2JpbGVfZmxleCxcbi5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cbiAgICBib2R5IC5uYXZiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1vYmlsZV9mbGV4IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucG9wdXBfZmlsdGVyLndpZGVfMixcbiAgICAucG9wdXBfZmlsdGVyLndpZGVfMyB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29udGV4dF9tZW51IHtcbiAgICAgICAgLyp3aWR0aDogMTAwJTsqL1xuICAgICAgICAvKnBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsqL1xuICAgICAgICAvKnRvcDogYXV0bzsqL1xuICAgICAgICAvKnJpZ2h0OiBhdXRvOyovXG4gICAgICAgIC8qZmxvYXQ6IHJpZ2h0OyovXG4gICAgICAgIC8qd2lkdGg6IDEwMCUgIWltcG9ydGFudDsqL1xuICAgICAgICAvKnRleHQtYWxpZ246IHJpZ2h0OyovXG4gICAgfVxuXG4gICAgI2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2hlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDEwNTA7XG4gICAgfVxuXG4gICAgI3JlZ2lzdGVyX2Jsb2NrIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59IiwiPHRlbXBsYXRlPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiYXBwX2NvbnRhaW5lclwiPlxyXG5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBtdC0zXCIgaWQ9XCJmaWx0ZXJfc2VhcmNoXCIgdi1iaW5kOmNsYXNzPVwie2hpZGVTZWFyY2g6IGxvYWRlZFNlYXJjaH1cIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHYtbW9kZWw9XCJ2aWV3WydsZWVmdGlqZCddXCIgaWQ9XCJzZWFyY2hfbGVlZnRpamRcIiByZWFkb25seSBwbGFjZWhvbGRlcj1cIkxlZWZ0aWpkXCIgY2xhc3M9XCJzZWFyY2hfbGVlZnRpamQgZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bl9pY29uX2hvcml6b250YWxcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwX2ZpbHRlclwiPlxyXG4gICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVwibGVlZnRpamQgaW4gZ2V0TGVlZnRpamRlbigpXCIgdi1pZj1cInJlZnJlc2hVc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC0xXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJzZWFyY2gubGVlZnRpamRcIiB2LWJpbmQ6dmFsdWU9XCJsZWVmdGlqZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTAgY29sLW1kLTExXCIgPlxyXG4gICAgICAgICAgICAgICAge3sgbGVlZnRpamRbMV0gfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHYtbW9kZWw9XCJ2aWV3WydzZXR0aW5nJ11cIiBpZD1cInNlYXJjaF9zZXR0aW5nXCIgcmVhZG9ubHkgcGxhY2Vob2xkZXI9XCJTZXR0aW5nXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX2ljb25faG9yaXpvbnRhbFwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfZmlsdGVyXCI+XHJcbiAgICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJzZXR0aW5nIGluIGdldFNldHRpbmcoKVwiIHYtaWY9XCJyZWZyZXNoVXNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtMVwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiB2LW1vZGVsPVwic2VhcmNoLnNldHRpbmdcIiB2LWJpbmQ6dmFsdWU9XCJzZXR0aW5nXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMCBjb2wtbWQtMTFcIj5cclxuICAgICAgICAgICAgICAgIHt7IHNldHRpbmdbMV0gfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHYtbW9kZWw9XCJ2aWV3WydicmFuY2hlJ11cIiBpZD1cInNlYXJjaF9icmFuY2hlXCIgcmVhZG9ubHkgcGxhY2Vob2xkZXI9XCJCcmFuY2hlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX2ljb25faG9yaXpvbnRhbFwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfZmlsdGVyIHdpZGVfM1wiPlxyXG4gICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVwiYnJhbmNoZSBpbiBnZXRCcmFuY2hlcygpXCIgdi1pZj1cInJlZnJlc2hVc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC0xXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJzZWFyY2guYnJhbmNoZVwiIHYtYmluZDp2YWx1ZT1cImJyYW5jaGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwIGNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAge3sgYnJhbmNoZVsxXSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPHRlbXBsYXRlIHYtaWY9XCJnZXRBYW5kYWNodCgpXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cInZpZXdbJ2FhbmRhY2h0J11cIiBpZD1cInNlYXJjaF9hYW5kYWNodFwiIHJlYWRvbmx5IHBsYWNlaG9sZGVyPVwiQWFuZGFjaHRzZ2ViaWVkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd25faWNvbl9ob3Jpem9udGFsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwX2ZpbHRlciB3aWRlXzJcIj5cclxuICAgICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVwiYWFuZGFjaHQgaW4gZ2V0QWFuZGFjaHQoKVwiIHYtaWY9XCJyZWZyZXNoVXNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTIgY29sLW1kLTFcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJzZWFyY2guYWFuZGFjaHRcIiB2LWJpbmQ6dmFsdWU9XCJhYW5kYWNodFwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwIGNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBhYW5kYWNodFsxXSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2LW1vZGVsPVwidmlld1sncmVnaW8nXVwiIGlkPVwic2VhcmNoX3JlZ2lvXCIgcmVhZG9ubHkgcGxhY2Vob2xkZXI9XCJSZWdpb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bl9pY29uX2hvcml6b250YWxcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwX2ZpbHRlclwiPlxyXG4gICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVwicmVnaW8gaW4gZ2V0UmVnaW8oKVwiIHYtaWY9XCJyZWZyZXNoVXNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtMVwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiB2LW1vZGVsPVwic2VhcmNoLnJlZ2lvXCIgdi1iaW5kOnZhbHVlPVwicmVnaW9cIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwIGNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAge3sgcmVnaW9bMV0gfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxyXG4gICAgICAgIDxidXR0b24gdi1vbjpjbGljaz1cInNlYXJjaFZhY2FuY2llc1wiIGNsYXNzPVwic21hbGxfYnV0dG9uIHctMTAwIGJ0biBidG4tcHJpbWFyeVwiPlpvZWtlbjwvYnV0dG9uPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uX2hvbGRlclwiIHN0eWxlPVwid2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IGZsb2F0OiByaWdodDtcIj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgdi1zaG93PVwiIXNlYXJjaEJ1dHRvbkNsaWNrZWRcIiAgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgPGgyPk5vdGlmaWNhdGllIG9udHZhbmdlbiBiaWogbmlldXcgZ2VwbGFhdHN0ZSBvcGRyYWNodGVuPzwvaDI+XHJcbiAgICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuICAgIDxkaXYgdi1zaG93PVwiIXNlYXJjaEJ1dHRvbkNsaWNrZWRcIiAgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEgbWwtMyBjb2wtbWQtMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIG5hbWU9XCJzYXZlX3NlYXJjaFwiIHYtbW9kZWw9XCJzYXZlU2VhcmNoXCIgaWQ9XCJzYXZlX3NlYXJjaFwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMCBjb2wtbWQtMTBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMjRweDtcIj5cclxuXHJcbiAgICAgICAgamEsIGlrIG9udHZhbmcgZ3JhYWcgZWVuIDxzdHJvbmc+ZS1tYWlsYWxlcnQ8L3N0cm9uZz4gYmlqIG5pZXV3IGdlcGxhYXRzdGUgb3BkcmFjaHRlbiBkaWUgbWF0Y2hlbiBtZXQgbWlqbiB2b29ya2V1cmVuIVxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IHYtc2hvdz1cInNlYXJjaF9hdF9sZWFzdF9vbmVfdGFnXCIgY2xhc3M9XCJyb3cgbXQtM1wiIHYtYmluZDpjbGFzcz1cIntoaWRlU2VhcmNoOiBsb2FkZWRTZWFyY2h9XCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPlxyXG4gICAgICAgICAgS2llcyB0ZW5taW5zdGUgZWVuIHRhZyBvbSB0ZSB6b2VrZW4uLlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIiBpZD1cInJlc3VsdHNfc2VhcmNoXCIgdi1iaW5kOmNsYXNzPVwie2hpZGVTZWFyY2g6IGxvYWRlZFNlYXJjaH1cIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyB0YWdfYmFyIG1iLTVcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0yXCI+XHJcbiAgICAgICAgICAgIDxoMiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDtcIj5HZXNlbGVjdGVlcmRlIGZpbHRlcnM6PC9oMj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJ0YWcgaW4gdmlld1snYWxsJ11cIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgdGFnX2luZGl2XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMFwiPlxyXG4gICAgICAgICAgICAgICAge3sgdGFnWzFdIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xXCI+XHJcbiAgICAgICAgICAgICAgICA8aSB2LW9uOmNsaWNrPVwicmVtb3ZlVGFnKHRhZ1swXSwgdGFnWzFdKVwiIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cInZpZXdbJ2xlZWZ0aWpkJ11cIiBpZD1cInNlYXJjaF9sZWVmdGlqZF8yXCIgcmVhZG9ubHkgcGxhY2Vob2xkZXI9XCJMZWVmdGlqZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd25faWNvbl9ob3Jpem9udGFsXCI+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwX2ZpbHRlclwiPlxyXG4gICAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWZvcj1cImxlZWZ0aWpkIGluIGdldExlZWZ0aWpkZW4oKVwiIHYtaWY9XCJyZWZyZXNoVXNcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtMVwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiB2LW1vZGVsPVwic2VhcmNoLmxlZWZ0aWpkXCIgdi1iaW5kOnZhbHVlPVwibGVlZnRpamRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMCBjb2wtbWQtMTFcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBsZWVmdGlqZFsxXSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cInZpZXdbJ3NldHRpbmcnXVwiIGlkPVwic2VhcmNoX3NldHRpbmdcIiByZWFkb25seSBwbGFjZWhvbGRlcj1cIlNldHRpbmdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bl9pY29uX2hvcml6b250YWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfZmlsdGVyXCI+XHJcbiAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWZvcj1cInNldHRpbmcgaW4gZ2V0U2V0dGluZygpXCIgdi1pZj1cInJlZnJlc2hVc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiAgY29sLW1kLTFcIj48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgdi1tb2RlbD1cInNlYXJjaC5zZXR0aW5nXCIgdi1iaW5kOnZhbHVlPVwic2V0dGluZ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMCAgY29sLW1kLTExXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHNldHRpbmdbMV0gfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RlbXBsYXRlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiB2LW1vZGVsPVwidmlld1snYnJhbmNoZSddXCIgaWQ9XCJzZWFyY2hfYnJhbmNoZVwiIHJlYWRvbmx5IHBsYWNlaG9sZGVyPVwiQnJhbmNoZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX2ljb25faG9yaXpvbnRhbFwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfZmlsdGVyIHdpZGVfM1wiPlxyXG4gICAgICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJicmFuY2hlIGluIGdldEJyYW5jaGVzKClcIiB2LWlmPVwicmVmcmVzaFVzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yICBjb2wtbWQtMVwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiB2LW1vZGVsPVwic2VhcmNoLmJyYW5jaGVcIiB2LWJpbmQ6dmFsdWU9XCJicmFuY2hlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwICBjb2wtbWQtMTFcIj5cclxuICAgICAgICAgICAgICAgICAge3sgYnJhbmNoZVsxXSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPHRlbXBsYXRlIHYtaWY9XCJnZXRBYW5kYWNodCgpXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cInZpZXdbJ2FhbmRhY2h0J11cIiBpZD1cInNlYXJjaF9hYW5kYWNodFwiIHJlYWRvbmx5IHBsYWNlaG9sZGVyPVwiQWFuZGFjaHRzZ2ViaWVkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bl9pY29uX2hvcml6b250YWxcIj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXBfZmlsdGVyIHdpZGVfMiBcIj5cclxuICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJhYW5kYWNodCBpbiBnZXRBYW5kYWNodCgpXCIgdi1pZj1cInJlZnJlc2hVc1wiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC0xXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJzZWFyY2guYWFuZGFjaHRcIiB2LWJpbmQ6dmFsdWU9XCJhYW5kYWNodFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwIGNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGFhbmRhY2h0WzFdIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvdGVtcGxhdGU+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cInZpZXdbJ3JlZ2lvJ11cIiBpZD1cInNlYXJjaF9yZWdpb1wiIHJlYWRvbmx5IHBsYWNlaG9sZGVyPVwiUmVnaW9cIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duX2ljb25faG9yaXpvbnRhbFwiPjwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cF9maWx0ZXJcIj5cclxuICAgICAgICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJyZWdpbyBpbiBnZXRSZWdpbygpXCIgdi1pZj1cInJlZnJlc2hVc1wiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0yIGNvbC1tZC0xXCI+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJzZWFyY2gucmVnaW9cIiB2LWJpbmQ6dmFsdWU9XCJyZWdpb1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEwIGNvbC1tZC0xMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHJlZ2lvWzFdIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHYtb246Y2xpY2s9XCJzZWFyY2hWYWNhbmNpZXNcIiBpZD1cInNlYXJjaF9idXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1zZWFyY2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IFpvZWtlbjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG48IS0tICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+LS0+XHJcbjwhLS0gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPi0tPlxyXG48IS0tICAgICAgICAgICAgPGEgbmFtZT1cInNlbGZcIiBjbGFzcz1cIm5vX2ZpbHRlcl9idXR0b24gYnRuIGJ0bi1wcmltYXJ5XCIgaHJlZj1cIiNzZWxmXCIgdi1vbjpjbGljaz1cInNlYXJjaEFsbFZhY2FuY2llc1wiIHN0eWxlPVwiXCI+IE9mIHRvb24gYWxsZXM8L2E+LS0+XHJcbjwhLS0gICAgICAgICAgPC9kaXY+LS0+XHJcbjwhLS0gICAgICAgIDwvZGl2Pi0tPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTUgbWItNSBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMiBjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgc2F2ZV9zZWFyY2hfdGlwcHlcIiB0aXRsZT1cIkFscyBqZSBkZXplIGFhbnZpbmt0IG9udHZhbmcgamUgYXV0b21hdGlzY2ggZWVuIG1lbGRpbmcgYmlqIG5pZXV3ZSBvcGRyYWNodGVuIG1ldCBkZXplIG1hdGNoY3JpdGVyaWFcIiBuYW1lPVwic2F2ZV9zZWFyY2hcIiB2LW1vZGVsPVwic2F2ZVNlYXJjaFwiIGlkPVwic2F2ZV9zZWFyY2hcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMCBjb2wtbWQtMTBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDtcIj5cclxuICAgICAgICAgICAgSWsgb250dmFuZyBncmFhZyBlZW4gPHN0cm9uZz5lLW1haWxhbGVydDwvc3Ryb25nPiBiaWogbmlldXcgZ2VwbGFhdHN0ZSBvcGRyYWNodGVuIGRpZSBtYXRjaGVuIG1ldCBtaWpuIHZvb3JrZXVyZW4hXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0zIG1iLTVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB2LW9uOmNsaWNrPSdyZXNldEZpbHRlcigpOycgIGlkPVwicmVzZXRfZmlsdGVyXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5SZXNldCBmaWx0ZXJzPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC01XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgICAgIDxhIGNsYXNzPVwiIG5vX2ZpbHRlcl9idXR0b24gYnRuIGJ0bi1wcmltYXJ5IFwiIGhyZWY9XCIvc2VhcmNoXCI+VGVydWc8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTkgbWItNVwiPlxyXG5cclxuICAgICAgICA8dGVtcGxhdGUgdi1pZj1cInJlc3VsdHMubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBwLTNcIj5cclxuICAgICAgICAgICAgICBFciB6aWpuIGdlZW4gcmVzdWx0YXRlbiBvcCBqZSB6b2VrIGFjdGllLi5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG5cclxuICAgICAgICA8dGVtcGxhdGUgdi1mb3I9XCJyZXN1bHQgaW4gcmVzdWx0c1wiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcG9pbnRlci1ldmVudFwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwX2NvbnRhaW5lciBvbmVfcmVzdWx0XCI+XHJcblxyXG48IS0tICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbW9iaWxlX2ZsZXhcIiB2LW9uOmNsaWNrPVwiZ29Ub1ZhY2FuY3kocmVzdWx0LmlkKVwiPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1tZC0xMlwiPiA8c3Ryb25nIHN0eWxlPVwiZm9udC1zaXplOiAyNXB4O1wiPnt7IHJlc3VsdC5maWVsZHMucmVmZXJlbnRpZSB9fTwvc3Ryb25nPiA8L2Rpdj4tLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtbWQtNFwiPi0tPlxyXG5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZXh0X21lbnVcIj4tLT5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXBweVwiIHRpdGxlPVwiUmVhZ2VlciBvcCBvcGRyYWNodFwiIHYtYmluZDpocmVmPVwiJy9yZWFnZWVyLycgKyByZXN1bHQuaWRcIj48aSBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJmYXIgZmEtY29tbWVudC1kb3RzXCI+PC9pPjwvYT4tLT5cclxuXHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGlwcHlcIiB0aXRsZT1cIk1hYWsgZmF2b3JpZXRcIiAgdi1vbjpjbGljaz1cInNldEZhdm9yaXRlKHJlc3VsdC5pZClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPi0tPlxyXG5cclxuPCEtLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJmYXMgZmEtc3Rhci1vXCI+PC9pPi0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+LS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHYtb246Y2xpY2s9XCJzZXREZWxldGVkUGVyc29uYWwocmVzdWx0LmlkKTtcIiBocmVmPVwiI1wiPjxpIHN0eWxlPVwiZm9udC1zaXplOiAyNXB4OyBtYXJnaW4tbGVmdDogMTBweDtcIiBjbGFzcz1cImZhciBmYS10cmFzaC1hbHRcIj48L2k+PC9hPi0tPlxyXG5cclxuPCEtLSZsdDshJm5kYXNoOyAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgICBocmVmPVwiL3JlYWdlZXIve3sgdmFjYW5jeS5pZCB9fVwiPjxpIHN0eWxlPVwiZm9udC1zaXplOiAyNXB4OyBtYXJnaW4tbGVmdDogMTBweDtcIiBjbGFzcz1cImZhciBmYS1jb21tZW50LWRvdHNcIj48L2k+PC9hPiZuZGFzaDsmZ3Q7LS0+XHJcbjwhLS0mbHQ7ISZuZGFzaDsgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0aXBweVwiIHRpdGxlPVwiTWFhayBmYXZvcmlldFwiPjxpIHN0eWxlPVwiZm9udC1zaXplOiAyNXB4OyBtYXJnaW4tbGVmdDogMTBweDtcIiBjbGFzcz1cImZhcyBmYS1zdGFyXCI+PC9pPjwvYT4mbmRhc2g7Jmd0Oy0tPlxyXG48IS0tICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+LS0+XHJcbjwhLS0gICAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuPCEtLSAgICAgICAgICAgICAgICA8L2Rpdj4tLT5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGRlc2t0b3BcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy04XCIgdi1vbjpjbGljaz1cImdvVG9WYWNhbmN5KHJlc3VsdC5pZClcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDtcIj57eyByZXN1bHQuZmllbGRzLnJlZmVyZW50aWUgfX08L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGV4dF9tZW51IFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXBweVwiIHRpdGxlPVwiUmVhZ2VlciBvcCBvcGRyYWNodFwiIHYtYmluZDpocmVmPVwiJy9yZWFnZWVyLycgKyByZXN1bHQuaWRcIj48aSBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJmYXIgZmEtY29tbWVudC1kb3RzXCI+PC9pPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWlmPVwiaXNGYXZvcml0ZShyZXN1bHQuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwidGlwcHlcIiB0aXRsZT1cIlZlcndpamRlciBmYXZvcmlldFwiIHYtb246Y2xpY2s9XCJyZW1vdmVGYXZvcml0ZShyZXN1bHQuaWQpO1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+PGkgc3R5bGU9XCJmb250LXNpemU6IDI1cHg7IG1hcmdpbi1sZWZ0OiAxMHB4O1wiIGNsYXNzPVwiZmFzIGZhLXN0YXJcIj48L2k+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSB2LWlmPVwiIWlzRmF2b3JpdGUocmVzdWx0LmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInRpcHB5XCIgdGl0bGU9XCJNYWFrIGZhdm9yaWV0XCIgdi1vbjpjbGljaz1cInNldEZhdm9yaXRlKHJlc3VsdC5pZCk7XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj48aSBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJmYSBmYS1zdGFyLW9cIj48L2k+PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInRpcHB5XCIgdGl0bGU9XCJOaWV0IG1lZXIgdG9uZW5cIiB2LW9uOmNsaWNrPVwic2V0RGVsZXRlZFBlcnNvbmFsKHJlc3VsdC5pZCk7XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj48aSBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgbWFyZ2luLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJmYXIgZmEtdHJhc2gtYWx0XCI+PC9pPjwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMlwiIHYtb246Y2xpY2s9XCJnb1RvVmFjYW5jeShyZXN1bHQuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNiBjb2wtbWQtNlwiPlN0YW5kcGxhYXRzOiB7eyByZXN1bHQuZmllbGRzLnN0YW5kcGxhYXRzIH19ICh7eyByZXN1bHQuZmllbGRzLnJlZ2lvIH19KTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLW1kLTYgdGV4dC1yaWdodFwiPkFmc3RhbmQ6IHt7IHJlc3VsdC5kaXN0YW5jZSB9fSBraWxvbWV0ZXI8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTRcIiB2LW9uOmNsaWNrPVwiZ29Ub1ZhY2FuY3kocmVzdWx0LmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgY29sLW1kLTQgXCI+PHN0cm9uZz5PcmdhbmlzYXRpZTo8L3N0cm9uZz48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00IFwiPjxzdHJvbmc+QnJhbmNoZTwvc3Ryb25nPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgY29sLW1kLTQgdGV4dC1yaWdodFwiPjxzdHJvbmc+QWFuZGFjaHRzZ2ViaWVkPC9zdHJvbmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1vbjpjbGljaz1cImdvVG9WYWNhbmN5KHJlc3VsdC5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00IFwiPnt7IHJlc3VsdC5vcmdhbmlzYXRpb24gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00XCI+e3sgcmVzdWx0LnRhZ3MuQnJhbmNoZXMgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00IHRleHQtcmlnaHRcIj57eyByZXN1bHQudGFncy5BYW5kYWNodHNnZWJpZWRlbiB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC00XCIgdi1vbjpjbGljaz1cImdvVG9WYWNhbmN5KHJlc3VsdC5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00XCI+PHN0cm9uZz5MZWVmdGlqZHNncm9lcDwvc3Ryb25nPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgY29sLW1kLTQgXCI+PHN0cm9uZz5VcmVuIHBlciB3ZWVrOjwvc3Ryb25nPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTQgY29sLW1kLTQgdGV4dC1yaWdodFwiPjxzdHJvbmc+UHVibGljYXRpZSBkYXR1bTwvc3Ryb25nPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtb246Y2xpY2s9XCJnb1RvVmFjYW5jeShyZXN1bHQuaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNCBjb2wtbWQtNFwiPnt7IHJlc3VsdC50YWdzLkxlZWZ0aWpkc2dyb2VwZW4gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00IFwiPnt7IHJlc3VsdC5maWVsZHMuYWFudGFsX3V1cl9wZXJfd2VlayB9fSB1dXIgcGVyIHdlZWs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy00IGNvbC1tZC00IHRleHQtcmlnaHRcIj57eyByZXN1bHQuY3JlYXRlZCB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC00XCIgdi1vbjpjbGljaz1cImdvVG9WYWNhbmN5KHJlc3VsdC5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiIHYtaHRtbD1cInJlc3VsdC5vbXNjaHJpanZpbmdfb3BkcmFjaHRfc2hvcnRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiB2LW9uOmNsaWNrPVwiZ29Ub1ZhY2FuY3kocmVzdWx0LmlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFnXCIgc3R5bGU9XCIgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MCwgOTksIDUxKTtcclxuICAgIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcbiAgICB3aWR0aDogMTQycHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjUwLCA5OSwgNTEpO1wiPiBNZWVyIGluZm8gPC9zcGFuPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHRlbXBsYXRlIHYtZm9yPVwidGFnIGluIHJlc3VsdC50YWdzX2luZGl2aWR1YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFnXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGZvbnQtc2l6ZTogMjBweDsgXCI+e3sgdGFnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8L3RlbXBsYXRlPlxyXG5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG5cclxuPC90ZW1wbGF0ZT5cclxuXHJcblxyXG48c2NyaXB0PlxyXG5cclxuZnVuY3Rpb24gc2hvd1RpcHB5KCkge1xyXG5cclxuXHJcblxyXG4gIGNvbnN0IHRoaXNUaXBweSA9IHRpcHB5KCcuc2F2ZV9zZWFyY2hfdGlwcHknLCB7XHJcbiAgICBwbGFjZW1lbnQ6ICdsZWZ0JyxcclxuICAgIGNvbnRlbnQ6ICc8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMjBweDtcIj48c3Ryb25nPlZpbmsgZGV6ZSBhYW48L3N0cm9uZz4mbmJzcDtvbTxicj5ub3RpZmljYXRpZXMgdGUgb250dmFuZ2VuITwvc3Bhbj4nLFxyXG4gICAgYWxsb3dIVE1MOiB0cnVlLFxyXG4gIH0pO1xyXG5cclxuICB0aGlzVGlwcHlbMF0uc2hvdygpO1xyXG59XHJcblxyXG5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7XHJcblxyXG4gIGpRdWVyeSgnYm9keScpLm9uKCdjaGFuZ2UsIGZvY3VzLCBjbGljaycsICcjZmlsdGVyX3NlYXJjaCBpbnB1dFt0eXBlPXRleHRdLCAjcmVzdWx0c19zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XScsIGZ1bmN0aW9uKCkge1xyXG4gICAgJCgnLnBvcHVwX2ZpbHRlcicpLnJlbW92ZUNsYXNzKCdzaG93Jyk7XHJcbiAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJy5wb3B1cF9maWx0ZXInKS5hZGRDbGFzcygnc2hvdycpO1xyXG4gICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnb3BlbmVkJyk7XHJcblxyXG5cclxuICAgIGpRdWVyeSgnLnBvcHVwX2ZpbHRlciAuY29sLW1kLTExJykub2ZmKCdjbGljaycpO1xyXG4gICAgalF1ZXJ5KCcucG9wdXBfZmlsdGVyIC5jb2wtbWQtMTEnKS5vbignY2xpY2snLCBmdW5jdGlvbigpe1xyXG4gICAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJy5jb2wtbWQtMSBpbnB1dCcpLmNsaWNrKCk7XHJcbiAgICB9KTtcclxuXHJcblxyXG4gIH0pO1xyXG5cclxuICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cclxuICAgIGpRdWVyeSgnLnBvcHVwX2ZpbHRlcicpLmJpbmQoJ21vdXNlbGVhdmUnLCBmdW5jdGlvbigpIHtcclxuXHJcbiAgICAgICQodGhpcykucGFyZW50KCkuZmluZCgnLnBvcHVwX2ZpbHRlcicpLnJlbW92ZUNsYXNzKCdzaG93Jyk7XHJcbiAgICAgICQodGhpcykucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ29wZW5lZCcpO1xyXG4gICAgfSk7XHJcblxyXG4gIH0sIDIwMCk7XHJcblxyXG59KTtcclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgZGF0YTogKCkgPT4gKHtcclxuICAgIHJlZnJlc2hVczogdHJ1ZSxcclxuICAgIGNvdW50ZXI6IDEwLFxyXG4gICAgc2VhcmNoQnV0dG9uQ2xpY2tlZDogZmFsc2UsXHJcbiAgICBzYXZlU2VhcmNoOiBmYWxzZSxcclxuICAgIGxvYWRlZFNlYXJjaDogZmFsc2UsXHJcbiAgICBsb2FkZWQ6IGZhbHNlLFxyXG4gICAgYXV0b1NlYXJjaDogZmFsc2UsXHJcbiAgICByZXN1bHRzOiBbXSxcclxuICAgIGZhdm9yaXRlczogW10sXHJcbiAgICB1c2VyVGFnczogW10sXHJcbiAgICBmdW5jdGlvbl90aXRsZTogJ1BzeWNoaWF0ZXInLFxyXG4gICAgc2VhcmNoX2F0X2xlYXN0X29uZV90YWc6IGZhbHNlLFxyXG4gICAgcHJvZ3JhbW1hdGljU2F2ZVNlYXJjaENoYW5nZTogZmFsc2UsXHJcbiAgICB2aWV3OiB7XHJcbiAgICAgIGxlZWZ0aWpkOiBbXSxcclxuICAgICAgYnJhbmNoZTogW10sXHJcbiAgICAgIGFhbmRhY2h0OiBbXSxcclxuICAgICAgc2V0dGluZzogW10sXHJcbiAgICAgIHJlZ2lvOiBbXSxcclxuICAgICAgYWxsOiBbXSxcclxuICAgIH0sXHJcbiAgICBzZWFyY2g6IHtcclxuICAgICAgbGVlZnRpamQ6IFtdLFxyXG4gICAgICBicmFuY2hlOiBbXSxcclxuICAgICAgYWFuZGFjaHQ6IFtdLFxyXG4gICAgICBzZXR0aW5nOiBbXSxcclxuICAgICAgcmVnaW86IFtdLFxyXG4gICAgfVxyXG4gIH0pLFxyXG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcblxyXG4gICAgdmFyIHRhZ3NJblVybCA9ICcnO1xyXG5cclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgIT0gJy9zZWFyY2gnKSB7XHJcbiAgICAgIC8vIEdldCB0YWdzXHJcbiAgICAgIHRhZ3NJblVybCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcclxuICAgICAgdGFnc0luVXJsID0gdGFnc0luVXJsLnJlcGxhY2UoJy9zZWFyY2gvJywgJycpO1xyXG5cclxuICAgICAgX3RoaXMuYXV0b1NlYXJjaCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgJC5nZXRKU09OKCcvYWpheC9nZXRfZnVuY3Rpb25fdGl0bGUnLCBmdW5jdGlvbiAoanNvbikge1xyXG4gICAgICBfdGhpcy5mdW5jdGlvbl90aXRsZSA9IGpzb24uZnVuY3Rpb25fdGl0bGU7XHJcbiAgICAgIC8vIF90aGlzLmxvYWRlZCA9IHRydWU7XHJcbiAgICB9KTtcclxuXHJcbiAgICAkLmdldEpTT04oJy9hamF4L3RhZ3MnLCBmdW5jdGlvbiAoanNvbikge1xyXG4gICAgICBfdGhpcy5qc29uID0ganNvbjtcclxuICAgICAgX3RoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgIH0pO1xyXG5cclxuICAgICQuZ2V0SlNPTignL2FqYXgvZ2V0X2Zhdm9yaXRlcycsIGZ1bmN0aW9uIChqc29uKSB7XHJcbiAgICAgIF90aGlzLmZhdm9yaXRlcyA9IGpzb247XHJcbiAgICB9KTtcclxuXHJcbiAgICAkLmdldEpTT04oJy9hamF4L3VzZXJfdGFncy8nICsgdGFnc0luVXJsICsgJz90bW4yJyAsIGZ1bmN0aW9uIChqc29uKSB7XHJcblxyXG5cclxuXHJcbiAgICAgIF90aGlzLnVzZXJUYWdzID0ganNvbjtcclxuICAgIH0pO1xyXG4gICAgLy9cclxuICB9LFxyXG4gIHdhdGNoOiB7XHJcbiAgICBoaXN0b3J5VGFnczoge1xyXG4gICAgICBkZWVwOiBmYWxzZSxcclxuICAgICAgaGFuZGxlcigpIHtcclxuXHJcbiAgICAgICAgdmFyIHRhZ3MgPSB0aGlzLmhpc3RvcnlUYWdzO1xyXG4gICAgICAgIGZvciAodmFyIHByb3AgaW4gdGFncykge1xyXG5cclxuICAgICAgICAgIHByb3AgPSB0YWdzW3Byb3BdO1xyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgIHZhciB0eXBlID0gdGFnc1twcm9wXVswXTtcclxuICAgICAgICAgIHZhciB2YWx1ZSA9IHRhZ3NbcHJvcF1bMV07XHJcblxyXG5cclxuXHJcbiAgICAgICAgICBpZiAodHlwZSA9PSBcIkxlZWZ0aWpkc2dyb2VwXCIpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWFyY2hbJ2xlZWZ0aWpkJ10ucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBbcHJvcCwgdmFsdWVdO1xyXG5cclxuXHJcblxyXG4gICAgICAgICAgICB0aGlzLnZpZXdbJ2xlZWZ0aWpkJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFsnbGVlZnRpamQnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYWxsJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0eXBlID09IFwiQWFuZGFjaHRzZ2ViaWVkXCIpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWFyY2hbJ2FhbmRhY2h0J10ucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBbcHJvcCwgdmFsdWVdO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdbJ2FhbmRhY2h0J10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFsnYWFuZGFjaHQnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHR5cGUgPT0gXCJCcmFuY2hlXCIpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWFyY2hbJ2FhbmRhY2h0J10ucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBbcHJvcCwgdmFsdWVdO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdbJ2JyYW5jaGUnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoWydicmFuY2hlJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0eXBlID09IFwiU2V0dGluZ1wiKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VhcmNoWydhYW5kYWNodCddLnB1c2godmFsdWUpO1xyXG4gICAgICAgICAgICB2YXIgb2JqZWN0ID0gW3Byb3AsIHZhbHVlXTtcclxuICAgICAgICAgICAgdGhpcy52aWV3WydzZXR0aW5nJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFsnc2V0dGluZyddLnB1c2gob2JqZWN0KTtcclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgdXNlclRhZ3M6IHtcclxuICAgICAgZGVlcDogZmFsc2UsXHJcbiAgICAgIGhhbmRsZXIoKSB7XHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgIC8vIFVzZSB0aGUgbGF0ZXN0IHNhdmVkIHRhZ3NcclxuICAgICAgICAgIHZhciB0YWdzID0gdGhpcy5sYXRlc3RTYXZlZFRhZ3M7XHJcblxyXG5cclxuICAgICAgICBmb3IgKHZhciBwcm9wIGluIHRhZ3MpIHtcclxuXHJcbiAgICAgICAgICBcclxuXHJcbiAgICAgICAgICBpZiAocHJvcC5sZW5ndGggPT0gMikge1xyXG4gICAgICAgICAgICAvLyBSZWdpbyFcclxuXHJcbiAgICAgICAgICAgIHZhciByZWdpb3MgPSB0aGlzLmdldFJlZ2lvKCk7XHJcblxyXG5cclxuICAgICAgICAgICAgZm9yICh2YXIgcmVnaW9faWQgaW4gcmVnaW9zKSB7XHJcblxyXG5cclxuICAgICAgICAgICAgICBpZiAocmVnaW9zW3JlZ2lvX2lkXVswXSA9PSBwcm9wKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdbJ3JlZ2lvJ10ucHVzaChyZWdpb3NbcmVnaW9faWRdKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoWydyZWdpbyddLnB1c2gocmVnaW9zW3JlZ2lvX2lkXSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdbJ2FsbCddLnB1c2gocmVnaW9zW3JlZ2lvX2lkXSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHZhciB0eXBlID0gdGFnc1twcm9wXVswXTtcclxuICAgICAgICAgICAgdmFyIHZhbHVlID0gdGFnc1twcm9wXVsxXTtcclxuXHJcbiAgICAgICAgICBpZiAodHlwZSA9PSBcIkxlZWZ0aWpkc2dyb2VwXCIpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWFyY2hbJ2xlZWZ0aWpkJ10ucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBbcHJvcCwgdmFsdWVdO1xyXG5cclxuXHJcblxyXG4gICAgICAgICAgICB0aGlzLnZpZXdbJ2xlZWZ0aWpkJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFsnbGVlZnRpamQnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYWxsJ10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmICh0eXBlID09IFwiQWFuZGFjaHRzZ2ViaWVkXCIpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWFyY2hbJ2FhbmRhY2h0J10ucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIHZhciBvYmplY3QgPSBbcHJvcCwgdmFsdWVdO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdbJ2FhbmRhY2h0J10ucHVzaChvYmplY3QpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFsnYWFuZGFjaHQnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYWxsJ10ucHVzaChvYmplY3QpO1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodHlwZSA9PSBcIkJyYW5jaGVcIikge1xyXG4gICAgICAgICAgICAvLyB0aGlzLnNlYXJjaFsnYWFuZGFjaHQnXS5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgICAgdmFyIG9iamVjdCA9IFtwcm9wLCB2YWx1ZV07XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYnJhbmNoZSddLnB1c2gob2JqZWN0KTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hbJ2JyYW5jaGUnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYWxsJ10ucHVzaChvYmplY3QpO1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodHlwZSA9PSBcIlNldHRpbmdcIikge1xyXG4gICAgICAgICAgICAvLyB0aGlzLnNlYXJjaFsnYWFuZGFjaHQnXS5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgICAgdmFyIG9iamVjdCA9IFtwcm9wLCB2YWx1ZV07XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snc2V0dGluZyddLnB1c2gob2JqZWN0KTtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hbJ3NldHRpbmcnXS5wdXNoKG9iamVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmlld1snYWxsJ10ucHVzaChvYmplY3QpO1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b1NlYXJjaCA9PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFZhY2FuY2llcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzYXZlU2VhcmNoOiB7XHJcbiAgICAgIGRlZXA6IGZhbHNlLFxyXG4gICAgICBoYW5kbGVyKCkge1xyXG5cclxuICAgICAgICAvLyBPbmx5IHNhdmUgaWYgdGhlIGNoYW5nZSB3YXMgbWFkZSBieSB0aGUgdXNlciwgbm90IHByb2dyYW1tYXRpY2FsbHlcclxuICAgICAgICBpZiAodGhpcy5zYXZlU2VhcmNoID09IHRydWUgJiYgIXRoaXMucHJvZ3JhbW1hdGljU2F2ZVNlYXJjaENoYW5nZSkge1xyXG4gICAgICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBzZWxlY3Rpb24gbWF0Y2hlcyBzYXZlZCBiZWZvcmUgY2FsbGluZyBzYXZlVGFnc1xyXG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudFNlYXJjaE1hdGNoZXNTYXZlZCkge1xyXG4gICAgICAgICAgICAvLyBVbmNoZWNrIGltbWVkaWF0ZWx5IGlmIHNlbGVjdGlvbiBpcyBzYW1lXHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3JhbW1hdGljU2F2ZVNlYXJjaENoYW5nZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZVNlYXJjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNhdmVUYWdzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXNldCB0aGUgZmxhZ1xyXG4gICAgICAgIHRoaXMucHJvZ3JhbW1hdGljU2F2ZVNlYXJjaENoYW5nZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgc2VhcmNoOiB7XHJcbiAgICAgIC8vIFRoaXMgd2lsbCBsZXQgVnVlIGtub3cgdG8gbG9vayBpbnNpZGUgdGhlIGFycmF5XHJcbiAgICAgIGRlZXA6IHRydWUsXHJcblxyXG4gICAgICAvLyBXZSBoYXZlIHRvIG1vdmUgb3VyIG1ldGhvZCB0byBhIGhhbmRsZXIgZmllbGRcclxuICAgICAgaGFuZGxlcigpIHtcclxuXHJcbiAgICAgICAgdmFyIGFwcCA9IHRoaXM7XHJcblxyXG4gICAgICAgIHRoaXMudmlld1snbGVlZnRpamQnXSA9IFtdO1xyXG4gICAgICAgIHRoaXMudmlld1snYnJhbmNoZSddID0gW107XHJcbiAgICAgICAgdGhpcy52aWV3WydhYW5kYWNodCddID0gW107XHJcbiAgICAgICAgdGhpcy52aWV3WydzZXR0aW5nJ10gPSBbXTtcclxuICAgICAgICB0aGlzLnZpZXdbJ3JlZ2lvJ10gPSBbXTtcclxuICAgICAgICB0aGlzLnZpZXdbJ2FsbCddID0gW107XHJcblxyXG4gICAgICAgIHRoaXMuc2VhcmNoWydsZWVmdGlqZCddLmZvckVhY2goZnVuY3Rpb24obGVlZnRpamQpe1xyXG4gICAgICAgICAgYXBwLnZpZXdbJ2xlZWZ0aWpkJ10ucHVzaChsZWVmdGlqZFsxXSk7XHJcbiAgICAgICAgICBhcHAudmlld1snYWxsJ10ucHVzaChsZWVmdGlqZCk7XHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnNlYXJjaFsnYnJhbmNoZSddLmZvckVhY2goZnVuY3Rpb24oYnJhbmNoZSl7XHJcbiAgICAgICAgICBhcHAudmlld1snYnJhbmNoZSddLnB1c2goYnJhbmNoZVsxXSk7XHJcbiAgICAgICAgICBhcHAudmlld1snYWxsJ10ucHVzaChicmFuY2hlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlYXJjaFsnYWFuZGFjaHQnXS5mb3JFYWNoKGZ1bmN0aW9uKGFhbmRhY2h0KXtcclxuICAgICAgICAgIGFwcC52aWV3WydhYW5kYWNodCddLnB1c2goYWFuZGFjaHRbMV0pO1xyXG4gICAgICAgICAgYXBwLnZpZXdbJ2FsbCddLnB1c2goYWFuZGFjaHQpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnNlYXJjaFsnc2V0dGluZyddLmZvckVhY2goZnVuY3Rpb24oc2V0dGluZyl7XHJcbiAgICAgICAgICBhcHAudmlld1snc2V0dGluZyddLnB1c2goc2V0dGluZ1sxXSk7XHJcbiAgICAgICAgICBhcHAudmlld1snYWxsJ10ucHVzaChzZXR0aW5nKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hbJ3JlZ2lvJ10uZm9yRWFjaChmdW5jdGlvbihyZWdpbyl7XHJcblxyXG5cclxuXHJcbiAgICAgICAgICBhcHAudmlld1sncmVnaW8nXS5wdXNoKHJlZ2lvWzFdKTtcclxuICAgICAgICAgIGFwcC52aWV3WydhbGwnXS5wdXNoKHJlZ2lvKTtcclxuXHJcblxyXG5cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gdGhpcy5yZXN1bHRzID0gW107XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaEJ1dHRvbkNsaWNrZWQpIHtcclxuICAgICAgICAgIC8vIHRoaXMuc2VhcmNoVmFjYW5jaWVzKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgIH0sXHJcbiAgICBjdXJyZW50U2VhcmNoTWF0Y2hlc1NhdmVkOiB7XHJcbiAgICAgIGhhbmRsZXIoKSB7XHJcbiAgICAgICAgLy8gVXBkYXRlIHNhdmVTZWFyY2ggY2hlY2tib3ggYmFzZWQgb24gd2hldGhlciBjdXJyZW50IHNlYXJjaCBtYXRjaGVzIHNhdmVkIHRhZ3NcclxuICAgICAgICB0aGlzLnByb2dyYW1tYXRpY1NhdmVTZWFyY2hDaGFuZ2UgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2F2ZVNlYXJjaCA9IHRoaXMuY3VycmVudFNlYXJjaE1hdGNoZXNTYXZlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIGxhdGVzdFNhdmVkVGFncygpIHtcclxuICAgICAgLy8gR2V0IHRoZSBtb3N0IHJlY2VudCBzYXZlZCB0YWdzIChyZXZlcnNlIHRoZSBvcmRlciB0byBnZXQgbGF0ZXN0IGZpcnN0KVxyXG5cclxuXHJcblxyXG5cclxuICAgICAgaWYgKCF0aGlzLnVzZXJUYWdzKSB7XHJcblxyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gSWYgdXNlclRhZ3MgaXMgYW4gYXJyYXksIGdldCB0aGUgbGFzdCBpdGVtIChtb3N0IHJlY2VudClcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy51c2VyVGFncykpIHtcclxuXHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy51c2VyVGFncy5sZW5ndGggPiAwID8gdGhpcy51c2VyVGFnc1t0aGlzLnVzZXJUYWdzLmxlbmd0aCAtIDFdIDoge307XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIElmIHVzZXJUYWdzIGlzIGFscmVhZHkgdGhlIGxhdGVzdCBzYXZlZCBzZWFyY2ggb2JqZWN0LCByZXR1cm4gaXRcclxuXHJcbiAgICAgIHJldHVybiB0aGlzLnVzZXJUYWdzO1xyXG4gICAgfSxcclxuICAgIGN1cnJlbnRTZWFyY2hNYXRjaGVzU2F2ZWQoKSB7XHJcbiAgICAgIC8vIEV4dHJhY3QgYWxsIHRhZyBJRHMgZnJvbSB0aGUgbGF0ZXN0IHNhdmVkIHRhZ3NcclxuICAgICAgbGV0IHNhdmVkVGFnSWRzID0gT2JqZWN0LmtleXModGhpcy5sYXRlc3RTYXZlZFRhZ3MpLnNvcnQoKTtcclxuXHJcbiAgICAgIC8vIEV4dHJhY3QgYWxsIHRhZyBJRHMgZnJvbSBjdXJyZW50IHNlYXJjaFxyXG4gICAgICBsZXQgY3VycmVudFRhZ0lkcyA9IFtdO1xyXG4gICAgICB0aGlzLnZpZXdbJ2FsbCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgY3VycmVudFRhZ0lkcy5wdXNoKGl0ZW1bMF0pO1xyXG4gICAgICB9KTtcclxuICAgICAgY3VycmVudFRhZ0lkcy5zb3J0KCk7XHJcblxyXG4gICAgICAvLyBDb21wYXJlIGFycmF5c1xyXG4gICAgICBpZiAoc2F2ZWRUYWdJZHMubGVuZ3RoICE9PSBjdXJyZW50VGFnSWRzLmxlbmd0aCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzYXZlZFRhZ0lkcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChzYXZlZFRhZ0lkc1tpXSAhPT0gY3VycmVudFRhZ0lkc1tpXSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHNhdmVkVGFnSWRzLmxlbmd0aCA+IDA7XHJcbiAgICB9XHJcbiAgfSxcclxuICBtZXRob2RzOiB7XHJcblxyXG4gICAgaXNGYXZvcml0ZShpZCkge1xyXG4gICAgICB2YXIgaXNGYXZvcml0ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZhdm9yaXRlcy5mb3JFYWNoKGZ1bmN0aW9uKGZhdm9yaXRlKXtcclxuICAgICAgICBpZiAoZmF2b3JpdGUgPT0gaWQpe1xyXG4gICAgICAgICAgaXNGYXZvcml0ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGlzRmF2b3JpdGU7XHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlRmF2b3JpdGUoaWQpIHtcclxuXHJcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcblxyXG4gICAgICAkLmdldEpTT04oJy9hamF4L3JlbW92ZV9mYXZvcml0ZS8nICsgaWQsIGZ1bmN0aW9uIChqc29uKSB7XHJcblxyXG4gICAgICAgIC8vIFJlbW92ZSBpZCBmcm9tIC5mYXZvcml0ZXNcclxuICAgICAgICB2YXIgdGVtcF9mYXZvcml0ZXMgPSBbXTtcclxuICAgICAgICBfdGhpcy5mYXZvcml0ZXMuZm9yRWFjaChmdW5jdGlvbihmYXZvcml0ZSl7XHJcbiAgICAgICAgICBpZiAoZmF2b3JpdGUgIT0gaWQpe1xyXG4gICAgICAgICAgICB0ZW1wX2Zhdm9yaXRlcy5wdXNoKGZhdm9yaXRlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBfdGhpcy5mYXZvcml0ZXMgPSB0ZW1wX2Zhdm9yaXRlcztcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgc2V0RmF2b3JpdGUoaWQpIHtcclxuXHJcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcblxyXG4gICAgICAkLmdldEpTT04oJy9hamF4L3NldF9mYXZvcml0ZS8nICsgaWQsIGZ1bmN0aW9uIChqc29uKSB7XHJcbiAgICAgICAgLy8gX3RoaXMuc2VhcmNoQnV0dG9uQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgLy8gX3RoaXMubG9hZGVkU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgICAvLyBfdGhpcy5yZXN1bHRzID0ganNvbjtcclxuXHJcbiAgICAgICAgLy8gQWRkIGlkIHRvIC5mYXZvcml0ZXNcclxuICAgICAgICBfdGhpcy5mYXZvcml0ZXMucHVzaChpZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHJlc2V0RmlsdGVyKCkge1xyXG5cclxuICAgICAgdGhpcy52aWV3ID0ge1xyXG4gICAgICAgIGxlZWZ0aWpkOiBbXSxcclxuICAgICAgICAgICAgYnJhbmNoZTogW10sXHJcbiAgICAgICAgICAgIGFhbmRhY2h0OiBbXSxcclxuICAgICAgICAgICAgc2V0dGluZzogW10sXHJcbiAgICAgICAgICAgIHJlZ2lvOiBbXSxcclxuICAgICAgICAgICAgYWxsOiBbXSxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHRoaXMuc2VhcmNoID0ge1xyXG4gICAgICAgIGxlZWZ0aWpkOiBbXSxcclxuICAgICAgICAgICAgYnJhbmNoZTogW10sXHJcbiAgICAgICAgICAgIGFhbmRhY2h0OiBbXSxcclxuICAgICAgICAgICAgc2V0dGluZzogW10sXHJcbiAgICAgICAgICAgIHJlZ2lvOiBbXSxcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIFJlc2V0IHRoZSBzYXZlU2VhcmNoIGNoZWNrYm94XHJcbiAgICAgIHRoaXMucHJvZ3JhbW1hdGljU2F2ZVNlYXJjaENoYW5nZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2F2ZVNlYXJjaCA9IGZhbHNlO1xyXG5cclxuICAgIH0sXHJcbiAgICBnZXRUYWdzKCkge1xyXG5cclxuICAgICAgcmV0dXJuIHRhZ3M7XHJcbiAgICB9LFxyXG4gICAgZ29Ub1ZhY2FuY3koaWQpIHtcclxuXHJcbiAgICAgIHZhciBzZWFyY2hfdGhpcyA9IFtdO1xyXG5cclxuICAgICAgdGhpcy52aWV3WydhbGwnXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIHNlYXJjaF90aGlzLnB1c2goaXRlbVswXSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdmFyIHRhZ3MgPSBzZWFyY2hfdGhpcy5qb2luKCcsJyk7XHJcblxyXG5cclxuXHJcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShcIm5ld1wiLCBcIlRpdGxlXCIsIFwiL3NlYXJjaC9cIiArIHRhZ3MpO1xyXG5cclxuICAgICAgd2luZG93LmxvY2F0aW9uID0gJy92YWNhbmN5LycgKyBpZCArICcvJyArIHRhZ3M7XHJcblxyXG4gICAgfSxcclxuICAgIHJlbW92ZVRhZyhoYXNoLCBuYW1lKSB7XHJcblxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICB2YXIgdGVtcCA9IFtdO1xyXG5cclxuXHJcblxyXG4gICAgICB0aGlzLnZpZXdbJ2FsbCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgaWYgKGl0ZW1bMF0gIT0gaGFzaCl7XHJcbiAgICAgICAgICB0ZW1wLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52aWV3WydhbGwnXSA9IHRlbXA7XHJcblxyXG5cclxuICAgICAgdGVtcCA9IFtdO1xyXG4gICAgICB0aGlzLnNlYXJjaFsnbGVlZnRpamQnXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIGlmIChpdGVtWzBdICE9IGhhc2gpe1xyXG4gICAgICAgICAgdGVtcC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VhcmNoWydsZWVmdGlqZCddID0gdGVtcDtcclxuXHJcbiAgICAgIHRlbXAgPSBbXTtcclxuICAgICAgdGhpcy52aWV3WydsZWVmdGlqZCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgaWYgKGl0ZW0gIT0gbmFtZSl7XHJcbiAgICAgICAgICB0ZW1wLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy52aWV3WydsZWVmdGlqZCddID0gdGVtcDtcclxuXHJcbiAgICAgIHRlbXAgPSBbXTtcclxuICAgICAgdGhpcy52aWV3WydicmFuY2hlJ10uZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcclxuICAgICAgICBpZiAoaXRlbSAhPSBuYW1lKXtcclxuICAgICAgICAgIHRlbXAucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZpZXdbJ2JyYW5jaGUnXSA9IHRlbXA7XHJcblxyXG4gICAgICB0ZW1wID0gW107XHJcbiAgICAgIHRoaXMuc2VhcmNoWydicmFuY2hlJ10uZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcclxuICAgICAgICBpZiAoaXRlbVswXSAhPSBoYXNoKXtcclxuICAgICAgICAgIHRlbXAucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlYXJjaFsnYnJhbmNoZSddID0gdGVtcDtcclxuXHJcblxyXG4gICAgICB0ZW1wID0gW107XHJcbiAgICAgIHRoaXMudmlld1snYWFuZGFjaHQnXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIGlmIChpdGVtICE9IG5hbWUpe1xyXG4gICAgICAgICAgdGVtcC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmlld1snYWFuZGFjaHQnXSA9IHRlbXA7XHJcblxyXG4gICAgICB0ZW1wID0gW107XHJcbiAgICAgIHRoaXMuc2VhcmNoWydhYW5kYWNodCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgaWYgKGl0ZW1bMF0gIT0gaGFzaCl7XHJcbiAgICAgICAgICB0ZW1wLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWFyY2hbJ2FhbmRhY2h0J10gPSB0ZW1wO1xyXG5cclxuXHJcbiAgICAgIHRlbXAgPSBbXTtcclxuICAgICAgdGhpcy5zZWFyY2hbJ3NldHRpbmcnXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIGlmIChpdGVtWzBdICE9IGhhc2gpe1xyXG4gICAgICAgICAgdGVtcC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VhcmNoWydzZXR0aW5nJ10gPSB0ZW1wO1xyXG5cclxuXHJcbiAgICAgIHRlbXAgPSBbXTtcclxuICAgICAgdGhpcy52aWV3WydzZXR0aW5nJ10uZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcclxuICAgICAgICBpZiAoaXRlbSAhPSBuYW1lKXtcclxuICAgICAgICAgIHRlbXAucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnZpZXdbJ3NldHRpbmcnXSA9IHRlbXA7XHJcblxyXG4gICAgICB0ZW1wID0gW107XHJcbiAgICAgIHRoaXMudmlld1sncmVnaW8nXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIGlmIChpdGVtICE9IG5hbWUpe1xyXG4gICAgICAgICAgdGVtcC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmlld1sncmVnaW8nXSA9IHRlbXA7XHJcblxyXG4gICAgICB0ZW1wID0gW107XHJcbiAgICAgIHRoaXMuc2VhcmNoWydyZWdpbyddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgaWYgKGl0ZW1bMF0gIT0gaGFzaCl7XHJcbiAgICAgICAgICB0ZW1wLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZWFyY2hbJ3JlZ2lvJ10gPSB0ZW1wO1xyXG5cclxuXHJcblxyXG4gICAgICB0aGlzLnJlc3VsdHMgPSBbXTtcclxuICAgICAgdGhpcy5zZWFyY2hWYWNhbmNpZXMoKTtcclxuXHJcbiAgICB9LFxyXG4gICAgc2F2ZVRhZ3MoKSB7XHJcbiAgICAgIC8vIENoZWNrIGlmIGN1cnJlbnQgc2VsZWN0aW9uIG1hdGNoZXMgc2F2ZWQgc2VsZWN0aW9uXHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hNYXRjaGVzU2F2ZWQpIHtcclxuICAgICAgICAvLyBOb3RoaW5nIHRvIHNhdmUsIHVuY2hlY2sgdGhlIGNoZWNrYm94XHJcbiAgICAgICAgdGhpcy5wcm9ncmFtbWF0aWNTYXZlU2VhcmNoQ2hhbmdlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNhdmVTZWFyY2ggPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFkZCB0YWdzIHRvIGxlZnQgc2lkZSBiYXJcclxuICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgdmFyIHNlYXJjaF90aGlzID0gW107XHJcblxyXG4gICAgICB0aGlzLnZpZXdbJ2FsbCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgc2VhcmNoX3RoaXMucHVzaChpdGVtWzBdKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB2YXIgdGFncyA9IHNlYXJjaF90aGlzLmpvaW4oJywnKTtcclxuXHJcbiAgICAgICQuZ2V0SlNPTignL2FqYXgvc2F2ZV90YWdzLycgKyB0YWdzLCBmdW5jdGlvbiAoanNvbikge1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgdXNlclRhZ3Mgd2l0aCB0aGUgbGF0ZXN0IHNhdmVkIHRhZ3MgKGZldGNoIGZyb20gc2VydmVyLCBub3QgZnJvbSBVUkwpXHJcbiAgICAgICAgJC5nZXRKU09OKCcvYWpheC91c2VyX3RhZ3MvP3RtbjInICwgZnVuY3Rpb24gKGpzb24pIHtcclxuXHJcblxyXG5cclxuICAgICAgICAgIF90aGlzLnVzZXJUYWdzID0ganNvbjtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgc2V0RGVsZXRlZFBlcnNvbmFsKGlkKSB7XHJcblxyXG4gICAgICB2YXIgYXBwID0gdGhpcztcclxuXHJcbiAgICAgIHZhciBjb25maXJtX21zZyA9IGNvbmZpcm0oJ1dlZXQgamUgZGl0IGhlZWwgemVrZXI/IERlemUgc3BlY2lmaWVrZSBvcGRyYWNodCB6YWwgdm9vcnRhYW4gbmlldCBtZWVyIGluIGplIHpvZWtyZXN1bHRhdGVuIHZvb3Jrb21lbi4nKTtcclxuXHJcbiAgICAgIGlmIChjb25maXJtX21zZykge1xyXG5cclxuICAgICAgICAkLmdldEpTT04oJy9hamF4L3NldF9kZWxldGUvJyArIGlkLCBmdW5jdGlvbiAoanNvbikge1xyXG5cclxuICAgICAgICAgIHZhciB0ZW1wX3Jlc3VsdHMgPSBbXTtcclxuICAgICAgICAgIGFwcC5yZXN1bHRzLmZvckVhY2goZnVuY3Rpb24ocmVzdWx0KXtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQuaWQgIT0gaWQpe1xyXG4gICAgICAgICAgICAgIHRlbXBfcmVzdWx0cy5wdXNoKHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIGFwcC5yZXN1bHRzID0gdGVtcF9yZXN1bHRzO1xyXG5cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICB9LFxyXG4gICAgc2VhcmNoQWxsVmFjYW5jaWVzKCkge1xyXG5cclxuICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuXHJcbiAgICAgICQuZ2V0SlNPTignL2FqYXgvYmV0dGVyX3NlYXJjaCcsIGZ1bmN0aW9uIChqc29uKSB7XHJcbiAgICAgICAgX3RoaXMuc2VhcmNoQnV0dG9uQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgX3RoaXMubG9hZGVkU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgICBfdGhpcy5yZXN1bHRzID0ganNvbjtcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgc2VhcmNoVmFjYW5jaWVzKCkge1xyXG4gICAgICAvLyBBZGQgdGFncyB0byBsZWZ0IHNpZGUgYmFyXHJcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIHZhciBzZWFyY2hfdGhpcyA9IFtdO1xyXG5cclxuICAgICAgdGhpcy5zZWFyY2hfYXRfbGVhc3Rfb25lX3RhZyA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLnZpZXdbJ2FsbCddLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XHJcbiAgICAgICAgICBzZWFyY2hfdGhpcy5wdXNoKGl0ZW1bMF0pO1xyXG5cclxuICAgICAgICAgIF90aGlzLnNlYXJjaF9hdF9sZWFzdF9vbmVfdGFnID0gZmFsc2U7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaF9hdF9sZWFzdF9vbmVfdGFnID09IHRydWUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciB0YWdzID0gc2VhcmNoX3RoaXMuam9pbignLCcpO1xyXG5cclxuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKFwibmV3XCIsIFwiVGl0bGVcIiwgXCIvc2VhcmNoL1wiICsgdGFncyk7XHJcblxyXG4gICAgICAkLmdldEpTT04oJy9hamF4L2JldHRlcl9zZWFyY2gvJyArIHRhZ3MsIGZ1bmN0aW9uIChqc29uKSB7XHJcbiAgICAgICAgX3RoaXMuc2VhcmNoQnV0dG9uQ2xpY2tlZCA9IHRydWU7XHJcbiAgICAgICAgX3RoaXMubG9hZGVkU2VhcmNoID0gdHJ1ZTtcclxuICAgICAgICBfdGhpcy5yZXN1bHRzID0ganNvbjtcclxuXHJcbiAgICAgICAgc2hvd1RpcHB5KCk7XHJcblxyXG4gICAgICB9KTtcclxuXHJcbiAgICB9LFxyXG4gICAgZ2V0TGVlZnRpamRlbigpIHtcclxuICAgICAgaWYgKHRoaXMubG9hZGVkICYmIHRoaXMuanNvblt0aGlzLmZ1bmN0aW9uX3RpdGxlXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmpzb25bdGhpcy5mdW5jdGlvbl90aXRsZV0uTGVlZnRpamRzZ3JvZXA7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBnZXRCcmFuY2hlcygpIHtcclxuICAgICAgaWYgKHRoaXMubG9hZGVkICYmIHRoaXMuanNvblt0aGlzLmZ1bmN0aW9uX3RpdGxlXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmpzb25bdGhpcy5mdW5jdGlvbl90aXRsZV0uQnJhbmNoZTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGdldEFhbmRhY2h0KCkge1xyXG4gICAgICBpZiAodGhpcy5sb2FkZWQgJiYgdGhpcy5qc29uW3RoaXMuZnVuY3Rpb25fdGl0bGVdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuanNvblt0aGlzLmZ1bmN0aW9uX3RpdGxlXS5BYW5kYWNodHNnZWJpZWQ7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBnZXRTZXR0aW5nKCkge1xyXG4gICAgICBpZiAodGhpcy5sb2FkZWQgJiYgdGhpcy5qc29uW3RoaXMuZnVuY3Rpb25fdGl0bGVdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuanNvblt0aGlzLmZ1bmN0aW9uX3RpdGxlXS5TZXR0aW5nO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZ2V0UmVnaW8oKSB7XHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICBbJ05IJywgJ05vb3JkLUhvbGxhbmQnXSxcclxuICAgICAgICAgIFsnWkgnLCAnWnVpZC1Ib2xsYW5kJ10sXHJcbiAgICAgICAgICBbJ0dFJywgJ0dlbGRlcmxhbmQnXSxcclxuICAgICAgICAgIFsnTkInLCAnTm9vcmQtQnJhYmFudCddLFxyXG4gICAgICAgICAgWydGTCcsICdGbGV2b2xhbmQnXSxcclxuICAgICAgICAgIFsnRFInLCAnRHJlbnRoZSddLFxyXG4gICAgICAgICAgWydPVicsICdPdmVyaWpzc2VsJ10sXHJcbiAgICAgICAgICBbJ0dSJywgJ0dyb25pbmdlbiddLFxyXG4gICAgICAgICAgWydGUicsICdGcmllc2xhbmQnXSxcclxuICAgICAgICAgIFsnTEknLCAnTGltYnVyZyddLFxyXG4gICAgICAgICAgWydVVCcsICdVdHJlY2h0J10sXHJcbiAgICAgICAgICBbJ1pFJywgJ1plZWxhbmQnXSxcclxuICAgICAgICAgIFsnT04nLCAnUmVtb3RlIChvbmxpbmUpJ11cclxuICAgICAgXVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuQGltcG9ydCd+Ym9vdHN0cmFwL2Rpc3QvY3NzL2Jvb3RzdHJhcC5jc3MnO1xyXG5cclxuLm9uZV9yZXN1bHQge1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZmYzZTY7XHJcbiAgcGFkZGluZzogMjhweDtcclxuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLnRhZyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzZkNmQ2ZDtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi10b3A6IDEzcHg7XHJcbn1cclxuXHJcbi5wb3B1cF9maWx0ZXIuc2hvdyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnBvcHVwX2ZpbHRlci53aWRlXzMge1xyXG4gIGNvbHVtbi1jb3VudDogMztcclxuICBtaW4td2lkdGg6IDgwMHB4O1xyXG59XHJcbi5wb3B1cF9maWx0ZXIud2lkZV8yIHtcclxuICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgbWluLXdpZHRoOiA1MDBweDtcclxufVxyXG4ucG9wdXBfZmlsdGVyIHtcclxuICBtaW4td2lkdGg6IDI2MHB4O1xyXG4gIGhlaWdodDogYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlY2VjZTtcclxuICBwYWRkaW5nOiAxOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBsZWZ0OiAwcHg7XHJcbiAgdG9wOiAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHotaW5kZXg6IDEwMDAwO1xyXG59XHJcblxyXG4jZmlsdGVyX3NlYXJjaC5oaWRlU2VhcmNoIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiNyZXN1bHRzX3NlYXJjaCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4jcmVzdWx0c19zZWFyY2guaGlkZVNlYXJjaCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5zbWFsbF9idXR0b24ge1xyXG4gIGhlaWdodDogMzlweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50OztcclxuICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OztcclxufVxyXG5cclxuI3Jlc3VsdHNfc2VhcmNoIC5yb3cudGFnX2luZGl2IHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmM2U2O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xyXG4gIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlY2VjZTJlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW46IDVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2U2YjMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhZ19iYXIge1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjZWNlY2U7XHJcbn1cclxuXHJcbiNyZXN1bHRzX3NlYXJjaCA+IGRpdiB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5jb250ZXh0X21lbnUge1xyXG4gIHdpZHRoOiAxNDNweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMThweDtcclxufVxyXG5cclxuLmNvbnRleHRfbWVudSBpIHtcclxuICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5jb250ZXh0X21lbnUgaTpob3ZlciB7XHJcbiAgb3BhY2l0eTogMC45O1xyXG59XHJcblxyXG4jc2VhcmNoX2J1dHRvbixcclxuLm5vX2ZpbHRlcl9idXR0b24sXHJcbiNyZXNldF9maWx0ZXIge1xyXG4gIGhlaWdodDogMzlweDtcclxuICBmb250LXNpemU6IDE3cHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFnX2luZGl2IGkge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==*/