@charset "UTF-8";
/*=================================================
            게시판 공통 요소
=================================================*/
[class*="rp-table-"] .rp-title-custom {
  font-size: 14px;
  font-family: "Noto Sans KR", sans-serif;
  text-align: left;
  color: #000;
}

[class*="rp-table-"] .rp-title-custom ~ * {
  color: #888;
}

@media screen and (min-width: 768px) {
  [class*="rp-table-"] .rp-title-custom {
    font-size: 12px;
    font-family: "Dotum", sans-serif;
    color: #222;
    line-height: 1.2;
  }
  [class*="rp-table-"] .rp-title-custom ~ * {
    color: #222;
  }
}

[class*="rp-table-"] .rp-title-custom .title-txt {
  display: inline-block;
  width: 87%;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  [class*="rp-table-"] .rp-title-custom .title-txt {
    width: auto;
    max-width: 90%;
  }
}

[class*="rp-table-"] .rp-title-custom .board-list-img {
  position: absolute;
}

[class*="rp-table-"] .rp-title-custom .board-list-img:nth-last-of-type(1) {
  right: 0;
}

[class*="rp-table-"] .rp-title-custom .board-list-img:nth-last-of-type(2) {
  right: 25px;
}

[class*="rp-table-"] .rp-title-custom .board-list-img:nth-last-of-type(3) {
  right: 50px;
}

@media screen and (min-width: 768px) {
  [class*="rp-table-"] .rp-title-custom .board-list-img {
    position: initial;
  }
}

/*== list 글쓰기 버튼, 페이지네이션 ==*/
.page-link {
  min-width: 20px;
  width: 100%;
}

.board-list-write-btn {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  .board-list-write-btn {
    position: absolute;
    top: -10px;
    right: 0;
    margin-top: 0;
  }
}

.page-item.active .page-link {
  position: relative;
}

.page-item.active .page-link:after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform: translateX(-50%);
}

.page-item.btn-next-item,
.page-item.btn-prev-item {
  width: 35px;
}

.page-item.btn-next-item {
  margin-left: 20px;
}

.page-item.btn-prev-item {
  margin-right: 20px;
}

.rp-tr:hover > div {
  color: #1b458e;
}

.rp-tr:hover .title-txt {
  color: #1b458e;
}

.down-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.down-icon.xlsx, .down-icon.xls {
  background-image: url(/views/res/imgs/board/board_file_icon_01.jpg);
}

.down-icon.pptx, .down-icon.ppt {
  background-image: url(/views/res/imgs/board/board_file_icon_02.jpg);
}

.down-icon.doc, .down-icon.docx {
  background-image: url(/views/res/imgs/board/board_file_icon_03.jpg);
}

.down-icon.hwp {
  background-image: url(/views/res/imgs/board/board_file_icon_04.jpg);
}

.down-icon.pdf {
  background-image: url(/views/res/imgs/board/board_file_icon_05.jpg);
}

.reference-wrap .rp-tr {
  position: relative;
}

.reference-wrap .rp-title-custom .title-txt {
  width: 78%;
}

@media screen and (min-width: 768px) {
  .reference-wrap .rp-title-custom .title-txt {
    width: auto;
    max-width: 100%;
  }
}

.reference-wrap .reference-icon {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -13px;
}

@media screen and (min-width: 768px) {
  .reference-wrap .reference-icon {
    position: inherit;
  }
}

/*=================================================
            댓글 스타일
=================================================*/
.cmnt-style1 {
  overflow: hidden;
  position: relative;
  padding: 10px 10px 0;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 12px;
  font-family: "Dotum", sans-serif;
  color: #222;
}

@media screen and (min-width: 768px) {
  .cmnt-style1 {
    padding: 10px 15px 0;
  }
}

.cmnt-style1 .cmnt-writer {
  position: absolute;
  right: 20px;
  top: 18px;
}

.cmnt-style1 .cmnt-writer a {
  color: #999;
  font-size: 11px;
}

.cmnt-style1.cmnt-mem-member {
  padding: 15px 10px 0;
}

@media screen and (min-width: 768px) {
  .cmnt-style1.cmnt-mem-member {
    padding: 20px 15px 0;
  }
}

.cmnt-style1.cmnt-mem-member .cmnt-mem-wrap {
  padding-bottom: 8px;
  border-bottom: none;
}

.cmnt-style1 .cmnt-mem-wrap {
  padding-bottom: 10px;
  font-size: 0;
  border-bottom: 1px solid #d7d7d7;
}

.cmnt-style1 .cmnt-mem-wrap > * {
  vertical-align: middle;
  font-size: 12px;
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-mem-guest {
  display: inline-block;
  width: calc(100% - (50% - -5px));
}

@media screen and (min-width: 544px) {
  .cmnt-style1 .cmnt-mem-wrap .cmnt-mem-guest {
    width: auto;
  }
  .cmnt-style1 .cmnt-mem-wrap .cmnt-mem-guest:first-child {
    margin-right: 20px !important;
  }
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-mem-name {
  display: inline-block;
  padding-left: 17px;
  margin-right: 5px;
  background: url(/views/res/imgs/board/board_mem_icon.svg) no-repeat left center;
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-mem-name.password {
  background: url(/views/res/imgs/board/board_password_icon.svg) no-repeat left center;
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-input-text {
  width: 100%;
  height: 30px;
  margin-right: 5px;
  border: 1px solid #ddd;
  padding-left: 10px;
  padding-right: 5px;
}

@media screen and (min-width: 544px) {
  .cmnt-style1 .cmnt-mem-wrap .cmnt-input-text {
    width: 150px;
    margin-right: 0;
  }
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-input-text::placeholder {
  padding-left: 10px;
  background: url(/views/res/imgs/board/board_mem_icon.svg) no-repeat left center;
  color: #aaa;
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-input-text:-ms-input-placeholder {
  padding-left: 20px;
  color: #aaa;
  background: url(/views/res/imgs/board/board_mem_icon.svg) no-repeat left center;
  background-position: 10px;
}

.cmnt-style1 .cmnt-mem-wrap .cmnt-input-text::-ms-input-placeholder {
  padding-left: 20px;
  color: #aaa;
  background: url(/views/res/imgs/board/board_mem_icon.svg) no-repeat left center;
  background-position: 10px;
}

@media screen and (min-width: 544px) {
  .cmnt-style1 .cmnt-mem-wrap .cmnt-input-text::placeholder {
    color: #fff;
    background: none;
  }
  .cmnt-style1 .cmnt-mem-wrap .cmnt-input-text:-ms-input-placeholder {
    color: #fff;
    background: none;
  }
  .cmnt-style1 .cmnt-mem-wrap .cmnt-input-text::-ms-input-placeholder {
    color: #fff;
    background: none;
  }
}

.cmnt-style1 textarea {
  width: 100%;
  height: 100px;
  line-height: 16px;
  padding-bottom: 15px;
  margin-top: 10px;
  border: none;
  background-color: #fff;
  resize: none;
  outline: none;
}

.cmnt-style1 textarea::placeholder {
  color: #aaa;
}

.cmnt-style1 textarea:-ms-input-placeholder {
  color: #aaa;
}

.cmnt-style1 textarea::-ms-input-placeholder {
  color: #aaa;
}

.cmnt-style1 .cmnt-typing-wrap {
  margin-top: 10px;
  padding: 5px 0;
  border-top: 1px solid #ddd;
}

.cmnt-style1 .cmnt-typing-wrap .cmnt-counter {
  line-height: 37px;
}

.cmnt_form {
  overflow: hidden;
}

.board-cmnt-wrap {
  padding-top: 50px;
  font-family: "Dotum", sans-serif;
}

.board-cmnt-wrap .total-cmnt-cnt {
  margin-bottom: 13px;
  font-size: 12px;
  font-family: "Dotum", sans-serif;
  font-weight: 700;
  color: #222;
}

.board-cmnt-wrap .loadMore button {
  width: 140px;
  height: 52px;
  margin-bottom: 30px;
  color: #777;
  font-size: 13px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 500;
  font-family: "Dotum", sans-serif;
  border: 1px solid #ddd;
  background-color: #fff;
}

.board-cmnt-wrap .list-item {
  min-height: 100px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
}

.board-cmnt-wrap .list-item:first-child {
  border-top: 1px solid #222;
}

.board-cmnt-wrap .list-item:last-child {
  margin-bottom: 50px;
}

.board-cmnt-wrap .list-item .re-item {
  position: relative;
  padding: 22px 20px;
}

.board-cmnt-wrap .name-date strong {
  letter-spacing: -0.05em;
  font-size: 14px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 700;
  color: #222;
  vertical-align: baseline;
}

.board-cmnt-wrap .name-date span {
  margin-left: 10px;
  font-size: 11px;
  color: #aaa;
  letter-spacing: -0.02em;
}

.board-cmnt-wrap .name-date .delete_btn {
  font-size: 12px;
  font-family: "Dotum", sans-serif;
  color: #222;
}

.board-cmnt-wrap .cmnt-content {
  padding-top: 18px;
  line-height: 2;
  font-size: 12px;
  color: #555;
  white-space: pre-line;
  word-break: break-all;
}

.board-cmnt-wrap .cmnt-rereply-count {
  display: none;
  font-size: 11px;
  color: #777;
}

.board-cmnt-wrap .cmnt-rereply-count a {
  outline: 0;
}

.board-cmnt-wrap .cmnt-info {
  position: absolute;
  right: 7px;
  top: 11px;
}

.board-cmnt-wrap .cmnt-info .cmnt-info-open {
  width: 30px;
  height: 30px;
  cursor: pointer;
  border: 0;
  background: url(/views/res/imgs/board/cmnt_more.png) no-repeat 50%;
  outline: 0;
}

.board-cmnt-wrap .cmnt-info .modify {
  display: none;
  position: absolute;
  right: 13px;
  top: 25px;
  padding-top: 6px;
  z-index: 1;
}

.board-cmnt-wrap .cmnt-info .modify:after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 6px;
  height: 7px;
  background: url(/views/res/imgs/board/arw_more.png) no-repeat;
}

.board-cmnt-wrap .cmnt-info ul {
  border: 1px solid #ddd;
}

.board-cmnt-wrap .cmnt-info ul li a {
  display: block;
  width: 80px;
  height: 30px;
  line-height: 30px;
  font-size: 11px;
  color: #aaa;
  text-align: center;
  background-color: #fff;
}

.board-cmnt-wrap .list-item:last-child .reply-lists-wrap {
  border-bottom: 1px solid #ddd;
}

.reply-lists-wrap {
  display: none;
  background-color: #f9f9f9;
  border-top: 1px solid #ddd;
}

.reply-lists-wrap.on {
  display: block;
}

.reply-lists-wrap .re-item-write {
  padding: 20px 20px 7px 50px;
  background: url(/views/res/imgs/board/ico_re.png) no-repeat 21px 42px;
}

.reply-lists-wrap .reply-lists {
  padding: 0 20px;
}

.reply-lists-wrap .reply-lists li {
  position: relative;
  padding: 18px 28px 0;
  border-top: 1px solid #e9e9e9;
  background: url(/views/res/imgs/board/ico_re.png) no-repeat 1px 24px;
}

.reply-lists-wrap .reply-lists li .cmnt-content {
  padding-bottom: 18px;
}

.reply-lists-wrap .reply-lists li:first-child {
  border-top: 0;
}

/*=================================================
    게시물 비밀번호 화면
=================================================*/
.board-password-wrap .form-wrap {
  width: 100%;
  max-width: 370px;
  margin: 0 auto;
}

.board-password-wrap .form-wrap .form-title {
  line-height: 1.13;
  margin-bottom: 23px;
  font-size: 22px;
  font-weight: 500;
  color: #222;
  text-align: center;
}

/*=================================================
    아이콘 (첨부파일,공지사항,비밀글)
=================================================*/
.board-list-img {
  width: 14px;
  margin: 0 3px 0 5px;
  vertical-align: middle;
}

/*=================================================
          검색 common-searcher1
=================================================*/
.common-searcher-style1 {
  padding-bottom: 20px;
  font-size: 0;
  font-family: "Dotum", sans-serif;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .common-searcher-style1 {
    padding-bottom: 30px;
    text-align: right;
  }
}

.common-searcher-style1 form > * {
  display: inline-block;
  height: 37px;
  font-size: 12px;
  vertical-align: middle;
}

.common-searcher-style1 form .select-wrap {
  position: relative;
}

.common-searcher-style1 form .select-wrap:after {
  content: "";
  position: absolute;
  top: 15px;
  right: 10px;
  display: block;
  width: 12px;
  height: 9px;
  background: url(/views/res/imgs/common/common_arrow_icon_down.svg) no-repeat;
}

.common-searcher-style1 form select {
  display: block;
  width: 120px;
  height: 100%;
  padding-left: 10px;
  padding-top: 2px;
  border: 1px solid #e1e1e1;
  background: #fff;
  font-size: 12px;
  color: #141115;
  outline: none;
}

@media screen and (min-width: 544px) {
  .common-searcher-style1 form select {
    border-right: none;
  }
}

.common-searcher-style1 form input {
  width: calc(100% - 130px);
  margin-left: 10px;
  padding-left: 10px;
  border: 1px solid #e1e1e1;
  outline: none;
}

@media screen and (min-width: 544px) {
  .common-searcher-style1 form input {
    width: calc(100% - 157px);
    margin-left: 0;
    border-right: 0;
  }
}

@media screen and (min-width: 768px) {
  .common-searcher-style1 form input {
    width: 230px;
  }
}

.common-searcher-style1 form input::placeholder {
  color: #aaa;
}

.common-searcher-style1 form input:-ms-input-placeholder {
  color: #aaa;
}

.common-searcher-style1 form input::-ms-input-placeholder {
  color: #aaa;
}

.common-searcher-style1 form button {
  display: none;
}

@media screen and (min-width: 544px) {
  .common-searcher-style1 form button {
    display: inline-block;
    width: 37px;
    background-color: #1b458e;
  }
}

/*=================================================
            img-list-style1
=================================================*/
@media screen and (min-width: 544px) {
  .img-list-style1 {
    margin-left: -15px;
    margin-right: -15px;
  }
  .img-list-style1 li {
    margin-bottom: 30px;
  }
}

.img-list-style1 .image-wrap {
  display: block;
  float: left;
  width: 82px;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .image-wrap {
    float: none;
    width: 100%;
    overflow: hidden;
  }
}

.img-list-style1 .bg-img {
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  transition: transform .7s;
  -webkit-transition: transform .7s;
}

.img-list-style1 .text-wrap {
  position: relative;
  margin-left: 97px;
  padding-right: 47px;
  font-size: 11px;
  font-family: "Dotum", sans-serif;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .text-wrap {
    font-size: 12px;
  }
}

@media screen and (min-width: 544px) {
  .img-list-style1 .text-wrap {
    margin-left: 0;
    padding: 25px 15px 28px;
  }
}

.img-list-style1 .text-wrap .title {
  height: 32px;
  padding-bottom: 12px;
  font-size: 14px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 500;
  color: #222;
  overflow: hidden;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .text-wrap .title {
    padding-bottom: 16px;
    font-size: 12px;
    font-weight: 600;
    font-family: "Dotum", sans-serif;
  }
}

.img-list-style1 .text-wrap .text {
  height: 33px;
  margin-bottom: 5px;
  line-height: 1.54;
  color: #555;
  word-break: keep-all;
  overflow: hidden;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .text-wrap .text {
    height: 43px;
    line-height: 1.66;
    margin-bottom: 18px;
  }
}

.img-list-style1 .text-wrap .date {
  display: inline-block;
  color: #aaa;
}

.img-list-style1 .gallery-lists {
  position: relative;
  border-top: 1px solid #ddd;
  padding: 15px 0;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .gallery-lists {
    padding: 0 15px;
    border-top: none;
  }
}

.img-list-style1 .gallery-lists:first-child {
  border-top: 1px solid #222;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .gallery-lists:first-child {
    border-top: none;
  }
}

.img-list-style1 .gallery-lists:last-child {
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .gallery-lists:last-child {
    border-bottom: none;
  }
}

.img-list-style1 .gallery-lists .title {
  -webkit-transition: color .4s;
  transition: color .4s;
}

.img-list-style1 .gallery-lists:hover .title {
  color: #00aeef;
}

.img-list-style1 .gallery-lists .image-list::after {
  content: "";
  display: block;
  padding-top: 100%;
}

.img-list-style1 .gallery-lists .text-wrap .text:after {
  display: block;
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  width: 12px;
  height: 15px;
  margin-top: -7.5px;
  background-image: url(/views/res/imgs/common/common_arrow_icon_right.svg);
  background-repeat: no-repeat;
  background-position: center;
}

@media screen and (min-width: 544px) {
  .img-list-style1 .gallery-lists .text-wrap .text:after {
    display: none;
  }
}

@media screen and (min-width: 544px) {
  .img-list-style1 .list-inner-wrap {
    -webkit-transition: box-shadow .4s;
    transition: box-shadow .4s;
  }
  .img-list-style1 .list-inner-wrap:hover {
    box-shadow: 0px 1px 30px 0 rgba(0, 0, 0, 0.05);
  }
  .img-list-style1 .list-inner-wrap:hover .bg-img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

/*=================================================
            img-list-style2
=================================================*/
.gallery-ajax-list-wrap {
  opacity: 0;
}

.gallery-ajax-list-wrap {
  animation: opacityAnimation 1s .5s forwards;
}

.img-list-style2 {
  margin: 0 -5px;
  /*리스트 간격조절*/
  /*리스트 hover 이펙트*/
}

@media screen and (min-width: 992px) {
  .img-list-style2 {
    margin: 0 -1%;
  }
}

.img-list-style2 li {
  margin-bottom: 10px;
}

@media screen and (min-width: 992px) {
  .img-list-style2 li {
    margin-bottom: 30px;
  }
}

.img-list-style2 [class*='col-'] {
  padding: 0 5px;
}

@media screen and (min-width: 992px) {
  .img-list-style2 [class*='col-'] {
    padding: 0 1%;
  }
}

.img-list-style2 .image-wrap {
  overflow: hidden;
  border: 1px solid #eee;
  border-bottom: none;
}

.img-list-style2 .image-wrap .bg-img {
  padding-top: 64.9%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  -webkit-transition: transform .5s;
  transition: transform .5s;
}

.img-list-style2 [class*='col-']:hover .bg-img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.img-list-style2 .text-wrap {
  padding: 20px 15px 25px;
  background-color: #fff;
  border: 1px solid #eee;
  border-top: none;
  font-size: 12px;
  font-family: "Dotum", sans-serif;
  word-break: keep-all;
  text-align: left;
}

@media screen and (min-width: 992px) {
  .img-list-style2 .text-wrap {
    padding-top: 25px;
    padding-bottom: 28px;
  }
}

.img-list-style2 .text-wrap .title {
  height: 30px;
  line-height: 1.66;
  padding-bottom: 8px;
  font-weight: 600;
  color: #222;
  overflow: hidden;
}

@media screen and (min-width: 992px) {
  .img-list-style2 .text-wrap .title {
    height: 35px;
    padding-bottom: 16px;
  }
}

.img-list-style2 .text-wrap .text {
  height: 40px;
  line-height: 1.66;
  margin-bottom: 18px;
  color: #555;
  overflow: hidden;
}

.img-list-style2 .text-wrap .date {
  font-size: 1apx;
  color: #aaa;
}

@media screen and (min-width: 992px) {
  .img-list-style2 .text-wrap .date {
    font-size: 12px;
  }
}

/*=================================================
            img-list-style3
=================================================*/
.img-list-style3 {
  /*리스트 간격조절*/
}

.img-list-style3 {
  margin-left: -1.6%;
  margin-right: -1.6%;
  font-family: "Dotum", sans-serif;
  font-size: 12px;
}

.img-list-style3 [class*='col-'] {
  position: relative;
  padding-left: 1.6%;
  padding-right: 1.6%;
  margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .img-list-style3 [class*='col-'] {
    margin-bottom: 60px;
  }
}

.img-list-style3 .image-wrap {
  overflow: hidden;
}

.img-list-style3 .image-wrap .bg-img {
  padding-top: 100%;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  transition: transform .7s;
  -webkit-transition: transform .7s;
}

.img-list-style3 .text-wrap {
  position: relative;
  padding: 20px 0 0;
  font-family: "Dotum", sans-serif;
}

@media screen and (min-width: 768px) {
  .img-list-style3 .text-wrap {
    padding: 30px 0 0;
  }
}

.img-list-style3 .text-wrap .e-status {
  display: inline-block;
  width: 75px;
  padding: 4px 10px;
  margin-bottom: 7px;
  border: 1px solid transparent;
  background-color: #00aeef;
  font-size: 12px;
  text-align: center;
  border-radius: 12.5px;
  color: #fff;
}

.img-list-style3 .text-wrap .e-status.end {
  border: 1px solid #ccc;
  background-color: transparent;
  color: #666;
}

@media screen and (min-width: 768px) {
  .img-list-style3 .text-wrap .e-status {
    width: 80px;
    font-size: 14px;
    font-family: "Noto Sans KR", sans-serif;
  }
}

.img-list-style3 .text-wrap .title {
  line-height: 1.44;
  height: 60px;
  padding-bottom: 12px;
  font-size: 14px;
  font-family: "Noto Sans KR", sans-serif;
  color: #222;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .img-list-style3 .text-wrap .title {
    height: 68px;
    font-size: 18px;
  }
}

.img-list-style3 .text-wrap .date {
  display: inline-block;
  margin-top: 5px;
  font-size: 11px;
  color: #777;
}

@media screen and (min-width: 768px) {
  .img-list-style3 .text-wrap .date {
    margin-top: 10px;
    font-size: 12px;
  }
}

/*=================================================
            board-view-style1
=================================================*/
/*게시판 상세보기 스타일 1*/
.board-view-style1 {
  /*타이틀 영역*/
  /*컨텐츠 영역*/
  /*파일첨부 영역*/
  /*이전글 다음글 링크 영역*/
}

.board-view-style1 {
  color: #222;
  font-size: 12px;
  font-family: "Dotum", sans-serif;
}

.board-view-style1 .title-wrap {
  padding: 16px 10px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

@media screen and (min-width: 992px) {
  .board-view-style1 .title-wrap {
    padding: 25px 15px;
  }
}

.board-view-style1 .title-wrap .title {
  line-height: 1.33;
  font-family: "Noto Sans KR", sans-serif;
  font-size: 14px;
}

@media screen and (min-width: 992px) {
  .board-view-style1 .title-wrap .title {
    font-size: 16px;
  }
}

.board-view-style1 .board-view-info {
  padding-top: 15px;
}

.board-view-style1 .board-view-info * {
  display: inline-block;
  color: #555;
}

.board-view-style1 .board-view-info > *:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 11px;
  margin: 0 9px -1px 11px;
  background-color: #555;
}

.board-view-style1 .board-view-info > *:last-child:after {
  content: none;
}

.board-view-style1 .board-content-wrap {
  min-height: 300px;
  line-height: 1.69;
  padding: 25px 10px;
  border-bottom: 1px solid #ddd;
  color: #555;
}

@media screen and (min-width: 992px) {
  .board-view-style1 .board-content-wrap {
    padding: 30px 15px;
  }
}

.board-view-style1 .board-file-wrap {
  position: relative;
  padding: 7px 10px 5px;
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 768px) {
  .board-view-style1 .board-file-wrap {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.board-view-style1 .board-file-wrap .file-text {
  position: absolute;
  left: 10px;
  top: 13px;
}

@media screen and (min-width: 768px) {
  .board-view-style1 .board-file-wrap .file-text {
    left: 15px;
  }
}

.board-view-style1 .board-file-wrap .body {
  display: inline-block;
  width: 100%;
  padding-left: 60px;
  color: #666;
}

@media screen and (min-width: 768px) {
  .board-view-style1 .board-file-wrap .body {
    padding-left: 70px;
  }
}

.board-view-style1 .board-file-wrap .body .add-file {
  display: block;
  line-height: 2;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .board-view-style1 .board-file-wrap .body .add-file {
    display: inline-block;
  }
}

.board-view-style1 .post-link-wrap {
  border-top: 1px solid #eee;
}

.board-view-style1 .post-link-wrap [class*='-post-link'] {
  border-bottom: 1px solid #eee;
}

.board-view-style1 .post-link-wrap .link-title {
  float: left;
  width: 80px;
  padding: 15px;
  background-color: #fafafa;
  text-align: center;
}

@media screen and (min-width: 992px) {
  .board-view-style1 .post-link-wrap .link-title {
    width: 100px;
    padding: 15px 30px;
    float: left;
    background-color: #fafafa;
  }
}

.board-view-style1 .post-link-wrap .link-body {
  float: left;
  width: calc(100% - 80px);
  padding: 15px;
}

@media screen and (min-width: 992px) {
  .board-view-style1 .post-link-wrap .link-body {
    width: calc(100% - 100px);
    padding: 15px 30px 15px 20px;
  }
}

.board-view-style1 .post-link-wrap .link-body .title {
  display: block;
  max-width: 100%;
}

.board-view-style1 .post-link-wrap .link-body .date {
  display: block;
}

.board-view-style1 .post-link-wrap .none-post {
  color: #999;
}

/*=================================================
            이전다음 prevnext-btn-stye1
=================================================*/
.prevnext-btn-stye1 {
  margin-top: 20px;
  font-size: 0;
}

.prevnext-btn-stye1 .btn-icon-left,
.prevnext-btn-stye1 .btn-icon-right {
  display: inline-block;
  width: calc(50% - 5px);
}

@media screen and (min-width: 544px) {
  .prevnext-btn-stye1 .btn-icon-left,
  .prevnext-btn-stye1 .btn-icon-right {
    width: 90px;
  }
}

.prevnext-btn-stye1 .btn-icon-left {
  margin-right: 5px;
  padding-right: 8px;
}

.prevnext-btn-stye1 .btn-icon-left > span:before {
  display: inline-block;
  content: '';
  width: 20px;
  height: 20px;
  margin-bottom: 2px;
  background-image: url(/views/res/imgs/common/common_arrow_icon_left.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.prevnext-btn-stye1 .btn-icon-right {
  margin-left: 5px;
  padding-left: 8px;
}

.prevnext-btn-stye1 .btn-icon-right > span:after {
  display: inline-block;
  content: '';
  width: 20px;
  height: 20px;
  margin-bottom: 2px;
  background-image: url(/views/res/imgs/common/common_arrow_icon_right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}

.prevnext-btn-stye1 .btn-icon-left.disabled,
.prevnext-btn-stye1 .btn-icon-right.disabled {
  opacity: .6;
  pointer-events: none;
}

.prevnext-btn-stye1 .board-view-list-btn {
  margin-top: 10px;
}

@media screen and (min-width: 544px) {
  .prevnext-btn-stye1 .board-view-list-btn {
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 0;
    width: 90px;
  }
}

@media screen and (min-width: 768px) {
  .prevnext-btn-stye1 .board-view-list-btn {
    left: 50%;
    transform: translateX(-50%);
  }
}

.prevnext-btn-stye1 .board-view-list-btn a {
  width: 100%;
}

/*=================================================
default-board-wirte-style1
=================================================*/
/*글쓰기 페이지*/
.board-wirte-style1 {
  margin-top: 60px;
  /*첨부파일*/
}

.board-wirte-style1 .write-header {
  margin-bottom: 20px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 500;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-header {
    margin-bottom: 30px;
    font-size: 18px;
  }
}

.board-wirte-style1 .write_inner {
  font-size: 12px;
  font-family: "Dotum", sans-serif;
  color: #222;
}

.board-wirte-style1 ul {
  border-top: 1px solid #ddd;
}

.board-wirte-style1 li,
.board-wirte-style1 .items {
  display: table;
  width: 100%;
  border-top: 1px solid #ddd;
  font-size: 14px;
  table-layout: fixed;
}

.board-wirte-style1 li:nth-of-type(1),
.board-wirte-style1 .items:nth-of-type(1) {
  border-top: 0;
}

.board-wirte-style1 li:last-child,
.board-wirte-style1 .items:last-child {
  border-bottom: 1px solid #ddd;
}

.board-wirte-style1 li.bcLinkWrap,
.board-wirte-style1 .items.bcLinkWrap {
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-admin-wrap,
  .board-wirte-style1 .write-admin-wrap ~ .write-name-wrap {
    display: table-cell;
    width: 50%;
  }
}

.board-wirte-style1 .write-admin-wrap ~ .write-name-wrap {
  display: table;
  width: 100%;
  border-top: 1px solid #ddd;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-admin-wrap ~ .write-name-wrap {
    border-top: none;
  }
  .board-wirte-style1 .write-admin-wrap ~ .write-name-wrap .content_input {
    width: 100%;
  }
}

.board-wirte-style1 .write-pw-wrap,
.board-wirte-style1 .write-pw-comfirm {
  display: table;
  width: 100%;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-pw-wrap,
  .board-wirte-style1 .write-pw-comfirm {
    display: table-cell;
    width: 50%;
  }
  .board-wirte-style1 .write-pw-wrap .content_input,
  .board-wirte-style1 .write-pw-comfirm .content_input {
    width: 100%;
  }
}

.board-wirte-style1 .write-pw-comfirm {
  border-top: 1px solid #ddd;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-pw-comfirm {
    border-top: none;
  }
}

.board-wirte-style1 .write-title {
  display: table-cell;
  width: 90px;
  padding: 0 10px;
  background-color: #f8f8f8;
  font-size: 12px;
  font-weight: 400;
  color: #222;
  vertical-align: middle;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .write-title {
    width: 200px;
    min-width: 200px;
    padding: 0 20px;
  }
}

.board-wirte-style1 .content_input {
  display: table-cell;
  padding: 10px;
  vertical-align: middle;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .content_input {
    padding-right: 15px;
    padding-left: 15px;
  }
  .board-wirte-style1 .content_input .mail-text {
    display: inline-block;
    margin-left: 30px;
  }
}

.board-wirte-style1 .text_edit .write-title {
  display: inline-block;
  width: 100%;
  padding: 15px 10px;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .text_edit .write-title {
    width: 200px;
    height: 392px;
    line-height: 392px;
    padding-left: 20px;
  }
}

.board-wirte-style1 .text_edit .content_input {
  display: block;
  width: auto;
  padding: 0;
  margin-top: 10px;
  margin-bottom: 10px;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .text_edit .content_input {
    display: inline-block;
    width: calc(100% - 200px);
    padding-right: 15px;
    padding-left: 15px;
    margin: 0;
  }
}

.board-wirte-style1 .form_input {
  width: 100%;
  height: 37px;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid #ddd;
  font-size: 12px;
  color: #222;
}

.board-wirte-style1 .form_input::placeholder {
  color: #aaa;
}

.board-wirte-style1 .form_input:-ms-input-placeholder {
  color: #aaa;
}

.board-wirte-style1 .form_input::-ms-input-placeholder {
  color: #aaa;
}

.board-wirte-style1 select.form_input {
  background: url(/views/res/imgs/board/icon-optionlist.png) no-repeat right 15px top 11px;
}

.board-wirte-style1 .fileinput .form_input {
  padding-left: 0;
  border: 0;
}

.board-wirte-style1 .cke_contents.cke_reset {
  height: 300px !important;
}

.board-wirte-style1 .add_files {
  border-bottom: 1px solid #e2e2e2;
  overflow: hidden;
}

.board-wirte-style1 .add_files .content_input {
  width: 100%;
}

.board-wirte-style1 .file_exp {
  height: 32px;
  line-height: 32px;
  float: left;
}

.board-wirte-style1 .custom .btn-file {
  float: right;
}

.board-wirte-style1 .btm_btns {
  margin: 20px 0;
  text-align: center;
}

.board-wirte-style1 .write-link-wrap {
  height: 58px;
}

.board-wirte-style1 .file-attach-wrap .write-title {
  height: 75px;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .file-attach-wrap .write-title {
    height: 57px;
  }
}

.board-wirte-style1 .file-attach-wrap .write-title .btn-file-attach {
  width: 70px;
  height: 25px;
  line-height: 25px;
  margin-top: 5px;
  border: 1px solid #ddd;
  background-color: #fff;
  font-family: "Dotum", sans-serif;
  font-size: 11px;
  color: #616161;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .file-attach-wrap .write-title .btn-file-attach {
    margin-top: 0;
    margin-left: 5px;
  }
}

.board-wirte-style1 .attach-wrap {
  max-width: 380px;
}

.board-wirte-style1 .attach-wrap * {
  height: 33px;
  line-height: 32px;
  font-size: 13px;
  font-family: "Noto Sans KR", sans-serif;
  font-weight: 300;
  vertical-align: middle;
}

.board-wirte-style1 .attach-wrap input[type="text"] {
  width: 100%;
  max-width: 300px;
  padding-left: 10px;
  border: 1px solid #ddd;
  color: #818181;
}

.board-wirte-style1 .attach-wrap input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.board-wirte-style1 .attach-wrap label {
  display: inline-block;
  width: 80px;
  margin-top: 0;
  border: 1px solid #ddd;
  color: #555;
  text-align: center;
}

.board-wirte-style1 .attach-wrap label:hover {
  cursor: pointer;
  /*커스텀 체크박스 2*/
}

.board-wirte-style1 .stored-file-wrap .file-attached-list {
  display: inline-block;
  margin-bottom: 5px;
  padding: 15px;
  border: 1px solid #ddd;
}

.board-wirte-style1 .stored-file-wrap .file-attached-list .file-name {
  word-break: break-all;
}

.board-wirte-style1 li.secret-text {
  height: 58px;
}

@media screen and (min-width: 992px) {
  .board-wirte-style1 .mail-wrap .write-title {
    height: 50px;
    line-height: 50px;
  }
}

/*=================================================
            contact write
=================================================*/
.board-contact-style1 .form-wrap:nth-child(1) .form-title {
  margin-bottom: 30px;
  font-size: 18px;
  color: #000;
}

@media screen and (min-width: 768px) {
  .board-contact-style1 .form-wrap:nth-child(1) .form-title {
    margin-bottom: 14px;
    font-size: 15px;
    color: #555;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuY3NzIiwic291cmNlcyI6WyJib2FyZC5jc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL3ZhcmlhYmxlc19jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYi5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwiLi4vLi4vLi4vcmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL3Jlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCIuLi8uLi8uLi9yZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIiwiX2JvYXJkX2NvbW1vbi5zY3NzIiwiX2NvbXBvbmVudHMvX2NvbW1vbl9zZWFyY2hfc3R5bGUxLnNjc3MiLCJfaW1nX2xpc3Rfc3R5bGUxLnNjc3MiLCJfaW1nX2xpc3Rfc3R5bGUyLnNjc3MiLCJfaW1nX2xpc3Rfc3R5bGUzLnNjc3MiLCJfdmlld19zdHlsZTEuc2NzcyIsIl9jb21wb25lbnRzL19jb21tb25fcHJldm5leHRfc3R5bGUxLnNjc3MiLCJfd2lydGVfc3R5bGUxLnNjc3MiLCJfY29udGFjdF93cml0ZV9zdHlsZTEuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwicmVzL3Njc3MvX192YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcInJlcy9zY3NzL19fbWl4aW5zLnNjc3NcIjtcblxuLy9jb21tb25cbkBpbXBvcnQgXCJfYm9hcmRfY29tbW9uLnNjc3NcIjtcblxuLy9zZWFyY2hcbkBpbXBvcnQgXCJfY29tcG9uZW50cy9fY29tbW9uX3NlYXJjaF9zdHlsZTEuc2Nzc1wiO1xuXG4vLyBsaXN0XG5AaW1wb3J0IFwiX2ltZ19saXN0X3N0eWxlMS5zY3NzXCI7XG5AaW1wb3J0IFwiX2ltZ19saXN0X3N0eWxlMi5zY3NzXCI7XG5AaW1wb3J0IFwiX2ltZ19saXN0X3N0eWxlMy5zY3NzXCI7XG5cbi8vIHZpZXdcbkBpbXBvcnQgXCJfdmlld19zdHlsZTEuc2Nzc1wiO1xuXG4vL3ByZXZuZXh0XG5AaW1wb3J0IFwiX2NvbXBvbmVudHMvX2NvbW1vbl9wcmV2bmV4dF9zdHlsZTEuc2Nzc1wiO1xuXG4vLyB3cml0ZVxuQGltcG9ydCBcIl93aXJ0ZV9zdHlsZTEuc2Nzc1wiO1xuQGltcG9ydCBcIl9jb250YWN0X3dyaXRlX3N0eWxlMS5zY3NzXCI7IiwiLy8vLy9kZWZhdWx0Ly8vLy9cbi8vY29sb3JcbiRnX3doaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdfYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XG4kZ19yZWQ6ICNjZDIwMDA7XG5cbiRnX3BvaW50LWZvbnQtY29sb3I6ICMwMGFlZWY7XG4kZ19wb2ludC1mb250LWNvbG9yMjogIzFiNDU4ZTtcbiRnX3BvaW50LXRoZW1lLWNvbG9yOiAjMDBhZWVmO1xuJGdfcG9pbnQtdGhlbWUtY29sb3IyOiAjMWI0NThlO1xuJGdfYm9yZGVyLWNvbG9yIDogI2RkZDtcblxuLy9mb250XG4vLy1mb250LWZhbWlseVxuJGdfZm9udC1mYW1pbHk6IChcbiAgc3lzdGVtOiAnIFwi66eR7J2AIOqzoOuUlVwiLCBcIk1hbGd1biBHb3RoaWNcIiwgXCLslaDtlIwgU0Qg7IKw64+M6rOg65SVIE5lb1wiLCBcIkFwcGxlIFNEIEdvdGhpYyBOZW9cIiwgc2Fucy1zZXJpZiAnLFxuICBub3RvOiAnXCJOb3RvIFNhbnMgS1JcIiwgc2Fucy1zZXJpZicsXG4gIGxhdG8gOiAnXCJMYXRvXCIsIHNhbnMtc2VyaWYnLFxuICBkb3R1bTogJ1wiRG90dW1cIiwgc2Fucy1zZXJpZicsXG4pO1xuXG4kZm9udC1zeXN0ZW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgc3lzdGVtKX07XG4kZm9udC1ub3RvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5vdG8pfTtcbiRmb250LWxhdG86ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbGF0byl9OyAvLzEwMChUKSwzMDAoTCksNDAwKFIpLDcwMChCKSw5MDAoQilcbiRmb250LWRvdHVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGRvdHVtKX07XG5cbi8vLWRlZmF1bHQgZm9udCDshKTsoJVcbiRmb250LTMwMCA6ICRmb250LW5vdG87XG4kZm9udC00MDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtNTAwIDogJGZvbnQtbm90bztcbiRmb250LTcwMCA6ICRmb250LW5vdG87XG4kZm9udC04MDAgOiAkZm9udC1ub3RvO1xuXG4vLy1mb250LXNpemVcbiRnX2ZvbnQtc2l6ZTooXG4gIHhzOiAxMHB4LFxuICBzbTogMTJweCxcbiAgbWQ6IDE1cHgsXG4gIGxnOiAxOHB4LFxuICB4bDogMjRweCxcbik7XG5cbi8vLWZvbnQtd2VpZ2h0XG4kZ19mb250LXdlaWdodHM6IDEwMCwgMjAwLCAzMDAsIDQwMCwgNTAwLCA2MDAsIDcwMCwgODAwLCA5MDA7XG5cbi8vLWxldHRlci1zcGFjaW5nXG5cbi8vLy8vbWVkaWEvLy8vL1xuJGdfbWVkaWEtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NDRweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbik7XG5cbi8vLy8vbGF5b3V0Ly8vLy9cbi8vYXJlYVxuJGdfbWF4LXdpZHRoOiAxMTQwcHg7XG4kZ19hcmVhLWd1dHRlci13aWR0aDogMjBweDtcblxuLy9ncmlkXG4kZ19ncmlkLWNvbHVtbnM6IDEyO1xuJGdfZ3JpZC1ndXR0ZXItd2lkdGg6IDElO1xuXG4kZ19kZWZhdWx0LWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGgsXG4gIGd1dHRlci13aWR0aDogJGdfYXJlYS1ndXR0ZXItd2lkdGgsXG4gIHdpZHRoOiAxMDAlXG4pO1xuJGdfZnVsbC1hcmVhOiAoXG4gIG1heC13aWR0aDogMTc1MHB4LFxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxuICB3aWR0aDogMTAwJVxuKTtcbiRnX25vZ3V0dGVyLWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGhcbik7XG5cbi8vZ3JpZFxuJGdfZ3JpZC1jb2wtaW5mbzogKFxuICBncmlkLWNvbC1jbnQ6IDEyLFxuICBncmlkLWNvbC1uYW1lOiBudWxsXG4pO1xuJGdyaWQtY29sNS1pbmZvOiAoXG4gIGdyaWQtY29sLWNudDogNSxcbiAgZ3JpZC1jb2wtbmFtZTogZml2ZS1cbik7XG5cbi8vLy8vVVRJTElUSUVTLy8vLy9cbi8vY2xlYXJcblxuLy9zcGFjaW5nXG4kc3BhY2VyczooXG4gIDA6IDAsXG4gIDU6IDVweCxcbiAgMTA6IDEwcHgsXG4gIDE1OiAxNXB4LFxuICAyMDogMjBweCxcbiAgMjU6IDI1cHgsXG4gIDMwOiAzMHB4LFxuICA0MDogNDBweCxcbiAgNTA6IDUwcHgsXG4gIDYwOiA2MHB4LFxuICA3MDogNzBweCxcbiAgODA6IDgwcHgsXG4gIDkwOiA5MHB4LFxuICAxMDA6IDEwMHB4LFxuICAxMjA6IDEyMHB4LFxuKTtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cblxuLy8vLy9DT01QT05FTlRTLy8vLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29tcG9uZW50cy9fYnV0dG9uXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2NhcmRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYmxlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYlwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19wYWdpbmF0aW9uXCI7XG4vLyBAaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3Rvb2x0aXBcIjsgLy8g7IKs7Jqp7ZWY7KeAIOyViuuKlCDrtoDrtoTsnYAg7KO87ISdICggYmFzZS5zY3NzIOyXkOuPhCDso7zshJ0gKVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuIiwiLy8gX2J1dHRvblxuJGdfYnRuLXNpemU6ICh4czogKCAvLyDrsLDshqHsobDtmows7ZuE6riw7J6R7ISxXG4gICAgd2lkdGg6IDUwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIHNtOiAoIC8vIO2ajOybkOqwgOyehSwg66eI7J207Y6Y7J207KeALCDqsozsi5ztjJAsIHBvcHVwIGJ0biDqtIDroKgg67KE7Yq8XG4gICAgd2lkdGg6IDkwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIG1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAyMTBweCxcbiAgICBoZWlnaHQ6IDU1cHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICApLFxuICBsZzogKCAvL+yepeuwlOq1rOuLiFxuICAgIHdpZHRoOjI2NXB4LFxuICAgIGhlaWdodDogNDBweCxcbiAgICBsaW5lLWhlaWdodDogNDBweCxcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICAgZm9udC13ZWlnaHQ6NTAwLFxuICApLFxuICB4bDogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sCDtlIzroZzsmrBcbiAgICBoZWlnaHQ6IDUwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDUwcHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICAgIGZvbnQtd2VpZ2h0OjUwMCxcbiAgICBtZWRpYTogKG1kOiAoaGVpZ2h0OiA1NXB4LFxuICAgICAgICBsaW5lLWhlaWdodDogNTVweCxcbiAgICAgICkpKSxcbiAgZnVsbC1zbSA6ICggLy8g6rKM7Iuc7YyQ7JeQ7IScIOyCrOyaqVxuICAgIHdpZHRoOjEwMCUsXG4gICAgaGVpZ2h0OiA0MnB4LFxuICAgIGxpbmUtaGVpZ2h0OiA0MnB4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgbWVkaWEgOiAobWQgOiAod2lkdGg6IDkwcHgsXG4gICAgICAgIGhlaWdodDogMzdweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHgsXG4gICAgICApLFxuICAgICkpLFxuICBmdWxsLW1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIG1heC13aWR0aDogMjEwcHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgKSxcbiAgcG9wdXA6ICggLy9wb3B1cCDrsoTtirxcbiAgICBtYXgtd2lkdGg6MjEwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICApLFxuICBmdWxsOih3aWR0aDogMTAwJSxcbiAgKSxcbik7XG5cbiRnX2J0bi1ncm91cCA6ICggLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlZjquLBcbiAgcG9pbnQgOiAoIC8vIGRlZmF1bHRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwYjJkNjcsXG4gICAgKSksXG4gIHN1Yi1wb2ludCA6KGJhY2tncm91bmQtY29sb3I6JGdfcG9pbnQtdGhlbWUtY29sb3IsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwNzkwZDAsXG4gICAgKSksXG4gIHN0eWxlMiA6ICggLy8g7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sFxuICAgIGJvcmRlcjoxcHggc29saWQgI2NjYyxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwLFxuICAgIGNvbG9yOiAjNTU1LFxuICApLFxuICBzdHlsZTMgOiAoIC8vIOyjvOusuOy3qOyGjCwg7KO866y466as7Iqk7Yq46rKA7IOJXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NSxcbiAgICBjb2xvcjogI2ZmZixcbiAgKSxcbiAgb3V0bGluZS1zdHlsZTEgOiAoIC8vIOuhnOq3uOyduCwg7KO866y47IOB7IS467O06riwLCBjdXN0b20yXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYsXG4gICAgY29sb3I6IzU1NSAhaW1wb3J0YW50LFxuICAgIGhvdmVyIDogKGJhY2tncm91bmQtY29sb3I6I2YyZjJmMixcbiAgICApKSxcbiAgb3V0bGluZS1zdHlsZTIgOiAoIC8vIOq4gOyTsOq4sFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjIsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIGNvbG9yOiMyMjIsXG4gICksXG4gIG91dGxpbmUtc3R5bGUzOiAoYm9yZGVyOiAxcHggc29saWQgI2ZmZixcbiAgICBjb2xvciA6I2ZmZixcbiAgICBob3ZlcjogKGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICkpLFxuKTsiLCIvLyBfZm9ybVxuJGdfZm9ybS13cmFwOiAodGFibGUgOiAoIC8vLmZvcm0td3JhcC10YWJsZSAo7ZqM7JuQ6rCA7J6FJuygleuztCwg7KO866y46rKw7KCcJuuCtOyXrSlcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgIGZvcm0td3JhcDogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS13cmFwXG4gICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICksXG4gICAgZm9ybS10aXRsZTogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS10aXRsZVxuICAgICAgZGlzcGxheTogZmxleCxcbiAgICAgIGZsZXgtZ3JvdzogMCxcbiAgICAgIGZsZXgtc2hyaW5rOiAxLFxuICAgICAgZmxleC1iYXNpczogOTBweCxcbiAgICAgIG1pbi13aWR0aDogOTBweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IDE5cHggMTBweCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIG1lZGlhOiAoc206IChmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgICAgIG1heC13aWR0aDoxNTBweCxcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHgsXG4gICAgICAgICksXG4gICAgICAgIG1kOiAobWF4LXdpZHRoOjIwM3B4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBmb3JtLWJvZHk6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tYm9keVxuICAgICAgZmxleC1ncm93OiAwLFxuICAgICAgZmxleC1zaHJpbms6IDEsXG4gICAgICBmbGV4LWJhc2lzOiA0MDNweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IFwiMTBweFwiLFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICksXG4gICksXG4gIHN0eWxlMSA6ICggLy8uZm9ybS13cmFwLXN0eWxlMSAo7IKs7JeF7ISk66qF7ZqMIO2MneyXhSDsgqzsmqkgLyBwcmVzZW50YXRpb25faW5zZXJ0LnBocClcbiAgICBtYXJnaW4tYm90dG9tOiAtMjRweCxcbiAgICBmb3JtLXdyYXA6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0td3JhcFxuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweCxcbiAgICApLFxuICAgIGZvcm0tdGl0bGU6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tdGl0bGVcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweCxcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICAgIGNvbG9yOiAjNTU1LFxuICAgICksXG4gICAgZm9ybS1ib2R5OiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLWJvZHlcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICApLFxuICApLFxuKTtcbi8vX2lucHV0XG4kZ19maWVsZC1zdHlsZTogKCAvLyggZm9ybeyXkOyEnCDqsJnsnbQgJ2lucHV0LHNlbGVjdCx0ZXh0YXJlYScgc3R5bGXsnbQg7ZWo6ruYIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvL+q0gOumrOyekFxuICAgIGlucHV0X2RlZmF1bHQgOiAoIC8vLmZpZWxkLXN0eWxlMSBpbnB1dCAuLlxuICAgICAgaGVpZ2h0OmF1dG8sXG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50LFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ2ZDgsXG4gICAgICBmb2N1cy1zdHlsZSA6IChib3JkZXI6MXB4IHNvbGlkICRnX3BvaW50LXRoZW1lLWNvbG9yLFxuICAgICAgKSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjY2NjZmQ2LFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8uZmllbGQtc3R5bGUxIHNlbGVjdCAuLlxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTAwcHggYm90dG9tIDUwJSxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICAgIHRleHRhcmVhIDogKCAvLy5maWVsZC1zdHlsZTEgdGV4dGFyZWEgLi5cbiAgICAgIGhlaWdodDoxNTBweCxcbiAgICAgIHBhZGRpbmcgOiA1cHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQsXG4gICAgKSxcbiAgKSxcbiAgc3R5bGUyOiAoIC8v7ZqM7JuQ6rCA7J6FLCDtmozsm5DsoJXrs7QsIOyjvOusuOqysOygnCwg7KO866y47ZmV7J24IO2PvFxuICAgIGlucHV0X2RlZmF1bHQgOiAoZmxleC1ncm93OiAxLFxuICAgICAgZmxleC1zaHJpbms6IDAsXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiAzN3B4LFxuICAgICAgcGFkZGluZzogMCAxMHB4LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8gKO2ajOybkOqwgOyehSztmozsm5DsoJXrs7QpIOyXsOudveyymFxuICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDVweCBib3R0b20gNTAlLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAyLnN2ZyksXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggN3B4LFxuICAgICAgbWVkaWE6KG1kOihwYWRkaW5nOiAwIDM1cHggMCAxMHB4LFxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggYm90dG9tIDUwJSxcbiAgICAgICAgKSkpLFxuICAgIHRleHRhcmVhIDogKG1heC13aWR0aDppbml0aWFsLFxuICAgICAgaGVpZ2h0OjEwMHB4LFxuICAgICAgcGFkZGluZyA6IDEwcHgsXG4gICAgKSksXG4gIHN0eWxlMzogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FIO2UjOuhnOyasCAvL+yImOygleyZhOujjFxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICAgIGhlaWdodDogNTBweCxcbiAgICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgcGxhY2Vob2xkZXItc3R5bGUgOiAoY29sb3I6ICNhYWEsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGhlaWdodDo1NXB4LFxuICAgICAgICApKSksXG4gICAgc2VsZWN0IDogKG92ZXJmbG93OiBoaWRkZW4sXG4gICAgKSksXG4gIHN0eWxlNDogKCAvLyjsgqzsl4XshKTrqoXtmowg7Yyd7JeFIOyCrOyaqSAvIHByZXNlbnRhdGlvbl9pbnNlcnQucGhwKVxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiA1MHB4LFxuICAgICAgcGFkZGluZzoxNXB4IDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgICBmb250LXdlaWdodDozMDAsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGZvbnQtc2l6ZTogMTVweCxcbiAgICAgICAgICBwYWRkaW5nOjE1cHgsXG4gICAgICAgICkpKSxcbiAgICBzZWxlY3QgOiAocGFkZGluZy1yaWdodDogMzBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggY2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZG93bi5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICApKTtcblxuLy9fdGV4dGFyZWFcbiRnX3RleHQtYXJlYS1zdHlsZTogKCAvLygg7Y6Y7J207KeA7JeQ7IScIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvLy50ZXh0YXJlYS1zdHlsZTEgdGV4dGFyZWEge31cbiAgICAvLyDsgqzsmqnsi5wgY3NzIOy2lOqwgFxuICApLFxuKTtcblxuLy9fc2VsZWN0XG4kZ19zZWxlY3Qtc3R5bGU6ICggLy8uc2VsZWN0LXN0eWxlMSBzZWxlY3Qge30gKCDtjpjsnbTsp4Dsl5DshJwg7IKs7Jqp7IucIClcbiAgc3R5bGUxOiAoIC8vIOyDge2SiCDrpqzsiqTtirgsIOyDgeyEuCwg66eI7J207Y6Y7J207KeAIFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIGhlaWdodDogNTBweCxcbiAgICBsaW5lLWhlaWdodDogNDdweCxcbiAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICBjb2xvcjogIzU1NSxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MiUgNTAlLFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX2Rvd24uc3ZnKSxcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWwsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIG1lZGlhOiAoc206IChwYWRkaW5nOiAwIDE1cHgsXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCUsXG4gICAgICApKSksXG4gIHN0eWxlMjogKCAvLyDqsozsi5ztjJAg6riA7JOw6riwICjqsozsi5zrrLwg7YOA7J6FKVxuICAgIHdpZHRoOiAxMjBweCxcbiAgICBoZWlnaHQ6IDM3cHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgY29sb3I6ICMyMjIsXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2ZyksXG4gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsLFxuICApLFxuKTtcblxuLy9fY2hlY2stYm94XG4kZ19jaGVjay1ib3gtaW1nOiAoaW1nLTEgOiAoZGlzcGxheTpmbGV4LFxuICAgIGFsaWduLWl0ZW1zIDogZmxleC1zdGFydCxcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHgsXG4gICAgY29sb3I6IzY2NixcbiAgICBjaGVja2JveC1zdHlsZSA6IChkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDogMjJweCxcbiAgICAgIG1pbi13aWR0aDogMjJweCxcbiAgICAgIGhlaWdodDogMjJweCxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29mZi5zdmcpLFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29uLnN2ZyksXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKGRpc3BsYXk6IGZsZXgsXG4gICAgICBmbGV4LXdyYXA6IHdyYXAsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nLWxlZnQ6N3B4LFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgY2hlY2sgOiAoY29sb3I6I2ZmOGUyYSxcbiAgICAgICksXG4gICAgKSxcbiAgKSxcbiAgaW1nLTIgOiAoZGlzcGxheTppbmxpbmUtYmxvY2ssXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4LFxuICAgIGNoZWNrYm94LXN0eWxlIDogKGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOiAzMnB4LFxuICAgICAgaGVpZ2h0OiAzMnB4LFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb2ZmLnBuZyksXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICksXG4gICAgY2hlY2tlZC1zdHlsZSA6IChiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb24ucG5nKSxcbiAgICApLFxuICAgIHRleHQtc3R5bGUgOiAoZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgcGFkZGluZy1sZWZ0OjRweCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgKSxcbiAgKSxcbik7XG4kZ19jaGVjay1ib3gtdGFnOiAodGFnLTEgOiAoIC8vIOyVhOydtOuUlOyggOyepSAvLyDslb3qtIDrj5nsnZggLy8g6rKw7KCc7IiY64uoIC8v67Cw7Iah7KeAIOyEoO2DnSAvLyDrsLDshqHsp4Dsl60g7ISg7YOdXG4gICAgcG9zaXRpb246IHJlbGF0aXZlLFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICBtYXJnaW4tcmlnaHQ6MzBweCwgLy9zZWxmXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoIC8vICY6YmVmb3JlXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICBsZWZ0OjAsXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICBsaW5lLWhlaWdodDogMSxcbiAgICAgIHBhZGRpbmctbGVmdDogMzFweCwgLy8g67CV7Iqk7YGs6riwICsg67CV7Iqk7JmAIO2FjeyKpO2KuCDsgqzsnbTsnZgg6rCE6rKpXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzAwMCxcbiAgICApLFxuICApLFxuICB0YWctMiA6IChwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgIG1hcmdpbi1yaWdodDoxNXB4LCAvL3NlbGZcbiAgICBjaGVja2JveC1zdHlsZSA6ICggLy8gJjpiZWZvcmVcbiAgICAgIHdpZHRoOiAxN3B4LFxuICAgICAgaGVpZ2h0OiAxN3B4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICAvLyB3aWR0aDo5cHgsXG4gICAgICAvLyBoZWlnaHQ6IDlweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHgsIC8vIOuwleyKpO2BrOq4sCArIOuwleyKpOyZgCDthY3siqTtirgg7IKs7J207J2YIOqwhOqyqVxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICksXG4gICkpOyIsIi8vIF9jYXJkXG4kZ19jYXJkLXdyYXA6IChcbiAgZGVmYXVsdDogKFxuICAgIHdyYXA6IChcbiAgICAgIHBhZGRpbmc6IDAgMzBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4LFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlcjogXCIxcHggc29saWQgI2U3ZTllZVwiICksXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHhcbiAgICApLFxuICAgIGhlYWRlcjogKFxuICAgICAgcGFkZGluZzogMjVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItYm90dG9tOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKSxcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxuICAgICksXG4gICAgYm9keTogKFxuICAgICAgcGFkZGluZzogMzBweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxuICAgICksXG4gICAgZm9vdGVyOiAoXG4gICAgICBwYWRkaW5nOiAyNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci10b3A6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApXG4gICAgKVxuICApXG4pO1xuIiwiLy8gX3RhYmxlXG4kZ19ycC10YWJsZTogKFxuICBzdHlsZTE6IChcbiAgICBmb250LWZhbWlseTokZm9udC1kb3R1bSxcbiAgICBjb2xvcjojMjIyLFxuICAgIHJwLXRhYmxlOiAoXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIyMlxuICAgICksXG4gICAgcnAtdGhlYWQ6IChcbiAgICAgIGRpc3BsYXk6IG5vbmUsXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRoOiAoXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgcGFkZGluZzogMThweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIGNvbG9yOiAjODg4LFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdHI6IChcbiAgICAgIGRpc3BsYXk6IGJsb2NrLFxuICAgICAgcGFkZGluZzogOXB4IDVweCxcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXMsXG4gICAgICAvLyBcIiZcIiA6IChcbiAgICAgIC8vICAgXCI6aG92ZXJcIiA6IChcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhLFxuICAgICAgICAvLyApLFxuICAgICAgICAvLyBcIi5ub25lLWhvdmVyOmhvdmVyXCIgOiAoXG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgICAgLy8gKSxcbiAgICAgIC8vICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdGQ6IChcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHBhZGRpbmc6IDVweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1zaXplOiAxMXB4LFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiLnRkLWJsb2NrXCIgOiAoXG4gICAgICAgICAgZGlzcGxheSA6IGJsb2NrXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXG4gICAgICAgICAgcGFkZGluZzogMTZweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgICAgICAgXCImXCIgOiAoXG4gICAgICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICApXG4pO1xuIiwiLy8gX3RhYlxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3RcbiAgdGFiLXdyYXAtZGVmYXVsdCA6ICggXG4gICAgZGlzcGxheTogYmxvY2ssXG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4LFxuICAgIGZvbnQtc2l6ZTogMCxcbiAgICBjb2xvcjogIzAwMCxcbiAgICB0ZXh0LWFsaWduOmNlbnRlcixcbiAgKSxcbiAgYm94LXN0eWxlIDogKCBcbiAgICB0YWItbGlzdCA6ICggXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOjE0MHB4LFxuICAgICAgcGFkZGluZzoxM3B4IDEwcHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNiYmIsXG4gICAgICBib3JkZXItcmlnaHQ6IDAsXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzc3Nzc3NyxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBjdXJzb3I6cG9pbnRlcixcbiAgICAgIGFjdGl2ZSA6ICggLy8udGFiLWxpc3QuYWN0aXZlXG4gICAgICAgIGJvcmRlci1jb2xvcjokZ19wb2ludC1mb250LWNvbG9yMixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgICAgICBjb2xvcjogJGdfd2hpdGUsXG4gICAgICApLFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiOmxhc3QtY2hpbGRcIiA6IChcbiAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNiYmIsXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICApLFxuKTtcbiIsIlxuLy8gX3BhZ2luYXRpb24gXG4kZ19wYWdlLWl0ZW0tZ3JvdXAgOiAoIC8vICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXG4gIC8vIGRlZmF1bHRcbiAgLy8gd2lkdGg6MjBweCxcbiAgaGVpZ2h0OjIwcHgsXG5cbiAgLy9wYWRkaW5nOjIwcHgsXG4gIC8vIG1hcmdpbjowIC0xcHgsXG4gIC8vIHRoZW1lLWNvbG9yOiAjZmZmLFxuICAvLyBib3JkZXIgOiAxcHggc29saWQgIzIyMixcbiAgLy9ib3JkZXItcmFkaXVzOiAzcHgsXG4gIC8vYm9yZGVyLXJhZGl1cy1mLWw6IDNweCwgLy8g7LKr67KI7Ke4IOuniOyngOuniSDrsoTtirwg7L2U64SIIHJhZGl1c1xuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXG4gIC8vYm9yZGVyLXN0eWxlOiAoIC8vIGxhc3QtY2hpbGTsl5Ag7KCB7Jqp65CoXG4gIC8vXHRib3JkZXItcmlnaHQgOiBcIjFweCBzb2xpZCAjZTFlMWUxXCIsXG4gIC8vKSxcblxuICBmb250LXNpemU6MTNweCxcbiAgZm9udC13ZWlnaHQ6NDAwLFxuICAvLyBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxuICBmb250LWNvbG9yOiNhYWEsXG4gIGZvbnQtZmFtaWx5OiRmb250LWxhdG8sXG4gIC8vIGhvdmVyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXG4gIC8vIGhvdmVyLWJvcmRlci1jb2xvciA6ICNkZGQsXG4gIGhvdmVyLWNvbG9yOiMwMDAsXG5cbiAgLy8gYWN0aXZlXG4gIC8vIGFjdGl2ZS10aGVtZTojZjJmMmYyLFxuICBhY3RpdmUtY29sb3I6IzAwMCxcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxuICAgIC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvciwgKi9cbiAgICBmb250LXdlaWdodDpib2xkLFxuICApLFxuXG4gIC8vIGRpc2FibGVkXG4gIGRpbS1vcGFjaXR5IDogLjUsXG4gIC8vZGlzYWJsZWQtc3R5bGU6ICggLy8g7Luk7Iqk7YWA7JqpXG4gIC8vXHQvL+uyhO2KvOyXkOyEnOuKlCBtYXAtaGFzLWtleeqwkuydhCDsnbTsmqntlbTshJwg7YKk6rCS7J20IOyeh+ycvOuptCDrp7XsnZgg7YKk6rCS6rO8IOuyqOulmOuhnCDstpzroKVcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cbiAgLy9cdC8v6rKw6rO8IOqwkuydgCDqsJnsnLzrgpggbWl4aW7rsKnrspXsnbQg64uk66W064ukIO2YhOyerFxuICAvL1x0YmFja2dyb3VuZC1jb2xvcjojMTExLFxuICAvL1x0Y29sb3I6ICMxMTEsXG4gIC8vXHRib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcbiAgLy8pLFxuICBhcnJvdy1ncm91cCA6IChcbiAgICBzdGFydCA6ICggLy/su6TsiqTthYBcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9zdGFydC5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXG4gICAgKSxcbiAgICBwcmV2IDogKFxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvcGFnaW5hdGlvbl9wcmV2X2ljb24ucG5nKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICAgbmV4dCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL3BhZ2luYXRpb25fbmV4dF9pY29uLnBuZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICAgIGVuZCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9lbmQuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICksXG4pO1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AaW1wb3J0IFwibWl4aW5zL19tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcIm1peGlucy9fbWFwXCI7XG5cbi8vIFV0aWxpdGllc1xuLy9AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19jbGVhclwiO1xuQGltcG9ydCBcIm1peGlucy9fZmxvYXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2hvdmVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbi8vQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fc2NyZWVucmVhZGVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9fcHJlZml4ZXJcIjtcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybXNcIjtcbi8vQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL19ib3JkZXItcmFkaXVzXCI7XG5cbi8vIC8vIExheW91dFxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcbi8vQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9fYXJlYVwiO1xuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xuXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vLy9cblxuXG4vLyAvLyBDb21wb25lbnRzXG4vL0BpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwibWl4aW5zL19idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbi8vQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlc1wiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuQGltcG9ydCBcIm1peGlucy9fdGFiXCI7XG5cbiIsIi8vIG1lZGlhLXF1ZXJ5LW1pbiDrr7nsiqTsnbhcbi8vIFvrp6TqsJzrs4DsiJhdXG4vLyAkYnJlYWtwb2ludCDquLDrs7jqsJI6IOyXhuydjFxuLy8gJGJyZWFrcG9pbnQg7JeQIOqwgOyaqeqwgOuKpe2VnCDqsJJcbi8vICgxKSAkbWVkaWEtYnJlYWtwb2ludHMg7J2YIO2CpCDqsJIgKHhzLCBzbSwgbWQsIGxnLCB4bCAp7KSRIO2VmOuCmFxuLy8gKDIpIOqzoOyglSBweOqwklxuLy8gJGJyZWFrcG9pbnQg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgQG1lZGlhKG1pbi13aWR0aDogXCLrp6TqsJzrs4DsiJjsl5Ag7ZW064u57ZWY64qUIOqwklwiKSDshYvtjIXtlbTspI3ri4jri6QuXG4vLyAkYnJlYWtwb2ludCDqsJLsnYQg7ZS97IWA66GcIOuEo+uKlOuLpOuptCDtlbTri7kg7ZS97IWA6rCS7J2YIOuvuOuUlOyWtOy/vOumrOulvCDrp4zrk6TslrQg7KSN64uI64ukLlxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykgeyBAY29udGVudCB9XG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKDUwMHB4KSB7IEBjb250ZW50IH1cbkBtaXhpbiBtZWRpYS1xdWVyeS1taW4oICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cbkBtaXhpbiBtZWRpYS1xdWVyeS1tYXgoICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cblxuXG4vLyBtZWRpYS1xdWVyeS1taW4tdmFsIO2VqOyImFxuLy8g7KCE7Jet67OA7IiYICRtZWRpYS1icmVha3BvaW50cyBtYXDsnZggdmFsdWXrpbwg67CY7ZmY7ZW0IOykjeuLiOuLpC5cbi8vIOyjvOuhnCBlYWNoIOusuOqzvCDqsJnsnYAgbG9vcCDrrLjsl5DshJwg7Zmc7Jqp65Cp64uI64ukLlxuLy8gZXgpXG4vLyBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXBfa2V5cygkbWVkaWEtYnJlYWtwb2ludHMpIHtcbi8vICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbi8vICAgQG1lZGlhICggbWluLXdpZHRoOiAjeyRwb2ludH0gKXtcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1sIHsgQGluY2x1ZGUgZmxvYXQtbGVmdCB9XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtciB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0IH1cbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1uIHsgQGluY2x1ZGUgZmxvYXQtbm9uZSB9XG4vLyAgIH1cbi8vIH1cbkBmdW5jdGlvbiBtZWRpYS1xdWVyeS1taW4tdmFsKCAkYnJlYWtwb2ludCApe1xuICBAcmV0dXJuIG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbn1cblxuXG5cblxuXG5cbiIsIkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xuICAkbmV3OiAoJGtleTogJHZhbHVlKTtcbiAgQHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XG59XG5cblxuLy9wcmVmaXgg7KCc6rGwXG4vL+2DnOq3uOydtOumhCwg7IaN7ISxLCDslYTsnbTrlJQg65OxICDshYDroInthLAg6rCA64ql64+E66GdXG5AZnVuY3Rpb24gbWFrZU1hcFRvQ29kZXMoJG1hcCwgJHByZWZpeDogXCJcIiwgJHNlbGY6IGZhbHNlKSB7XG4gICRjb2RlcyA6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuXG4gICAgICBAaWYgKCRrZXkgPT0gXCImXCIpIHtcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsIFwiXCIsIHRydWUpO1xuICAgICAgICAkY29kZXM6IG1hcC1tZXJnZSgkY29kZXMsICRtYWtlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc2VsZWN0b3I6IFwiLiN7JHByZWZpeH0jeyRrZXl9XCI7XG5cbiAgICAgICAgQGlmICgkc2VsZikge1xuICAgICAgICAgICRzZWxlY3RvciA6IFwiJiN7JHByZWZpeH0jeyRrZXl9XCI7XG4gICAgICAgIH1cbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsICRwcmVmaXgpO1xuICAgICAgICAkY29kZXM6IG1hcC1zZXQoJGNvZGVzLCAkc2VsZWN0b3IsICRtYWtlKTtcbiAgICAgIH1cbiAgICAgIFxuICAgIH0gQGVsc2Uge1xuICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJGtleSwgJHZhbCk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGNvZGVzO1xufTtcblxuXG5AbWl4aW4gcHJpbnRDb2RlcygkbWFwKSB7XG5cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgIFxuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuICAgICAgI3ska2V5fSB7XG4gICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRrZXl9IDogI3skdmFsfTtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuLy8gaXNNYXAg7ZWo7IiYXG4vLyAje2tleX0gOiAje3ZhbHVlfeydmCDtmJXtg5zrpbwg66as7YS07ZW07KO864qUIO2VqOyImFxuLy8gaXNNYXAoJHZhbCwgJGtleSk7XG4vLyBpc01hcCDtlajsiJjsl5DshJwg7J247J6Q66GcIOuEmOyWtOyYqCAnJHZhbCfsl5Ag7ZWg64u565CcIOqwkuydtCBtYXDsnbTrnbzrqbQgaXNtYXDtlajsiJjrpbwg7J6s6reA7Zi47LacIO2VnOuLpC5cbi8vIOyYiOyZuOyggeycvOuhnCDtgqTqsJLsnbQgXCJfXCIg652866m0IGlzUHNldWRv66W8IO2YuOy2nO2VnOuLpC5cbi8vIOy1nOyiheyggeycvOuhnCAje2tleX0gOiAje3ZhbHVlfeydmCDqsJLsnYQg66as7YS07ZWY64+E66GdIOunjOuToOuLpC5cblxuLy9pc1BzZXVkbyDtlajsiJhcbi8v6rCA7IOBIOyEoO2DneyekOulvCDrp4zrk6TslrQg66as7YS07ZW07KO864qUIO2VqOyImFxuLy9cblxuXG4vL0BmdW5jdGlvbiBpc01hcCAoJHZhbCwgJGtleSkge1xuLy8gICRyZXN1bHQgOiAoKTtcbi8vXG4vLyAgQGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCkge1xuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuLy8gICAgICBAaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBudWxsKSB7XG4vLyAgICAgICAgJG1hcCA6IGlzTWFwKCR2YWwyLCAka2V5Mik7XG4vLyAgICAgICAgJG1hcGtleSA6IG1hcC1rZXlzKCRtYXApO1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJG1hcGtleSwgbWFwLWdldCgkbWFwLCAjeyRtYXBrZXl9KSk7XG4vLyAgICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBcIl9cIil7XG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAka2V5MiwgaXNNYXAoJHZhbDIsICRrZXkyKSk7XG4vLyAgICAgIH0gQGVsc2Uge1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsICR2YWwyKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy8gIH0gQGVsc2Uge1xuLy8gICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAkdmFsLCAka2V5KTtcbi8vICB9XG4vL1xuLy8gIEByZXR1cm4gJHJlc3VsdDtcbi8vfTtcblxuXG4vL0BmdW5jdGlvbiBpc1BzZXVkbyAoJGtleSwgJHZhbCkge1xuLy8gICRyZXN1bHQ6IG51bGw7XG4vLyAgQGlmICgka2V5ID09IFwiX1wiKSB7XG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4vLyAgICAgICRyZXN1bHQ6IGlzTWFwKCRrZXkyLCAkdmFsMik7XG4vLyAgICAgIEByZXR1cm4gaXNNYXAoJGtleTIsICR2YWwyKTtcbi8vICAgIH1cbi8vICB9IEBlbHNlICB7XG4vLyAgICAkcmVzdWx0OiBpc01hcCgka2V5LCAkdmFsKTtcbi8vICAgIEByZXR1cm4gJHJlc3VsdDtcbi8vICB9XG4vL307XG5cblxuIiwiQG1peGluIGNsZWFyKCkge1xuICAmOjphZnRlciB7XG4gICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICBjbGVhcjogYm90aDtcbiAgIH1cbn1cblxuXG5cbiIsIkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGhvdmVyLW9ue1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5vbnsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVye1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7IEBjb250ZW50OyB9XG59XG4iLCIvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi8vIC8qIHByZWZpeCAqL1xuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6KCkpe1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlc3tcbiAgICAjeyctJyskcHJlZml4KyctJyskcHJvcGVydHl9OiR2YWx1ZTtcbiAgfVxuICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7XG59XG5cbiAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCByb3RhdGUoNDVkZWcpLCB3ZWJraXQgbXMpOyBvciAoXCJ3ZWJraXRcIiwgXCJtb3pcIilcblxuIC8vY3NzXG4gIC8vIC5zZWxlY3RvciB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vIH1cblxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBtYWtlLWFyZWEg66+57Iqk7J24XG4vLyDquLDrs7jqsJLsnbQgbnVsbOuhnCDshYvtjIXrkJjslrQg7J6I64qUIOyalOyGjOuKlCDsnbjsnpDqsIAg7KCE64us65CY7KeAIOyViuydhCDsi5wg7Lu07YyM7J28IOuQmOyngCDslYrsirXri4jri6QuXG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJG1heC13aWR0aCDquLDrs7jqsJI6IG51bGxcbi8vICRndXR0ZXItd2lkdGgg6riw67O46rCSOiBudWxsXG4vLyAkd2lkdGgg6riw67O46rCSOiAxMDAlXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiAkbWF4LXdpZHRoLCAkZ3V0dGVyLXdpZHRoOiAkYXJlYS1ndXR0ZXItd2lkdGggKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWFyZWEoICR3aWR0aDogMTYwMHB4ICk7XG4vL0BtaXhpbiBtYWtlLWFyZWEoICRtYXgtd2lkdGg6IG51bGwsICRndXR0ZXItd2lkdGg6IG51bGwsICR3aWR0aDogMTAwJSApIHtcbi8vICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgd2lkdGg6ICR3aWR0aDtcbi8vICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4vLyAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4vLyAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuLy99XG5cbkBtaXhpbiBtYWtlLWFyZWEoICRhcmVhLWluZm86ICRnX2RlZmF1bHQtYXJlYSApIHtcbiAgJHdpZHRoOiAxMDAlO1xuICBAaWYgIG1hcC1oYXMta2V5KCRhcmVhLWluZm8sIHdpZHRoKSB7XG4gICAgJHdpZHRoIDogbWFwLWdldCgkYXJlYS1pbmZvLCB3aWR0aClcbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoIDogMTAwJVxuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRhcmVhLWluZm8sIG1heC13aWR0aCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XG59XG5cbiIsIi8vIG1ha2Utcm93IOuvueyKpOyduFxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRncmlkLWd1dHRlciDquLDrs7jqsJI6ICRncmlkLWd1dHRlci13aWR0aFxuLy8gJGdyaWQtZ3V0dGVyIOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIG1hcmdpbi1yaWdodCwgbWFyZ2luLWxlZnQg6rCS7J2EIOyFi+2Mhe2VtCDspI3ri4jri6QuXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1yb3coICRncmlkLWd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbkBtaXhpbiBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyO1xuICBAaW5jbHVkZSBjbGVhcigpO1xufVxuXG4vLyBtYWtlLWNvbC1zZXQg66+57Iqk7J24XG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJGdyaWQtY29sLWNudCDquLDrs7jqsJI6ICRncmlkLWNvbHVtbnNcbi8vICRncmlkLWNvbC1jbnQg7KCE64us65CcIOqwkuydmCDqsJzsiJjrp4ztgoHsnZggY29sLHB1bGwscHVzaCxvZmZzZXQg65Ox7J2EIOunjOuTpOyWtOykjeuLiOuLpC5cbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoJGdyaWQtY29sLWNudDogNSk7XG5AbWl4aW4gbWFrZS1jb2wtc2V0KCAkZ3JpZC1jb2wtaW5mbzogJGdfZ3JpZC1jb2wtaW5mbyApIHtcbiAgJGdyaWQtY29sLW5hbWU6IG51bGw7XG4gIEBpZiAgbWFwLWhhcy1rZXkoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpIHtcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpXG4gIH0gQGVsc2Uge1xuICAgICRncmlkLWNvbC1uYW1lIDogbnVsbFxuICB9XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG4gIEBpbmNsdWRlIG1ha2UtcHVsbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbiAgQGluY2x1ZGUgbWFrZS1wdXNoKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xuICBAaW5jbHVkZSBtYWtlLW9mZnNldCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbn1cblxuXG5AbWl4aW4gbWFrZS1jb2woICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgLiN7JGNvbC1uYW1lfWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wtYXV0byB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfTtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skaX0ge1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tYXV0byB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH07XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1wdWxsKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLTAge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGl9IHtcbiAgICAgICAgICByaWdodDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LTAge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtcHVzaCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAuI3skY29sLW5hbWV9cHVzaC0wIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGl9IHtcbiAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skYnJlYWtwb2ludH0tMCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utb2Zmc2V0KCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2x1bW5zLCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skaX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyB0cmlhbmdsZSjilrYpLCBhcnJvdyg+KSDsgqzsmqnrspVcbi8vIC0g67Cp7ZalIDogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG4vLyAodHJpYW5nbGUo4pa2KeydgCB0b3AtbGVmdC9yaWdodCwgYm90dG9tLWxlZnQvcmlnaHQg67Cp7Zal64+EIOqwgOuKpSlcbi8vIEBpbmNsdWRlIHRyaWFuZ2xlKFwi7IK86rCB7ZiV67Cp7ZalXCIsIOqwgOuhnHB4LCDshLjroZxweCwgI+y7rOufrCk7XG4vLyBAaW5jbHVkZSBhcnJvdyhcIu2ZlOyCtO2RnOuwqe2WpVwiLCDqsIDroZxweCwg7IS466GccHgsIOyEoOq1teq4sCwgI+y7rOufrCk7XG4vLyDssLjqs6AgdXJsIDogaHR0cDovL2FwcHMuZWt5LmhrL2Nzcy10cmlhbmdsZS1nZW5lcmF0b3IvXG5cbi8vIOyCvOqwge2YlSDilrZcbkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCAkd2lkdGhTaXplLCAkaGVpZ2h0U2l6ZSwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBAaWYgJGRpcmVjdGlvbj09XCJ0b3BcIiB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR3aWR0aFNpemUgLyAyKSAkaGVpZ2h0U2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkaGVpZ2h0U2l6ZSAwO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLWxlZnRcIiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGhTaXplIDAgMCAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpICR3aWR0aFNpemUgKCRoZWlnaHRTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLWxlZnRcIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XG4gIH1cbn1cbi8vIO2ZlOyCtO2RnCA+XG5AbWl4aW4gYXJyb3coJGRpcmVjdGlvbiwgJHdpZHRoLCAkaGVpZ2h0LCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29udGVudDpcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBmbG9vcigkd2lkdGggLyAxLjQxNCk7XG4gIGhlaWdodDogZmxvb3IoJGhlaWdodCooJHdpZHRoLyRoZWlnaHQpIC8gMS40MTQpO1xuICBib3JkZXItdG9wOiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwie1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb249PVwibGVmdFwiIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8v7KCB7JqpIO2bhCwgbWFyZ2lu7J2064KYIHRyYXNuZm9ybeycvOuhnCDsnITsuZgg7KGw7KCILiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8g67KE7Yq8IOyCrOydtOymiOuzhCDsg53shLFcbkBtaXhpbiBidXR0b24tc2l6ZS1weCgkYnRuLXNpemUgOiAkZ19idG4tc2l6ZSkge1xuICAvLyBCYXNlIHN0eWxlc1xuICAlYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBsaW5lYXIsYm9yZGVyIC4zcyBsaW5lYXI7XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGJ0bi1zaXplKXtcbiAgICAuYnRuLSN7JGtleX0ge1xuICAgICAgQGV4dGVuZCAlYnRuO1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYgKCRrZXkyID09IG1lZGlhKSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnRuLWRpc2FibGVkKCkge1xuICAmLmRpc2FibGVkIHtcbiAgICBAY29udGVudDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICB9XG59XG5cbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRidG4tZ3JvdXAgOiAkZ19idG4tZ3JvdXApe1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRidG4tZ3JvdXAge1xuICAgIC5idG4tI3ska2V5fSxcbiAgICAuYnRuLSN7JGtleX06dmlzaXRlZHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkgeyAvLyBtZWRpYVxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBob3Zlcil7IC8vIGhvdmVyXG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXItb24ge1xuICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgLy8gQGlmKCRrZXk0ICE9IGJhY2tncm91bmQtY29sb3IpeyAvLyBiYWNrZ3JvdW5kLWNvbG9yIOydtOyZuOydmCDrgpjrqLjsp4Ag7Lac66ClXG4gICAgICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBAaWYobWFwX2hhc19rZXkobWFwLWdldCgkdmFsLGhvdmVyKSxiYWNrZ3JvdW5kLWNvbG9yKSl7IC8vaG92ZXIgbWFw7JeQIGJhY2tncm91bmQtY29sb3Ig6rCS7J20IOyeiOycvOuptCDqt7jqsoPsnYQg7Lac66ClXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAvLyBAZWxzZSBpZihtYXBfaGFzX2tleSgkdmFsLGJhY2tncm91bmQtY29sb3IpKXsgLy/sl4bsnLzrqbQg6riw67O4IOyEpOygleqwkuyXkCBkYXJrZW7snLzroZwg7KCB7JqpXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKG1hcC1nZXQoJHZhbCxiYWNrZ3JvdW5kLWNvbG9yKSwgMTUlKTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBkaXNhYmxlZCl7IC8vIGRpc2FibGVkXG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpZiAoIHR5cGUtb2YoJHZhbDIpID09IG1hcCApIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgICAjeyRrZXk1fTogI3skdmFsNX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOy9lOuTnCDstpzroKVcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiQG1peGluIG1ha2UtY2FyZC1zZXQoJGNhcmQtaW5mbykge1xuICAlY2FyZC13cmFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRjYXJkLWluZm8ge1xuICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XG4gICAgICAgIC5jYXJkLSN7JGtleTJ9LSN7JGtleX0ge1xuICAgICAgICAgIEBleHRlbmQgJWNhcmQtd3JhcDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xuICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCR2YWwyLCBmb250LXNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8g64ukIOuCmOuIhOqzoCDtlZjrgpjroZwg7ZWp7LmY64qU6rKMIOyii+yngCDslYrsnYTquYw/Pz8/Pz8/XG4vLyDsg4Hsho3snZgg6rOE64WQ7J2EIOyggeyaqe2VtOyVvCDtlZjripTqsIA/P1xuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xuLy8g7JWE7JiIIHdyYXAsIGhlYWRlciwgYm9keSwgZm9vdGVyIOuCmOuIhOuKlOuNmOyngCwg7KeA6riI7LKY65+8IOyymOumrO2VmOuKlOqyjCDrgpjsnYTrk69cbiIsIi8vIFBhZ2luYXRpb25cbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xuICB3aWR0aDptYXAtZ2V0KCRwYWdlLWl0ZW0sIHdpZHRoKTtcbiAgaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XG5cbiAgLy9wYWRkaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgcGFkZGluZyk7IC0+IOyCreygnOyYiOyglSDrs7TrpZguLlxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpO1xuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcbiAgYm9yZGVyLXJpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJpZ2h0KTtcblxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC13ZWlnaHQpO1xuICBmb250LWZhbWlseTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtZmFtaWx5KTtcbiAgbGV0dGVyLXNwYWNpbmc6bWFwLWdldCgkcGFnZS1pdGVtLCBsZXR0ZXItc3BhY2luZyk7XG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkcGFnZS1pdGVtLCBob3Zlci10aGVtZS1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XG4gICAgfVxuICAgIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbn1cbi8vIOyVoe2LsOu4jCDrkKDsi5xcbkBtaXhpbiBwYWdpbmF0aW9uLWFjdGl2ZSgkcGFnZS1hY3RpdmUtaXRlbSl7XG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcbiAgY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSxhY3RpdmUtY29sb3IpO1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLXN0eWxlKSl7XG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICB9XG59XG4vLyDrlKQg65Cg7IucXG5AbWl4aW4gcGFnaW5hdGlvbi1kaXNhYmxlZCgkcGFnZS1kaXNhYmxlZC1pdGVtKXtcbiAgb3BhY2l0eTptYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sIGRpbS1vcGFjaXR5KTtcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sZGlzYWJsZWQtc3R5bGUpKXtcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gIH1cbn1cblxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcbkBtaXhpbiBwYWdpbmF0aW9uLWFycm93cygkcGFnZS1hcnJvdy1zdHlsZSkge1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHBhZ2UtYXJyb3ctc3R5bGUge1xuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgfVxufSIsIkBtaXhpbiBtYWtlLWZvcm0td3JhcCggJGZvcm0td3JhcC1pbmZvIDogJGdfZm9ybS13cmFwICkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xuICAgIC5mb3JtLXdyYXAtI3ska2V5fSB7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsMykgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYoJGtleTMgPT0gbWVkaWEpe1xuICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLiN7JGtleTN9IHtcbiAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2Rlcygka2V5Myk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLyrthY3siqTtirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLWZpZWxkLWRlZmF1bHQoKSB7XG4gICVmaWVsZC1iYXNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdCxcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBleHRlbmQgJWZpZWxkLWJhc2U7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKCAka2V5MiA9PSBcImlucHV0X2RlZmF1bHRcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAoJHZhbDIpIHtcbiAgICAgICAgICAgIEBpZiggdHlwZS1vZigkdmFsMykgIT0gbWFwKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gJ2ZvY3VzLXN0eWxlJyl7XG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09ICdwbGFjZWhvbGRlci1zdHlsZScpe1xuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlcntcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5MyA9PSAnbWVkaWEnKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLSN7JGtleX0gc2VsZWN0e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZiggJGtleTIgPT0gXCJzZWxlY3RcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09IG1lZGlhKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYoICRrZXkyID09IFwidGV4dGFyZWFcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09ICdtZWRpYScpIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgI3ska2V5M30gOiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyp0ZXh0YXJlYSovXG5AbWl4aW4gbWFrZS10ZXh0LWFyZWEoKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3RleHQtYXJlYS1zdHlsZSkge1xuICAgIC50ZXh0YXJlYS0jeyRrZXl9IHRleHRhcmVhe1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYoJGtleTIgPT0gbWVkaWEpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyrshYDroIntirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLXNlbGVjdGJveCgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XG4gICAgLnNlbGVjdC0jeyRrZXl9IHNlbGVjdHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKCB0eXBlLW9mKCR2YWwyKSAhPSBtYXApe1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAvKuydtOuvuOyngCDssrTtgawgJiDrnbzrlJTsmKQqL1xuQG1peGluIG1ha2UtY2hlY2tib3gtaW1nKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC1pbWcgKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xuICAgIC5ja2J4LSN7JGtleX17XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGlmKCRrZXkyID09IGNoZWNrYm94LXN0eWxlKSB7XG4gICAgICAgICAgIC5jdXN0b20tY2hlY2tlZCB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBjaGVja2VkLXN0eWxlKXtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSB0ZXh0LXN0eWxlKXtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyAvKu2DnOq3uCDssrTtgawmIOudvOuUlOyYpCovXG5AbWl4aW4gbWFrZS1jaGVja2JveC10YWcoICRjaGVjay1ib3gtaW5mbzogJGdfY2hlY2stYm94LXRhZyApIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XG4gICAgLy8g67OA7IiYIOyEoOyWuFxuICAgICR3aWR0aCA6IGZhbHNlO1xuICAgICRoZWlnaHQgOiBmYWxzZTtcbiAgICAuY2tieC0jeyRrZXl9e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBjaGVja2JveC1zdHlsZSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICAgIEBpZiAoJGtleTMgPT0gd2lkdGgpe1xuICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkdmFsMztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LShyb3VuZCgkdmFsMyAvIDIpKTtcbiAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgka2V5MyA9PSBoZWlnaHQpe1xuICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHZhbDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IGNoZWNrZWQtc3R5bGUpIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByb3VuZCgoJHdpZHRoIC0gKCR3aWR0aCAvIDIpKSAvIDIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkdmFsMiwgd2lkdGgpID09IGZhbHNlIGFuZCAkd2lkdGgpeyBcbiAgICAgICAgICAgICAgICAgIC8vIGNoZWNrZWQgbWFw7JeQIHdpZHRo6rCAIOyeiOuKlOyngCDssrTtgawg7JeG7Jy866m0IGNoZWNrYm94IG1hcCDsnZgg67CY7IKs7J207KaI66GcIOqwgOyguOyYtFxuICAgICAgICAgICAgICAgICAgJHZhbDIgOiBtYXAtc2V0KCR2YWwyLHdpZHRoLHJvdW5kKCR3aWR0aCAvIDIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCR2YWwyLCBoZWlnaHQpID09IGZhbHNlIGFuZCAkaGVpZ2h0KXsgXG4gICAgICAgICAgICAgICAgICAvLyBjaGVja2VkIG1hcOyXkCBoZWlnaHQg7J6I64qU7KeAIOyytO2BrCDsl4bsnLzrqbQgY2hlY2tib3ggbWFwIOydmCDrsJjsgqzsnbTspojroZwg6rCA7KC47Ji0XG4gICAgICAgICAgICAgICAgICAkdmFsMiA6IG1hcC1zZXQoJHZhbDIsaGVpZ2h0LHJvdW5kKCRoZWlnaHQgLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRrZXk0ID09IHdpZHRoKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotKHJvdW5kKCR2YWw0IC8gMikpO1xuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IHRleHQtc3R5bGUpe1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICBsYWJlbDpiZWZvcmV7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmNpcmNsZTpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgICAmLmNpcmNsZSBpbnB1dCB7XG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1pbi13aWR0aDogJHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vcnAtdGFibGVcbkBtaXhpbiBtYWtlLXJwLXRhYmxlKCRycC10YWJsZS1pbmZvIDogJGdfcnAtdGFibGUpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJHJwLXRhYmxlLWluZm8pe1xuICAgIC5ycC10YWJsZS0jeyRrZXl9IHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgIEBpZih0eXBlLW9mKCR2YWwzKSAhPSBtYXApIHsgLy9jYXNjYWRpbmfsnLzroZwg66i87KCAIOy2nOugpVxuICAgICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZigka2V5MyA9PSBtZWRpYSl7XG4gICAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMsIFwiXCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAuI3ska2V5M30ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4iLCIvLy8qIHRhYiAqL1xuQG1peGluIHRhYi1pdGVtcygkdGFiLWdyb3VwIDogJGdfdGFiLWdyb3VwKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCR0YWItZ3JvdXApe1xuICAgIEBpZigka2V5ID09IHRhYi13cmFwLWRlZmF1bHQpe1xuICAgICAgLnRhYi13cmFwIHtcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBtZWRpYSl7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1AZWxzZSB7XG4gICAgICAudGFiLXdyYXAuI3ska2V5fSB7XG4gICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsIHtcbiAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNCkgIT0gbWFwICkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgfUBlbHNlIHsgLy9tZWRpYSwgYWN0aXZlLCBzdWJDbGFzc1xuICAgICAgICAgICAgLiN7JGtleTR9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWw0IHtcbiAgICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNSkgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTV9OiAjeyR2YWw1fTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgQGlmKCRrZXk1ID09IG1lZGlhKXtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTYsICR2YWw2IGluICR2YWw1IHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5NSA9PSBhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtleTUgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw1LCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLiN7JGtleTV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgICDqsozsi5ztjJAg6rO17Ya1IOyalOyGjFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vL2xpc3RcbltjbGFzcyo9XCJycC10YWJsZS1cIl0gLnJwLXRpdGxlLWN1c3RvbSB7XG4gIGZvbnQtc2l6ZToxNHB4O1xuICBmb250LWZhbWlseTogJGZvbnQtNDAwO1xuICB0ZXh0LWFsaWduOmxlZnQ7XG4gIGNvbG9yOiMwMDA7XG4gICYgfiAqIHtcbiAgICBjb2xvcjojODg4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgZm9udC1zaXplOjEycHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtO1xuICAgIGNvbG9yOiMyMjI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAmIH4gKiB7XG4gICAgICBjb2xvcjojMjIyO1xuICAgIH1cbiAgfVxuICAudGl0bGUtdHh0IHsgLy8g66qo67CU7J287JeQ7IScIOyVhOydtOy9mCDsoJzsmbjtlZjqs6Ag7ZWc7KSEIOyymOumrFxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4NyU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgd2lkdGg6YXV0bztcbiAgICAgIG1heC13aWR0aDo5MCU7XG4gICAgfVxuICB9XG4gIC5ib2FyZC1saXN0LWltZyB7IC8vIOyVhOydtOy9mCAo7LKo67aA7YyM7J28LOqzteyngOyCrO2VrSzruYTrsIDquIApXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgJjpudGgtbGFzdC1vZi10eXBlKDEpIHtcbiAgICAgIHJpZ2h0OjA7XG4gICAgfVxuICAgICY6bnRoLWxhc3Qtb2YtdHlwZSgyKSB7XG4gICAgICByaWdodDoyNXB4O1xuICAgIH1cbiAgICAmOm50aC1sYXN0LW9mLXR5cGUoMykge1xuICAgICAgcmlnaHQ6NTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgIHBvc2l0aW9uOmluaXRpYWw7XG4gICAgfVxuICB9XG59XG4vKj09IGxpc3Qg6riA7JOw6riwIOuyhO2KvCwg7Y6Y7J207KeA64Sk7J207IWYID09Ki9cbi5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIHdpZHRoOjEwMCU7XG59XG4uYm9hcmQtbGlzdC13cml0ZS1idG4ge1xuICBtYXJnaW4tdG9wOjI1cHg7XG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOi0xMHB4O1xuICAgIHJpZ2h0OjA7XG4gICAgbWFyZ2luLXRvcDowO1xuICB9XG59XG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5re1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDonJztcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBsZWZ0OjUwJTtcbiAgICBib3R0b206MDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojMDAwO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG4ucGFnZS1pdGVtLmJ0bi1uZXh0LWl0ZW0sXG4ucGFnZS1pdGVtLmJ0bi1wcmV2LWl0ZW17XG4gIHdpZHRoOjM1cHg7XG59XG4ucGFnZS1pdGVtLmJ0bi1uZXh0LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDoyMHB4O1xufVxuLnBhZ2UtaXRlbS5idG4tcHJldi1pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OjIwcHg7XG59XG4ucnAtdHI6aG92ZXIge1xuICAmID4gZGl2IHtcbiAgICBjb2xvcjokZ19wb2ludC1mb250LWNvbG9yMjtcbiAgfVxuICAudGl0bGUtdHh0IHtcbiAgICBjb2xvcjokZ19wb2ludC1mb250LWNvbG9yMjtcbiAgfVxufVxuLmRvd24taWNvbiB7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB3aWR0aDoxOHB4O1xuICBoZWlnaHQ6MThweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG4gICYueGxzeCwgJi54bHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9ib2FyZF9maWxlX2ljb25fMDEuanBnKTtcbiAgfVxuICAmLnBwdHgsICYucHB0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvYm9hcmRfZmlsZV9pY29uXzAyLmpwZyk7XG4gIH1cbiAgJi5kb2MsICYuZG9jeCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL2JvYXJkX2ZpbGVfaWNvbl8wMy5qcGcpO1xuICB9XG4gICYuaHdwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvYm9hcmRfZmlsZV9pY29uXzA0LmpwZyk7XG4gIH1cbiAgJi5wZGYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9ib2FyZF9maWxlX2ljb25fMDUuanBnKTtcbiAgfVxufVxuXG4vL+yekOujjOyLpFxuLnJlZmVyZW5jZS13cmFwIHtcbiAgLnJwLXRyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnJwLXRpdGxlLWN1c3RvbSAudGl0bGUtdHh0e1xuICAgIHdpZHRoOjc4JTtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5yZWZlcmVuY2UtaWNvbiB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgIHBvc2l0aW9uOmluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgICAg64yT6riAIOyKpO2DgOydvFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY21udC1zdHlsZTEge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAwO1xuICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtO1xuICBjb2xvcjojMjIyO1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAwO1xuICB9XG4gIC5jbW50LXdyaXRlcntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAxOHB4O1xuICB9XG4gIC5jbW50LXdyaXRlciBhe1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuICAmLmNtbnQtbWVtLW1lbWJlciB7IC8v7ZqM7JuQXG4gICAgcGFkZGluZzogMTVweCAxMHB4IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTVweCAwO1xuICAgIH1cbiAgICAuY21udC1tZW0td3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo4cHg7XG4gICAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgfVxuICB9XG4gIC5jbW50LW1lbS13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZDdkN2Q3O1xuICAgICYgPiAqIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgIC5jbW50LW1lbS1ndWVzdCB7IC8v67mE7ZqM7JuQXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOmNhbGMoMTAwJSAtICg1MCUgLSAtNXB4KSk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pe1xuICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6MjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jbW50LW1lbS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OjVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvYm9hcmRfbWVtX2ljb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAmLnBhc3N3b3JkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9ib2FyZF9wYXNzd29yZF9pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAuY21udC1pbnB1dC10ZXh0IHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBoZWlnaHQ6MzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDo1cHg7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6MTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSl7XG4gICAgICAgIHdpZHRoOjE1MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNtbnQtaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OjEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL2JvYXJkX21lbV9pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgICAgY29sb3I6I2FhYTtcbiAgICB9XG4gICAgLmNtbnQtaW5wdXQtdGV4dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OjIwcHg7XG4gICAgICBjb2xvcjojYWFhO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9ib2FyZF9tZW1faWNvbi5zdmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246MTBweDtcbiAgICB9XG4gICAgLmNtbnQtaW5wdXQtdGV4dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDoyMHB4O1xuICAgICAgY29sb3I6I2FhYTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvYm9hcmRfbWVtX2ljb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSl7XG4gICAgICAuY21udC1pbnB1dC10ZXh0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgIH1cbiAgICAgIC5jbW50LWlucHV0LXRleHQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgfVxuICAgICAgLmNtbnQtaW5wdXQtdGV4dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDpub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0ZXh0YXJlYXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHJlc2l6ZTpub25lO1xuICAgIG91dGxpbmU6bm9uZTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiNhYWE7XG4gICAgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiNhYWE7XG4gICAgfVxuICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjojYWFhO1xuICAgIH1cbiAgfVxuICAuY21udC10eXBpbmctd3JhcCB7XG4gICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgIHBhZGRpbmc6NXB4IDA7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtcbiAgICAuY21udC1jb3VudGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OjM3cHg7XG4gICAgfVxuICB9XG59XG4vLyDrjJPquIAgdmlldyBjb250YWluXG4uY21udF9mb3JtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ib2FyZC1jbW50LXdyYXB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBmb250LWZhbWlseTokZm9udC1kb3R1bTtcbiAgLnRvdGFsLWNtbnQtY250e1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgZm9udCA6IHtcbiAgICAgIHNpemU6IDEycHg7XG4gICAgICBmYW1pbHk6ICRmb250LWRvdHVtO1xuICAgICAgd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIGNvbG9yOiAjMjIyO1xuICB9XG4gIC5sb2FkTW9yZSBidXR0b257XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBtYXJnaW4tYm90dG9tOjMwcHg7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgZm9udCA6IHtcbiAgICAgIHNpemU6MTNweDtcbiAgICAgIGZhbWlseTogJGZvbnQtNTAwO1xuICAgICAgd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIGZvbnQtZmFtaWx5OiRmb250LWRvdHVtO1xuICAgIGJvcmRlcjoxcHggc29saWQgI2RkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG4gIC5saXN0LWl0ZW17IC8vIGxpc3RcbiAgICBtaW4taGVpZ2h0OjEwMHB4O1xuICAgIGJvcmRlci1ib3R0b20gOjFweCBzb2xpZCAjZGRkO1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbiAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgIzIyMjtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206NTBweDtcbiAgICB9XG4gICAgLnJlLWl0ZW17XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAyMnB4IDIwcHg7XG4gICAgfVxuICAgICYuY21udC1ub3RpY2UgLnJlLWl0ZW0geyAvLyDrjJPquIAg66eo7JyEIOqzteyngOyCrO2VrVxuICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjojZjlmOWY5O1xuICAgIH1cbiAgfVxuICAubmFtZS1kYXRlIHtcbiAgICBzdHJvbmd7XG4gICAgICBsZXR0ZXItc3BhY2luZzotMC4wNWVtO1xuICAgICAgZm9udCA6IHtcbiAgICAgICAgc2l6ZTogMTRweDtcbiAgICAgICAgZmFtaWx5OiAkZm9udC03MDA7XG4gICAgICAgIHdlaWdodDogNzAwO1xuICAgICAgfVxuICAgICAgY29sb3I6ICMyMjI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuICAgIHNwYW57XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgfVxuICAgIC5kZWxldGVfYnRuIHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtO1xuICAgICAgY29sb3I6IzIyMjtcbiAgICB9XG4gIH1cbiAgLmNtbnQtbm90aWNlIC5uYW1lLWRhdGUgc3Ryb25nIHsgLy8g64yT6riAIOunqOychCDqs7Xsp4Dsgqztla0g7J2066+47KeA7IKs7Jqp7IucXG4gICAgLy8gcGFkZGluZy1sZWZ0OjIwcHg7XG4gICAgLy8gYmFja2dyb3VuZDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9pY29uX25vdGljZS5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAvLyBjb2xvcjogI2Y1Mzc1MTtcbiAgfVxuXG4gIC5jbW50LWNvbnRlbnR7XG4gICAgcGFkZGluZy10b3A6MThweDtcbiAgICBsaW5lLWhlaWdodDoyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzU1NTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9XG4gIC5jbW50LXJlcmVwbHktY291bnR7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgYXtcbiAgICAgIG91dGxpbmU6MFxuICAgIH1cbiAgfVxuICAuY21udC1pbmZve1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogN3B4O1xuICAgIHRvcDogMTFweDtcbiAgICAuY21udC1pbmZvLW9wZW57XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgYm9yZGVyOjA7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL2NtbnRfbW9yZS5wbmcpIG5vLXJlcGVhdCA1MCU7XG4gICAgICBvdXRsaW5lOjBcbiAgICB9XG4gICAgLm1vZGlmeXtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTNweDtcbiAgICAgIHRvcDogMjVweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICB6LWluZGV4OjE7XG4gICAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvYXJ3X21vcmUucG5nKSBuby1yZXBlYXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jbW50LWluZm8gdWx7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkO1xuICAgIGxpIGF7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOjgwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbiAgLmxpc3QtaXRlbTpsYXN0LWNoaWxkIC5yZXBseS1saXN0cy13cmFwe1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7XG4gIH1cbn0vLyBlbmQgb2YgYm9hcmQtY21udC13cmFwXG5cbi5yZXBseS1saXN0cy13cmFwe1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO1xuICAmLm9ue1xuICAgIGRpc3BsYXk6YmxvY2tcbiAgfVxuICAucmUtaXRlbS13cml0ZXtcbiAgICBwYWRkaW5nOjIwcHggMjBweCA3cHggNTBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL2ljb19yZS5wbmcpIG5vLXJlcGVhdCAyMXB4IDQycHg7XG4gIH1cbiAgLnJlcGx5LWxpc3Rze1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBsaXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMjhweCAwO1xuICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgI2U5ZTllOTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvaWNvX3JlLnBuZykgbm8tcmVwZWF0IDFweCAyNHB4O1xuICAgICAgLmNtbnQtY29udGVudHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICAgIGxpOmZpcnN0LWNoaWxke1xuICAgICAgYm9yZGVyLXRvcDowXG4gICAgfVxuICB9XG5cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAg6rKM7Iuc66y8IOu5hOuwgOuyiO2YuCDtmZTrqbRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmJvYXJkLXBhc3N3b3JkLXdyYXAgLmZvcm0td3JhcCB7IC8vbG9naW4g6rO8IOqwmeydgCDtj7xcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzcwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAuZm9ybS10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzIyMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAg7JWE7J207L2YICjssqjrtoDtjIzsnbws6rO17KeA7IKs7ZWtLOu5hOuwgOq4gClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmJvYXJkLWxpc3QtaW1nIHtcbiAgd2lkdGg6MTRweDtcbiAgbWFyZ2luOjAgM3B4IDAgNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAg6rKA7IOJIGNvbW1vbi1zZWFyY2hlcjFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuJE5BTUVTUEFDRSA6IFwiLmNvbW1vbi1zZWFyY2hlci1zdHlsZTFcIjtcbiN7JE5BTUVTUEFDRX0ge1xuICBwYWRkaW5nLWJvdHRvbToyMHB4O1xuICBmb250LXNpemU6IDA7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTozMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIGZvcm17XG4gICAgJiA+ICoge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgLnNlbGVjdC13cmFwe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuc2VsZWN0LXdyYXA6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2Zykgbm8tcmVwZWF0O1xuICAgIH1cbiAgICBzZWxlY3R7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7IC8vIHRleHQg7IiY7KeB7KCV66CsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNlMWUxZTE7XG4gICAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogIzE0MTExNTtcbiAgICAgIG91dGxpbmU6bm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXR7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNlMWUxZTE7XG4gICAgICBvdXRsaW5lOm5vbmU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1N3B4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCkge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICB9XG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiNhYWE7XG4gICAgICB9XG4gICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlcntcbiAgICAgICAgY29sb3I6I2FhYTtcbiAgICAgIH1cbiAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiNhYWE7XG4gICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbntcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcjI7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIGVuZCBvZiBmb3JtXG59XG5cbiIsIiROQU1FU1BBQ0UgOiBcIi5pbWctbGlzdC1zdHlsZTFcIjtcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgICAgaW1nLWxpc3Qtc3R5bGUxXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiN7JE5BTUVTUEFDRX0ge1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICBtYXJnaW4tbGVmdDotMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6LTE1cHg7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cbiAgLmltYWdlLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA4MnB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIC5iZy1pbWcge1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO1xuICB9XG4gIC50ZXh0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogOTdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0N3B4O1xuICAgIGZvbnQgOiB7XG4gICAgICBzaXplOjExcHg7XG4gICAgICBmYW1pbHk6ICRmb250LWRvdHVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICBwYWRkaW5nOjI1cHggMTVweCAyOHB4O1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICBmb250IDoge1xuICAgICAgICBzaXplOjE0cHg7XG4gICAgICAgIGZhbWlseTogJGZvbnQtNTAwO1xuICAgICAgICB3ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgICAgZm9udCA6IHtcbiAgICAgICAgICBzaXplOjEycHg7XG4gICAgICAgICAgd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZmFtaWx5OiAkZm9udC1kb3R1bTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29sb3I6IzIyMjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU0O1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgfVxuICB9XG5cbiAgLmdhbGxlcnktbGlzdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHNtKSB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICMyMjI7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgICAgYm9yZGVyLXRvcDpub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAuNHM7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNHM7XG4gICAgfVxuICAgICY6aG92ZXIgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAkZ19wb2ludC1mb250LWNvbG9yO1xuICAgIH1cblxuICAgIC5pbWFnZS1saXN0OjphZnRlciB7XG4gICAgICBjb250ZW50OlwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIH1cbiAgICAudGV4dC13cmFwIC50ZXh0OmFmdGVye1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXRvcDotNy41cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX3JpZ2h0LnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihzbSkge1xuICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHNtKSB7XG4gICAgLmxpc3QtaW5uZXItd3JhcCB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgLjRzO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuNHM7XG4gICAgfVxuICAgIC5saXN0LWlubmVyLXdyYXA6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIC5iZy1pbWcge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgfVxuICAgIH1cbiAgfSBcbn0iLCIkTkFNRVNQQUNFIDogXCIuaW1nLWxpc3Qtc3R5bGUyXCI7XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAgIGltZy1saXN0LXN0eWxlMlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uZ2FsbGVyeS1hamF4LWxpc3Qtd3JhcHtcbiAgb3BhY2l0eTogMDtcbn1cbi5nYWxsZXJ5LWFqYXgtbGlzdC13cmFwe1xuICBhbmltYXRpb246IG9wYWNpdHlBbmltYXRpb24gMXMgLjVzIGZvcndhcmRzO1xufVxuI3skTkFNRVNQQUNFfSB7XG4gIG1hcmdpbjogMCAtNXB4O1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICBtYXJnaW46IDAgLTElO1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gIH1cbiAgLyrrpqzsiqTtirgg6rCE6rKp7KGw7KCIKi9cbiAgW2NsYXNzKj0nY29sLSddIHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIHBhZGRpbmc6IDAgMSU7XG4gICAgfVxuICB9XG4gIC5pbWFnZS13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjoxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgLmJnLWltZyB7XG4gICAgICBwYWRkaW5nLXRvcDogNjQuOSU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cztcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7XG4gICAgfVxuICB9XG4gIC8q66as7Iqk7Yq4IGhvdmVyIOydtO2Ome2KuCovXG4gIFtjbGFzcyo9J2NvbC0nXTpob3ZlciAuYmctaW1nIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZzoyMHB4IDE1cHggMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjoxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgZm9udCA6IHtcbiAgICAgIHNpemU6MTJweDtcbiAgICAgIGZhbWlseTogJGZvbnQtZG90dW07XG4gICAgfVxuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XG4gICAgICBwYWRkaW5nLXRvcDoyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206MjhweDtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY2O1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42NjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRhdGUge1xuICAgICAgZm9udC1zaXplOiAxYXB4O1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIkTkFNRVNQQUNFIDogXCIuaW1nLWxpc3Qtc3R5bGUzXCI7XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAgIGltZy1saXN0LXN0eWxlM1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jeyROQU1FU1BBQ0V9IHtcbiAgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjYlO1xuICAgIG1hcmdpbi1yaWdodDogLTEuNiU7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICAvKuumrOyKpO2KuCDqsITqsqnsobDsoIgqL1xuICBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNiU7XG4gICAgcGFkZGluZy1yaWdodDogMS42JTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG4gIH1cbiAgLmltYWdlLXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmltYWdlLXdyYXAgLmJnLWltZyB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIC43cztcbiAgfVxuICAudGV4dC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzoyMHB4IDAgMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW07XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgIHBhZGRpbmc6MzBweCAwIDA7XG4gICAgfVxuICAgIC5lLXN0YXR1cyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRnX3BvaW50LXRoZW1lLWNvbG9yO1xuICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBjb2xvcjojZmZmO1xuICAgICAgJi5lbmQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjojNjY2O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBmb250IDoge1xuICAgICAgICAgIHNpemU6MTRweDtcbiAgICAgICAgICBmYW1pbHk6ICRmb250LTUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6MS40NDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgZm9udCA6IHtcbiAgICAgICAgc2l6ZToxNHB4O1xuICAgICAgICBmYW1pbHk6ICRmb250LTUwMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCkge1xuICAgICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICAgIGZvbnQgOiB7XG4gICAgICAgICAgc2l6ZToxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb2xvcjojMjIyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmRhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDo1cHg7XG4gICAgICBmb250LXNpemU6MTFweDtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkTkFNRVNQQUNFIDogXCIuYm9hcmQtdmlldy1zdHlsZTFcIjtcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgICAgICAgYm9hcmQtdmlldy1zdHlsZTFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyrqsozsi5ztjJAg7IOB7IS467O06riwIOyKpO2DgOydvCAxKi9cbiN7JE5BTUVTUEFDRX0ge1xuICAmIHtcbiAgICBjb2xvcjojMjIyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZG90dW07XG4gIH1cbiAgLyrtg4DsnbTti4Ag7JiB7JetKi9cbiAgLnRpdGxlLXdyYXB7XG4gICAgcGFkZGluZzogMTZweCAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzMzO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC00MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ib2FyZC12aWV3LWluZm8ge1xuICAgIHBhZGRpbmctdG9wOjE1cHg7XG4gICAgKntcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6IzU1NTtcbiAgICB9XG4gICAgLy8gLmRhdGUge1xuICAgIC8vIH1cbiAgICAmID4gKjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTFweDtcbiAgICAgIG1hcmdpbjogMCA5cHggLTFweCAxMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgICB9XG4gICAgJiA+ICo6bGFzdC1jaGlsZDphZnRlcntcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLyrsu6jthZDsuKAg7JiB7JetKi9cbiAgLmJvYXJkLWNvbnRlbnQtd3JhcHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBsaW5lLWhlaWdodDogMS42OTtcbiAgICBwYWRkaW5nOjI1cHggMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcbiAgICB9XG4gIH1cblxuICAvKu2MjOydvOyyqOu2gCDsmIHsl60qL1xuICAuYm9hcmQtZmlsZS13cmFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBwYWRkaW5nOiA5cHggMTBweCA3cHg7XG4gICAgcGFkZGluZzogN3B4IDEwcHggNXB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OjE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjE1cHg7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIC5maWxlLXRleHQge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgdG9wOiAxM3B4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5ib2R5e1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OjYwcHg7XG4gICAgICBjb2xvcjojNjY2O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDo3MHB4O1xuICAgICAgfVxuICAgICAgLmFkZC1maWxle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6MjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC8vIG1hcmdpbjoxMHB4IDEwcHggMTBweCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8q7J207KCE6riAIOuLpOydjOq4gCDrp4Htgawg7JiB7JetKi9cbiAgLnBvc3QtbGluay13cmFwe1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICAgIFtjbGFzcyo9Jy1wb3N0LWxpbmsnXXtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgIH1cbiAgICAubGluay10aXRsZXtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICB9XG4gICAgfVxuICAgIC5saW5rLWJvZHl7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMjBweDtcbiAgICAgIH1cbiAgICAgIC50aXRsZXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5kYXRle1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubm9uZS1wb3N0e1xuICAgICAgY29sb3I6Izk5OVxuICAgIH1cbiAgfVxufVxuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICAgICDsnbTsoITri6TsnYwgcHJldm5leHQtYnRuLXN0eWUxXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiROQU1FU1BBQ0UgOiBcIi5wcmV2bmV4dC1idG4tc3R5ZTFcIjtcbiN7JE5BTUVTUEFDRX0ge1xuICBtYXJnaW4tdG9wOjIwcHg7XG4gIGZvbnQtc2l6ZTowO1xuICAuYnRuLWljb24tbGVmdCxcbiAgLmJ0bi1pY29uLXJpZ2h0IHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDpjYWxjKDUwJSAtIDVweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHNtKSB7XG4gICAgICB3aWR0aDo5MHB4O1xuICAgIH0gXG4gIH1cbiAgLmJ0bi1pY29uLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDo1cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICYgPiBzcGFuOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICB3aWR0aDoyMHB4O1xuICAgICAgaGVpZ2h0OjIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9sZWZ0LnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbiAgLmJ0bi1pY29uLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgJiA+IHNwYW46YWZ0ZXIge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgd2lkdGg6MjBweDtcbiAgICAgIGhlaWdodDoyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fcmlnaHQuc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuICAuYnRuLWljb24tbGVmdC5kaXNhYmxlZCxcbiAgLmJ0bi1pY29uLXJpZ2h0LmRpc2FibGVke1xuICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6bm9uZTtcbiAgICBvcGFjaXR5Oi42O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC8v66qp66GdXG4gIC5ib2FyZC12aWV3LWxpc3QtYnRue1xuICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgd2lkdGg6OTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICAgIGF7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiJE5BTUVTUEFDRSA6IFwiLmJvYXJkLXdpcnRlLXN0eWxlMVwiO1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5kZWZhdWx0LWJvYXJkLXdpcnRlLXN0eWxlMVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKuq4gOyTsOq4sCDtjpjsnbTsp4AqL1xuI3skTkFNRVNQQUNFfSB7XG4gIG1hcmdpbi10b3A6NjBweDtcbiAgLndyaXRlLWhlYWRlciB7IC8vIOuniOydtO2OmOydtOyngFxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udCA6IHtcbiAgICAgIGZhbWlseTogJGZvbnQtNTAwO1xuICAgICAgd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cbiAgLndyaXRlX2lubmVyIHtcbiAgICBmb250IDoge1xuICAgICAgc2l6ZTogMTJweDtcbiAgICAgIGZhbWlseTogJGZvbnQtZG90dW07XG4gICAgfVxuICAgIGNvbG9yOiMyMjI7XG4gIH1cbiAgdWwge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICB9XG4gIFxuICBsaSxcbiAgLml0ZW1zIHsgLy8g6rKM7Iuc7YyQ6riA7JOw6riwIOy2lOqwgOuNsOydtO2EsFxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIH1cbiAgICAmLmJjTGlua1dyYXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgfVxuICB9XG5cbiAgLndyaXRlLWFkbWluLXdyYXAsXG4gIC53cml0ZS1hZG1pbi13cmFwIH4gLndyaXRlLW5hbWUtd3JhcCB7IC8vIOq0gOumrOyekFxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6NTAlO1xuICAgIH1cbiAgfVxuICAud3JpdGUtYWRtaW4td3JhcCB+IC53cml0ZS1uYW1lLXdyYXAge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XG4gICAgICBib3JkZXItdG9wOm5vbmU7XG4gICAgICAuY29udGVudF9pbnB1dCB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIOu5hO2ajOybkCDruYTrsIDrsojtmLgg7ZmV7J24XG4gIC53cml0ZS1wdy13cmFwLFxuICAud3JpdGUtcHctY29tZmlybSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XG4gICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDo1MCU7XG4gICAgICAuY29udGVudF9pbnB1dCB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53cml0ZS1wdy1jb21maXJtIHtcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgYm9yZGVyLXRvcDpub25lO1xuICAgIH1cbiAgfVxuICAud3JpdGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICB9XG4gIFxuICAuY29udGVudF9pbnB1dCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgLm1haWwtdGV4dHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRleHRfZWRpdCAud3JpdGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOjE1cHggMTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMzkycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzkycHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG4gIFxuICAudGV4dF9lZGl0IC5jb250ZW50X2lucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAuZm9ybV9pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMjIyO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiNhYWE7XG4gICAgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiNhYWE7XG4gICAgfVxuICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjojYWFhO1xuICAgIH1cbiAgfVxuICBzZWxlY3QuZm9ybV9pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC92aWV3cy9yZXMvaW1ncy9ib2FyZC9pY29uLW9wdGlvbmxpc3QucG5nKSBuby1yZXBlYXQgcmlnaHQgMTVweCB0b3AgMTFweDtcbiAgfVxuICAuZmlsZWlucHV0IC5mb3JtX2lucHV0e1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbiAgLmNrZV9jb250ZW50cy5ja2VfcmVzZXQge1xuICAgIGhlaWdodDogMzAwcHggIWltcG9ydGFudDtcbiAgfVxuICAuYWRkX2ZpbGVzIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5jb250ZW50X2lucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAuZmlsZV9leHAge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY3VzdG9tIC5idG4tZmlsZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5idG1fYnRucyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIFxuICAvLyBsaW5rIFxuICAud3JpdGUtbGluay13cmFwIHtcbiAgICBoZWlnaHQ6IDU4cHg7XG4gIH1cbiAgLyrssqjrtoDtjIzsnbwqL1xuICAuZmlsZS1hdHRhY2gtd3JhcCAud3JpdGUtdGl0bGUge1xuICAgIGhlaWdodDogNzVweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpIHtcbiAgICAgIGhlaWdodDogNTdweDtcbiAgICB9XG4gICAgLmJ0bi1maWxlLWF0dGFjaCB7IC8v7LKo67aA7YyM7J28IOuyhO2KvFxuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIG1hcmdpbi10b3A6NXB4O1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjojZmZmO1xuICAgICAgZm9udCA6IHtcbiAgICAgICAgZmFtaWx5OiAkZm9udC1kb3R1bTtcbiAgICAgICAgc2l6ZToxMXB4O1xuICAgICAgfVxuICAgICAgY29sb3I6IzYxNjE2MTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5hdHRhY2gtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAqIHtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgZm9udCA6IHtcbiAgICAgICAgc2l6ZTogMTNweDtcbiAgICAgICAgZmFtaWx5OiAkZm9udC0zMDA7XG4gICAgICAgIHdlaWdodDogMzAwO1xuICAgICAgfVxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGNvbG9yOiAjODE4MTgxO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IC8q7Luk7Iqk7YWAIOyytO2BrOuwleyKpCAyKi9cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnN0b3JlZC1maWxlLXdyYXAgLmZpbGUtYXR0YWNoZWQtbGlzdHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjZGRkO1xuICAgIC5maWxlLW5hbWV7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgfVxuICB9XG5cbiAgLy8g67mE67CA6riAIOyEoO2DnVxuICBsaS5zZWNyZXQtdGV4dHtcbiAgICBoZWlnaHQ6NThweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykge1xuICAgIC5tYWlsLXdyYXAgLndyaXRlLXRpdGxle1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG59IiwiLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcInJlcy9zY3NzL19fdmFyaWFibGVzLnNjc3NcIjtcbkBpbXBvcnQgXCJyZXMvc2Nzcy9fX21peGlucy5zY3NzXCI7XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgICAgIGNvbnRhY3Qgd3JpdGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuJE5BTUVTUEFDRSA6IFwiLmJvYXJkLWNvbnRhY3Qtc3R5bGUxXCI7XG4jeyROQU1FU1BBQ0V9IHtcbiAgLmZvcm0td3JhcHtcbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAvLyDssqvrsojsp7ggZm9ybS13YXJwIO2DgOydtO2LgCDrs4Dqsr1cbiAgICAgIC5mb3JtLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0EyQkFBOzttREFFbUQ7Q0FFbkQsQUFBQSxBQUFBLEtBQUMsRUFBTyxXQUFXLEFBQWxCLEVBQW9CLGdCQUFnQixDQUFDO0VBQ3BDLFNBQVMsRUFBQyxJQUFJO0VBQ2QsV0FBVyxFMUJnQkgsMEJBQUM7RTBCZlQsVUFBVSxFQUFDLElBQUk7RUFDZixLQUFLLEVBQUMsSUFBSTtDQXFDWDs7Q0F6Q0QsQUFBQSxBQUtFLEtBTEQsRUFBTyxXQUFXLEFBQWxCLEVBQW9CLGdCQUFnQixHQUsvQixDQUFDLENBQUM7RUFDSixLQUFLLEVBQUMsSUFBSTtDQUNYOztBbEJLRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0drQlp6QyxBQUFBLEFBQUEsS0FBQyxFQUFPLFdBQVcsQUFBbEIsRUFBb0IsZ0JBQWdCLENBQUM7SUFTbEMsU0FBUyxFQUFDLElBQUk7SUFDZCxXQUFXLEUxQlVKLG1CQUFDO0kwQlRSLEtBQUssRUFBQyxJQUFJO0lBQ1YsV0FBVyxFQUFFLEdBQUc7R0E2Qm5CO0dBekNELEFBQUEsQUFhSSxLQWJILEVBQU8sV0FBVyxBQUFsQixFQUFvQixnQkFBZ0IsR0FhN0Is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 */
