.re-nav ul, .sub-nav-slide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap;
  /* 1 */
  text-overflow: ellipsis;
  /* 2 */
  overflow: hidden;
}

.df-row {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 480px) {
  .df-row.df-rr-ph {
    flex-direction: row-reverse;
  }
}
@media (min-width: 480px) {
  .df-row.df-aic-ph {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .df-row.df-rr-sm {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .df-row.df-aic-sm {
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .df-row.df-rr-md {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .df-row.df-aic-md {
    align-items: center;
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-1 {
    flex: 1 0 calc(8.3333333333% * 1);
    max-width: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-2 {
    flex: 1 0 calc(8.3333333333% * 2);
    max-width: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-3 {
    flex: 1 0 calc(8.3333333333% * 3);
    max-width: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-4 {
    flex: 1 0 calc(8.3333333333% * 4);
    max-width: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-5 {
    flex: 1 0 calc(8.3333333333% * 5);
    max-width: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-6 {
    flex: 1 0 calc(8.3333333333% * 6);
    max-width: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-7 {
    flex: 1 0 calc(8.3333333333% * 7);
    max-width: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-8 {
    flex: 1 0 calc(8.3333333333% * 8);
    max-width: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-9 {
    flex: 1 0 calc(8.3333333333% * 9);
    max-width: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-10 {
    flex: 1 0 calc(8.3333333333% * 10);
    max-width: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-11 {
    flex: 1 0 calc(8.3333333333% * 11);
    max-width: calc(8.3333333333% * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-md-12 {
    flex: 1 0 calc(8.3333333333% * 12);
    max-width: calc(8.3333333333% * 12);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-0 {
    margin-left: calc(8.3333333333% * 0);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-1 {
    margin-left: calc(8.3333333333% * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-2 {
    margin-left: calc(8.3333333333% * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-3 {
    margin-left: calc(8.3333333333% * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-4 {
    margin-left: calc(8.3333333333% * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-5 {
    margin-left: calc(8.3333333333% * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-6 {
    margin-left: calc(8.3333333333% * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-7 {
    margin-left: calc(8.3333333333% * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-8 {
    margin-left: calc(8.3333333333% * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-9 {
    margin-left: calc(8.3333333333% * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-10 {
    margin-left: calc(8.3333333333% * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-md-11 {
    margin-left: calc(8.3333333333% * 11);
  }
}
@media (min-width: 768px) {
  .df-row {
    margin: 0 -15px;
  }
}

.re-header {
  position: relative;
  z-index: 100;
}
.re-home .re-header, .re-inner .re-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.re-header > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: static;
}
@media (min-width: 1024px) {
  .re-header > .container {
    align-items: stretch;
  }
}
.re-header .container {
  max-width: 1550px;
}
.re-header .container:after {
  display: none;
}
.re-header .re-logo {
  position: relative;
  z-index: 102;
  width: 105px;
}
@media (min-width: 768px) {
  .re-header .re-logo {
    width: 140px;
  }
}
@media (min-width: 1024px) {
  .re-header .re-logo {
    width: 164px;
    z-index: 1;
  }
}
@media (min-width: 1440px) {
  .re-header .re-logo {
    width: 204px;
  }
}

.rev-nav-opener {
  transition: background-color 0.3s ease-in-out;
  width: 74px;
  height: 74px;
  display: block;
  background-color: #e12726;
  position: relative;
  z-index: 102;
  margin: 0 -15px 0 0;
}
@media (min-width: 768px) {
  .rev-nav-opener {
    width: 100px;
    height: 100px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener {
    width: 160px;
    height: 160px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener {
    width: 200px;
    height: 200px;
  }
}
@media (min-width: 1680px) {
  .rev-nav-opener {
    margin-right: -80px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:hover {
    background-color: #52585b;
  }
}
@media (min-width: 1024px) {
  .re-home .rev-nav-opener:hover, .re-inner .rev-nav-opener:hover {
    background-color: #fff;
  }
}
@media (min-width: 1024px) {
  .re-home .rev-nav-opener:hover:after, .re-home .rev-nav-opener:hover:before,
  .re-home .rev-nav-opener:hover span, .re-inner .rev-nav-opener:hover:after, .re-inner .rev-nav-opener:hover:before,
  .re-inner .rev-nav-opener:hover span {
    background-color: #e12726;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener {
    background-color: transparent;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:hover {
    background-color: transparent;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener span {
    opacity: 0;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:after, .re-sub-menu-active .rev-nav-opener:before {
    transform: rotate(-45deg);
    top: 50%;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .rev-nav-opener:after {
    transform: rotate(45deg);
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener {
    background-color: transparent;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener span {
    opacity: 0;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener:after, .re-mobile-drop-active .rev-nav-opener:before {
    transform: rotate(-45deg);
    top: 50%;
  }
}
@media (max-width: 1023px) {
  .re-mobile-drop-active .rev-nav-opener:after {
    transform: rotate(45deg);
  }
}
.rev-nav-opener:after, .rev-nav-opener:before,
.rev-nav-opener span {
  transition: all 0.3s ease-in-out;
  width: calc(100% - 40px);
  height: 3px;
  position: absolute;
  left: 20px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    width: calc(100% - 66px);
    left: 33px;
    height: 4px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    left: 52px;
    width: calc(100% - 104px);
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:after, .rev-nav-opener:before,
  .rev-nav-opener span {
    height: 8px;
    left: 66px;
    width: calc(100% - 132px);
  }
}
.rev-nav-opener:after, .rev-nav-opener:before {
  content: "";
}
.rev-nav-opener:before {
  top: 30px;
}
@media (min-width: 768px) {
  .rev-nav-opener:before {
    top: 40px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:before {
    top: 64px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:before {
    top: 80px;
  }
}
.rev-nav-opener:after {
  bottom: 30px;
}
@media (min-width: 768px) {
  .rev-nav-opener:after {
    bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .rev-nav-opener:after {
    bottom: 64px;
  }
}
@media (min-width: 1440px) {
  .rev-nav-opener:after {
    bottom: 80px;
  }
}
.rev-nav-opener span {
  top: 50%;
  transform: translateY(-50%);
}

.re-mobile-drop-wrap {
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  position: absolute;
  top: 0;
  z-index: 101;
  background-color: rgba(82, 88, 91, 0.9);
  left: 0;
  right: 0;
  padding: 90px 0 20px;
  opacity: 0;
  visibility: hidden;
  height: calc(var(--vh, 1vh) * 100);
}
@media (min-width: 768px) {
  .re-mobile-drop-wrap {
    padding-top: 120px;
  }
}
@media (min-width: 1024px) {
  .re-mobile-drop-wrap {
    opacity: 1;
    visibility: visible;
    position: static;
    padding: 4px 0 0;
    background-color: transparent;
    height: auto;
    display: flex;
    align-items: center;
  }
}
.re-mobile-drop-active .re-mobile-drop-wrap {
  opacity: 1;
  visibility: visible;
}

.re-mobile-drop {
  overflow-y: auto;
  padding: 0 15px;
  height: 100%;
}
@media (min-width: 1024px) {
  .re-mobile-drop {
    overflow: visible;
    padding: 0;
    height: auto;
  }
}
.re-mobile-drop .re-btn {
  width: 100%;
  margin: 0 0 15px;
  padding-left: 5px;
  padding-right: 5px;
}
@media (min-width: 1024px) {
  .re-mobile-drop .re-btn {
    width: auto;
    margin-bottom: 83px;
  }
}

.re-mobile-drop-content {
  display: flex;
  flex-direction: column-reverse;
}

@media (min-width: 1024px) {
  .re-sub-menu-wrap {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    position: absolute;
    top: 0;
    height: calc(var(--vh, 1vh) * 100);
    z-index: 101;
    background-color: rgba(82, 88, 91, 0.9);
    left: 0;
    right: 0;
    padding: 150px 0 20px;
    opacity: 0;
    visibility: hidden;
  }
}
@media (min-width: 1440px) {
  .re-sub-menu-wrap {
    padding-top: 197px;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu-active .re-sub-menu-wrap {
    opacity: 1;
    visibility: visible;
  }
}
.re-sub-menu-wrap .container {
  padding: 0;
}
@media (min-width: 1024px) {
  .re-sub-menu-wrap .container {
    padding: 0 15px;
  }
}

@media (min-width: 1024px) {
  .re-sub-menu {
    overflow-y: auto;
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .re-sub-menu .container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

@media (min-width: 1024px) {
  .re-sub-bar {
    width: 20.8%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    padding: 0 61px 0 0;
  }
}

@media (min-width: 1024px) {
  .re-sub-nav {
    width: 75%;
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 1024px) {
  .re-sub-nav .re-col {
    width: 30%;
  }
}

.re-search-form {
  margin: 0 0 15px;
  display: flex;
  align-items: center;
  border-bottom: 2px solid #fff;
}
.re-search-form input[type=search] {
  background-color: transparent;
  color: #fff;
  padding: 0;
  font-size: 18px;
  height: 36px;
  letter-spacing: 3.8px;
}
.re-search-form input[type=search]::-webkit-input-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]::-moz-placeholder {
  opacity: 1;
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]:-moz-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search]:-ms-input-placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form input[type=search].placeholder {
  color: #fff;
  text-transform: uppercase;
  opacity: 1;
}
.re-search-form .submit {
  transition: color 0.3s ease-in-out;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #fff;
  font-size: 18px;
}
.re-search-form .submit:hover {
  color: #e12726;
}
.re-search-form .submit svg {
  fill: currentColor;
  width: 18px;
}

.sub-nav-popup {
  border-bottom: 2px solid #fff;
}
@media (min-width: 1024px) {
  .sub-nav-popup {
    border-bottom: 0;
    margin: 0 0 25px;
  }
}

.re-nav-title {
  color: #fff;
  text-transform: uppercase;
  padding: 7px 0 5px;
  font-size: 18px;
  font-weight: 500;
  display: block;
}
@media (min-width: 1024px) {
  .re-nav-title {
    padding: 0;
    color: #e12726;
  }
}
.re-nav-title a {
  color: inherit;
}
@media (min-width: 1024px) {
  .re-nav-title a {
    pointer-events: none;
  }
}

.re-sub-nav-opener {
  transition: opacity 0.3s ease-in-out;
  position: relative;
  display: block;
  padding-right: 30px;
}
@media (min-width: 1024px) {
  .re-sub-nav-opener {
    display: inline-block;
  }
}
.re-sub-nav-opener:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-family: "icomoon";
  content: "\e905";
  font-size: 25px;
}
@media (min-width: 1024px) {
  .re-sub-nav-opener:after {
    display: none;
    padding-right: 0;
  }
}
.sub-nav-popup-active .re-sub-nav-opener {
  opacity: 0.5 !important;
}
.sub-nav-popup-active .re-sub-nav-opener:after {
  content: "\e904";
}

.sub-nav-slide {
  color: #fff;
}
.sub-nav-slide ul {
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .sub-nav-slide ul {
    margin-bottom: 0;
  }
}
.sub-nav-slide ul li + li {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  .sub-nav-slide ul li + li {
    margin-top: 0;
  }
}
.sub-nav-slide ul li.active a {
  color: #e12726;
}
.sub-nav-slide a {
  color: inherit;
}
@media (min-width: 1024px) {
  .sub-nav-slide a {
    transition: color 0.3s ease-in-out;
  }
}
@media (min-width: 1024px) {
  .sub-nav-slide a:hover {
    color: #e12726;
  }
}

.re-nav ul > li.active > a {
  color: #e12726;
}
.re-nav > ul {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .re-nav > ul {
    display: flex;
    font-size: 24px;
    margin: 0 -16px;
    color: #52585b;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul {
    font-size: 30px;
    margin: 0 -38px;
  }
}
@media (min-width: 1024px) {
  .re-home .re-nav > ul, .re-inner .re-nav > ul {
    color: #fff;
  }
}
.re-nav > ul > li {
  border-bottom: 2px solid #fff;
}
@media (min-width: 1024px) {
  .re-nav > ul > li {
    border-bottom: 0;
    position: relative;
    padding: 0 0 0 14px;
    margin: 0 16px;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul > li {
    margin: 0 38px;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:hover > a {
    color: #e12726;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:hover .re-drop {
    opacity: 1;
    visibility: visible;
  }
}
@media (min-width: 1024px) {
  .re-nav > ul > li:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 3px;
    height: 24px;
    background: #e12726;
  }
}
@media (min-width: 1440px) {
  .re-nav > ul > li:before {
    height: 30px;
  }
}
.re-nav > ul > li.re-drop-active > .has-drop-down-a {
  opacity: 0.5 !important;
}
.re-nav > ul > li.re-drop-active > .has-drop-down-a:after {
  content: "\e904";
}
.re-nav > ul > li > a {
  transition: opacity 0.3s ease-in-out;
  position: relative;
  padding: 7px 0 5px;
  text-transform: uppercase;
  color: inherit;
  display: block;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a {
    transition: color 0.3s ease-in-out;
    text-transform: none;
    padding: 0;
    text-shadow: 0 0 2px #000;
  }
}
.re-nav > ul > li > a.has-drop-down-a {
  padding-right: 30px;
  position: relative;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a.has-drop-down-a {
    padding-right: 0;
  }
}
.re-nav > ul > li > a.has-drop-down-a:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-family: "icomoon";
  content: "\e905";
  font-size: 25px;
}
@media (min-width: 1024px) {
  .re-nav > ul > li > a.has-drop-down-a:after {
    display: none;
  }
}
.re-nav .re-drop {
  font-size: 14px;
  line-height: 19px;
  font-weight: 400;
  padding: 0 0 10px;
  color: #fff;
}
@media (min-width: 1024px) {
  .re-nav .re-drop {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    position: absolute;
    left: 0;
    width: 215px;
    top: 100%;
    font-size: 18px;
    line-height: 20px;
    opacity: 0;
    visibility: hidden;
    padding: 17px 0 0;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop {
    width: 336px;
    font-size: 22px;
    line-height: 24px;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop ul {
    background-color: #e12726;
    padding: 20px 26px 12px;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop ul {
    padding: 26px 32px 18px;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop li.active a {
    opacity: 0.6;
    color: #fff;
  }
}
.re-nav .re-drop li + li {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  .re-nav .re-drop li + li {
    margin-top: 12px;
  }
}
@media (min-width: 1440px) {
  .re-nav .re-drop li + li {
    margin-top: 16px;
  }
}
.re-nav .re-drop a {
  color: inherit;
}
@media (min-width: 1024px) {
  .re-nav .re-drop a {
    transition: opacity 0.3s ease-in-out;
  }
}
@media (min-width: 1024px) {
  .re-nav .re-drop a:hover {
    opacity: 0.8;
  }
}

.re-footer {
  padding: 50px 0 40px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  background-color: #52585b;
}
@media (min-width: 768px) {
  .re-footer {
    padding: 65px 0 40px;
    font-size: 18px;
    text-align-last: left;
  }
}
.re-footer ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.re-footer li:hover a {
  color: #e12726;
}
.re-footer li.active {
  color: #e12726;
}
.re-footer a {
  color: inherit;
  transition: all 0.3s;
}
.re-footer .container {
  max-width: 1560px;
}
@media (min-width: 1024px) {
  .re-footer .re-copyright {
    padding-top: 72px;
  }
}
.re-footer .re-footer-menu {
  padding-top: 5px;
}
.re-footer .re-copyright {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media (min-width: 768px) {
  .re-footer .re-copyright {
    margin: 0 -16px;
    justify-content: flex-end;
  }
}
.re-footer .re-copyright li {
  padding: 0 10px;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .re-footer .re-copyright li {
    padding: 0 16px;
  }
}

.re-columns-footer {
  margin: 0 -15px;
}
@media (min-width: 480px) {
  .re-columns-footer {
    display: flex;
    flex-wrap: wrap;
  }
}
.re-columns-footer > * {
  padding: 0 15px;
}
.re-columns-footer .re-col {
  margin-bottom: 30px;
}
@media (min-width: 480px) {
  .re-columns-footer .re-col {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .re-columns-footer .re-col {
    margin-bottom: 40px;
  }
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col {
    margin-bottom: 0;
    justify-content: flex-start;
    width: 24.5%;
    display: flex;
  }
}
.re-columns-footer .re-col-small {
  margin-bottom: 30px;
}
@media (min-width: 480px) {
  .re-columns-footer .re-col-small {
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col-small {
    width: 17%;
    margin-bottom: 0;
  }
}
.re-columns-footer .re-col-small:last-child {
  width: 100%;
  padding-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  .re-columns-footer .re-col-small:last-child {
    width: 17%;
    padding-top: 0;
    margin-bottom: 0;
  }
}

.re-footer-menu li {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .re-footer-menu li {
    margin-bottom: 15px;
  }
}

.re-address-item address {
  font-size: 18px;
  line-height: 34px;
  font-weight: 400;
  font-style: normal;
}
@media (min-width: 768px) {
  .re-address-item address {
    line-height: 40px;
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .re-address-item address {
    text-align: left;
  }
}

.re-soc-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .re-soc-menu {
    justify-content: flex-end;
  }
}
@media (min-width: 1024px) {
  .re-soc-menu {
    justify-content: flex-start;
  }
}
.re-soc-menu li {
  padding: 7px 3px 0;
}
.re-soc-menu .icon-twitter,
.re-soc-menu .icon-instagram {
  font-size: 22px;
}
.re-soc-menu .icon-facebook {
  display: inline-block;
  padding-top: 2px;
}

.no-space #main {
  padding: 0;
}

/**
 * Swiper 9.2.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 21, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper, swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide, swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet, :host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification, swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

/**
 * calendar calendar table styles
 */
.calendar-calendar tr.odd, .calendar-calendar tr.even {
  background-color: #fff;
}

.calendar-calendar table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
  padding: 0;
  width: 100%; /* Setting at 100% causes problem in Internet Explorer. */
}

.calendar-calendar table.full {
  margin-top: 50px !important;
}
@media (max-width: 1023px) {
  .calendar-calendar table.full {
    margin-top: 20px !important;
  }
}

@media (max-width: 1023px) {
  .view-content {
    overflow: auto;
  }
}

@media (max-width: 1023px) {
  .calendar-calendar .month-view {
    overflow: auto;
  }
}

.calendar-calendar .month-view table {
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
@media (max-width: 1023px) {
  .calendar-calendar .month-view table {
    width: 1024px;
  }
}

/**
 * IE needs a little help to get the side by side tables to the right size
 */
.calendar-calendar .year-view td {
  width: 32%;
  padding: 1px;
  border: none;
}

.calendar-calendar .year-view td table td {
  width: 13%;
  padding: 0;
}

.calendar-calendar tr {
  padding: 0;
  margin: 0;
  background-color: white;
}

.calendar-calendar th {
  text-align: center;
  margin: 0;
}

.calendar-calendar th a {
  font-weight: bold;
}

.calendar-calendar td {
  width: 14%;
  border: 1px solid #fff;
  color: #52585b;
  text-align: right;
  vertical-align: top;
  margin: 0;
  padding: 0;
}

/**
 * simplify the mini calendar by removing borders
 */
.calendar-calendar .mini {
  border: none;
}

/**
 * format for the week number in the first cell
 */
.calendar-calendar td.week {
  width: 1%;
  min-width: 1%;
}

.calendar-calendar .week {
  clear: both;
  font-style: normal;
  color: #555;
  font-size: 0.8em;
}

/**
 * IE6 does not support min-height, using Min-Height fast hack from http://www.dustindiaz.com/min-height-fast-hack
 */
.calendar-calendar .inner {
  height: auto !important;
  height: 5em;
  padding: 0;
  margin: 0;
}

.calendar-calendar .inner div {
  padding: 0;
  margin: 0;
}

/**
 * Make sure paragraphs buried in calendar cells use padding, not margins, for separation so the background color doesn't come through.
 */
.calendar-calendar .inner p {
  padding: 0 0 0.8em 0;
  margin: 0;
}

.calendar-calendar td a {
  font-weight: 500;
  text-decoration: none;
}

.calendar-calendar td a:hover {
  text-decoration: underline;
}

.calendar-calendar td.year,
.calendar-calendar td.month {
  text-align: center;
}

/**
 * format days of the week header cells
 */
.calendar-calendar th.days {
  color: #ccc;
  background-color: transparent;
  text-align: center;
  padding: 1px;
  margin: 0;
  font-weight: 500;
}

/**
 * floating day number div
 */
.calendar-calendar div.day {
  float: right;
  text-align: center;
  padding: 20px 0.25em 15px 0.25em;
  margin: 0;
  background-color: #f3f3f3;
  border: 1px solid gray;
  border-width: 0 0 1px 1px;
  clear: both;
  font-size: 45px;
  font-weight: 100;
}

/**
 * individual node container
 */
.calendar-calendar div.calendar {
  background-color: #fff;
  border: solid 1px #ddd;
  text-align: left;
  margin: 0 0.25em 0.25em 0;
  width: 96%;
  float: right; /* needed to keep IE from hiding the floating day number */
  clear: both;
}

/**
 * No floating of day view content because there is no floating day number
 */
.calendar-calendar .day-view div.calendar {
  float: none;
  width: 98%;
  margin: 1% 1% 0 1%;
}

.calendar-calendar div.title {
  font-size: 0.8em;
  text-align: center;
}

.calendar-calendar div.title a {
  color: #000;
}

.calendar-calendar div.title a:hover {
  color: #c00;
}

.calendar-calendar .content {
  clear: both;
  padding: 3px;
  padding-left: 5px;
}

.calendar div.form-item {
  white-space: normal;
}

table td.mini,
table th.mini,
table.mini td.week {
  padding: 0 1px 0 0;
  margin: 0;
}

table td.mini a {
  font-weight: normal;
}

.calendar-calendar .mini-day-off {
  padding: 0px;
}

.calendar-calendar .mini-day-on {
  padding: 0px;
}

table .mini-day-on a {
  text-decoration: underline;
}

.calendar-calendar .mini .title {
  font-size: 0.8em;
}

.mini .calendar-calendar .week {
  font-size: 0.7em;
}

.mini-row {
  width: 100%;
  border: none;
}

.mini {
  width: 32%;
  vertical-align: top;
}

/**
 * formatting for the legend stripe and block
 */
.calendar-calendar .stripe {
  height: 5px;
  width: auto;
  font-size: 1px !important;
  line-height: 1px !important;
}

.calendar-calendar .day-view .stripe {
  width: 100%;
}

table.calendar-legend {
  background-color: #ccc;
  width: 100%;
  margin: 0;
  padding: 0;
}

table.calendar-legend tr.odd .stripe,
table.calendar-legend tr.even .stripe {
  height: 12px !important;
  font-size: 9px !important;
  line-height: 10px !important;
}

.calendar-legend td {
  text-align: left;
  padding-left: 5px;
}

.calendar-empty {
  font-size: 1px;
  line-height: 1px;
}

/**
 * formatting for the full day view
 */
.calendar-calendar td.calendar-agenda-hour {
  text-align: right;
  border: none;
  border-top: 1px solid #CCCCCC;
  padding-top: 0.25em;
  width: 1%;
}

.calendar-calendar td.calendar-agenda-no-hours {
  min-width: 1%;
}

.calendar-calendar td.calendar-agenda-hour .calendar-hour {
  font-size: 1.2em;
  font-weight: bold;
}

.calendar-calendar td.calendar-agenda-hour .calendar-ampm {
  font-size: 1em;
}

.calendar-calendar td.calendar-agenda-items {
  border: 1px solid #CCCCCC;
  text-align: left;
}

.calendar-calendar td.calendar-agenda-items div.calendar {
  width: auto;
  padding: 0.25em;
  margin: 0;
}

.calendar-calendar div.calendar div.inner .calendar-agenda-empty {
  width: 100%;
  text-align: center;
  vertical-align: middle;
  padding: 1em 0;
  background-color: #fff;
}

/**
 * the popup date selector for jumping to a new date
 */
.calendar-date-select form {
  text-align: right;
  float: right;
  width: 25%;
}

.calendar-date-select div,
.calendar-date-select input,
.calendar-date-select label {
  text-align: right;
  padding: 0;
  margin: 0;
  float: right;
  clear: both;
}

.calendar-date-select .description {
  float: right;
}

.calendar-label {
  font-weight: bold;
  display: block;
  clear: both;
}

.calendar-calendar div.date-nav {
  background-color: #ccc;
  color: #52585b;
  padding: 0.2em;
  width: auto;
  border: 1px solid #ccc;
}

.calendar-calendar div.date-nav a,
.calendar-calendar div.date-nav h3 {
  color: #52585b;
  text-decoration: none;
}

.calendar-calendar th.days {
  background-color: transparent;
  color: #52585b;
  font-weight: 500;
  border: 1px solid #fff;
  font-size: 24px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: right;
}

.calendar-calendar td.empty {
  background: #f2f2f3;
  border-color: #fff;
  color: rgba(82, 88, 91, 0.2);
}

.calendar-calendar table.mini td.empty {
  background: #fff;
  border-color: #fff;
}

.calendar-calendar td div.day {
  border: 1px solid #ccc;
  border-top: none;
  border-right: none;
  margin-bottom: 2px;
}

.calendar-calendar td .inner div,
.calendar-calendar td .inner div a {
  background: #eee;
}

/**
 * Set small font size for all items in calendar div, themes can override this.
 * Use x-small instead of em to avoid multiplying effect in nested items.
 */
.calendar-calendar div.calendar {
  border: none;
  font-size: x-small;
}

.calendar-calendar td .inner div.calendar div,
.calendar-calendar td .inner div.calendar div a {
  border: none;
  background: transparent;
  padding: 0;
}

.calendar-calendar td .inner div.calendar div.calendar-more,
.calendar-calendar td .inner div.calendar div.calendar-more a {
  color: #444;
  background: #fff;
  text-align: right;
}

.calendar-calendar td .inner .view-field,
.calendar-calendar td .inner .view-field a {
  color: #444;
  font-weight: normal;
}

.calendar-calendar td span.date-display-single,
.calendar-calendar td span.date-display-start,
.calendar-calendar td span.date-display-end,
.calendar-calendar td span.date-display-separator {
  font-weight: 400;
}

.calendar-calendar td .inner div.day a {
  color: #52585b;
  font-weight: 100;
}

.calendar-calendar tr td.today,
.calendar-calendar tr.odd td.today,
.calendar-calendar tr.even td.today {
  background-color: #C3D6E4;
}

/**
 * The following are not used by default but are available for themes
 */
/**
 * Multi day styles
 */
.calendar-calendar tbody {
  border-top: none;
}

.calendar-calendar .month-view .full .inner,
.calendar-calendar .week-view .full .multi-day .inner {
  height: auto;
  min-height: 130px;
}

.calendar-calendar .week-view .full .calendar-agenda-hour .calendar-calendar .month-view .full .single-day .inner .view-item {
  float: left;
  width: 100%;
}

.calendar-calendar .week-view .full .calendar-agenda-hour,
.calendar-calendar .day-view .full .calendar-agenda-hour {
  padding-right: 2px;
}

.calendar-calendar .week-view .full .calendar-agenda-hour {
  width: 6%;
  min-width: 0px;
}

.calendar-calendar .week-view .full .days {
  width: 13%;
}

.calendar-calendar .month-view .full div.calendar,
.calendar-calendar .week-view .full div.calendar,
.calendar-calendar .day-view div.calendar {
  width: auto;
}

.calendar-calendar .month-view .full tr.date-box,
.calendar-calendar .month-view .full tr.date-box td,
.calendar-calendar .month-view .full tr.multi-day,
.calendar-calendar .month-view .full tr.multi-day td {
  height: 19px;
  max-height: 19px;
}

.calendar-calendar .month-view .full tr.single-day .no-entry,
.calendar-calendar .month-view .full tr.single-day .no-entry .inner {
  height: 44px !important;
  line-height: 44px;
}

.calendar-calendar .month-view .full tr.single-day .noentry-multi-day,
.calendar-calendar .month-view .full tr.single-day .noentry-multi-day .inner {
  height: 22px !important;
  line-height: 22px;
}

.calendar-calendar .month-view .full td,
.calendar-calendar .week-view .full td,
.calendar-calendar .day-view td {
  vertical-align: top;
  padding: 1px 2px 0 2px;
}

.calendar-calendar .month-view .full td.date-box {
  height: 1%;
  border-bottom: 0px;
  padding-bottom: 2px;
}

.calendar-calendar .month-view .full .week {
  font-size: inherit;
}

.calendar-calendar .month-view .full .week a,
.calendar-calendar .week-view .full .week a {
  color: #4b85ac;
}

.calendar-calendar .month-view .full td .inner div.day,
.calendar-calendar .month-view .full td .inner div.day a {
  border: none;
  background: none;
  margin-bottom: 0px;
}

.calendar-calendar .month-view .full td.date-box .inner,
.calendar-calendar .week-view .full td.date-box .inner {
  min-height: inherit;
}

.calendar-calendar .month-view .full td.multi-day,
.calendar-calendar .week-view .full td.multi-day {
  border-top: 0px;
  border-bottom: 0px;
}

.calendar-calendar .week-view .full .first td.multi-day {
  border-top: 1px solid #CCCCCC;
}

.calendar-calendar .month-view .full td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full td.multi-day .inner,
.calendar-calendar .week-view .full td.multi-day .inner,
.calendar-calendar .day-view .full td.multi-day .inner {
  min-height: inherit;
  width: auto;
  position: relative;
}

.calendar-calendar .month-view .full td.multi-day.no-entry {
  min-height: 0px;
}

.calendar-calendar .month-view .full td.single-day .calendar-empty,
.calendar-calendar .month-view .full td.single-day.empty,
.calendar-calendar .month-view .full td.date-box.empty,
td {
  background: #f2f2f3;
}

.calendar-calendar .month-view .full td.single-day .inner div,
.calendar-calendar .month-view .full td.single-day .inner div a,
.calendar-calendar .month-view .full td.multi-day .inner div,
.calendar-calendar .month-view .full td.multi-day .inner div a,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div,
.calendar-calendar .month-view .full td .inner div.calendar.monthview div a,
.calendar-calendar .week-view .full td.single-day .inner div,
.calendar-calendar .week-view .full td.single-day .inner div a,
.calendar-calendar .week-view .full td.multi-day .inner div,
.calendar-calendar .week-view .full td.multi-day .inner div a,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div,
.calendar-calendar .week-view .full td .inner div.calendar.weekview div a,
.calendar-calendar .day-view .full td .inner div.view-item,
.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  background: none;
}

.calendar-calendar .day-view .full td .inner div.calendar div,
.calendar-calendar .day-view .full td .inner div.calendar div a {
  margin: 0px 3px;
}

.calendar-calendar .day-view .full td .inner div.calendar div.stripe {
  margin: 0px;
}

.calendar-calendar .month-view .full tr td.today,
.calendar-calendar .month-view .full tr.odd td.today,
.calendar-calendar .month-view .full tr.even td.today {
  background: none;
  border-left: 2px solid #7C7F12;
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full td.date-box.today {
  border-width: 2px 2px 0px 2px;
  border-style: solid;
  border-color: #7C7F12;
}

.calendar-calendar .month-view .full tr td.single-day.today {
  border-bottom: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.starts-today {
  border-left: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day.ends-today {
  border-right: 2px solid #7C7F12;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.single-day {
  border-top: 0px;
}

.calendar-calendar .month-view .full tr td.multi-day,
.calendar-calendar .month-view .full tr td.date-box {
  border-bottom: 0px;
}

.calendar-calendar .month-view .full .inner .monthview,
.calendar-calendar .week-view .full .inner .weekview,
.calendar-calendar .day-view .full .inner .dayview {
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: auto;
  float: none;
  display: block;
  margin: 0.25em auto;
  position: relative;
}

.calendar-calendar .month-view .full td.single-day div.monthview,
.calendar-calendar .week-view .full td.single-day div.weekview,
.calendar-calendar .day-view .full td.single-day div.dayview {
  background: transparent;
  width: auto;
  padding: 5px 12px 5px 25px;
  overflow: hidden;
  text-align: right;
  font-size: 18px;
  line-height: 1;
}

.calendar-calendar .month-view .full td.single-day .calendar-more div.monthview {
  background: none;
}

.calendar-calendar .day-view td div.dayview {
  padding: 0px;
}

.calendar-calendar .month-view .full td.multi-day div.monthview,
.calendar-calendar .week-view .full td.multi-day div.weekview,
.calendar-calendar .day-view .full td.multi-day div.dayview {
  background: #74a5d7;
  height: 1.9em;
  overflow: hidden;
  margin: 0px auto;
  color: #ffffff;
  position: relative;
}

.calendar-calendar .week-view .full td.multi-day div.weekview {
  height: 3.5em;
}

.calendar-calendar li {
  list-style-type: none;
}

.calendar-calendar li .text a {
  display: block;
  margin: 0 0 7px;
  color: #e12726;
}

.calendar-calendar .month-view .full td.multi-day .inner .view-field,
.calendar-calendar .month-view .full td.multi-day .inner .view-field a,
.calendar-calendar .week-view .full td.multi-day .inner .view-field,
.calendar-calendar .week-view .full td.multi-day .inner .view-field a,
.calendar-calendar .day-view .full td.multi-day .inner .view-field,
.calendar-calendar .day-view .full td.multi-day .inner .view-field a {
  color: #ffffff;
}

.calendar-calendar .day-view .full td.multi-day div.dayview,
.calendar-calendar .week-view .full td.multi-day div.weekview {
  margin-bottom: 2px;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .view-field {
  white-space: nowrap;
  float: left;
  margin-right: 3px;
}

.calendar-calendar .week-view .full td.multi-day .calendar.weekview .view-field {
  white-space: nowrap;
  display: inline;
  margin-right: 3px;
}

.calendar-calendar .day-view .full td.multi-day .calendar.weekview .view-field {
  display: block;
}

.calendar-calendar .month-view .full td.multi-day .calendar.monthview .contents,
.calendar-calendar .week-view .full td.multi-day .calendar.weekview .contents {
  position: absolute;
  width: 3000px;
  left: 5px;
}

.calendar-calendar .day-view td .stripe,
.calendar-calendar .month-view .full td .stripe,
.calendar-calendar .week-view .full td .stripe {
  -moz-border-radius: 5px 5px 0px 0px;
  border-radius: 5px 5px 0px 0px;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 3px;
  z-index: 2;
}

.calendar-calendar .full td.single-day .continuation,
.calendar-calendar .full td.single-day .continues,
.calendar-calendar .full td.single-day .cutoff {
  display: none;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continuation,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continuation {
  float: left;
  margin-right: 3px;
  height: 1.9em;
}

.calendar-calendar .week-view .full td.multi-day .inner .weekview .continuation {
  height: 2.75em;
  padding-top: 0.75em;
  margin-right: 8px;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .continues,
.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  position: absolute;
  right: 0px !important;
  right: -1px;
  width: 10px;
  text-align: left;
  background: #74a5d7;
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  height: 1.9em;
  padding-left: 6px;
  z-index: 1;
}

.calendar-calendar .week-view .full td.multi-day .inner .weekview .continues,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  height: 2.75em;
  padding-top: 0.75em;
}

.calendar-calendar .month-view .full td.multi-day .inner .monthview .cutoff,
.calendar-calendar .week-view .full td.multi-day .inner .weekview .cutoff {
  width: 8px;
  padding-left: 0px;
}

.calendar-calendar .week-view .full td.multi-day {
  padding: 2px;
}

.calendar-calendar .week-view td.single-day div.calendar {
  width: 100%;
  padding-left: 0px;
  padding-right: 0px;
}

.calendar-calendar .week-view .full tr.last td.multi-day {
  border-bottom: 1px solid #CCCCCC;
}

/**
 * Restyle Header
 */
.view .date-nav-wrapper .clear-block {
  margin-bottom: 10px;
}

.view .date-nav-wrapper {
  position: relative;
  background-color: #52585b;
  width: 100%;
}

.view .date-nav-wrapper .date-nav {
  background-color: transparent;
  border: 0px;
  min-height: 30px;
  position: relative;
  padding: 7px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.view .pager {
  display: flex;
  align-items: center;
  list-style-type: none;
  justify-content: space-between;
}

.view .date-nav-wrapper .date-prev a,
.view .date-nav-wrapper .date-next a {
  text-decoration: none;
  color: inherit;
  font-size: 0;
}

.view .date-nav-wrapper.date-nav a:hover {
  text-decoration: underline;
}

.view .date-nav-wrapper .date-prev {
  -moz-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
  background: transparent;
  float: none;
  right: 80px;
  left: auto;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 0;
  line-height: 0;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev {
    margin: 0 10px;
  }
}

.block-views .view .date-nav-wrapper .date-prev {
  left: 0;
  right: auto;
}

.view .date-nav-wrapper .date-prev a {
  margin-left: 10px;
  font-weight: bold;
  width: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev a {
    width: 60px;
  }
}
.view .date-nav-wrapper .date-prev a::before {
  content: "";
  background-image: url("images/arrow-prev.svg");
  width: 30px;
  height: 20px;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 50%;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-prev a::before {
    width: 60px;
    height: 40px;
  }
}
.view .date-nav-wrapper .date-prev a:hover {
  opacity: 0.7;
}

.view .date-nav-wrapper .date-heading {
  position: relative;
  top: 0px;
  text-align: center;
  z-index: 0;
}

.view .date-nav-wrapper .date-heading h3 {
  line-height: 1;
  font-size: 24px;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-heading h3 {
    font-size: 30px;
    letter-spacing: 2px;
  }
}

.view .date-nav-wrapper .date-next {
  -moz-border-radius: 0px 5px 5px 0px;
  border-radius: 0px 5px 5px 0px;
  background: transparent;
  float: none;
  right: 0px;
  text-align: right;
  top: 0px;
  width: auto;
  z-index: 1;
  font-size: 0;
  margin: 0 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next {
    margin: 0 10px;
  }
}

.view .date-nav-wrapper .date-next a {
  margin-right: 0;
  font-weight: bold;
  width: 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next a {
    width: 60px;
  }
}
.view .date-nav-wrapper .date-next a::before {
  content: "";
  background-image: url("images/arrow-next.svg");
  width: 30px;
  height: 20px;
  background-repeat: no-repeat;
  display: block;
  left: 0;
  top: 50%;
}
@media (min-width: 1024px) {
  .view .date-nav-wrapper .date-next a::before {
    width: 60px;
    height: 40px;
  }
}
.view .date-nav-wrapper .date-next a:hover {
  opacity: 0.7;
}

.attachment .calendar-calendar {
  margin-top: 20px;
  clear: both;
}

.calendar-calendar th a,
.attachment .calendar-calendar th {
  background-color: transparent;
  border: 0px;
}

.attachment .calendar-calendar th.calendar-agenda-hour {
  color: #777777;
  font-weight: bold;
  text-align: right;
}

.view-calendar .feed-icon {
  margin-top: 5px;
}

.view table.mini .date-prev,
.view table.mini .date-next {
  background: none;
}

.date-nav div.date-prev,
.date-nav div.date-next,
.date-nav {
  width: auto;
}

ul.calendar-links,
.region-content ul.calendar-links {
  margin: 0;
  padding: 0;
}

.year-view div.month-view div.date-nav {
  background-color: #DFDFDF;
  min-height: 20px;
}

.tabs-multiday {
  margin: 0;
  padding: 25px 0;
}
.tabs-multiday .tabs__tab {
  border: none;
  background: transparent;
  margin-right: 30px;
}
@media (max-width: 1023px) {
  .tabs-multiday .tabs__tab {
    margin-right: 20px;
  }
}
.tabs-multiday .tabs__tab.is-active .tabs__tab-link {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.9);
}
.tabs-multiday .tabs__tab-link {
  font-size: 20px;
  text-transform: uppercase;
  background: transparent;
  padding: 0;
  text-align: left;
  letter-spacing: 5px;
  font-weight: 500;
  color: #52585b;
}
@media (max-width: 1023px) {
  .tabs-multiday .tabs__tab-link {
    font-size: 18px;
    letter-spacing: 1px;
  }
}
.tabs-multiday .tabs__tab-link:hover {
  background: transparent;
  color: #c00f08;
}

.re-btn {
  transition: color 0.3s ease-in-out;
  background: #000;
  color: #fff;
  border-color: #000;
  text-transform: uppercase;
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  font-size: 20px;
  line-height: 22px;
  font-weight: 500;
  padding: 12px 10px;
  vertical-align: top;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .re-btn {
    padding: 21px 24px 19px;
  }
}
@media (min-width: 1440px) {
  .re-btn {
    letter-spacing: 2px;
    font-size: 24px;
    line-height: 26px;
  }
}
@media (min-width: 1680px) {
  .re-btn {
    letter-spacing: 4.7px;
  }
}
.re-btn:hover {
  color: #fff;
}
.re-btn:hover:before {
  width: 100%;
}
.re-btn:before {
  transition: width 0.3s ease-in-out;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}
.re-btn-default {
  background: #000;
  color: #fff;
  border-color: #000;
}
.re-btn-danger {
  background: #e12726;
  color: #fff;
  border-color: #e12726;
}
.re-btn-danger:hover {
  color: #e12726;
}
.re-btn-danger:before {
  background-color: #fff;
}
.re-btn-outline-light {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.re-btn-outline-light:hover {
  color: #e12726;
}
.re-btn-outline-light:before {
  background-color: #fff;
}
.re-btn-sm {
  border-radius: 0;
  padding: 4px 10px;
}

.btn-group {
  margin: 0 -5px -10px;
  display: flex;
  flex-wrap: wrap;
}
.btn-group .btn {
  margin: 0 5px 10px;
}

.swiper {
  --swiper-theme-color: #e12726;
  --swiper-pagination-bullet-width: 18px;
  --swiper-pagination-bullet-height: 18px;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-vertical-gap: 25px;
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-scrollbar-size: 7px;
  --swiper-scrollbar-border-radius: 0;
  --swiper-scrollbar-bg-color: #52585b;
  --swiper-scrollbar-drag-bg-color: var(--swiper-theme-color);
}

.swiper-pagination-bullet {
  transition: transform 0.3s ease-in-out;
  box-shadow: 0 0 2px #000;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
  transform: scale(1.1);
}

.swiper-button-next,
.swiper-button-prev {
  transition: color 0.3s ease-in-out;
  width: auto;
  height: auto;
  margin: 0;
  text-transform: uppercase;
  font-size: 0;
}
@media (min-width: 1024px) {
  .swiper-button-next,
  .swiper-button-prev {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 4px;
  }
}
@media (min-width: 1440px) {
  .swiper-button-next,
  .swiper-button-prev {
    font-size: 24px;
    letter-spacing: 5px;
  }
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: #52585b;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}
.swiper-button-next svg,
.swiper-button-prev svg {
  width: 30px;
  fill: currentColor;
}
@media (min-width: 1024px) {
  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 44px;
  }
}
@media (min-width: 1440px) {
  .swiper-button-next svg,
  .swiper-button-prev svg {
    width: 55px;
  }
}

.swiper-button-next svg {
  margin: 0 0 0 17px;
}

.swiper-button-prev svg {
  margin: 0 17px 0 0;
}

.swiper-hero {
  height: calc(var(--vh, 1vh) * 100);
  width: 100%;
  min-height: 480px;
}
.swiper-hero.swiper-vertical > .swiper-pagination-bullets,
.swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
  max-width: 1560px;
  width: 100%;
  pointer-events: none;
  right: auto;
  left: 50%;
  top: 50%;
  padding: 100px 15px 0;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media (min-width: 1024px) {
  .swiper-hero.swiper-vertical > .swiper-pagination-bullets,
  .swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
    padding-top: 160px;
  }
}
@media (min-width: 1440px) {
  .swiper-hero.swiper-vertical > .swiper-pagination-bullets,
  .swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets {
    padding-top: 200px;
  }
}
.swiper-hero.swiper-vertical > .swiper-pagination-bullets > *,
.swiper-hero .swiper-pagination-vertical.swiper-pagination-bullets > * {
  pointer-events: auto;
}

.swiper-event.swiper-horizontal > .swiper-scrollbar,
.swiper-event .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: static;
  width: 100%;
}
.swiper-event .swiper-wrapper {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .swiper-event .swiper-wrapper {
    margin-bottom: 44px;
  }
}
.swiper-event .swiper-button-wrap {
  display: flex;
  justify-content: space-between;
  margin: 0 0 15px;
}
@media (min-width: 1024px) {
  .swiper-event .swiper-button-wrap {
    margin-bottom: 22px;
  }
}
.swiper-event .swiper-button-next,
.swiper-event .swiper-button-prev {
  position: static;
}

.paging-gallery .container {
  max-width: 1560px;
}

.swiper-direction-paging-wrap {
  background-color: #fbe7dd;
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .swiper-direction-paging-wrap {
    margin-bottom: 77px;
  }
}
.swiper-direction-paging-wrap .container {
  max-width: 1570px;
}

.swiper-direction-paging.swiper-horizontal > .swiper-scrollbar,
.swiper-direction-paging .swiper-scrollbar.swiper-scrollbar-horizontal {
  bottom: 0;
}
.swiper-direction-paging .swiper-wrapper {
  justify-content: space-between;
}
.swiper-direction-paging .swiper-slide {
  width: auto;
  padding: 30px 5px 27px;
}
@media (min-width: 1024px) {
  .swiper-direction-paging .swiper-slide {
    padding: 43px 5px 37px;
  }
}
.swiper-direction-paging .swiper-slide-thumb-active {
  color: #e12726;
}
.swiper-direction-paging .swiper-slide-thumb-active .bullet:before {
  opacity: 1;
  visibility: visible;
}
.swiper-direction-paging .bullet {
  transition: color 0.3s ease-in-out;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 20px;
  cursor: pointer;
  display: block;
  position: relative;
  z-index: 1;
  letter-spacing: 0.2em;
  color: #52585b;
}
@media (min-width: 1024px) {
  .swiper-direction-paging .bullet {
    font-size: 24px;
  }
}
@media (min-width: 1440px) {
  .swiper-direction-paging .bullet {
    font-size: 28px;
  }
}
.swiper-direction-paging .bullet:hover {
  color: #e12726;
}
.swiper-direction-paging .bullet:before {
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  content: "";
  position: absolute;
  left: 0;
  top: calc(100% + 7px);
  opacity: 0;
  visibility: hidden;
  border-style: solid;
  border-color: #fff transparent;
  border-width: 0 20px 20px;
}
@media (min-width: 1024px) {
  .swiper-direction-paging .bullet:before {
    top: calc(100% + 18px);
  }
}

.swiper-direction.nav-custome-position .swiper-wrapper {
  padding: 0 0 80px;
}
.swiper-direction .swiper-button-disabled {
  display: none;
}
.swiper-direction .swiper-button-next,
.swiper-direction .swiper-button-prev {
  bottom: 32px;
  top: auto;
}
@media (min-width: 768px) {
  .swiper-direction .swiper-button-next {
    right: 0;
  }
}
@media (min-width: 1440px) {
  .swiper-direction .swiper-button-next {
    right: 0;
  }
}
@media (min-width: 768px) {
  .swiper-direction .swiper-button-prev {
    left: 0;
  }
}
@media (min-width: 1440px) {
  .swiper-direction .swiper-button-prev {
    left: 0;
  }
}

.swiper-card-hero {
  height: 100%;
  position: relative;
  z-index: 1;
}
.swiper-card-hero .container {
  max-width: 1440px;
}
.swiper-card-hero .swiper-hero-img,
.swiper-card-hero .swiper-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.swiper-card-hero .swiper-hero-img video,
.swiper-card-hero .swiper-hero-img img,
.swiper-card-hero .swiper-hero-video video,
.swiper-card-hero .swiper-hero-video img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.swiper-hero-body {
  position: absolute;
  bottom: 30px;
  left: 0;
  color: #fff;
  width: 100%;
  text-align: center;
  text-shadow: 0 0 2px #000;
  padding: 100px 0 30px;
  font-size: 20px;
  line-height: 1.2;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .swiper-hero-body {
    padding-top: 160px;
    font-size: 31px;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
  }
}
@media (min-width: 1440px) {
  .swiper-hero-body {
    padding-top: 240px;
    font-size: 38px;
  }
}
.swiper-hero-body .body-wrap {
  max-width: 550px;
  padding: 0 30px;
}
.swiper-hero-body .body-wrap > * {
  pointer-events: auto;
}
.swiper-hero-body h1 {
  color: #fff;
  text-transform: capitalize;
  font-weight: 500;
  margin: 0 0 13px;
  font-size: 36px;
  line-height: 1;
}
@media (min-width: 1024px) {
  .swiper-hero-body h1 {
    font-size: 54px;
  }
}
@media (min-width: 1440px) {
  .swiper-hero-body h1 {
    font-size: 68px;
  }
}
.swiper-hero-body .text {
  display: block;
  margin: 0 0 33px;
}
.swiper-hero-body .re-btn:hover {
  text-shadow: none;
}

.section-event {
  padding: 30px 0;
}
@media (min-width: 768px) {
  .section-event {
    padding: 50px 0;
  }
}
@media (min-width: 1024px) {
  .section-event {
    padding: 68px 0;
  }
}
.section-event .container {
  max-width: 1560px;
}
.section-event.custome {
  padding: 30px 0 10px;
}
@media (min-width: 768px) {
  .section-event.custome {
    padding: 50px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.custome {
    padding: 68px 0 10px;
  }
}
.section-event.custome-spase {
  padding: 30px 0 10px;
}
@media (min-width: 768px) {
  .section-event.custome-spase {
    padding: 50px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.custome-spase {
    padding: 68px 0 10px;
  }
}
@media (min-width: 1024px) {
  .section-event.calendar h1 {
    margin-bottom: 0px;
  }
}
.section-event h1 {
  color: #e12726;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-event h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-event h1 {
    font-size: 60px;
  }
}
.section-event .title-holder {
  border-bottom: 2px solid #e12726;
  display: flex;
  justify-content: space-between;
}
.section-event .title-holder .title-decor {
  border-bottom: none;
}
.section-event .title-holder .option-holder {
  display: flex;
}
.section-event .title-holder .option-holder a {
  display: block;
  flex-shrink: 0;
  margin: 0 0 0 15px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a {
    margin: 0 0 0 35px;
  }
}
.section-event .title-holder .option-holder a:hover svg {
  fill: #e12726;
}
.section-event .title-holder .option-holder a.active svg {
  fill: #e12726;
}
.section-event .title-holder .option-holder a.block {
  width: 45px;
  height: 30px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a.block {
    width: 61px;
    height: 40px;
  }
}
.section-event .title-holder .option-holder a.list {
  width: 57px;
  height: 30px;
}
@media (min-width: 1024px) {
  .section-event .title-holder .option-holder a.list {
    width: 77px;
    height: 40px;
  }
}
.section-event .title-holder .option-holder a svg {
  fill: #52585b;
  transition: 0.3s;
}
.section-event .title-decor {
  padding: 0 0 10px;
  border-bottom: 2px solid #e12726;
}
@media (min-width: 1024px) {
  .section-event .title-decor {
    padding-bottom: 20px;
  }
}
.section-event .description {
  font-size: 18px;
  font-weight: 300;
  color: #000;
  line-height: 1;
  padding: 30px 0 0;
}
@media (min-width: 768px) {
  .section-event .description {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-event .description {
    font-size: 32px;
    line-height: 42px;
  }
}

.card-event {
  display: block;
  padding-top: 80%;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .card-event {
    padding-top: 72%;
  }
}
.card-event:hover .card-event-body {
  background-color: rgba(225, 39, 38, 0.9);
}
.card-event:hover .card-event-img img {
  transform: scale(1.02) translateY(-5px);
}

.card-event-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
.card-event-img img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.card-event-body {
  transition: background-color 0.8s ease-in-out;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px 60px 10px 10px;
  background-color: rgba(225, 39, 38, 0.8);
  color: #fff;
  text-align: right;
  font-size: 20px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .card-event-body {
    padding: 31px 88px 22px 15px;
    font-size: 22px;
  }
}
@media (min-width: 1440px) {
  .card-event-body {
    font-size: 27px;
    padding-right: 111px;
  }
}
.card-event-body h2 {
  color: #fff;
  text-transform: capitalize;
  font-weight: 500;
  font-size: 20px;
  line-height: 1;
  margin: 0;
}
@media (min-width: 1024px) {
  .card-event-body h2 {
    font-size: 22px;
    margin-bottom: 8px;
  }
}
@media (min-width: 1440px) {
  .card-event-body h2 {
    font-size: 27px;
  }
}
.card-event-body .icon {
  width: 30px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 1024px) {
  .card-event-body .icon {
    width: 34px;
    right: 31px;
  }
}
@media (min-width: 1440px) {
  .card-event-body .icon {
    width: 43px;
    right: 38px;
  }
}
.card-event-body .icon svg {
  fill: currentColor;
}

.table-calendar__item {
  display: flex;
  border-bottom: 1px solid #fff;
}
.table-calendar__item .date-holder {
  width: 150px;
  flex-shrink: 0;
  padding: 20px;
  background-color: #e8e9eb;
  color: #52585b;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder {
    width: 300px;
  }
}
.table-calendar__item .date-holder h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
  margin: 0 0 5px;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder h3 {
    font-size: 24px;
    letter-spacing: 2px;
  }
}
.table-calendar__item .date-holder h4 {
  font-size: 32px;
  font-weight: 300;
  line-height: 1.1;
  text-transform: uppercase;
  margin: 0;
}
@media (min-width: 768px) {
  .table-calendar__item .date-holder h4 {
    font-size: 45px;
  }
}
.table-calendar__item .list-holder {
  background-color: #f2f2f3;
  width: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
}
.table-calendar__item .list-holder .list {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.table-calendar__item .list-holder .list li {
  padding: 0;
  margin: 0 0 20px;
}
.table-calendar__item .list-holder .list li:last-child {
  margin: 0;
}
.table-calendar__item .list-holder .list li::before {
  content: none;
}
.table-calendar__item .list-holder .list a {
  display: block;
  font-size: 16px;
  line-height: 1.1;
  color: #e12726;
  font-weight: 500;
}
@media (min-width: 768px) {
  .table-calendar__item .list-holder .list a {
    font-size: 18px;
  }
}
.table-calendar__item .list-holder .list time {
  color: #52585b;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 768px) {
  .table-calendar__item .list-holder .list time {
    font-size: 18px;
  }
}

.navigation-items {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 -15px;
  list-style-type: none;
  padding: 25px 0 0;
}
@media (min-width: 768px) {
  .navigation-items {
    margin: 0 0 -30px;
  }
}
@media (min-width: 1024px) {
  .navigation-items {
    margin: 0 0 -45px;
  }
}
.navigation-items .item {
  margin: 5px 10px;
  font-size: 30px;
  color: #52585b;
}
.navigation-items .item.item-prev, .navigation-items .item.item-next {
  margin: 0 20px;
}
.navigation-items .item.item-prev a, .navigation-items .item.item-next a {
  width: 55px;
  display: block;
}
.navigation-items .item.item-prev a svg, .navigation-items .item.item-next a svg {
  fill: #52585b;
}
.navigation-items .item a {
  color: #52585b;
  font-weight: 500;
}
.navigation-items .item a:hover {
  color: #e12726;
}
.navigation-items .item a:hover svg {
  fill: #e12726;
}

.section-direction {
  padding: 0 0 30px;
}

.card-direction {
  background-color: #f0f0f0;
  font-size: 21px;
  font-weight: 300;
  line-height: 1.63;
  color: #000;
  background-color: #f0f0f0;
}
@media (min-width: 768px) {
  .card-direction {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .card-direction {
    font-size: 25px;
    line-height: 42px;
  }
}
@media (min-width: 1440px) {
  .card-direction {
    font-size: 32px;
  }
}

@media (min-width: 1024px) {
  .card-direction-img {
    width: 50%;
  }
}
.card-direction-img img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  display: block;
}

.card-direction-body {
  padding: 50px 15px 90px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .card-direction-body {
    padding-left: 45px;
    padding-right: 45px;
    display: flex;
    align-items: center;
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .card-direction-body {
    padding-right: 77px;
    padding-left: 77px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body {
    padding-right: 97px;
    padding-left: 97px;
  }
}
.card-direction-body .text {
  display: block;
  margin: 0 0 30px;
}
@media (min-width: 768px) {
  .card-direction-body .text {
    margin-bottom: 40px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body .text {
    margin-bottom: 52px;
  }
}
.card-direction-body h1 {
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
  color: inherit;
  margin: 0 0 15px;
  text-transform: capitalize;
}
@media (min-width: 1024px) {
  .card-direction-body h1 {
    font-size: 64px;
    margin-bottom: 28px;
  }
}
@media (min-width: 1440px) {
  .card-direction-body h1 {
    font-size: 80px;
  }
}

.section-re-about {
  color: #fff;
  background-color: #e12726;
  font-size: 18px;
  line-height: 1.625;
}
.section-re-about.bg-gray {
  background-color: #52585b;
}
.section-re-about.bg-gray h1 {
  color: #fff;
  padding: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 300;
  margin: 0;
}
@media (min-width: 1024px) {
  .section-re-about.bg-gray h1 {
    font-size: 60px;
    padding-bottom: 30px;
  }
}
@media (min-width: 1440px) {
  .section-re-about.bg-gray h1 {
    font-size: 80px;
  }
}
.section-re-about.bg-gray P b {
  font-weight: 500;
}
.section-re-about.bg-gray P a {
  text-transform: none;
}
@media (min-width: 768px) {
  .section-re-about {
    font-size: 25px;
  }
}
@media (min-width: 1440px) {
  .section-re-about {
    font-size: 32px;
  }
}
.section-re-about a {
  color: inherit;
  transition: all 0.3s;
  text-transform: uppercase;
}
.section-re-about .container {
  max-width: 1560px;
}
.section-re-about .re-btn {
  width: 245px;
}

@media (min-width: 1024px) {
  .re-columns-about {
    display: flex;
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .re-columns-about .re-col {
    display: flex;
    width: 50%;
  }
}
.re-columns-about .re-col:last-child {
  padding: 20px 0 40px;
  align-items: center;
}
@media (min-width: 768px) {
  .re-columns-about .re-col:last-child {
    padding: 55px 3% 55px 0;
  }
}

.re-about-content-left {
  width: 100%;
  text-align: center;
  font-weight: 300;
}
@media (min-width: 1024px) {
  .re-about-content-left {
    text-align: left;
  }
}

.re-about-content-right {
  margin: 0 -15px;
  background-color: #52585b;
}
@media (min-width: 578px) {
  .re-about-content-right {
    margin: 0 0 0 -15px;
    display: flex;
  }
}
@media (min-width: 1024px) {
  .re-about-content-right {
    width: 100%;
    margin: 0;
  }
}

.re-about-menu {
  padding: 40px 0 20px;
  margin: 0;
  font-weight: 500;
  list-style: none;
  text-align: center;
  letter-spacing: 0.2em;
}
@media (min-width: 578px) {
  .re-about-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 59.7%;
    padding: 42px 9.3% 20px 3%;
    text-align: right;
  }
}
@media (min-width: 768px) {
  .re-about-menu {
    padding: 42px 9% 20px 3%;
    font-size: 20px;
  }
}
@media (min-width: 1440px) {
  .re-about-menu {
    font-size: 24px;
  }
}
.re-about-menu li {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .re-about-menu li {
    margin: 0 0 40px;
  }
}
@media (min-width: 1440px) {
  .re-about-menu li {
    margin-bottom: 51px;
  }
}
.re-about-menu li:hover a {
  color: #e12726;
}

.re-about-visual-wrap {
  flex-grow: 1;
  min-height: 300px;
}
@media (min-width: 578px) {
  .re-about-visual-wrap {
    min-height: 443px;
    width: 40%;
  }
}

.re-about-visual {
  margin: 0 -15px;
  height: 100%;
  overflow: hidden;
}
@media (min-width: 578px) {
  .re-about-visual {
    margin: 0 -15px 0 0;
  }
}
@media (min-width: 1560px) {
  .re-about-visual {
    margin-right: -75px;
  }
}
.re-about-visual img {
  vertical-align: top;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}

.section-hero {
  position: relative;
  height: calc(var(--vh, 1vh) * 85);
  width: 100%;
}
.section-hero .bg-holder {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.section-hero .bg-holder img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.section-hero .container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  max-width: 1560px;
  height: calc(100% - 150px);
}
.section-hero .container h1 {
  color: #fff;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-hero .container h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-hero .container h1 {
    font-size: 75px;
  }
}
.section-hero .container .re-btn {
  display: inline-flex;
  align-items: center;
}
.section-hero .container .re-btn svg {
  width: 30px;
  margin: 0 0 0 10px;
  fill: #fff;
  transition: 0.3s;
}
.section-hero .container .re-btn:hover svg {
  fill: #e12726;
}

.section-all-option .container {
  max-width: 1535px;
}
.section-all-option h1 {
  color: #e12726;
  text-transform: uppercase;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
  margin-bottom: -9px;
}
@media (min-width: 1024px) {
  .section-all-option h1 {
    font-size: 48px;
    margin-bottom: -12px;
  }
}
@media (min-width: 1440px) {
  .section-all-option h1 {
    font-size: 60px;
    margin-bottom: -12px;
  }
}
.section-all-option .bg-holder {
  background-color: #fdf4ee;
  padding: 30px 0 20px;
}
.section-all-option .df-row {
  margin: 0 -20px;
}
.section-all-option .df-row .col {
  padding: 0 27px;
  width: 100%;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .section-all-option .df-row .col {
    margin: 0 0 45px;
  }
}
.section-all-option .card-option .card-option-img {
  margin: 0 0 10px;
}
@media (min-width: 1024px) {
  .section-all-option .card-option .card-option-img {
    margin: 0 0 20px;
  }
}
.section-all-option .card-option .card-option-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-all-option .card-option h3 {
  font-size: 28px;
  line-height: 1;
  font-weight: 500;
  color: #e12726;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .section-all-option .card-option h3 {
    font-size: 36px;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 1024px) {
  .section-all-option .card-option h3 {
    font-size: 43px;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.section-all-option .card-option .re-btn {
  width: 100%;
}
@media (min-width: 1024px) {
  .section-all-option .card-option .re-btn {
    padding: 21px 16px 19px;
  }
}

.section-tabs-faqs .bg-title {
  padding: 30px 0 0;
  background-color: #fbe7dd;
}
.section-tabs-faqs .bg-title .container {
  max-width: 1535px;
}
@media (max-width: 767px) {
  .section-tabs-faqs .bg-title .container {
    padding: 0 15px;
  }
}
.section-tabs-faqs .container {
  max-width: 1535px;
}
@media (max-width: 767px) {
  .section-tabs-faqs .container {
    padding: 0;
  }
}
.section-tabs-faqs h1 {
  color: #e12726;
  padding: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 1024px) {
  .section-tabs-faqs h1 {
    font-size: 36px;
    padding-bottom: 30px;
  }
}
@media (min-width: 1440px) {
  .section-tabs-faqs h1 {
    font-size: 45px;
  }
}
.section-tabs-faqs .tabs-holder {
  display: flex;
  position: relative;
  flex-direction: column;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder {
    flex-direction: row;
  }
}
.section-tabs-faqs .tabs-holder::before {
  width: 10000px;
  height: 100%;
  left: -10000px;
  top: 0;
  position: absolute;
  background-color: #e12726;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder::before {
    content: "";
  }
}
.section-tabs-faqs .tabs-holder::after {
  width: 10000px;
  height: 100%;
  right: -10000px;
  top: 0;
  position: absolute;
  background-color: #fbe7dd;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabs-holder::after {
    content: "";
  }
}
.section-tabs-faqs .tabset {
  margin: 0;
  padding: 0;
  list-style-type: none;
  background-color: #e12726;
  padding: 30px 0px;
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  z-index: 0;
  position: relative;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.section-tabs-faqs .tabset::before {
  width: 10000px;
  height: 100%;
  left: 50%;
  transform: translate(-50%);
  top: 0;
  position: absolute;
  background-color: #e12726;
  z-index: -1;
}
@media (max-width: 767px) {
  .section-tabs-faqs .tabset::before {
    content: "";
  }
}
.section-tabs-faqs .tabset li {
  width: 50%;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset li {
    width: auto;
  }
}
.section-tabs-faqs .tabset a {
  font-size: 15px;
  text-transform: uppercase;
  line-height: 36px;
  color: #fff;
  position: relative;
  padding: 15px 10px 15px 15px;
  font-weight: 500;
  transition: 0.3s;
  letter-spacing: 1px;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tabset a {
    font-size: 20px;
    line-height: 48px;
    padding: 0px 88px 0 45px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tabset a {
    font-size: 24px;
    line-height: 60px;
    letter-spacing: 5px;
  }
}
.section-tabs-faqs .tabset a::after {
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #e12726;
  position: absolute;
  right: -19px;
  top: 50%;
  transform: translateY(-50%);
}
.section-tabs-faqs .tabset a.active {
  color: #f5dba7;
}
.section-tabs-faqs .tabset a.active::after {
  content: "";
}
.section-tabs-faqs .tabset a:hover {
  color: #f5dba7;
}
.section-tabs-faqs .tab-content {
  background-color: #fbe7dd;
  width: 100%;
  padding: 20px 15px 20px 15px;
  position: relative;
  z-index: -1;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tab-content {
    padding: 40px 35px 40px 50px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tab-content {
    padding: 40px 100px 40px 80px;
  }
}
.section-tabs-faqs .tab-content::before {
  width: 10000px;
  height: 100%;
  left: 50%;
  transform: translate(-50%);
  top: 0;
  position: absolute;
  background-color: #fbe7dd;
  z-index: -1;
}
@media (max-width: 767px) {
  .section-tabs-faqs .tab-content::before {
    content: "";
  }
}
.section-tabs-faqs .tab-content::after {
  width: 0;
  height: 0;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  border-top: 14px solid #e12726;
  position: absolute;
  left: 15px;
  top: 7px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .section-tabs-faqs .tab-content::after {
    content: "";
  }
}
.section-tabs-faqs .tab-content ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 15px;
  font-weight: 300;
  color: #000;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-tabs-faqs .tab-content ul {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-tabs-faqs .tab-content ul {
    font-size: 32px;
    line-height: 42px;
  }
}
.section-tabs-faqs .tab-content ul b {
  font-weight: 500;
}
.section-tabs-faqs .tab-content ul:first-child {
  margin: 0 0 30px;
}

.js-tab-hidden {
  display: block !important;
  left: -9999px !important;
  position: absolute !important;
  top: -9999px !important;
}

.section-bio {
  padding: 0 0 72px;
}
.section-bio .container {
  max-width: 1550px;
}
.section-bio .df-row {
  margin: 0;
}
.section-bio .img-holder {
  margin: 0 0px 20px 0;
}
@media (min-width: 1024px) {
  .section-bio .img-holder {
    margin: 0 20px 0px 0;
  }
}
.section-bio .title {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .section-bio .title {
    margin: 0 0 53px;
  }
}
.section-bio .title h3 {
  font-size: 24px;
  font-weight: 500;
  color: #e12726;
  margin: 0 0 8px;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-bio .title h3 {
    font-size: 32px;
  }
}
@media (min-width: 1024px) {
  .section-bio .title h3 {
    font-size: 42px;
  }
}
.section-bio .title h4 {
  font-size: 18px;
  font-weight: 500;
  color: #52585b;
  line-height: 1.1;
  margin: 0;
}
@media (min-width: 768px) {
  .section-bio .title h4 {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .section-bio .title h4 {
    font-size: 32px;
  }
}
.section-bio .description {
  font-size: 18px;
  font-weight: 300;
  color: #000;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-bio .description {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (min-width: 1024px) {
  .section-bio .description {
    font-size: 32px;
    line-height: 42px;
  }
}
.section-bio .description p {
  margin: 1.5rem 0;
  color: #000;
}
@media (min-width: 1024px) {
  .section-bio .description p {
    margin: 2.5rem 0;
  }
}
.section-bio .btn-wrapp {
  padding: 13px 0 0;
}
.section-bio .re-btn {
  display: inline-flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .section-bio .re-btn {
    font-size: 24px;
  }
}
.section-bio .re-btn svg {
  width: 46px;
  margin: 0 0 0 32px;
  fill: #fff;
  transition: 0.3s;
}
.section-bio .re-btn:hover svg {
  fill: #e12726;
}

.section-instructors {
  padding: 0 0 70px;
}
.section-instructors .container {
  max-width: 1560px;
}
.section-instructors .title h1 {
  color: #e12726;
  margin: 0 0 30px;
  text-transform: capitalize;
  font-size: 32px;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .section-instructors .title h1 {
    font-size: 48px;
    margin-bottom: 47px;
  }
}
@media (min-width: 1440px) {
  .section-instructors .title h1 {
    font-size: 60px;
  }
}
.section-instructors .df-row {
  margin: 0;
}
.section-instructors .df-row.reverse .col:nth-child(2n) .img-holder::before {
  background-color: rgba(225, 39, 38, 0.6);
}
@media (min-width: 1024px) {
  .section-instructors .df-row.reverse .col:nth-child(2n) .img-holder::before {
    background-color: rgba(82, 88, 91, 0.6);
  }
}
.section-instructors .df-row.reverse .col .img-holder::before {
  background-color: rgba(82, 88, 91, 0.6);
}
@media (min-width: 1024px) {
  .section-instructors .df-row.reverse .col .img-holder::before {
    background-color: rgba(225, 39, 38, 0.6);
  }
}
.section-instructors .col {
  width: 100%;
}
.section-instructors .col:nth-child(2n) .img-holder::before {
  background-color: rgba(225, 39, 38, 0.6);
}
.section-instructors .col .card {
  position: relative;
}
.section-instructors .col .card:hover .img-holder::before {
  opacity: 0;
}
.section-instructors .col .img-holder {
  position: relative;
  z-index: 0;
  font-size: 0;
  line-height: 0;
}
.section-instructors .col .img-holder::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  background-color: rgba(82, 88, 91, 0.6);
  transition: 0.3s;
}
.section-instructors .col .img-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-instructors .col .title {
  position: absolute;
  bottom: 15px;
  left: 15px;
}
.section-instructors .col .title h5 {
  line-height: 1;
  color: #fff;
  font-size: 16px;
  margin: 0;
  font-weight: 500;
}
@media (min-width: 768px) {
  .section-instructors .col .title h5 {
    font-size: 18px;
  }
}
@media (min-width: 1024px) {
  .section-instructors .col .title h5 {
    font-size: 22px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJ2ZW5kb3JzL19zd2lwZXIuc2NzcyIsInZlbmRvcnMvX2NhbGVuZGFyLW11bHRpZGF5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX3N3aXBlci1jYXJkLWhlcm8uc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZXZlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZGlyZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLXJlLWFib3V0LnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLWhlcm8uc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24tYWxsLW9wdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2VjdGlvbi10YWJzLWZhcXMuc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24tYmlvLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLWluc3RydWN0b3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSTtFQUNBO0VBQ0E7OztBQUtBO0VBQ0k7RUFDQTtFQUNBOzs7QUFzRFI7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBOzs7QUFHSjtFQUlJO0VBQ0E7O0FDOGRBO0VDbE9JO0lBRVE7OztBRGdPWjtFQzVOSTtJQUVROzs7QUQwTlo7RUNsT0k7SUFFUTs7O0FEZ09aO0VDNU5JO0lBRVE7OztBRDBOWjtFQ2xPSTtJQUVROzs7QURnT1o7RUM1Tkk7SUFFUTs7O0FEME5aO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDOU1RO0lBRVE7SUFDQTs7O0FEMk1oQjtFQzlNUTtJQUVRO0lBQ0E7OztBRDJNaEI7RUM5TVE7SUFFUTtJQUNBOzs7QUQyTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VDck1RO0lBRVE7OztBRG1NaEI7RUNyTVE7SUFFUTs7O0FEbU1oQjtFQ3JNUTtJQUVROzs7QURtTWhCO0VEbmVKO0lBUVE7Ozs7QUdsRlI7RUFDQztFQUNBOztBQUVBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUY2aEJFO0VFamlCSDtJQU9FOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FGMmdCRTtFRTlnQkg7SUFNRTs7O0FGd2dCQztFRTlnQkg7SUFVRTtJQUNBOzs7QUZtZ0JDO0VFOWdCSDtJQWVFOzs7O0FBS0g7RURzTUksWUFIVztFQTdKWCxPQ3BDWTtFRHFDWixRQ3JDWTtFQUNmO0VBQ0Esa0JDbEJLO0VEbUJMO0VBQ0E7RUFDQTs7QUZtZkc7RUUxZko7SURzQ0ksT0M1QmE7SUQ2QmIsUUM3QmE7OztBRmdmYjtFRTFmSjtJRHNDSSxPQ3hCYTtJRHlCYixRQ3pCYTs7O0FGNGViO0VFMWZKO0lEc0NJLE9DcEJhO0lEcUJiLFFDckJhOzs7QUZ3ZWI7RUUxZko7SUFzQkU7OztBRm9lRTtFRWplSDtJQUVFLGtCQ2xFUTs7O0FIaWlCUDtFRXpkRjtJQUVFLGtCQ2pGSTs7O0FId2lCSjtFRXBkRDtBQUFBO0FBQUE7SUFJRSxrQkN4REM7OztBSHdnQkY7RUUxY0g7SUFFRTs7O0FGd2NDO0VFcmNGO0lBRUU7OztBRm1jQTtFRS9iRjtJQUVFOzs7QUY2YkE7RUV6YkY7SUFHRTtJQUNBOzs7QUZxYkE7RUVqYkY7SUFFRTs7O0FGK2FBO0VFMWFIO0lBRUU7OztBRndhQztFRXJhRjtJQUVFOzs7QUZtYUE7RUUvWkY7SUFHRTtJQUNBOzs7QUYyWkE7RUV0WkY7SUFFRTs7O0FBS0g7QUFBQTtFRDJGRyxZQUhXO0VDcEZiO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JDaktNOztBSHdpQko7RUUvWUg7QUFBQTtJQVdFO0lBQ0E7SUFDQTs7O0FGa1lDO0VFL1lIO0FBQUE7SUFpQkU7SUFDQTs7O0FGNlhDO0VFL1lIO0FBQUE7SUFzQkU7SUFDQTtJQUNBOzs7QUFJRjtFQUVDOztBQUdEO0VBQ0M7O0FGNldFO0VFOVdIO0lBSUU7OztBRjBXQztFRTlXSDtJQVFFOzs7QUZzV0M7RUU5V0g7SUFZRTs7O0FBSUY7RUFDQzs7QUY2VkU7RUU5Vkg7SUFJRTs7O0FGMFZDO0VFOVZIO0lBUUU7OztBRnNWQztFRTlWSDtJQVlFOzs7QUFJRjtFQUNDO0VBQ0E7OztBQUlGO0VEb0JJLFlBSFc7RUNmZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUY2VEc7RUV4VUo7SUFjRTs7O0FGMFRFO0VFeFVK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QUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUtGO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBZUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxPSHhuQkU7OztBRzJuQko7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7OztBQU9GO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUdGO0VBQ0U7RUFFQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VB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STs7QWpCZ2dCcEI7RWlCamdCZ0I7SUFHUTs7O0FBUXhCO0VBQ0k7O0FBR1E7RUFDSTs7QUFLWjtFQUNJOztBQUlRO0VBQ0k7O0FBS2hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0EsT2R2R1I7RWN3R1E7RUFDQTtFQUNBOztBakI4Ylo7RWlCbmNRO0lBT1E7OztBakI0YmhCO0VpQm5jUTtJQVdRIiwiZmlsZSI6InJlc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gbGlzdCByZXNldFxuJWxpc3RyZXNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gY2xlYXJmaXhcbiVjbGVhcmZpeCB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uY2xlYXJmaXgge1xuICAgIEBleHRlbmQgJWNsZWFyZml4O1xufVxuXG4vLyB0cmFuc2l0aW9uXG4ldHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGp1c3RpZnkgbmF2XG4lanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgID4qIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG5cbiViZ0NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4lYWJzb2x1dGVDb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLy8vICogSGVscGVyIGNsYXNzIHRvIHRydW5jYXRlIGFuZCBhZGQgZWxsaXBzaXMgdG8gYSBzdHJpbmcgdG9vIGxvbmcgZm9yIGl0IHRvIGZpdFxuLy8vICogb24gYSBzaW5nbGUgbGluZS5cbi8vLyAqIDEuIFByZXZlbnQgY29udGVudCBmcm9tIHdyYXBwaW5nLCBmb3JjaW5nIGl0IG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAyLiBBZGQgZWxsaXBzaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS5cblxuLmVsbGlwc2lzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRmLXJvdyB7XG4gICAgQGluY2x1ZGUgYWRkLXBhcmFtcygpO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZCgpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDAgKC0kZ3V0dGVyKTtcbiAgICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyB2ZXJ0aWNhbCBhbGlnbiBlbCBpbnNpZGUgcGFyZW50IHdpdGggZml4ZWQgaGVpZ2h0L21pbi1oZWlnaHRcbi8vIHVzYWdlXG4vLyBodG1sIC0gLnBhcmVudD4uY2hpbGRcbi8vIHNjc3MgLSBAaW5jbHVkZSB2LWFsaWduO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24oMjUwcHgpO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24oMjUwcHgsIGJvdHRvbSwgYmVmb3JlKTtcbi8vXG5AbWl4aW4gdi1hbGlnbigkdmEtaGVpZ2h0OiAxMDAlLCAkdmEtZGlyZWN0aW9uOiBtaWRkbGUsICR2YS1wc2V1ZG86IGFmdGVyKSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOiN7JHZhLXBzZXVkb30ge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhLWRpcmVjdGlvbjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR2YS1oZWlnaHQ7XG4gICAgfVxuXG4gICAgPioge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmEtZGlyZWN0aW9uO1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICB9XG59XG5cbi8vIHZlcnRpY2FsIGFsaWduIGEgcGFpciBvZiBjaGlsZCBlbCBpbnNpZGUgcGFyZW50XG4vLyB1c2FnZVxuLy8gaHRtbCAtIC5wb3N0Pi5pbWFnZSsudGV4dFxuLy8gc2NzcyAtIEBpbmNsdWRlIHYtYWxpZ24tcGFpcihpbWFnZSwgdGV4dCk7XG4vLyAgICAgb3IgQGluY2x1ZGUgdi1hbGlnbi1wYWlyKGltYWdlLCB0ZXh0LCBib3R0b20pO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24tcGFpcihpbWFnZSwgdGV4dCwgbWlkZGxlLCAyMDBweCk7XG4vL1xuQG1peGluIHYtYWxpZ24tcGFpcigkY2hpbGQtbmFtZTEsICRjaGlsZC1uYW1lMiwgJHZhbGlnbjogbWlkZGxlLCAkd2lkdGgxOiBhdXRvLCAkd2lkdGgyOiBhdXRvKSB7XG4gICAgZGlzcGxheTogdGFibGU7XG5cbiAgICAuI3skY2hpbGQtbmFtZTF9IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YWxpZ247XG4gICAgICAgIHdpZHRoOiAkd2lkdGgxO1xuICAgIH1cblxuICAgIC4jeyRjaGlsZC1uYW1lMn0ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhbGlnbjtcbiAgICAgICAgd2lkdGg6ICR3aWR0aDI7XG4gICAgfVxufVxuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBlbFxuLy8gdXNhZ2U6IEBpbmNsdWRlIHZlcnRpY2FsLWFsaWduLWVsO1xuLy9cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbi1lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIE1peGluIGhlbHBpbmcgZGVmaW5pbmcgYm90aCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBzaW11bHRhbmVvdXNseS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuLy8vIEBwYXJhbSB7TGVuZ3RofSAkd2lkdGggLSBFbGVtZW504oCZcyBgd2lkdGhgXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRoZWlnaHQgKCR3aWR0aCkgLSBFbGVtZW504oCZcyBgaGVpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmJhciB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZm9vIHtcbi8vLyAgICAgd2lkdGg6IDEwZW07XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmJhciB7XG4vLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG5cbi8vLyBmb250LXNtb3RoaW5nXG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob24pO1xuLy8vIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9mZik7XG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICAgIEBpZiAkdmFsdWUgPT1vbiB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgIH1cbn1cblxuXG4vLy8gSGlkZXMgdGhlIHRleHQgaW4gYW4gZWxlbWVudCwgY29tbW9ubHkgdXNlZCB0byBzaG93IGFuIGltYWdlLiBTb21lIGVsZW1lbnRzIHdpbGwgbmVlZCBibG9jay1sZXZlbCBzdHlsZXMgYXBwbGllZC5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly96ZWxkbWFuLmNvbS8yMDEyLzAzLzAxL3JlcGxhY2luZy10aGUtOTk5OXB4LWhhY2stbmV3LWltYWdlLXJlcGxhY2VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgaGlkZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuLy8vICAgICB0ZXh0LWluZGVudDogMTAxJTtcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbi8vLyAgIH1cbi8vL1xuQG1peGluIGhpZGUtdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAxJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vLyBDcmVhdGVzIGEgdmlzdWFsIHRyaWFuZ2xlLlxuLy8vIE1peGluIHRha2VzICgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKVxuLy8vIFRoZSAkc2l6ZSBhcmd1bWVudCBjYW4gdGFrZSBvbmUgb3IgdHdvIHZhbHVlc+KAlHdpZHRoIGhlaWdodC5cbi8vLyBUaGUgJGNvbG9yIGFyZ3VtZW50IGNhbiB0YWtlIG9uZSBvciB0d29cbi8vLyB2YWx1ZXPigJRmb3JlZ3JvdW5kLWNvbG9yIGJhY2tncm91bmQtY29sb3IuXG4vLy9cbi8vLyBAYXV0aG9yIGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI3RyaWFuZ2xlXG4vLy9cbi8vLyAkZGlyZWN0aW9uOlxuLy8vIHVwLCBkb3duLCBsZWZ0LCByaWdodCwgdXAtcmlnaHQsIHVwLWxlZnQsIGRvd24tcmlnaHQsIGRvd24tbGVmdFxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCwgZ3JheSwgZG93bik7XG4vLy8gICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4IDZweCwgZ3JheSBibHVlLCB1cC1sZWZ0KTtcbi8vL1xuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpPT0yLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcblxuICAgIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSBvciAoJGRpcmVjdGlvbiA9PWRvd24pIG9yICgkZGlyZWN0aW9uID09cmlnaHQpIG9yICgkZGlyZWN0aW9uID09bGVmdCkge1xuICAgICAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09dXAge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1kb3duIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09bGVmdCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PXVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PXVwLWxlZnQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PXVwLXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09dXAtbGVmdCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09ZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT1kb3duLWxlZnQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PWRvd24tcmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1kb3duLWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LXVwKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC1kb3duKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC1yaWdodCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtbGVmdCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIH1cbn1cblxuXG4vLy8gQW5pbWF0ZSBjc3MgcHJvcGVydGllc1xuLy8gdXNhZ2Vcbi8vIHNjc3MgLSBAaW5jbHVkZSBhbmltYXRlKGNvbG9yKTtcbi8vICAgICBvciBAaW5jbHVkZSBhbmltYXRlKGNvbG9yIHdpZHRoKTtcbi8vICAgICBvciBAaW5jbHVkZSBhbmltYXRlKGNvbG9yIHdpZHRoLCAxcywgbGluZWFyKTtcbi8vXG4kYW5pbWF0aW9uLXNwZWVkOiAwLjNzICFkZWZhdWx0O1xuXG5AbWl4aW4gYW5pbWF0ZSgkcHJvcGVydGllcywgJGR1cmF0aW9uOiAkYW5pbWF0aW9uLXNwZWVkLCAkZWFzaW5nOiBlYXNlLWluLW91dCkge1xuICAgICRsaXN0OiAoKTtcblxuICAgIEBlYWNoICRwcm9wIGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgJHN0cjogI3skcHJvcH0gI3skZHVyYXRpb259ICN7JGVhc2luZ307XG4gICAgICAgICRsaXN0OiBqb2luKCRsaXN0LCAjeyRzdHJ9LCBjb21tYSk7XG4gICAgfVxuXG4gICAgdHJhbnNpdGlvbjogJGxpc3Q7XG59XG5cblxuLy8vIE1peGluIGZvciBzdHlsaW5nIGZvcm0tcGxhY2Vob2xkZXJzXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgY29sb3I6ICMzMzM7XG4vLy8gICB9XG4vLy9cbi8vLyAgIGlucHV0W3R5cGU9J3RleHQnXSxcbi8vLyAgIGlucHV0W3R5cGU9J3RlbCddLFxuLy8vICAgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4vLy8gICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJi5wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8vIEZvbnQtc2l6ZSBweCB0byByZW0gY2FsY1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vIHNlbGVjdG9yIHtcbi8vLyAgICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDE2cHgpO1xuLy8vIH1cblxuQG1peGluIHJlbS1mb250LXNpemUoJHB4LXNpemUpIHtcbiAgICBmb250LXNpemU6ICRweC1zaXplO1xuICAgIGZvbnQtc2l6ZTogKCRweC1zaXplIC8gMTBweCkgKyByZW07XG59XG5cbi8vIG9iamVjdCBmaXQgZm9yIGltYWdlXG5AbWl4aW4gaW1nLXNjYWxlIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuICB9XG5cbi8vZm9udC1mYWNlXG5AbWl4aW4gZm9udC1mYWNlKCRmb250LW5hbWUsICRmb250LXBhdGgsICR3ZWlnaHQsICRzdHlsZSkge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJyN7JGZvbnQtbmFtZX0nO1xuICAgICAgICBzcmM6IHVybCgnZm9udHMvI3skZm9udC1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJ2ZvbnRzLyN7JGZvbnQtcGF0aH0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZCwgJGJ0bi1jb2xvciwgJGJ0bi1ib3JkZXIpIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnRuLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidG4tY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkYnRuLWJvcmRlcjtcbn1cblxuQG1peGluIGFkZC1wYXJhbXMoKSB7XG5cbiAgICBAZWFjaCAkdmFsLFxuICAgICRtZWRpYSBpbiAkZ3JpZCB7XG4gICAgICAgICYuZGYtcnItI3skdmFsfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlJyArICRtZWRpYSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGYtYWljLSN7JHZhbH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBmbGV4IGdyaWRcbkBtaXhpbiBmbGV4LWdyaWQoKSB7XG5cbiAgICBAZWFjaCAkdmFsLFxuICAgICRtZWRpYSBpbiAkZ3JpZCB7XG4gICAgICAgIEBmb3IgJGd1dHRlciBmcm9tIDEgdGhyb3VnaCAxMiB7XG4gICAgICAgICAgICAuY29sLSN7JHZhbH0tI3skZ3V0dGVyfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMTIgKiAjeyRndXR0ZXJ9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yICRndXR0ZXIgZnJvbSAwIHRocm91Z2ggMTEge1xuICAgICAgICAgICAgLmNvbC1vZmZzZXQtI3skdmFsfS0jeyRndXR0ZXJ9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlJyArICRtZWRpYSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxMDAlIC8gMTIgKiAjeyRndXR0ZXJ9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiB2LWNlbnRlcigkbWluLWhlaWdodDogNDAwcHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgPioge1xuICAgICAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn0iLCIucmUtaGVhZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDA7XG5cblx0LnJlLWhvbWUgJixcblx0LnJlLWlubmVyICYge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG5cdD4gLmNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHR9XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE1NTBweDtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQucmUtbG9nbyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDEwMjtcblx0XHR3aWR0aDogMTA1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0d2lkdGg6IDE0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDE2NHB4O1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdHdpZHRoOiAyMDRweDtcblx0XHR9XG5cdH1cbn1cblxuLnJldi1uYXYtb3BlbmVyIHtcblx0QGluY2x1ZGUgYW5pbWF0ZSAoYmFja2dyb3VuZC1jb2xvcik7XG5cdEBpbmNsdWRlIHNpemUgKDc0cHgpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDI7XG5cdG1hcmdpbjogMCAoLSRndXR0ZXIpIDAgMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdEBpbmNsdWRlIHNpemUgKDEwMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdEBpbmNsdWRlIHNpemUgKDE2MHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdEBpbmNsdWRlIHNpemUgKDIwMHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuLWxnJykge1xuXHRcdG1hcmdpbi1yaWdodDogLTgwcHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTYwMDtcblx0XHR9XG5cdH1cblxuXHQucmUtaG9tZSAmLFxuXHQucmUtaW5uZXIgJiB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyLFxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5yZS1zdWItbWVudS1hY3RpdmUgJiB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5yZS1tb2JpbGUtZHJvcC1hY3RpdmUgJiB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcblx0XHQmOmFmdGVyLFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9XG5cdFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JjphZnRlcixcblx0JjpiZWZvcmUsXG5cdHNwYW4ge1xuXHRcdEBpbmNsdWRlIGFuaW1hdGUoYWxsKTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cdFx0aGVpZ2h0OiAzcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA2NnB4KTtcblx0XHRcdGxlZnQ6IDMzcHg7XG5cdFx0XHRoZWlnaHQ6IDRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGxlZnQ6IDUycHg7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTA0cHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHRsZWZ0OiA2NnB4O1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEzMnB4KTtcblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0dG9wOiAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHRvcDogNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHRvcDogNjRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdHRvcDogODBweDtcblx0XHR9XG5cdH1cblxuXHQmOmFmdGVyIHtcblx0XHRib3R0b206IDMwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0Ym90dG9tOiA0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0Ym90dG9tOiA2NHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Ym90dG9tOiA4MHB4O1xuXHRcdH1cblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxufVxuXG4ucmUtbW9iaWxlLWRyb3Atd3JhcCB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKG9wYWNpdHkgdmlzaWJpbGl0eSk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxMDE7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXktNjAwLCAwLjkpO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0cGFkZGluZzogOTBweCAwIDIwcHg7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0aGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDEwMCkpO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0cGFkZGluZy10b3A6IDEyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0cGFkZGluZzogNHB4IDAgMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0LnJlLW1vYmlsZS1kcm9wLWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLnJlLW1vYmlsZS1kcm9wIHtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0cGFkZGluZzogJHBhZGRpbmctY29udGFpbmVyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdH1cblxuXHQucmUtYnRuIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA4M3B4O1xuXHRcdH1cblx0fVxufVxuXG4ucmUtbW9iaWxlLWRyb3AtY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLnJlLXN1Yi1tZW51LXdyYXAge1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRAaW5jbHVkZSBhbmltYXRlIChvcGFjaXR5IHZpc2liaWxpdHkpO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0aGVpZ2h0OiBjYWxjKCh2YXIoLS12aCwgMXZoKSAqIDEwMCkpO1xuXHRcdHotaW5kZXg6IDEwMTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LTYwMCwgMC45KTtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6IDE1MHB4IDAgMjBweDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdHBhZGRpbmctdG9wOiAxOTdweDtcblx0fVxuXG5cdC5yZS1zdWItbWVudS1hY3RpdmUgJiB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nOiAwICRndXR0ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1zdWItbWVudSB7XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblx0fVxufVxuXG4ucmUtc3ViLWJhciB7XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHdpZHRoOiAyMC44JTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdHBhZGRpbmc6IDAgNjFweCAwIDA7XG5cdH1cbn1cblxuLnJlLXN1Yi1uYXYge1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHR3aWR0aDogNzUlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0LnJlLWNvbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHR3aWR0aDogMzAlO1xuXHRcdH1cblx0fVxufVxuXG4ucmUtc2VhcmNoLWZvcm0ge1xuXHRtYXJnaW46IDAgMCAxNXB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuXG5cdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0aGVpZ2h0OiAzNnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAzLjhweDtcblxuXHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQuc3VibWl0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlIChjb2xvcik7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdH1cblxuXHRcdHN2ZyB7XG5cdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHR9XG5cdH1cbn1cblxuLnN1Yi1uYXYtcG9wdXAge1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0bWFyZ2luOiAwIDAgMjVweDtcblx0fVxufVxuXG4ucmUtbmF2LXRpdGxlIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogN3B4IDAgNXB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1zdWItbmF2LW9wZW5lciB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKG9wYWNpdHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Zm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuXHRcdGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG5cdFx0Zm9udC1zaXplOiAyNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdH1cblxuXHQuc3ViLW5hdi1wb3B1cC1hY3RpdmUgJiB7XG5cdFx0b3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG5cdFx0fVxuXHR9XG59XG5cbi5zdWItbmF2LXNsaWRlIHtcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHR1bCB7XG5cdFx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXHRcdG1hcmdpbjogMCAwIDEwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0KyBsaSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAoY29sb3IpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucmUtbmF2IHtcblx0dWwge1xuXHRcdEBleHRlbmQgJWxpc3RyZXNldDtcblxuXHRcdD4gbGkge1xuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkZGFuZ2VyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0PiB1bCB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdG1hcmdpbjogMCAtMTZweDtcblx0XHRcdGNvbG9yOiAkZ3JheS02MDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRtYXJnaW46IDAgLTM4cHg7XG5cdFx0fVxuXG5cdFx0LnJlLWhvbWUgJixcblx0XHQucmUtaW5uZXIgJiB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQ+IGxpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkd2hpdGU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwIDE0cHg7XG5cdFx0XHRcdG1hcmdpbjogMCAxNnB4O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdFx0bWFyZ2luOiAwIDM4cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnJlLWRyb3Age1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDNweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGRhbmdlcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnJlLWRyb3AtYWN0aXZlIHtcblx0XHRcdFx0PiAuaGFzLWRyb3AtZG93bi1hIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGU5MDRcIjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSk7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0cGFkZGluZzogN3B4IDAgNXB4O1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAoY29sb3IpO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0dGV4dC1zaGFkb3c6IDAgMCAycHggJGJsYWNrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5oYXMtZHJvcC1kb3duLWEge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI1cHg7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5yZS1kcm9wIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE5cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRwYWRkaW5nOiAwIDAgMTBweDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRAaW5jbHVkZSBhbmltYXRlIChvcGFjaXR5IHZpc2liaWxpdHkpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAyMTVweDtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdHBhZGRpbmc6IDE3cHggMCAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0d2lkdGg6IDMzNnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMjZweCAxMnB4O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdFx0cGFkZGluZzogMjZweCAzMnB4IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCsgbGkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIENvbG9yc1xuLy8gQ29sb3IgY2FsY3VsYXRvciAtIGh0dHA6Ly9yYXpvcmphbS5naXRodWIuaW8vc2Fzc2NvbG91cmZ1bmN0aW9uY2FsY3VsYXRvci9cbi8vIENvbG9yIG5hbWVzIC0gaHR0cDovL25hbWUtb2YtY29sb3IuY29tL1xuLy8gQ29sb3Igc3lzdGVtXG5cbiR3aGl0ZTogI2ZmZjtcbiRncmF5OiAjZGRkICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZjBmMGYwO1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNTI1ODViO1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAjMDAwO1xuXG4kZ3JheXM6IChcbiAgICApICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKChcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgICAgICAgICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gICAgICAgICAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgICAgICAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgICAgICAgICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gICAgICAgICAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgICAgICAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgICAgICAgICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gICAgICAgICAgICBcIjkwMFwiOiAkZ3JheS05MDAgKSxcbiAgICAgICAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAjZTEyNzI2O1xuJGJlaWdlOiAjZmJlN2RkO1xuJG9yYW5nZTogI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoXG4gICAgKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoKFwiYmx1ZVwiOiAkYmx1ZSxcbiAgICAgICAgICAgIFwiaW5kaWdvXCI6ICRpbmRpZ28sXG4gICAgICAgICAgICBcInB1cnBsZVwiOiAkcHVycGxlLFxuICAgICAgICAgICAgXCJwaW5rXCI6ICRwaW5rLFxuICAgICAgICAgICAgXCJyZWRcIjogJHJlZCxcbiAgICAgICAgICAgIFwib3JhbmdlXCI6ICRvcmFuZ2UsXG4gICAgICAgICAgICBcInllbGxvd1wiOiAkeWVsbG93LFxuICAgICAgICAgICAgXCJncmVlblwiOiAkZ3JlZW4sXG4gICAgICAgICAgICBcInRlYWxcIjogJHRlYWwsXG4gICAgICAgICAgICBcImN5YW5cIjogJGN5YW4sXG4gICAgICAgICAgICBcIndoaXRlXCI6ICR3aGl0ZSxcbiAgICAgICAgICAgIFwiZ3JheVwiOiAkZ3JheS02MDAsXG4gICAgICAgICAgICBcImdyYXktZGFya1wiOiAkZ3JheS04MDAgKSxcbiAgICAgICAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICAgICkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKChcInByaW1hcnlcIjogJHByaW1hcnksXG4gICAgICAgICAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICAgICAgICAgICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLFxuICAgICAgICAgICAgXCJpbmZvXCI6ICRpbmZvLFxuICAgICAgICAgICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICAgICAgICAgICAgXCJkYW5nZXJcIjogJGRhbmdlcixcbiAgICAgICAgICAgIFwibGlnaHRcIjogJGxpZ2h0LFxuICAgICAgICAgICAgXCJkYXJrXCI6ICRkYXJrICksXG4gICAgICAgICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIGZvbnRzIG5hbWVcbiRiYXNlLWZvbnQtc2Fucy1zZXJpZjogJ0FyaWFsJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kYmFzZS1mb250LXNlcmlmOiAnVGltZXMgTmV3IFJvbWFuJywgJ1RpbWVzJywgJ0Jhc2tlcnZpbGxlJywgJ0dlb3JnaWEnLCBzZXJpZjtcblxuJGJhc2UtZm9udDogJGJhc2UtZm9udC1zYW5zLXNlcmlmO1xuXG4vLyBCb2R5XG4kYmFzZS10ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmFzZS1iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFzZS1iYWNrZ3JvdW5kLWJvZHk6ICR3aGl0ZSAhZGVmYXVsdDtcbiRiYXNlLWJhY2tncm91bmQtZm9vdGVyOiAkZ3JheS02MDA7XG4kZm9udC1zaXplLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS4yICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlLWxhZ3JlOiAxOHB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2UtbGFncmU6IDEuMiAhZGVmYXVsdDtcbiRiYXNlLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250ICFkZWZhdWx0O1xuJGJhc2UtbWluLXdpZHRoOiAzMjBweDtcblxuLy8gYmFzZSB2YXJpYWJsZXNcbiRiYXNlLXJhZGl1czogMDtcbiRiYXNlLXJhZGl1cy1zbWFsbDogMDtcblxuLy8gY29udGFpbmVyIHNldHRpbmdzXG4kbWF4LXdpZHRoLWNlbnRlci1jb250YWluZXI6IDEyMDBweDtcbiRndXR0ZXI6IDE1cHg7XG4kcGFkZGluZy1jb250YWluZXI6IDAgJGd1dHRlcjtcblxuLy8gZ3JpZCBzaXN0ZW1cbiRncmlkOiAoXG4gICAgcGg6ICdwaG9uZScsXG4gICAgc206ICd0YWJsZXQnLFxuICAgIG1kOiAnZGVza3RvcCdcbik7XG5cbi8vIGZvbnQgd2VpZ2h0XG4kdGhpbjogMTAwO1xuJGxpZ2h0LWZvbnQ6IDMwMDtcbiRub3JtYWw6IDQwMDtcbiRtZWRpdW06IDUwMDtcbiRzZW1pYm9sZDogNjAwO1xuJGJvbGQ6IDcwMDtcbiRleHRyYTogODAwO1xuJGJsYWNrLWZvbnQ6IDkwMDtcblxuLy8gZGVmYXVsdCBtYXJnaW5zXG4kdmVydGljYWwtcmh5dGhtOiAkZm9udC1zaXplLWJhc2UgKyA0O1xuJHdpZGdldC1tYXJnaW46IDIwcHg7XG5cbi8vIEJ1dHRvbnNcbi8vIGJ0biBkZWZhdWx0XG4kYnRuLWJvcmRlci1yYWRpdXM6ICRiYXNlLXJhZGl1cztcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogJGJhc2UtcmFkaXVzLXNtYWxsO1xuJGJ0bi1wYWRkaW5nOiAxMnB4IDEwcHg7XG4kYnRuLXBhZGRpbmctc206IDRweCAxMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6IDIwcHg7XG4kYnRuLWxpbmUtaGVpZ2h0OiAkYnRuLWZvbnQtc2l6ZSArIDI7XG5cbiRidG4tYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXI6ICRidG4tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidG4tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gYnRuIHdhcm5pbmdcbiRidG4tYmFja2dyb3VuZC1kYW5nZXI6ICRkYW5nZXI7XG4kYnRuLWJvcmRlci1kYW5nZXI6ICRidG4tYmFja2dyb3VuZC1kYW5nZXI7XG4kYnRuLWNvbG9yLWRhbmdlcjogJHdoaXRlO1xuLy8gaG92ZXJcbiRidG4taG92ZXItY29sb3ItZGFuZ2VyOiAkZGFuZ2VyO1xuXG4vLyBidG4gb3V0bGluZSBsaWdodFxuJGJ0bi1iYWNrZ3JvdW5kLW91dGxpbmUtbGlnaHQ6IHRyYW5zcGFyZW50O1xuJGJ0bi1ib3JkZXItb3V0bGluZS1saWdodDogJHdoaXRlO1xuJGJ0bi1jb2xvci1vdXRsaW5lLWxpZ2h0OiAkd2hpdGU7XG4vLyBob3ZlclxuJGJ0bi1ob3Zlci1jb2xvci1vdXRsaW5lLWxpZ2h0OiAkZGFuZ2VyO1xuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5yZS1mb290ZXIge1xuXHRwYWRkaW5nOiA1MHB4IDAgNDBweDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWJhY2tncm91bmQtZm9vdGVyO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRwYWRkaW5nOiA2NXB4IDAgNDBweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0dGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuXHR9XG5cblx0dWwge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblxuXHRsaSB7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzO1xuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxNTYwcHg7XG5cdH1cblxuXHQucmUtY29weXJpZ2h0IHtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA3MnB4O1xuXHRcdH1cblx0fVxuXG5cdC5yZS1mb290ZXItbWVudSB7XG5cdFx0cGFkZGluZy10b3A6IDVweDtcblx0fVxuXG5cdC5yZS1jb3B5cmlnaHQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdG1hcmdpbjogMCAtMTBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW46IDAgLTE2cHg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTZweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnJlLWNvbHVtbnMtZm9vdGVyIHtcblx0bWFyZ2luOiAwIC0xNXB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVwaG9uZScpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXHRcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdH1cblxuXHQmID4gKiB7XG5cdFx0cGFkZGluZzogMCAxNXB4O1xuXHR9XG5cdFxuXHQucmUtY29sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXBob25lJykge1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdHdpZHRoOiAyNC41JTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXHR9XG5cblx0LnJlLWNvbC1zbWFsbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVwaG9uZScpIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDE3JTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0LnJlLWNvbC1zbWFsbDpsYXN0LWNoaWxkIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHR3aWR0aDogMTclO1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuXG4ucmUtZm9vdGVyLW1lbnUge1xuXG5cdGxpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1hZGRyZXNzLWl0ZW0ge1xuXG5cdGFkZHJlc3Mge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMzRweDtcblx0XHRmb250LXdlaWdodDogJG5vcm1hbDtcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdFxuXHRcdH1cblx0fVxufVxuXG4ucmUtc29jLW1lbnUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHR3aWR0aDogMTAwJTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdH1cblxuXHRsaSB7XG5cdFx0cGFkZGluZzogN3B4IDNweCAwO1xuXHR9XG5cdFxuXHQuaWNvbi10d2l0dGVyLFxuXHQuaWNvbi1pbnN0YWdyYW0ge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0fVxuXG5cdC5pY29uLWZhY2Vib29rIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZy10b3A6IDJweDtcblx0fVxufVxuXG5cbi5uby1zcGFjZSAge1xuXHQjbWFpbiB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuIiwiLyoqXG4gKiBTd2lwZXIgOS4yLjRcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjMgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogQXByaWwgMjEsIDIwMjNcbiAqL1xuXG4gQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn0uc3dpcGVyLHN3aXBlci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjE7ZGlzcGxheTpibG9ja30uc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbixpbml0aWFsKTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCl9LnN3aXBlci1ob3Jpem9udGFse3RvdWNoLWFjdGlvbjpwYW4teX0uc3dpcGVyLXZlcnRpY2Fse3RvdWNoLWFjdGlvbjpwYW4teH0uc3dpcGVyLXNsaWRlLHN3aXBlci1zbGlkZXtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07ZGlzcGxheTpibG9ja30uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFua3t2aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWF1dG9oZWlnaHQsLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGV7aGVpZ2h0OmF1dG99LnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGhlaWdodH0uc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVye3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci0zZHtwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZSwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTUpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS5zd2lwZXItdmVydGljYWwuc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7Y29udGVudDonJztmbGV4LXNocmluazowO29yZGVyOjk5OTl9LnN3aXBlci1jZW50ZXJlZD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpjZW50ZXIgY2VudGVyO3Njcm9sbC1zbmFwLXN0b3A6YWx3YXlzfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSl9LnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLWNlbnRlcmVkLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZHttYXJnaW4tYmxvY2stc3RhcnQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1iZWZvcmUpfS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcjo6YmVmb3Jle3dpZHRoOjEwMCU7bWluLXdpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcil9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLXdhdGNoLXByb2dyZXNzIC5zd2lwZXItc2xpZGUtdmlzaWJsZSAuc3dpcGVyLWxhenktcHJlbG9hZGVyLC5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsc3dpcGVyLWNvbnRhaW5lcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcykgLnN3aXBlci1sYXp5LXByZWxvYWRlcnthbmltYXRpb246c3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye3dpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LDUwJSk7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24taGlkZGVue29wYWNpdHk6MDtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztmb250LXNpemU6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MDtmb250LXZhcmlhbnQ6aW5pdGlhbDtsaW5lLWhlaWdodDoxfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LDEwcHgpO2xlZnQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZD4uc3dpcGVyLXBhZ2luYXRpb24sLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSw4cHgpO3RvcDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsYXV0byk7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtoZWlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodCx2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSw4cHgpKTtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ib3JkZXItcmFkaXVzLDUwJSk7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3IsIzAwMCk7b3BhY2l0eTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgLjIpfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodCw4cHgpO2xlZnQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCxhdXRvKTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsLTUwJSwwKX0uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcCw2cHgpIDA7ZGlzcGxheTpibG9ja30uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo4cHh9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHRvcH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLDRweCl9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCw6aG9zdCguc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bCkgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2NvbG9yOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yLGluaGVyaXQpfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcntiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjI1KSk7cG9zaXRpb246YWJzb2x1dGV9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdCB0b3B9LnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgdG9wfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsNHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7d2lkdGg6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSw0cHgpO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXBhZ2luYXRpb24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1zY3JvbGxiYXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsMTBweCk7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvcixyZ2JhKDAsMCwwLC4xKSl9LnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQ+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhciwuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7Ym90dG9tOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItdG9wLGF1dG8pO3otaW5kZXg6NTA7aGVpZ2h0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSkpfS5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItdmVydGljYWwsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXN3aXBlci1zY3JvbGxiYXItbGVmdCxhdXRvKTtyaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXJpZ2h0LDRweCk7dG9wOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKTt6LWluZGV4OjUwO3dpZHRoOnZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSw0cHgpO2hlaWdodDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci1kcmFne2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3IscmdiYSgwLDAsMCwuNSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLDEwcHgpO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmU7dG91Y2gtYWN0aW9uOm5vbmV9LnN3aXBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbixzd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItZ3JpZD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1ncmlkLWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItZmFkZS5zd2lwZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybS1vcmlnaW46MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY3ViZS5zd2lwZXItcnRsIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZSwuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2e3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5Oi42O3otaW5kZXg6MH0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmV7Y29udGVudDonJztiYWNrZ3JvdW5kOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZmlsdGVyOmJsdXIoNTBweCl9LnN3aXBlci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MX0uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRley13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHksaGVpZ2h0fS5zd2lwZXItY2FyZHN7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVufSIsIi8qKlxuICogY2FsZW5kYXIgY2FsZW5kYXIgdGFibGUgc3R5bGVzXG4gKi9cbiAuY2FsZW5kYXItY2FsZW5kYXIgdHIub2RkLCAuY2FsZW5kYXItY2FsZW5kYXIgdHIuZXZlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTsgLyogU2V0dGluZyBhdCAxMDAlIGNhdXNlcyBwcm9ibGVtIGluIEludGVybmV0IEV4cGxvcmVyLiAqL1xuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRhYmxlLmZ1bGwge1xuICAgIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgdGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiAxMDI0cHg7XG4gICAgfSBcbiAgfVxuICBcbiAgLyoqXG4gICAqIElFIG5lZWRzIGEgbGl0dGxlIGhlbHAgdG8gZ2V0IHRoZSBzaWRlIGJ5IHNpZGUgdGFibGVzIHRvIHRoZSByaWdodCBzaXplXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgLnllYXItdmlldyB0ZCB7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBwYWRkaW5nOiAxcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLnllYXItdmlldyB0ZCB0YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDEzJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgdHIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGggYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHtcbiAgICB3aWR0aDogMTQlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIHNpbXBsaWZ5IHRoZSBtaW5pIGNhbGVuZGFyIGJ5IHJlbW92aW5nIGJvcmRlcnNcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubWluaSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIFxuICAvKipcbiAgICogZm9ybWF0IGZvciB0aGUgd2VlayBudW1iZXIgaW4gdGhlIGZpcnN0IGNlbGxcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC53ZWVrIHtcbiAgICB3aWR0aDogMSU7XG4gICAgbWluLXdpZHRoOiAxJTtcbiAgIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIElFNiBkb2VzIG5vdCBzdXBwb3J0IG1pbi1oZWlnaHQsIHVzaW5nIE1pbi1IZWlnaHQgZmFzdCBoYWNrIGZyb20gaHR0cDovL3d3dy5kdXN0aW5kaWF6LmNvbS9taW4taGVpZ2h0LWZhc3QtaGFja1xuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5pbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5pbm5lciBkaXYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8qKlxuICAgKiBNYWtlIHN1cmUgcGFyYWdyYXBocyBidXJpZWQgaW4gY2FsZW5kYXIgY2VsbHMgdXNlIHBhZGRpbmcsIG5vdCBtYXJnaW5zLCBmb3Igc2VwYXJhdGlvbiBzbyB0aGUgYmFja2dyb3VuZCBjb2xvciBkb2Vzbid0IGNvbWUgdGhyb3VnaC5cbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuaW5uZXIgcCB7XG4gICAgcGFkZGluZzogMCAwIC44ZW0gMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQueWVhcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLm1vbnRoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBmb3JtYXQgZGF5cyBvZiB0aGUgd2VlayBoZWFkZXIgY2VsbHNcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0aC5kYXlzIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgfVxuICBcbiAgLyoqXG4gICAqIGZsb2F0aW5nIGRheSBudW1iZXIgZGl2XG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmRheSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDAuMjVlbSAxNXB4IDAuMjVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAxcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgLy8gd2lkdGg6IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICB9XG4gIFxuICAvKipcbiAgICogaW5kaXZpZHVhbCBub2RlIGNvbnRhaW5lclxuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi5jYWxlbmRhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwIC4yNWVtIC4yNWVtIDA7XG4gICAgd2lkdGg6IDk2JTtcbiAgICBmbG9hdDogcmlnaHQ7IC8qIG5lZWRlZCB0byBrZWVwIElFIGZyb20gaGlkaW5nIHRoZSBmbG9hdGluZyBkYXkgbnVtYmVyICovXG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLyoqXG4gICAqIE5vIGZsb2F0aW5nIG9mIGRheSB2aWV3IGNvbnRlbnQgYmVjYXVzZSB0aGVyZSBpcyBubyBmbG9hdGluZyBkYXkgbnVtYmVyXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IGRpdi5jYWxlbmRhciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDk4JTtcbiAgICBtYXJnaW46IDElIDElIDAgMSU7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYudGl0bGUge1xuICAgIGZvbnQtc2l6ZTouOGVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi50aXRsZSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LnRpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjYzAwO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAuY29udGVudCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICB9XG4gIC5jYWxlbmRhciBkaXYuZm9ybS1pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG4gIFxuICB0YWJsZSB0ZC5taW5pLFxuICB0YWJsZSB0aC5taW5pLFxuICB0YWJsZS5taW5pIHRkLndlZWsge1xuICAgIHBhZGRpbmc6IDAgMXB4IDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgfVxuICB0YWJsZSB0ZC5taW5pIGEge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5taW5pLWRheS1vZmYge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1pbmktZGF5LW9uIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cbiAgdGFibGUgLm1pbmktZGF5LW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAubWluaSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgfVxuICAubWluaSAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWsge1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgfVxuICAubWluaS1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuICAubWluaXtcbiAgICB3aWR0aDogMzIlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBmb3JtYXR0aW5nIGZvciB0aGUgbGVnZW5kIHN0cmlwZSBhbmQgYmxvY2tcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuc3RyaXBlIHtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXNpemU6MXB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuc3RyaXBlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICB0YWJsZS5jYWxlbmRhci1sZWdlbmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgdGFibGUuY2FsZW5kYXItbGVnZW5kIHRyLm9kZCAuc3RyaXBlLFxuICB0YWJsZS5jYWxlbmRhci1sZWdlbmQgdHIuZXZlbiAuc3RyaXBlIHtcbiAgICBoZWlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWxlZ2VuZCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWVtcHR5IHtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMXB4O1xuICB9XG4gIFxuICAvKipcbiAgICogZm9ybWF0dGluZyBmb3IgdGhlIGZ1bGwgZGF5IHZpZXdcbiAgICovXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIHBhZGRpbmctdG9wOiAuMjVlbTtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1uby1ob3VycyB7XG4gICAgbWluLXdpZHRoOiAxJTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuY2FsZW5kYXItYWdlbmRhLWhvdXIgLmNhbGVuZGFyLWhvdXIge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1ob3VyIC5jYWxlbmRhci1hbXBtIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuY2FsZW5kYXItYWdlbmRhLWl0ZW1zIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmNhbGVuZGFyLWFnZW5kYS1pdGVtcyBkaXYuY2FsZW5kYXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IC4yNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmNhbGVuZGFyIGRpdi5pbm5lciAuY2FsZW5kYXItYWdlbmRhLWVtcHR5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG4gIFxuICAvKipcbiAgICogdGhlIHBvcHVwIGRhdGUgc2VsZWN0b3IgZm9yIGp1bXBpbmcgdG8gYSBuZXcgZGF0ZVxuICAgKi9cbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IGZvcm0ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jYWxlbmRhci1kYXRlLXNlbGVjdCBkaXYsXG4gIC5jYWxlbmRhci1kYXRlLXNlbGVjdCBpbnB1dCxcbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IGxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmNhbGVuZGFyLWRhdGUtc2VsZWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5jYWxlbmRhci1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYuZGF0ZS1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgcGFkZGluZzogMC4yZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgZGl2LmRhdGUtbmF2IGEsXG4gIC5jYWxlbmRhci1jYWxlbmRhciBkaXYuZGF0ZS1uYXYgaDMge1xuICAgIGNvbG9yOiAjNTI1ODViO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGguZGF5cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkLmVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIHJnYmEoJGNvbG9yOiAjNTI1ODViLCAkYWxwaGE6IDAuMik7XG4gIH1cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRhYmxlLm1pbmkgdGQuZW1wdHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBkaXYuZGF5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIC5pbm5lciBkaXYgYSB7XG4gICAgYmFja2dyb3VuZDogI2VlZTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFNldCBzbWFsbCBmb250IHNpemUgZm9yIGFsbCBpdGVtcyBpbiBjYWxlbmRhciBkaXYsIHRoZW1lcyBjYW4gb3ZlcnJpZGUgdGhpcy5cbiAgICogVXNlIHgtc21hbGwgaW5zdGVhZCBvZiBlbSB0byBhdm9pZCBtdWx0aXBseWluZyBlZmZlY3QgaW4gbmVzdGVkIGl0ZW1zLlxuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGRpdi5jYWxlbmRhciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogeC1zbWFsbDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5jYWxlbmRhciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5jYWxlbmRhciBkaXYuY2FsZW5kYXItbW9yZSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2LmNhbGVuZGFyLW1vcmUgYSB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIC52aWV3LWZpZWxkIGEge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBzcGFuLmRhdGUtZGlzcGxheS1zaW5nbGUsXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCBzcGFuLmRhdGUtZGlzcGxheS1zdGFydCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHNwYW4uZGF0ZS1kaXNwbGF5LWVuZCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRkIHNwYW4uZGF0ZS1kaXNwbGF5LXNlcGFyYXRvciB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQgLmlubmVyIGRpdi5kYXkgYSB7XG4gICAgY29sb3I6ICM1MjU4NWI7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgfVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdHIgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ci5vZGQgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ci5ldmVuIHRkLnRvZGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNENkU0O1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBkaXYudmlldy1kYXRhLW5vZGUtZGF0YS1maWVsZC1kYXRlLWZpZWxkLWRhdGUtdmFsdWUge1xuICB9XG4gIFxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBhcmUgbm90IHVzZWQgYnkgZGVmYXVsdCBidXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhlbWVzXG4gICAqL1xuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQucGFzdCB7fVxuICAuY2FsZW5kYXItY2FsZW5kYXIgdGQuZnV0dXJlIHt9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5oYXMtZXZlbnRzIHt9XG4gIC5jYWxlbmRhci1jYWxlbmRhciB0ZC5oYXMtbm8tZXZlbnRzIHt9XG4gIFxuICAvKipcbiAgICogTXVsdGkgZGF5IHN0eWxlc1xuICAgKi9cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLmlubmVyLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAubXVsdGktZGF5IC5pbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICB9XG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5jYWxlbmRhci1hZ2VuZGEtaG91clxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLnNpbmdsZS1kYXkgLmlubmVyIC52aWV3LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAuY2FsZW5kYXItYWdlbmRhLWhvdXIsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZGF5LXZpZXcgLmZ1bGwgLmNhbGVuZGFyLWFnZW5kYS1ob3VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgd2lkdGg6IDYlO1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCAuZGF5cyB7XG4gICAgd2lkdGg6IDEzJTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIGRpdi5jYWxlbmRhcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgZGl2LmNhbGVuZGFyLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IGRpdi5jYWxlbmRhciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5kYXRlLWJveCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLmRhdGUtYm94IHRkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIubXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIubXVsdGktZGF5IHRkIHtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgbWF4LWhlaWdodDogMTlweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLnNpbmdsZS1kYXkgLm5vLWVudHJ5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIuc2luZ2xlLWRheSAubm8tZW50cnkgLmlubmVyIHtcbiAgICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyLnNpbmdsZS1kYXkgLm5vZW50cnktbXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIuc2luZ2xlLWRheSAubm9lbnRyeS1tdWx0aS1kYXkgLmlubmVyIHtcbiAgICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMXB4IDJweCAwIDJweFxuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3gge1xuICAgIGhlaWdodDogMSU7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCAud2VlayB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgLndlZWsgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgLndlZWsgYSB7XG4gICAgY29sb3I6ICM0Yjg1YWM7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuZGF5IGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLmRhdGUtYm94IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3ggLmlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci10b3A6IDBweDtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIC5maXJzdCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSB7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lcixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheS5uby1lbnRyeSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuY2FsZW5kYXItZW1wdHksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5LmVtcHR5LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3guZW1wdHkgLFxuICB0ZHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuaW5uZXIgZGl2LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSAuaW5uZXIgZGl2IGEgLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIGRpdiBhICxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIubW9udGh2aWV3IGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIubW9udGh2aWV3IGRpdiBhLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLnNpbmdsZS1kYXkgLmlubmVyIGRpdiBhICxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciBkaXYsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgZGl2IGEgLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyLndlZWt2aWV3IGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQgLmlubmVyIGRpdi5jYWxlbmRhci53ZWVrdmlldyBkaXYgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LnZpZXctaXRlbSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkIC5pbm5lciBkaXYuY2FsZW5kYXIgZGl2IGEge1xuICAgIG1hcmdpbjogMHB4IDNweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZCAuaW5uZXIgZGl2LmNhbGVuZGFyIGRpdi5zdHJpcGUge1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5vZGQgdGQudG9kYXksXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ci5ldmVuIHRkLnRvZGF5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzdDN0YxMjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjN0M3RjEyO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuZGF0ZS1ib3gudG9kYXkge1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwcHggMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjN0M3RjEyO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdHIgdGQuc2luZ2xlLWRheS50b2RheSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3QzdGMTI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ciB0ZC5tdWx0aS1kYXkuc3RhcnRzLXRvZGF5IHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM3QzdGMTI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ciB0ZC5tdWx0aS1kYXkuZW5kcy10b2RheSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzdDN0YxMjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLm11bHRpLWRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLnNpbmdsZS1kYXkge1xuICAgIGJvcmRlci10b3A6IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLm11bHRpLWRheSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRyIHRkLmRhdGUtYm94IHtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCAuaW5uZXIgLm1vbnRodmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgLmlubmVyIC53ZWVrdmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCAuaW5uZXIgLmRheXZpZXcge1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IC4yNWVtIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQuc2luZ2xlLWRheSBkaXYubW9udGh2aWV3LFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IGRpdi53ZWVrdmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5zaW5nbGUtZGF5IGRpdi5kYXl2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiA1cHggMTJweCA1cHggMjVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLnNpbmdsZS1kYXkgLmNhbGVuZGFyLW1vcmUgZGl2Lm1vbnRodmlldyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyB0ZCBkaXYuZGF5dmlldyB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi5tb250aHZpZXcsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSBkaXYud2Vla3ZpZXcsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZGF5LXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi5kYXl2aWV3IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzRhNWQ3O1xuICAgIGhlaWdodDogMS45ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi53ZWVrdmlldyB7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgfVxuXG4gIC5jYWxlbmRhci1jYWxlbmRhciBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmNhbGVuZGFyLWNhbGVuZGFyIGxpIC50ZXh0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICBjb2xvcjogJGRhbmdlcjtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC52aWV3LWZpZWxkIGEsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQgYSxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5kYXktdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLnZpZXctZmllbGQgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5tdWx0aS1kYXkgLmNhbGVuZGFyIC52aWV3LWZpZWxkLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmZ1bGwgdGQuc2luZ2xlLWRheSAuY2FsZW5kYXIgLnZpZXctZmllbGQge1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSBkaXYuZGF5dmlldyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IGRpdi53ZWVrdmlldyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5jYWxlbmRhci5tb250aHZpZXcgLnZpZXctZmllbGQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuY2FsZW5kYXIud2Vla3ZpZXcgLnZpZXctZmllbGQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuY2FsZW5kYXIud2Vla3ZpZXcgLnZpZXctZmllbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5jYWxlbmRhci5tb250aHZpZXcgLmNvbnRlbnRzLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmNhbGVuZGFyLndlZWt2aWV3IC5jb250ZW50cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMDAwcHg7XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLmRheS12aWV3IHRkIC5zdHJpcGUsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZCAuc3RyaXBlLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZCAuc3RyaXBlIHtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDBweCAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jb250aW51YXRpb24sXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jb250aW51ZXMsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAuZnVsbCB0ZC5zaW5nbGUtZGF5IC5jdXRvZmYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgIC5pbm5lciAubW9udGh2aWV3IC5jb250aW51YXRpb24sXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAgLmlubmVyIC53ZWVrdmlldyAuY29udGludWF0aW9uIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGhlaWdodDogMS45ZW07XG4gIH1cbiAgXG4gIC5jYWxlbmRhci1jYWxlbmRhciAud2Vlay12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAgLmlubmVyIC53ZWVrdmlldyAuY29udGludWF0aW9uIHtcbiAgICBoZWlnaHQ6IDIuNzVlbTtcbiAgICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLm1vbnRoLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAubW9udGh2aWV3IC5jb250aW51ZXMsXG4gIC5jYWxlbmRhci1jYWxlbmRhciAubW9udGgtdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC5tb250aHZpZXcgLmN1dG9mZixcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmNvbnRpbnVlcyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmN1dG9mZiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICByaWdodDogLTFweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICM3NGE1ZDc7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggNXB4IDVweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMHB4O1xuICAgIGhlaWdodDogMS45ZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmNvbnRpbnVlcyxcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdGQubXVsdGktZGF5IC5pbm5lciAud2Vla3ZpZXcgLmN1dG9mZiB7XG4gICAgaGVpZ2h0OiAyLjc1ZW07XG4gICAgcGFkZGluZy10b3A6IDAuNzVlbTtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC5tb250aC12aWV3IC5mdWxsIHRkLm11bHRpLWRheSAuaW5uZXIgLm1vbnRodmlldyAuY3V0b2ZmLFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkgLmlubmVyIC53ZWVrdmlldyAuY3V0b2ZmIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG4gIFxuICAuY2FsZW5kYXItY2FsZW5kYXIgLndlZWstdmlldyAuZnVsbCB0ZC5tdWx0aS1kYXkge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgdGQuc2luZ2xlLWRheSBkaXYuY2FsZW5kYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIC53ZWVrLXZpZXcgLmZ1bGwgdHIubGFzdCB0ZC5tdWx0aS1kYXkge1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNDQ0NDQ0M7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZXN0eWxlIEhlYWRlclxuICAgKi9cbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmNsZWFyLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlciAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBtYXJnaW4tdG9wOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUyNTg1YjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDBweDtcbiAgICAvLyBoZWlnaHQ6IDMwcHg7XG4gICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDdweCAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAudmlldyAucGFnZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLXByZXYgYSxcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmV4dCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlci5kYXRlLW5hdiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiB7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICAvLyBwYWRkaW5nOiA1cHggMDtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDgwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuICB9XG4gIFxuICAuYmxvY2stdmlld3MgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtcHJldiBhIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdpbWFnZXMvYXJyb3ctcHJldi5zdmcnKTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIH0gXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuICB9XG4gIFxuICAudmlldyAuZGF0ZS1uYXYtd3JhcHBlciAuZGF0ZS1oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLWhlYWRpbmcgaDMge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB9XG5cbiAgfVxuICBcbiAgLnZpZXcgLmRhdGUtbmF2LXdyYXBwZXIgLmRhdGUtbmV4dCB7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHggNXB4IDVweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDVweCA1cHggMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZsb2F0OiBub25lO1xuICAgIC8vIHBhZGRpbmc6IDVweCAwO1xuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbjogMCA1cHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG4gIH1cbiAgXG4gIC52aWV3IC5kYXRlLW5hdi13cmFwcGVyIC5kYXRlLW5leHQgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9hcnJvdy1uZXh0LnN2ZycpO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgfSBcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbiAgXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICBcbiAgLmNhbGVuZGFyLWNhbGVuZGFyIHRoIGEsXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwcHg7XG4gIH1cbiAgXG4gIC5hdHRhY2htZW50IC5jYWxlbmRhci1jYWxlbmRhciB0aC5jYWxlbmRhci1hZ2VuZGEtaG91ciB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgXG4gIC52aWV3LWNhbGVuZGFyIC5mZWVkLWljb24ge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuICBcbiAgLnZpZXcgdGFibGUubWluaSAuZGF0ZS1wcmV2LFxuICAudmlldyB0YWJsZS5taW5pIC5kYXRlLW5leHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgXG4gIC5kYXRlLW5hdiBkaXYuZGF0ZS1wcmV2LFxuICAuZGF0ZS1uYXYgZGl2LmRhdGUtbmV4dCxcbiAgLmRhdGUtbmF2IHtcbiAgICB3aWR0aDphdXRvO1xuICB9XG4gIFxuICB1bC5jYWxlbmRhci1saW5rcyxcbiAgLnJlZ2lvbi1jb250ZW50IHVsLmNhbGVuZGFyLWxpbmtzIHtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbiAgXG4gIC55ZWFyLXZpZXcgZGl2Lm1vbnRoLXZpZXcgZGl2LmRhdGUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREZERkRGO1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIH1cbiAgXG5cblxuLnRhYnMtbXVsdGlkYXkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgLnRhYnNfX3RhYiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPGRlc2t0b3AnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC50YWJzX190YWItbGluayB7XG4gICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnNfX3RhYi1saW5rIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZ3JheS02MDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjYzAwZjA4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGJ1dHRvbiBjb21wb25lbnQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnJlLWJ0biB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKGNvbG9yKTtcblx0QGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZCwgJGJ0bi1jb2xvciwgJGJ0bi1ib3JkZXIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJvcmRlci13aWR0aDogMnB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRmb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogJGJ0bi1wYWRkaW5nO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiAyMXB4IDI0cHggMTlweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdGxldHRlci1zcGFjaW5nOiAycHg7XG5cdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4tbGcnKSB7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDQuN3B4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRidG4tY29sb3I7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZSAod2lkdGgpO1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdH1cblxuXHQmLWRlZmF1bHQge1xuXHRcdEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyKTtcblx0fVxuXG5cdCYtZGFuZ2VyIHtcblx0XHRAaW5jbHVkZSBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLWRhbmdlciwgJGJ0bi1jb2xvci1kYW5nZXIsICRidG4tYm9yZGVyLWRhbmdlcik7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yLWRhbmdlcjtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Ji1vdXRsaW5lLWxpZ2h0IHtcblx0XHRAaW5jbHVkZSBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLW91dGxpbmUtbGlnaHQsICRidG4tY29sb3Itb3V0bGluZS1saWdodCwgJGJ0bi1ib3JkZXItb3V0bGluZS1saWdodCk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yLW91dGxpbmUtbGlnaHQ7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdCYtc20ge1xuXHRcdGJvcmRlci1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cy1zbTtcblx0XHRwYWRkaW5nOiA0cHggMTBweDtcblx0fVxufVxuXG4uYnRuLWdyb3VwIHtcblx0bWFyZ2luOiAwIC01cHggLTEwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblxuXHQuYnRuIHtcblx0XHRtYXJnaW46IDAgNXB4IDEwcHg7XG5cdH1cbn0iLCJcbi5zd2lwZXIge1xuXHQtLXN3aXBlci10aGVtZS1jb2xvcjogI2UxMjcyNjtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGg6IDE4cHg7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhlaWdodDogMThweDtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtY29sb3I6ICNmZmY7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHk6IDE7XG5cdC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXZlcnRpY2FsLWdhcDogMjVweDtcblx0LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcblx0LS1zd2lwZXItc2Nyb2xsYmFyLXNpemU6IDdweDtcblx0LS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXM6IDA7XG5cdC0tc3dpcGVyLXNjcm9sbGJhci1iZy1jb2xvcjogIzUyNTg1Yjtcblx0LS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuXHRAaW5jbHVkZSBhbmltYXRlICh0cmFuc2Zvcm0pO1xuXHRib3gtc2hhZG93OiAwIDAgMnB4ICRibGFjaztcblxuXHQmOm5vdCguc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSk6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1idXR0b24tcHJldiB7XG5cdEBpbmNsdWRlIGFuaW1hdGUgKGNvbG9yKTtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDRweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRsZXR0ZXItc3BhY2luZzogNXB4O1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICRncmF5LTYwMDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRzdmcge1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDQ0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHR3aWR0aDogNTVweDtcblx0XHR9XG5cdH1cbn1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdHN2ZyB7XG5cdFx0bWFyZ2luOiAwIDAgMCAxN3B4O1xuXHR9XG59XG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRzdmcge1xuXHRcdG1hcmdpbjogMCAxN3B4IDAgMDtcblx0fVxufVxuXG4uc3dpcGVyLWhlcm8ge1xuXHRoZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSk7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiA0ODBweDtcblxuXHQmLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLFxuXHQuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG5cdFx0bWF4LXdpZHRoOiAxNTYwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHBhZGRpbmc6IDEwMHB4IDE1cHggMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR6LWluZGV4OiAxMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZy10b3A6IDE2MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0cGFkZGluZy10b3A6IDIwMHB4O1xuXHRcdH1cblxuXHRcdD4gKiB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuLnN3aXBlci1ldmVudCB7XG5cdCYuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhcixcblx0LnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LnN3aXBlci13cmFwcGVyIHtcblx0XHRtYXJnaW46IDAgMCAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0NHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zd2lwZXItYnV0dG9uLXdyYXAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1hcmdpbjogMCAwIDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIycHg7XG5cdFx0fVxuXHR9XG5cblx0LnN3aXBlci1idXR0b24tbmV4dCxcblx0LnN3aXBlci1idXR0b24tcHJldiB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxufVxuXG4ucGFnaW5nLWdhbGxlcnkge1xuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE1NjBweDtcblx0fVxufVxuXG4uc3dpcGVyLWRpcmVjdGlvbi1wYWdpbmctd3JhcCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZTtcblx0bWFyZ2luOiAwIDAgMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRtYXJnaW4tYm90dG9tOiA3N3B4O1xuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxNTcwcHg7XG5cdH1cbn1cblxuLnN3aXBlci1kaXJlY3Rpb24tcGFnaW5nIHtcblx0Ji5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyLFxuXHQuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdC5zd2lwZXItd3JhcHBlciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG5cblx0LnN3aXBlci1zbGlkZSB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0cGFkZGluZzogMzBweCA1cHggMjdweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogNDNweCA1cHggMzdweDtcblx0XHR9XG5cdH1cblxuXHQuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cblx0XHQuYnVsbGV0IHtcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnVsbGV0IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlIChjb2xvcik7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuXHRcdGNvbG9yOiAkZ3JheS02MDA7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDI4cHg7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBhbmltYXRlIChvcGFjaXR5IHZpc2liaWxpdHkpO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IGNhbGMoMTAwJSArIDdweCk7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0Ym9yZGVyOiB7XG5cdFx0XHRcdHN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZSB0cmFuc3BhcmVudDtcblx0XHRcdFx0d2lkdGg6IDAgMjBweCAyMHB4O1xuXHRcdFx0fTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdHRvcDogY2FsYygxMDAlICsgMThweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zd2lwZXItZGlyZWN0aW9uIHtcblxuXHQmLm5hdi1jdXN0b21lLXBvc2l0aW9uIHtcblx0XHQuc3dpcGVyLXdyYXBwZXIgIHtcblx0XHRcdHBhZGRpbmc6IDAgMCA4MHB4O1xuXHRcdH1cblx0fVxuXHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zd2lwZXItYnV0dG9uLW5leHQsXG5cdC5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRcdGJvdHRvbTogMzJweDtcblx0XHR0b3A6IGF1dG87XG5cdH1cblxuXHQuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cdH1cblxuXHQuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIuc3dpcGVyLWNhcmQtaGVybyB7XG5cdGhlaWdodDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTQ0MHB4O1xuXHR9XG5cblx0LnN3aXBlci1oZXJvLWltZyxcblx0LnN3aXBlci1oZXJvLXZpZGVvIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHotaW5kZXg6IC0xO1xuXG5cdFx0dmlkZW8sXG5cdFx0aW1nIHtcblx0XHRcdEBpbmNsdWRlIGltZy1zY2FsZTtcblx0XHR9XG5cdH1cbn1cblxuLnN3aXBlci1oZXJvLWJvZHkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMzBweDtcblx0bGVmdDogMDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1zaGFkb3c6IDAgMCAycHggJGJsYWNrO1xuXHRwYWRkaW5nOiAxMDBweCAwIDMwcHg7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0cGFkZGluZy10b3A6IDE2MHB4O1xuXHRcdGZvbnQtc2l6ZTogMzFweDtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0Ym90dG9tOiBhdXRvO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0cGFkZGluZy10b3A6IDI0MHB4O1xuXHRcdGZvbnQtc2l6ZTogMzhweDtcblx0fVxuXG5cdC5ib2R5LXdyYXAge1xuXHRcdG1heC13aWR0aDogNTUwcHg7XG5cdFx0cGFkZGluZzogMCAzMHB4O1xuXG5cdFx0PiAqIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdGgxIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bWFyZ2luOiAwIDAgMTNweDtcblx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogNTRweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogNjhweDtcblx0XHR9XG5cdH1cblxuXHQudGV4dCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDAgMzNweDtcblx0fVxuXG5cdC5yZS1idG4ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG59IiwiLnNlY3Rpb24tZXZlbnQge1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRwYWRkaW5nOiA1MHB4IDA7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiA2OHB4IDA7XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDE1NjBweDtcblx0fVxuXG5cdCYuY3VzdG9tZSB7XG5cdFx0cGFkZGluZzogMzBweCAwIDEwcHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHBhZGRpbmc6IDUwcHggMCAxMHB4O1xuXHRcdH1cblx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nOiA2OHB4IDAgMTBweDtcblx0XHR9XG5cdH1cblxuXHQmLmN1c3RvbWUtc3Bhc2Uge1xuXHRcdHBhZGRpbmc6IDMwcHggMCAxMHB4O1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMTBweDtcblx0XHR9XG5cdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogNjhweCAwIDEwcHg7XG5cdFx0fVxuXHR9XG5cblx0Ji5jYWxlbmRhciB7XG5cdFx0aDEge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRoMSB7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0bWFyZ2luOiAwIDAgMzBweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0Zm9udC1zaXplOiA0OHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDdweDtcblx0XHRcdFxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiA2MHB4O1xuXHRcdH1cblx0fVxuXG5cdC50aXRsZS1ob2xkZXIge1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZGFuZ2VyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0LnRpdGxlLWRlY29yIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0fVxuXG5cdFx0Lm9wdGlvbi1ob2xkZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDAgMTVweDtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSAge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgMzVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdFx0ZmlsbDogJGRhbmdlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdGZpbGw6ICRkYW5nZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5ibG9jayB7XG5cdFx0XHRcdFx0d2lkdGg6IDQ1cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjFweDtcblx0XHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmxpc3Qge1xuXHRcdFx0XHRcdHdpZHRoOiA1N3B4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBweDtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDc3cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRmaWxsOiAkZ3JheS02MDA7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogMC4zcztcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnRpdGxlLWRlY29yIHtcblx0XHRwYWRkaW5nOiAwIDAgMTBweDtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGRhbmdlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQuZGVzY3JpcHRpb24ge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXHRcdHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICB9IFxuXG5cdFx0XG5cdH1cbn1cblxuLmNhcmQtZXZlbnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6IDgwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmctdG9wOiA3MiU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHQuY2FyZC1ldmVudC1ib2R5IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhbmdlciwgMC45KTtcblx0XHR9XG5cblx0XHQuY2FyZC1ldmVudC1pbWcge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAyKSB0cmFuc2xhdGVZKC01cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uY2FyZC1ldmVudC1pbWcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogLTE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0aW1nIHtcblx0XHRAaW5jbHVkZSBpbWctc2NhbGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuXHR9XG59XG5cbi5jYXJkLWV2ZW50LWJvZHkge1xuXHRAaW5jbHVkZSBhbmltYXRlIChiYWNrZ3JvdW5kLWNvbG9yLCAwLjhzKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRwYWRkaW5nOiAxNXB4IDYwcHggMTBweCAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYW5nZXIsIDAuOCk7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0cGFkZGluZzogMzFweCA4OHB4IDIycHggMTVweDtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRmb250LXNpemU6IDI3cHg7XG5cdFx0cGFkZGluZy1yaWdodDogMTExcHg7XG5cdH1cblxuXHRoMiB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjdweDtcblx0XHR9XG5cdH1cblxuXHQuaWNvbiB7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0d2lkdGg6IDM0cHg7XG5cdFx0XHRyaWdodDogMzFweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdHdpZHRoOiA0M3B4O1xuXHRcdFx0cmlnaHQ6IDM4cHg7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblx0XHR9XG5cdH1cblxuXG59XG5cblxuLnRhYmxlLWNhbGVuZGFyIHtcblx0Jl9faXRlbSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcblx0XHQuZGF0ZS1ob2xkZXIge1xuXHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2U4ZTllYjtcblx0XHRcdGNvbG9yOiAjNTI1ODViO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHR3aWR0aDogMzAwcHg7XG5cdFx0XHR9XG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bWFyZ2luOiAwIDAgNXB4O1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGg0IHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDQ1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubGlzdC1ob2xkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHQubGlzdCB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDIwcHg7XG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTtcblx0XHRcdFx0XHRjb2xvcjogJGRhbmdlcjtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGltZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICM1MjU4NWI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4ubmF2aWdhdGlvbi1pdGVtcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46ICAwIDAgLTE1cHg7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0cGFkZGluZzogMjVweCAwIDA7XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0bWFyZ2luOiAgMCAwIC0zMHB4O1xuXHR9XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdG1hcmdpbjogIDAgMCAtNDVweDtcblx0fVxuXHQuaXRlbSB7XG5cdFx0bWFyZ2luOiA1cHggMTBweDtcblx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0Y29sb3I6ICM1MjU4NWI7XG5cdFx0Ji5pdGVtLXByZXYsXG5cdFx0Ji5pdGVtLW5leHQge1xuXHRcdFx0bWFyZ2luOiAwIDIwcHg7XG5cdFx0XHRhIHtcblx0XHRcdFx0d2lkdGg6IDU1cHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0ZmlsbDogIzUyNTg1Yjtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjNTI1ODViO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGRhbmdlcjtcblxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdGZpbGw6ICRkYW5nZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zZWN0aW9uLWRpcmVjdGlvbiB7XG5cdHBhZGRpbmc6IDAgMCAzMHB4O1xufVxuXG4uY2FyZC1kaXJlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG5cdGZvbnQtc2l6ZTogMjFweDtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bGluZS1oZWlnaHQ6IDEuNjM7XG5cdGNvbG9yOiAkYmxhY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRmb250LXNpemU6IDMycHg7XG5cdH1cbn1cblxuLmNhcmQtZGlyZWN0aW9uLWltZyB7XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblxuXHRpbWcge1xuXHRcdEBpbmNsdWRlIGltZy1zY2FsZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uY2FyZC1kaXJlY3Rpb24tYm9keSB7XG5cdHBhZGRpbmc6IDUwcHggMTVweCA5MHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiA0NXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiA3N3B4O1xuXHRcdHBhZGRpbmctbGVmdDogNzdweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDk3cHg7XG5cdFx0cGFkZGluZy1sZWZ0OiA5N3B4O1xuXHR9XG5cblx0LnRleHQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCAwIDMwcHg7XG5cdFx0Ly8gbWF4LXdpZHRoOiA0MDBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNTJweDtcblx0XHR9XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0bWFyZ2luOiAwIDAgMTVweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0Zm9udC1zaXplOiA2NHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjhweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogODBweDtcblx0XHR9XG5cdH1cbn1cbiIsIi5zZWN0aW9uLXJlLWFib3V0IHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRsaW5lLWhlaWdodDogY2FsYyg1MiAvIDMyKTtcblxuXHQmLmJnLWdyYXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LTYwMDtcblxuXHRcdGgxIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMzBweDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDMwcHg7XG5cdFx0XHR9XG5cdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogODBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRQIHtcblx0XHRcdGIge1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRmb250LXNpemU6IDI1cHg7XG5cdH1cblx0XG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdGZvbnQtc2l6ZTogMzJweDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdHRyYW5zaXRpb246IGFsbCAuM3M7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTU2MHB4O1xuXHR9XG5cblx0LnJlLWJ0biB7XG5cdFx0d2lkdGg6IDI0NXB4O1xuXHR9XG59XG5cbi5yZS1jb2x1bW5zLWFib3V0IHtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0fVxuXG5cdC5yZS1jb2wge1xuXHRcdFxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDAgNDBweDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0cGFkZGluZzogNTVweCAzJSA1NXB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1hYm91dC1jb250ZW50LWxlZnQge1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cbi5yZS1hYm91dC1jb250ZW50LXJpZ2h0IHtcblx0bWFyZ2luOiAwIC0xNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS02MDA7XG5cdFxuXHRAaW5jbHVkZSBtZWRpYSgn4omlNTc4cHgnKSB7XG5cdFx0bWFyZ2luOiAwIDAgMCAtMTVweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbi5yZS1hYm91dC1tZW51IHtcblx0cGFkZGluZzogNDBweCAwIDIwcHg7XG5cdG1hcmdpbjogMDtcblx0Zm9udC13ZWlnaHQ6ICRtZWRpdW07XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpTU3OHB4Jykge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogNTkuNyU7XG5cdFx0cGFkZGluZzogNDJweCA5LjMlIDIwcHggMyU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHBhZGRpbmc6IDQycHggOSUgMjBweCAzJTtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdH1cblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0bWFyZ2luOiAwIDAgNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omld2lkZXNjcmVlbicpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDUxcHg7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5yZS1hYm91dC12aXN1YWwtd3JhcCB7XG5cdGZsZXgtZ3JvdzogMTtcblx0bWluLWhlaWdodDogMzAwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpTU3OHB4Jykge1xuXHRcdG1pbi1oZWlnaHQ6IDQ0M3B4O1xuXHRcdHdpZHRoOiA0MCU7XG5cdH1cbn1cblxuLnJlLWFib3V0LXZpc3VhbCB7XG5cdG1hcmdpbjogMCAtMTVweDtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRAaW5jbHVkZSBtZWRpYSgn4omlNTc4cHgnKSB7XG5cdFx0bWFyZ2luOiAwIC0xNXB4IDAgMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaUxNTYwcHgnKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtNzVweDtcblx0fVxuXG5cdGltZyB7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiA1MCUgMDtcblx0fVxufVxuIiwiLnNlY3Rpb24taGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwxdmgpICogODUpOyB3aWR0aDogMTAwJTtcblxuICAgIC5iZy1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE1MHB4KTtcbiAgICAgICAgXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZS1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkZGFuZ2VyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLWFsbC1vcHRpb24ge1xuICAgIFxuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MzVweDtcbiAgICB9XG5cbiAgICBoMSB7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTlweDtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogNDhweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IC0xMnB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEycHg7XG5cdFx0fVxuXHR9XG5cbiAgICBcblxuICAgIC5iZy1ob2xkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNGVlO1xuXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5kZi1yb3cge1xuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI3cHg7XG5cbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLW9wdGlvbiB7XG5cbiAgICAgICAgLmNhcmQtb3B0aW9uLWltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0JykgIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfSBcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5yZS1idG4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIxcHggMTZweCAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuc2VjdGlvbi10YWJzLWZhcXMge1xuICAgIC5iZy10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUzNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTUzNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG5cdFx0Y29sb3I6ICRkYW5nZXI7XG5cdFx0cGFkZGluZzogMCAwIDMwcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbjogMDtcblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdH1cblx0fVxuXG4gICAgLnRhYnMtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgfSAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xMDAwMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZTdkZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFic2V0e1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMHB4O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEwMDAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgXG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggODhweCAwIDQ1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7IFxuICAgICAgICAgICAgICAgIGhlaWdodDogMDsgXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkICRkYW5nZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTlweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2Y1ZGJhNztcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmNWRiYTc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweCAxNXB4IDIwcHggMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMzVweCA0MHB4IDUwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDEwMHB4IDQwcHggODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAvLyBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlN2RkO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIC8vIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDA7IFxuICAgICAgICAgICAgaGVpZ2h0OiAwOyBcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgICAgIH0gXG5cbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmpzLXRhYi1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuIiwiLnNlY3Rpb24tYmlvIHtcbiAgICBwYWRkaW5nOiAwIDAgNzJweDtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTUwcHg7XG4gICAgfVxuXG4gICAgLmRmLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwcHggMjBweCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1M3B4O1xuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICB9IFxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLXdyYXBwIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAwIDA7XG4gICAgfVxuXG4gICAgLnJlLWJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDMycHg7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRkYW5nZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59ICAgXG4iLCIuc2VjdGlvbi1pbnN0cnVjdG9ycyB7XG4gICAgcGFkZGluZzogMCAwIDcwcHg7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRmLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmLnJldmVyc2Uge1xuICAgICAgICAgICAgLmNvbCB7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgICAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZGFuZ2VyLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZ3JheS02MDAsICRhbHBoYTogMC42KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW1nLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJGdyYXktNjAwLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJGRhbmdlciwgJGFscGhhOiAwLjYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkZGFuZ2VyLCAkYWxwaGE6IDAuNik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5pbWctaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltZy1ob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICRncmF5LTYwMCwgJGFscGhhOiAwLjYpO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
