/*=============================================================================================
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : Harlan
==============================================================================================*/
/*=============================================================================================
    Company    : PT Web Architect Technology - webarq.com
    Document   : Stylesheet
    Author     : FrontEnd Team
==============================================================================================*/
/* import bourbon - http://bourbon.io/docs */
/* color global
----------------------------------------------------------------------------------------------*/
header.logo-only {
  height: 80px;
}

header.logo-only .logo {
  top: 14px;
  width: 165px;
}

footer .sec-social.only-follow-us .container {
  display: flex;
  justify-content: center;
}

footer .sec-social.only-follow-us .container .col {
  float: none;
  padding-left: 0;
}

.banner-competition {
  margin-bottom: -30px;
}

.see-arrow {
  display: inline-flex;
  color: #132f1c;
  font-size: 16px;
  padding-right: 30px;
  background: url("../images/competition-assets/arrow-see.svg") no-repeat right 4px center;
  transition: all ease-out 0.25s;
  font-weight: 700;
}

.see-arrow:hover {
  transition: all ease-out 0.25s;
  background-position: right 0px center;
}

.btn.rounded-ico {
  width: auto;
  box-sizing: border-box;
  top: auto;
  border-radius: 22px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  border: 2px solid #336d46;
  background: transparent;
  color: #336d46;
  height: 44px;
  line-height: 42px;
  transition: all ease-out 0.25s;
  min-width: 140px;
}

.btn.rounded-ico img {
  width: 24px;
  height: 24px;
  line-height: 1;
  transition: all ease-out 0.25s;
}

@media (hover: hover) {
  .btn.rounded-ico:hover {
    transition: all ease-out 0.25s;
    color: #fff;
    background: #336d46;
  }
  .btn.rounded-ico:hover img {
    filter: invert(100%) sepia(100%) saturate(0) hue-rotate(111deg) brightness(113%) contrast(101%);
    transition: all ease-out 0.25s;
    margin-left: 4px;
  }
}

.btn.rounded-ico.solid {
  background: #336d46;
  cursor: pointer;
  color: #fff;
  padding: 0 30px;
}

@media (hover: hover) {
  .btn.rounded-ico.solid:hover {
    background: #05301a;
    border-color: #05301a;
  }
}

.btn.rounded-ico.grey {
  border-color: #d8d8d8;
  color: #9c9c9c;
}

@media (hover: hover) {
  .btn.rounded-ico.grey:hover {
    background: #d8d8d8;
  }
}

.btn.ico {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  background: #326643;
  border-radius: 8px;
}

.btn.ico img {
  display: block;
  margin-right: 8px;
}

.btn.ico:hover {
  background: #336d46;
}

.btn.ico.outline {
  border: 2px solid #326643;
  background: #fff;
  color: #326643;
}

.btn.ico.add-field {
  border-width: 1px;
  height: 40px;
  line-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
}

.btn.ico.red {
  border: 2px solid #ff5959;
  background: linear-gradient(174deg, #f47753 0%, #ee1f1f 100%);
}

.btn.ico.orange {
  border: 2px solid #f79769;
  background: linear-gradient(174deg, #fbb581 0%, #f79769 100%);
}

.pagination {
  position: relative;
  margin-top: 52px;
}

.pagination ul {
  display: flex;
  margin: 0;
  justify-content: center;
  align-items: center;
}

.pagination ul li {
  margin: 0 10px;
}

.pagination ul li > span {
  display: block;
  height: 36px;
  font-size: 20px;
  color: #999999;
}

.pagination ul li a {
  width: 36px;
  height: 36px;
  line-height: 36px;
  color: #999999;
  font-size: 19px;
  position: relative;
  display: block;
  text-align: center;
  border-radius: 50%;
  transition: all ease-out 0.25s;
}

.pagination ul li a span {
  position: relative;
  z-index: 2;
}

.pagination ul li a:before {
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background: #336d46;
  z-index: 0;
  border-radius: 50%;
  height: 0;
  width: 0;
  transition: all ease-out 0.25s;
  opacity: 0;
}

.pagination ul li a:hover, .pagination ul li a.active {
  color: #fff;
  transition: all ease-out 0.25s;
}

.pagination ul li a:hover:before, .pagination ul li a.active:before {
  height: 100%;
  width: 100%;
  transition: all ease-out 0.25s;
  opacity: 1;
}

.pagination ul li a.prev, .pagination ul li a.next {
  position: relative;
  font-size: 0;
}

.pagination ul li a.prev:hover, .pagination ul li a.next:hover {
  color: #999999;
}

.pagination ul li a.prev::before, .pagination ul li a.next::before {
  display: none;
}

.pagination ul li a.prev::after, .pagination ul li a.next::after {
  content: "";
  position: absolute;
  border-right: 2px solid #999999;
  border-bottom: 2px solid #999999;
  width: 8px;
  height: 8px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.pagination ul li a.prev::after {
  transform: translate(-50%, -50%) rotate(135deg);
}

.drop-select {
  width: 115px;
  position: relative;
}

.drop-select span {
  display: block;
  padding: 6px 16px;
  padding-right: 28px;
  background: #fff url("../images/competition-assets/ico-select.svg") no-repeat right 4px center;
  border: 1px solid #e2e3e3;
  border-radius: 8px;
  line-height: 20px;
  cursor: pointer;
}

.drop-select ul {
  padding: 8px 16px;
  background: #ffffff;
  border: 1px solid #e2e3e3;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  position: absolute;
  top: calc(100% + 2px);
  right: 0;
  left: auto;
  z-index: 3;
  width: 180px;
  display: none;
}

.drop-select ul li a {
  display: inline-flex;
  align-items: center;
  padding: 8px 0;
}

.drop-select ul li a img {
  display: block;
  margin-right: 8px;
}

.text-ckeditor p {
  font-size: 14px;
  line-height: 24px;
}

.text-ckeditor ol,
.text-ckeditor ul {
  margin-bottom: 20px;
  margin-left: 24px;
}

.text-ckeditor ol li,
.text-ckeditor ul li {
  font-size: 14px;
  line-height: 24px;
}

.text-ckeditor ul li {
  list-style: disc;
}

.text-ckeditor ol li {
  list-style: decimal;
}

.wrap-btn-center {
  justify-content: center;
  margin-top: 30px;
  display: flex;
}

.wrap-upload-file {
  position: relative;
}

.wrap-upload-file .input_file {
  width: 100% !important;
  border: 1px dashed #d0d0d1;
  border-radius: 8px;
  height: 120px !important;
  position: relative;
  z-index: 3;
}

.wrap-upload-file .input_file input {
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  height: 100%;
}

.wrap-upload-file .input_file span {
  display: inline-flex;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  padding: 16px;
  padding-left: 44px;
  color: #fff;
  opacity: 0;
  border-radius: 8px;
  margin: 38px 20px;
  background: #326643 url("../images/competition-assets/type-file.svg") no-repeat left 16px center;
}

.wrap-upload-file .input_file span.type-img {
  background: #326643 url("../images/competition-assets/type-img.svg") no-repeat left 16px center;
}

.wrap-upload-file .input_file.have-value span {
  opacity: 1;
}

.wrap-upload-file .input_file.have-value + .note-uploads {
  opacity: 0;
}

.wrap-upload-file .note-uploads {
  padding: 10px;
  padding-left: 50px;
  background: url("../images/competition-assets/leading-icon.svg") no-repeat left top;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.wrap-upload-file .note-uploads label {
  font-size: 14px;
  color: #505051;
  font-weight: 400;
  margin-bottom: 8px;
  line-height: 1.5;
}

.wrap-upload-file .note-uploads label span {
  color: #326643;
}

.wrap-upload-file .note-uploads small {
  display: block;
  font-size: 11px;
  color: #8a8b8b;
}

.wrap-upload-file.small .input_file {
  height: 86px !important;
}

.wrap-upload-file.small .input_file span {
  margin: 20px;
}

.wrap-upload-file.small .note-uploads {
  min-width: 220px;
}

.note-tnc-upload {
  display: block;
  margin-top: 8px;
  color: #505051;
}

.note-tnc-upload a {
  color: #336d46;
  text-decoration: underline;
  font-weight: 600;
}

.competition-popup #boxPop {
  width: 940px;
  box-sizing: border-box;
  margin: 60px auto;
}

.competition-popup #boxPop .close-pop {
  background: transparent;
  right: 8px;
  top: -40px;
  transition: all ease-out 0.25s;
}

.competition-popup #boxPop .close-pop span {
  width: 24px;
}

.competition-popup #boxPop .close-pop:hover {
  transform: scale(0.9);
  transition: all ease-out 0.25s;
}

.competition-popup #boxPop .content_pop {
  border: 2px solid #efefef;
  box-shadow: 0px 4px 40px rgba(71, 71, 71, 0.05);
  border-radius: 16px;
}

.competition-popup #boxPop .content_pop .innerpop {
  padding: 72px 60px;
}

.competition-popup #boxPop .content_pop .btn img {
  margin: 0;
}

.competition-popup #boxPop .title-popup {
  text-align: center;
  margin-bottom: 46px;
}

.competition-popup #boxPop .title-popup h4 {
  font-size: 28px;
  color: #000;
  font-weight: 700;
  margin-bottom: 16px;
}

.competition-popup #boxPop .title-popup p {
  font-size: 19px;
  color: #636363;
}

.competition-popup #boxPop .img-thanks img {
  display: block;
  margin: auto;
}

.competition-popup#popup-login-user #boxPop {
  width: 660px;
}

.competition-popup .form-inner {
  /* width */
  /* Track */
  /* Handle */
  /* Handle on hover */
}

.competition-popup .form-inner ::-webkit-scrollbar {
  width: 6px;
  border-radius: 3px;
}

.competition-popup .form-inner ::-webkit-scrollbar-track {
  background: #d9d9d9;
  border-radius: 3px;
}

.competition-popup .form-inner ::-webkit-scrollbar-thumb {
  background: #326643;
  border-radius: 3px;
}

.competition-popup .form-inner ::-webkit-scrollbar-thumb:hover {
  background: #326643;
}

.competition-popup .form-inner .inner-scroll {
  padding-right: 24px;
  margin-right: -24px;
  max-height: 265px;
  overflow: auto;
}

.competition-popup.popup-small #boxPop {
  width: 480px;
}

.competition-popup.popup-small #boxPop .innerpop {
  padding: 40px 30px 30px;
  text-align: center;
}

.competition-popup.small-padding #boxPop .innerpop {
  padding: 20px 12px;
}

.competition-popup#popup-gallery #boxPop .content_pop {
  width: auto;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop {
  padding: 40px;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery {
  width: 860px;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery .slick-slide {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery .slick-slide > div {
  height: 100%;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery .slick-arrow {
  width: 40px;
  height: 40px;
  margin-top: auto;
}

.competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery .slick-arrow:after {
  background-size: 10px !important;
}

header.header-dashboard {
  height: 80px;
}

header.header-dashboard .container {
  display: flex;
  justify-content: space-between;
}

header.header-dashboard .logo {
  position: relative;
  top: 0;
  margin-left: 0;
  margin-right: auto;
  width: 165px;
}

header.header-dashboard .header-dashboard__right {
  display: flex;
  align-items: center;
}

header.header-dashboard .header-dashboard__right .user-dashboard {
  margin-right: 24px;
}

header.header-dashboard .header-dashboard__right .user-dashboard a {
  color: #fff;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
}

header.header-dashboard .header-dashboard__right .user-dashboard a span {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #132f1c;
  width: 32px;
  height: 32px;
  line-height: 32px;
  border-radius: 50%;
  background: #bcd3c3;
  text-align: center;
  margin-right: 8px;
  position: relative;
}

header.header-dashboard .header-dashboard__right .user-dashboard a span:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  border-radius: 50%;
  background: #e93535;
  top: -3px;
  left: auto;
  right: 0;
  display: none;
}

header.header-dashboard .header-dashboard__right .logout-dashboard {
  padding-left: 32px;
  font-size: 16px;
  line-height: 1.5;
  background: url("../images/competition-assets/ico-logout.svg") no-repeat left center;
  display: inline-flex;
  color: #fff;
}

.container.medium {
  width: 940px;
}

.middle.competition-middle {
  background: url("../images/competition-assets/bg-competition-middle.png") repeat-x left bottom;
  min-height: calc(100vh - 200px);
}

.competition-inner {
  position: relative;
  padding: 80px 0 180px;
}

.title-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
}

.title-section h3 {
  margin-right: auto;
  font-size: 28px;
  line-height: 1.1;
  font-weight: 700;
  color: #000;
  margin-bottom: 0;
}

.title-section .see-arrow {
  margin-left: auto;
}

.wrap-login {
  display: flex;
}

.wrap-login__img {
  width: 50%;
  height: 100vh;
  min-height: 600px;
  position: relative;
}

.wrap-login__img:after {
  position: absolute;
  content: "";
  background: radial-gradient(95.37% 50% at 50% 50%, rgba(19, 47, 28, 0) 0%, rgba(19, 47, 28, 0.7) 100%);
  opacity: 0.5;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

.wrap-login__img img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
  object-position: top;
}

.wrap-login__form {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wrap-login__form--box {
  width: 400px;
}

.wrap-login__form--box .logo-fc {
  margin-bottom: 24px;
}

.wrap-login__form--box .logo-fc img {
  display: block;
}

.wrap-login__form--box h3 {
  font-size: 33px;
  color: #121313;
  line-height: 1.2125;
  margin-bottom: 16px;
}

.wrap-login__form--box p {
  font-size: 16px;
  color: #505051;
}

.select2-container.select2-container--default.select2-container--open {
  z-index: 1000000;
}

.form-inner {
  margin-top: 32px;
}

.form-inner .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.form-inner .row .space {
  display: block;
  width: 100%;
}

.form-inner .row .col {
  width: 100%;
  margin-bottom: 20px;
}

.form-inner .row .col.col-50 {
  width: calc(50% - 20px);
}

.form-inner .row .col hr {
  border: none;
  border-top: 1px solid #d9d9d9;
  margin-top: 20px;
}

.form-inner .row .col label {
  display: block;
  color: #636364;
  font-size: 13px;
  font-family: helvetica;
  margin-bottom: 4px;
  line-height: 1.2;
}

.form-inner .row .col label i {
  color: #ec3a24;
}

.form-inner .row .col input[type="text"],
.form-inner .row .col input[type="email"],
.form-inner .row .col input[type="password"],
.form-inner .row .col input[type="number"],
.form-inner .row .col select,
.form-inner .row .col textarea {
  border: 1px solid #e2e3e3;
  border-radius: 8px;
  width: 100%;
  display: block;
  padding: 14px 16px;
  font-size: 16px;
  box-sizing: border-box;
  transition: border ease-out 0.25s;
}

.form-inner .row .col input[type="text"]:focus,
.form-inner .row .col input[type="email"]:focus,
.form-inner .row .col input[type="password"]:focus,
.form-inner .row .col input[type="number"]:focus,
.form-inner .row .col select:focus,
.form-inner .row .col textarea:focus {
  border: 1px solid #326643;
  transition: border ease-out 0.25s;
}

.form-inner .row .col input[type="text"]:disabled,
.form-inner .row .col input[type="email"]:disabled,
.form-inner .row .col input[type="password"]:disabled,
.form-inner .row .col input[type="number"]:disabled,
.form-inner .row .col select:disabled,
.form-inner .row .col textarea:disabled {
  background: #f4f4f4;
}

.form-inner .row .col select {
  background: #fff url("../images/competition-assets/ico-select.svg") no-repeat right 10px center;
  padding-right: 30px;
}

.form-inner .row .col button {
  border: 1px solid #326643;
  border-radius: 8px;
  height: 48px;
  line-height: 48px;
  padding: 0 20px;
  background: transparent;
  cursor: pointer;
  color: #326643;
  transition: all ease-out 0.25s;
}

.form-inner .row .col button:hover {
  background: #326643;
  color: #fff;
  transition: all ease-out 0.25s;
}

.form-inner .row .col button.btn {
  border: none;
  width: 100%;
  box-shadow: 0px 4px 10px rgba(1, 48, 86, 0.1);
  border-radius: 8px;
  background: #326643;
  height: 48px;
  line-height: 48px;
  font-weight: 700;
  font-size: 16px;
  color: #fff;
  cursor: pointer;
}

.form-inner .row .col button.btn:hover {
  background: #05301a;
  transition: all ease-out 0.25s;
}

.form-inner .row .col .select2-container {
  z-index: 1000000;
}

.form-inner .row .col .select2-container .select2-selection--single {
  height: 47px;
}

.form-inner .row .col .select2-container--default .select2-selection--single {
  border-color: #e2e3e3;
  border-radius: 8px;
}

.form-inner .row .col .select2-container--default
.select2-selection--single
.select2-selection__arrow {
  top: 0;
  right: 0;
  width: auto;
  bottom: 0;
  height: auto;
}

.form-inner .row .col .select2-container--default
.select2-selection--single
.select2-selection__arrow
b {
  background: url("../images/competition-assets/ico-select.svg") no-repeat right 10px center;
  border: none;
  width: 40px;
  height: 20px;
  top: 0;
  right: 0;
  left: auto;
  bottom: 0;
  margin: auto 0;
}

.form-inner .row .col .select2-container
.select2-selection--single
.select2-selection__rendered {
  padding: 9px 36px 9px 16px;
  font-size: 16px;
  color: #666;
}

.form-inner .row .col .radio-inline {
  display: flex;
  gap: 20px;
}

.form-inner .row .col .radio > label {
  color: #505051;
  display: block;
  font-size: 14px;
  position: relative;
  padding-left: 26px;
  margin: 12px 0 !important;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.form-inner .row .col .radio > label:hover input ~ .checkmark {
  border-color: #1d5f3c;
}

.form-inner .row .col .radio > label input:checked ~ .checkmark {
  border-color: #1d5f3c;
}

.form-inner .row .col .radio > label input:checked ~ .checkmark:after {
  display: block;
}

.form-inner .row .col .radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.form-inner .row .col .radio .checkmark {
  background-color: transparent;
  border: 1px solid #969696;
  border-radius: 50%;
  height: 18px;
  left: 0;
  position: absolute;
  top: -2px;
  width: 18px;
}

.form-inner .row .col .radio .checkmark:after {
  background-color: #1d5f3c;
  border-radius: 50%;
  border: 3px solid #fff;
  content: "";
  display: none;
  height: 10px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 10px;
  transform: translate(-50%, -50%);
}

.form-inner .row .col .checkbox.small > label {
  font-size: 14px;
}

.form-inner .row .col .checkbox > label {
  color: #717070;
  cursor: pointer;
  display: block;
  font-size: 16px;
  margin: 12px 0 !important;
  padding-left: 35px;
  position: relative;
  user-select: none;
}

.form-inner .row .col .checkbox > label:hover input ~ .checkmark {
  border-color: #1d5f3c;
}

.form-inner .row .col .checkbox > label input:checked ~ .checkmark {
  background-color: #1d5f3c;
  border: 1px solid #1d5f3c;
}

.form-inner .row .col .checkbox > label input:checked ~ .checkmark:after {
  display: block;
}

.form-inner .row .col .checkbox input {
  cursor: pointer;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.form-inner .row .col .checkbox .checkmark {
  background-color: transparent;
  border: 1px solid #c7c6c6;
  border-radius: 2px;
  height: 22px;
  left: 0;
  position: absolute;
  top: 0px;
  width: 22px;
}

.form-inner .row .col .checkbox .checkmark:after {
  left: 6px;
  content: "";
  display: none;
  top: 2px;
  width: 6px;
  height: 10px;
  position: absolute;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.form-inner .row .col.with-forgot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.form-inner .row .col.with-forgot .forgot-pass {
  display: block;
  font-size: 13px;
  color: #326643;
  line-height: 1.4;
  margin-bottom: 4px;
}

.form-inner .row .col.back {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.form-inner .row .col.back a {
  display: block;
  font-size: 13px;
  color: #326643;
  line-height: 1.4;
  margin-bottom: 4px;
  margin-top: 20px;
  font-weight: 600;
}

.form-inner .row .col.back a:hover {
  text-decoration: underline;
}

.form-inner .row .col.with-back {
  display: flex;
  justify-content: space-between;
}

.form-inner .row .col.with-back .rounded-ico {
  min-width: 140px;
}

.form-inner .row .col.with-back .rounded-ico.solid {
  width: auto;
  border-radius: 22px;
  height: 44px;
  line-height: 44px;
}

.form-inner .row .col.with-back.center {
  justify-content: center;
}

.form-inner .row .col .password-input {
  position: relative;
}

.form-inner .row .col .password-input input[type="text"],
.form-inner .row .col .password-input input[type="password"] {
  padding-right: 40px;
}

.form-inner .row .col .password-input .see-password {
  position: absolute;
  right: 10px;
  top: 12px;
  left: auto;
  cursor: pointer;
  width: 24px;
  height: 24px;
}

.form-inner .row .col .password-input .see-password img {
  margin: 0 !important;
}

.form-inner .row .col .password-input .see-password:after {
  width: 2px;
  height: 80%;
  content: "";
  position: absolute;
  background: #8a8b8b;
  top: -1px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(40deg);
  opacity: 0;
  transition: all ease-out 0.2s;
}

.form-inner .row .col .password-input .see-password.act:after {
  opacity: 1;
  transition: all ease-out 0.2s;
}

.form-inner .row .col .box-upload {
  background: #fff;
  border: 1px dashed #d0d0d1;
  border-radius: 8px;
  margin-bottom: 10px;
  padding: 12px;
  position: relative;
}

.form-inner .row .col .box-upload > .label {
  display: flex;
}

.form-inner .row .col .box-upload .trigger-upload {
  background: url(../images/competition-assets/leading-icon-2.svg) no-repeat right 27px center, #1d5f3c;
  border: 1px solid #1d5f3c;
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  height: 48px;
  padding: 0 54px 0 27px;
  position: relative;
}

.form-inner .row .col .box-upload .trigger-upload.disabled {
  opacity: 0.7;
}

.form-inner .row .col .box-upload .trigger-upload input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  cursor: pointer;
  height: 100%;
  left: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 3;
}

.form-inner .row .col .box-upload .trigger-upload span {
  color: #fff;
  line-height: 46px;
}

.form-inner .row .col .box-upload .trigger-upload .error {
  position: absolute;
  top: 0;
  left: 0;
}

.form-inner .row .col .box-upload .trigger-upload label.error {
  top: 100%;
}

.form-inner .row .col .box-upload .note {
  color: #505051;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  margin: 6px 14px 0;
}

.form-inner .row .col .box-upload .note small {
  display: block;
  color: #8a8b8b;
}

.form-inner .row .col .box-upload .list-upload {
  display: flex;
  flex-wrap: wrap;
}

.form-inner .row .col .box-upload .list-upload .img {
  margin: 17px 20px 0 0;
  position: relative;
}

.form-inner .row .col .box-upload .list-upload .img figure {
  border-radius: 4px;
  height: 108px;
  overflow: hidden;
  position: relative;
  width: 162px;
}

.form-inner .row .col .box-upload .list-upload .img figure::before {
  background: #000;
  content: "";
  height: 100%;
  position: absolute;
  opacity: 0.3;
  width: 100%;
}

.form-inner .row .col .box-upload .list-upload .img figure img {
  display: block;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.form-inner .row .col .box-upload .list-upload .img figure figcaption {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #fff;
  left: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  margin: 0 10px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.form-inner .row .col .box-upload .list-upload .img .del-img {
  background: #fff;
  border: 1px solid #e5e8ea;
  border-radius: 50%;
  cursor: pointer;
  height: 24px;
  position: absolute;
  right: 6px;
  top: 6px;
  width: 24px;
}

.form-inner .row .col .box-upload .list-upload .img .del-img::before, .form-inner .row .col .box-upload .list-upload .img .del-img::after {
  background: #333;
  border-radius: 2px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(45deg);
  width: 12px;
}

.form-inner .row .col .box-upload .list-upload .img .del-img::before {
  transform: rotate(-45deg);
}

.form-inner .row .col label.error {
  color: #cd1000;
  margin: 5px 0 0;
}

.form-inner .row .col .control-checkbox {
  display: flex;
  flex-direction: column;
  position: relative;
}

.form-inner .row .col .control-checkbox .error {
  order: 3;
}

.list-competition {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.list-competition--item {
  width: calc((100% - 64px) / 3);
  margin-right: 32px;
  background: #fff;
  box-shadow: 0px 4px 20px rgba(3, 23, 13, 0.05);
  border-radius: 24px;
  overflow: hidden;
  padding-bottom: 66px;
  position: relative;
  margin-bottom: 40px;
}

.list-competition--item:hover figure img {
  transition: all ease-out 0.2s;
  transform: scale(1.05);
}

.list-competition--item .btn.rounded-ico {
  position: absolute;
  left: 24px;
  bottom: 24px;
  right: 24px;
}

.list-competition--item figure {
  display: block;
  overflow: hidden;
}

.list-competition--item figure img {
  display: block;
  width: 100%;
  transition: all ease-out 0.2s;
}

.list-competition--item figure a {
  display: block;
}

.list-competition--item:nth-child(3n) {
  margin-right: 0;
}

.list-competition--item--desc {
  padding: 24px;
  padding-bottom: 8px;
}

.list-competition--item--desc h4 {
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 18px;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.list-competition--item--desc .time-competition,
.list-competition--item--desc .loc-competition {
  display: block;
  padding-left: 28px;
  background: url("../images/competition-assets/ico-time.svg") no-repeat left top;
  font-size: 13px;
  line-height: 20px;
  margin-bottom: 12px;
  color: #2e2e2e;
}

.list-competition--item--desc .loc-competition {
  display: block;
  background: url("../images/competition-assets/ico-location.svg") no-repeat left center;
}

.list-competition.last {
  margin-bottom: 0;
}

.detail-competition .text-detail {
  text-align: center;
  padding: 0 50px;
}

.detail-competition .text-detail h1,
.detail-competition .text-detail h3 {
  font-size: 40px;
  text-align: center;
  color: #000;
  font-weight: 700;
  margin-bottom: 20px;
}

.detail-competition .text-detail h3 {
  font-size: 32px;
}

.detail-competition .text-detail p {
  color: #636363;
  font-size: 19px;
  text-align: center;
  line-height: 1.6;
}

.detail-competition .text-detail p i {
  font-weight: 700;
}

.detail-competition .text-detail p span,
.detail-competition .text-detail p a {
  font-weight: 700;
}

.detail-competition .text-detail h4 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
  color: #000;
}

.detail-competition .text-detail h4.no-margin {
  margin-bottom: 0;
}

.detail-competition .text-detail hr {
  margin-left: -50px;
  margin-right: -50px;
}

.detail-competition hr {
  border-top: 1px solid #d9d9d9;
  opacity: 0.5;
  margin: 56px 0;
}

.detail-competition .wrap-ico {
  display: flex;
  justify-content: center;
  margin: 24px 0;
}

.detail-competition .wrap-ico span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  padding-left: 32px;
  line-height: 24px;
  text-align: left;
}

.detail-competition .wrap-ico span.time {
  background: url("../images/competition-assets/ico-time.svg") no-repeat left top;
  background-size: 24px;
}

.detail-competition .wrap-ico span.loc {
  background: url("../images/competition-assets/ico-location.svg") no-repeat left top;
  background-size: 24px;
  margin-right: 50px;
}

.detail-competition .wrap-btn {
  display: flex;
  justify-content: center;
  margin-top: 64px;
}

.detail-competition .wrap-btn a {
  background: linear-gradient(129.46deg, #45865a 24.14%, #326643 72.57%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 20px;
  font-weight: 700;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 15px;
  padding: 14px 40px;
  border: 2px solid #336d46;
  border-radius: 20px;
  min-width: 300px;
  box-sizing: border-box;
}

.detail-competition .wrap-btn a img {
  margin-right: 12px;
}

.detail-competition .wrap-btn a.solid {
  background: linear-gradient(129.46deg, #45865a 24.14%, #326643 72.57%);
  -webkit-text-fill-color: #fff;
}

.detail-competition .wrap-btn a.solid img {
  filter: invert(100%) sepia(100%) saturate(0) hue-rotate(111deg) brightness(132%) contrast(125%);
  transition: all ease-out 0.25s;
}

.detail-competition .wrap-btn-spaces {
  display: flex;
  justify-content: space-between;
}

.box-white {
  background: #ffffff;
  box-shadow: 0px 4px 40px rgba(71, 71, 71, 0.05);
  border-radius: 16px;
  padding: 50px;
  margin-top: 40px;
}

.box-white h4 {
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 24px;
  color: #000;
}

.box-white .control-checkbox {
  display: flex;
  flex-direction: column;
}

.box-white .control-checkbox.green {
  margin-top: 72px;
}

.box-white .control-checkbox label.error {
  color: #cd1000;
  display: block;
  margin: 5px 0 0;
  order: 3;
}

.box-white .rh-justify {
  display: flex;
  justify-content: flex-end;
  margin-top: -20px;
}

.box-white.with-edit {
  position: relative;
}

.box-white.with-edit > h4 {
  margin-bottom: 40px;
}

.box-white.with-edit > .rounded-ico {
  position: absolute;
  right: 100px;
  top: 70px;
}

.box-white .form-inner .col .control-checkbox.green {
  margin-top: 12px;
}

.box-white .form-inner .col .rh-justify button.btn {
  width: auto;
}

.box-white .form-inner .col .rh-justify button.btn.rounded-ico {
  border-radius: 24px;
  min-width: 150px;
}

.box-white.scan-qr {
  width: 590px;
  margin: auto;
  box-sizing: border-box;
  padding: 60px 80px;
}

.box-white.scan-qr .box-qr {
  text-align: center;
  padding: 0 20px;
}

.box-white.scan-qr .box-qr figure {
  margin-bottom: 24px;
}

.box-white.scan-qr .box-qr input {
  width: 100%;
  margin: 0px 0 20px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 20px;
  border-radius: 8px;
  box-sizing: border-box;
}

.box-white.scan-qr .box-qr p {
  color: #636363;
}

.box-white.scan-qr .box-qr hr {
  margin: 24px 0;
}

.box-white.scan-qr .box-qr h5 {
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 24px;
}

.box-white.scan-qr .box-qr label {
  display: block;
  color: #8a8b8b;
  font-size: 14px;
  margin-bottom: 12px;
}

.box-white.scan-qr .box-qr .val {
  margin-bottom: 20px;
  font-size: 16px;
}

.control-checkbox.green {
  position: relative;
}

.control-checkbox.green input {
  background: none;
  width: auto;
  height: auto;
}

.control-checkbox.green input:checked + span::before,
.control-checkbox.green input:checked ~ span::before, .control-checkbox.green input[checked="checked"] + span::before,
.control-checkbox.green input[checked="checked"] ~ span::before {
  background: #336d46 url("../images/competition-assets/ico-checklis.svg") no-repeat center;
}

.control-checkbox.green span {
  font-size: 13px;
  color: #505051;
}

.control-checkbox.green span:before {
  width: 20px;
  height: 20px;
  border: 2px solid #336d46;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  box-sizing: border-box;
  border-radius: 4px;
}

.control-checkbox.green span a {
  display: inline-block;
  position: relative;
  z-index: 3;
  color: #336d46;
  font-weight: 700;
}

.control-checkbox.green span a:hover {
  text-decoration: underline;
}

.filter-table {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.filter-table__left {
  display: flex;
  align-items: center;
}

.filter-table__left h4 {
  margin-bottom: 0;
}

.filter-table__left a {
  height: 40px;
  line-height: 40px;
  padding: 0 16px;
  display: inline-flex;
  justify-content: center;
  background: linear-gradient(129.46deg, #45865a 24.14%, #326643 72.57%), #ffffff;
  border-radius: 8px;
  align-items: center;
  margin-right: 12px;
  transition: all ease-out 0.25s;
}

.filter-table__left a img {
  display: block;
  margin-right: 6px;
}

.filter-table__left a:hover {
  transition: all ease-out 0.25s;
  background: linear-gradient(129.46deg, #326643 24.14%, #45865a 72.57%), #ffffff;
}

.filter-table__left .note-table {
  margin-right: 12px;
}

.filter-table__left.txt-button {
  justify-content: flex-start;
}

.filter-table__left.txt-button .btn {
  width: auto;
}

.filter-table__right form {
  display: flex;
  justify-content: flex-end;
}

.filter-table__right select,
.filter-table__right input {
  border-radius: 8px;
  border: 1px solid #e2e3e3;
  margin-right: 8px;
  font-size: 16px;
  color: #848484;
  line-height: 1.25;
  padding: 9px 16px;
  width: auto;
  display: block;
}

.filter-table__right input {
  width: 150px;
}

.filter-table__right input.class {
  width: 80px;
}

.filter-table__right select {
  padding-right: 36px;
  background: url("../images/competition-assets/ico-select.svg") no-repeat right 10px center;
}

.filter-table__right .select2-container {
  margin-right: 8px;
}

.filter-table__right .select2-container .select2-selection--single {
  height: 47px;
}

.filter-table__right .select2-container--default .select2-selection--single {
  border-color: #e2e3e3;
  border-radius: 8px;
}

.filter-table__right .select2-container--default
.select2-selection--single
.select2-selection__arrow {
  top: 0;
  right: 0;
  width: auto;
  bottom: 0;
  height: auto;
}

.filter-table__right .select2-container--default
.select2-selection--single
.select2-selection__arrow
b {
  background: url("../images/competition-assets/ico-select.svg") no-repeat right 10px center;
  border: none;
  width: 40px;
  height: 20px;
  top: 0;
  right: 0;
  left: auto;
  bottom: 0;
  margin: auto 0;
}

.filter-table__right .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 9px 36px 9px 16px;
  font-size: 16px;
  color: #848484;
}

.filter-table__right button {
  border: 1px solid #326643;
  border-radius: 8px;
  height: 47px;
  line-height: 45px;
  padding: 0 20px;
  background: transparent;
  cursor: pointer;
  color: #326643;
  transition: all ease-out 0.25s;
}

.filter-table__right button:hover {
  background: #326643;
  color: #fff;
  transition: all ease-out 0.25s;
}

.filter-table__right .custom-dropdown {
  position: relative;
}

.filter-table__right .custom-dropdown input {
  cursor: pointer;
  padding-right: 36px;
  background: url("../images/competition-assets/ico-select.svg") no-repeat right 10px center;
}

.filter-table__right .custom-dropdown .child {
  display: none;
  position: absolute;
  width: calc(100% - 8px);
  left: 0;
  top: 40px;
  background: #fff;
  box-shadow: 0px 4px 40px rgba(71, 71, 71, 0.05);
  max-height: 380px;
  overflow: auto;
}

.filter-table__right .custom-dropdown .child ul li a {
  display: block;
  padding: 12px 18px;
  color: #6a6a6a;
  font-size: 14px;
}

.filter-table__right .custom-dropdown .child ul li a:hover {
  background: #336d46;
  color: #fff;
}

.filter-table__right .custom-dropdown.active .child {
  display: block;
}

.filter-table__right .radio > label {
  color: #adadad;
  display: block;
  font-size: 16px;
  position: relative;
  padding-left: 35px;
  margin: 12px 0 !important;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.filter-table__right .radio > label:hover input ~ .checkmark {
  border-color: #1d5f3c;
}

.filter-table__right .radio > label input:checked ~ .checkmark {
  border-color: #1d5f3c;
}

.filter-table__right .radio > label input:checked ~ .checkmark:after {
  display: block;
}

.filter-table__right .radio input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.filter-table__right .radio .checkmark {
  background-color: transparent;
  border: 1px solid #969696;
  border-radius: 50%;
  height: 22px;
  left: 0;
  position: absolute;
  top: -2px;
  width: 22px;
}

.filter-table__right .radio .checkmark:after {
  background-color: #1d5f3c;
  border-radius: 50%;
  border: 3px solid #fff;
  content: "";
  display: none;
  height: 10px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 10px;
  transform: translate(-50%, -50%);
}

.filter-table__right .checkbox.small > label {
  font-size: 14px;
}

.filter-table__right .checkbox > label {
  color: #717070;
  cursor: pointer;
  display: block;
  font-size: 16px;
  margin: 12px 0 !important;
  padding-left: 35px;
  position: relative;
  user-select: none;
}

.filter-table__right .checkbox > label:hover input ~ .checkmark {
  border-color: #1d5f3c;
}

.filter-table__right .checkbox > label input:checked ~ .checkmark {
  background-color: #1d5f3c;
  border: 1px solid #1d5f3c;
}

.filter-table__right .checkbox > label input:checked ~ .checkmark:after {
  display: block;
}

.filter-table__right .checkbox input {
  cursor: pointer;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.filter-table__right .checkbox .checkmark {
  background-color: transparent;
  border: 1px solid #c7c6c6;
  border-radius: 2px;
  height: 22px;
  left: 0;
  position: absolute;
  top: 0px;
  width: 22px;
}

.filter-table__right .checkbox .checkmark:after {
  left: 6px;
  content: "";
  display: none;
  top: 2px;
  width: 6px;
  height: 10px;
  position: absolute;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.main-table {
  margin-top: 20px;
}

.main-table table {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  border-radius: 14px;
  border: 2px solid #eeeeef;
}

.main-table table tr td,
.main-table table tr th {
  box-shadow: inset 0px -2px 0px #eeeeef;
  text-align: left;
  padding: 20px;
  box-sizing: border-box;
  font-size: 13px;
  color: #6a6a6a;
  border-right: none;
  border-left: none;
  vertical-align: middle;
  line-height: normal;
}

.main-table table tr td a.ico,
.main-table table tr th a.ico {
  display: inline-flex;
  align-items: center;
  margin-right: 50px;
}

.main-table table tr td a.ico img,
.main-table table tr th a.ico img {
  display: block;
  margin-right: 6px;
}

.main-table table tr td a.ico:last-child,
.main-table table tr th a.ico:last-child {
  margin-right: 0;
}

.main-table table tr td .img-karya,
.main-table table tr th .img-karya {
  width: 72px;
  cursor: pointer;
}

.main-table table tr td.status {
  font-weight: 700;
  color: #4a9034;
}

.main-table table tr td.status span {
  background: #ebffe4;
  padding: 4px 8px;
  border-radius: 4px;
}

.main-table table tr td.status.verified {
  color: #2b829a;
}

.main-table table tr td.status.verified span {
  background: #e5f9ff;
}

.main-table table tr td.status.submitted {
  color: #eb7f3c;
}

.main-table table tr td.status.submitted span {
  background: #ffeee9;
}

.main-table table tr th {
  text-transform: uppercase;
  font-weight: 700;
  color: #505051;
}

.main-table table tr:last-child td {
  box-shadow: none;
}

.box-search-data .box-search-data__form .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% + 20px);
  margin-left: -10px;
}

.box-search-data .box-search-data__form .row .col {
  width: auto;
  padding: 0 10px;
  box-sizing: border-box;
  margin-bottom: 0;
}

.box-search-data .box-search-data__form .row .col:nth-child(1) {
  width: 150px;
}

.box-search-data .box-search-data__form .row .col:nth-child(2) {
  width: 50px;
  margin: 0;
}

.box-search-data .box-search-data__form .row .col:nth-child(2) label {
  margin-top: 20px;
}

.box-search-data .box-search-data__form .row .col:nth-child(3) {
  width: calc(100% - 320px);
}

.box-search-data .box-search-data__form .row .col:nth-child(4) {
  width: 120px;
  align-self: flex-end;
}

.box-search-data .box-search-data__form .row .col:nth-child(4) button {
  width: 100%;
}

.box-search-data .box-search-data__form .row .col.col-code {
  position: relative;
}

.box-search-data .box-search-data__form .row .col.col-code label.error {
  position: absolute;
  top: 100%;
  left: 0;
  padding: 0 10px;
}

.box-data-verifikasi {
  padding: 80px 100px;
}

.box-data-verifikasi .list-data {
  position: relative;
}

.box-data-verifikasi .list-data .row {
  display: flex;
  box-shadow: inset 0px -1px 0px #eeeeef;
  padding: 20px 0;
  margin-bottom: 12px;
}

.box-data-verifikasi .list-data .row.column {
  justify-content: space-between;
  box-shadow: none;
  padding: 0;
}

.box-data-verifikasi .list-data .row.column .col {
  padding: 20px 0;
}

.box-data-verifikasi .list-data .row.column .col.col-50 {
  width: calc(50% - 20px);
  box-shadow: inset 0px -1px 0px #eeeeef;
  display: flex;
}

.box-data-verifikasi .list-data .row.column .col.col-50 label {
  width: auto;
  margin-right: 10px;
  line-height: normal;
}

.box-data-verifikasi .list-data .row.column .col.col-50 .info {
  width: calc(100% - 160px);
  line-height: normal;
}

.box-data-verifikasi .list-data .row.column .col.col-50:first-child .info {
  width: calc(100% - 100px);
}

.box-data-verifikasi .list-data .row label {
  color: #8a8b8b;
  font-size: 14px;
  font-weight: 700;
  width: 30%;
}

.box-data-verifikasi .list-data .row .info {
  color: #404040;
  font-size: 16px;
  width: 70%;
  line-height: 1.4;
}

.box-data-verifikasi .list-data .row.with-style-button {
  display: block;
  box-shadow: none;
  margin-top: 32px;
}

.box-data-verifikasi .list-data .row.with-style-button .with-back {
  display: flex;
  justify-content: space-between;
}

.center-buttton {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.center-buttton .btn {
  min-width: 200px;
}

.list-gallery-competition {
  display: flex;
  flex-wrap: wrap;
}

.list-gallery-competition .list-gallery-competition__item {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
  margin-bottom: 30px;
  min-height: 200px;
  max-height: 250px;
}

.list-gallery-competition .list-gallery-competition__item a {
  display: block;
  height: 100%;
}

.list-gallery-competition .list-gallery-competition__item:nth-child(3n) {
  margin-right: 0;
}

.list-gallery-competition .list-gallery-competition__item figure {
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.list-gallery-competition .list-gallery-competition__item figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: all ease-out 0.25s;
}

.list-gallery-competition .list-gallery-competition__item:hover figure img {
  transition: all ease-out 0.25s;
  transform: scale(1.06);
}

.popup-image {
  display: flex;
  justify-content: center;
}

.popup-image figure {
  border-radius: 24px;
  overflow: hidden;
}

.popup-image figure img {
  display: block;
  margin: 0 !important;
}

.popup-image .desc-text-image {
  padding-top: 40px;
}

.popup-image .desc-text-image h4 {
  font-weight: 700;
  margin-bottom: 12px;
  font-size: 24px;
  color: #000;
}

.popup-image .desc-text-image p {
  font-size: 19px;
  color: #636363;
  line-height: 1.4;
}

.popup-image .desc-text-image ol,
.popup-image .desc-text-image ul {
  margin-left: 24px;
  margin-bottom: 20px;
}

.popup-image .desc-text-image ol li,
.popup-image .desc-text-image ul li {
  font-size: 19px;
  color: #636363;
  line-height: 1.4;
}

.popup-image .desc-text-image ol li {
  list-style: decimal;
}

.popup-image .desc-text-image ul li {
  list-style: disc;
}

#stage {
  margin: 0 auto;
  width: 460px;
  padding: 0 0 40px;
}

.perspective-on {
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
  perspective: 1000px;
  /* Setting the perspective of the contents of the stage but not the stage itself*/
}

.perspective-off {
  -webkit-perspective: 0;
  -moz-perspective: 0;
  perspective: 0;
}

.wrap-rotate {
  padding: 20px 0;
  background: #fff;
  border-radius: 13px;
  border: 4px solid #75b88b;
  position: relative;
}

.wrap-rotate:after, .wrap-rotate:before {
  content: "";
  height: 1px;
  width: 1px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #e97534;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  right: auto;
  z-index: 3;
}

.wrap-rotate:after {
  left: auto;
  right: 0;
  border-left: none;
  border-right: 12px solid #e97534;
}

#rotate {
  margin: 0 auto 0;
  width: 460px;
  height: 78px;
  padding-top: 3px;
  overflow: hidden;
  /*=====*/
  /*=====*/
}

#rotate .ring {
  margin: 0 auto;
  height: 80px;
  width: 70px;
  float: left;
  transform-style: preserve-3d;
}

#rotate #ring1 {
  margin-left: -50px;
}

#rotate .slot {
  position: absolute;
  width: 60px;
  height: 80px;
  box-sizing: border-box;
  opacity: 0.9;
  color: rgba(0, 0, 0, 0.9);
  background: #fff;
  border: solid 1px #e2e3e3;
  border-radius: 6px;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

#rotate .backface-on {
  -webkit-backface-visibility: visible;
  -moz-backface-visibility: visible;
  backface-visibility: visible;
}

#rotate .slot p {
  font-size: 21px;
  font-weight: bold;
  line-height: 80px;
  margin: 0;
  text-align: center;
}

#rotate .go {
  display: block;
  margin: 0 auto 20px;
  padding: 10px 30px;
  font-size: 20px;
  cursor: pointer;
}

#rotate label {
  cursor: pointer;
  display: inline-block;
  width: 45%;
  text-align: center;
}

#rotate .tilted {
  transform: rotateY(45deg);
}

#rotate .spin-0 {
  transform: rotateX(-3719deg);
}

#rotate .spin-1 {
  transform: rotateX(-3749deg);
}

#rotate .spin-2 {
  transform: rotateX(-3779deg);
}

#rotate .spin-3 {
  transform: rotateX(-3809deg);
}

#rotate .spin-4 {
  transform: rotateX(-3839deg);
}

#rotate .spin-5 {
  transform: rotateX(-3869deg);
}

#rotate .spin-6 {
  transform: rotateX(-3899deg);
}

#rotate .spin-7 {
  transform: rotateX(-3929deg);
}

#rotate .spin-8 {
  transform: rotateX(-3959deg);
}

#rotate .spin-9 {
  transform: rotateX(-3989deg);
}

#rotate .spin-10 {
  transform: rotateX(-4019deg);
}

#rotate .spin-11 {
  transform: rotateX(-4049deg);
}

@keyframes back-spin {
  /*0%    { transform: rotateX(0deg); }*/
  100% {
    transform: rotateX(30deg);
  }
}

@keyframes tiltin {
  0% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(45deg);
  }
}

@keyframes tiltout {
  0% {
    transform: rotateY(45deg);
  }
  100% {
    transform: rotateY(0deg);
  }
}

@keyframes spin-0 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3719deg);
  }
}

@keyframes spin-1 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3749deg);
  }
}

@keyframes spin-2 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3779deg);
  }
}

@keyframes spin-3 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3809deg);
  }
}

@keyframes spin-4 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3839deg);
  }
}

@keyframes spin-5 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3869deg);
  }
}

@keyframes spin-6 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3899deg);
  }
}

@keyframes spin-7 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3929deg);
  }
}

@keyframes spin-8 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3959deg);
  }
}

@keyframes spin-9 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-3989deg);
  }
}

@keyframes spin-10 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-4019deg);
  }
}

@keyframes spin-11 {
  0% {
    transform: rotateX(30deg);
  }
  100% {
    transform: rotateX(-4049deg);
  }
}

.inner-lucky {
  width: 690px;
  padding: 70px 60px 40px;
  background: url("../images/competition-assets/bg-lucky-draw.png") no-repeat center;
  background-size: cover;
  border-radius: 16px;
  margin: 0 auto;
  position: relative;
}

.inner-lucky .full-screen {
  color: #fff;
  display: inline-flex;
  align-items: center;
  position: absolute;
  top: 30px;
  right: 40px;
  left: auto;
}

.inner-lucky .full-screen img {
  display: block;
  margin-right: 12px;
}

.inner-lucky figure {
  text-align: center;
  position: relative;
  margin-bottom: -10px;
  z-index: 2;
}

.inner-lucky figure img {
  display: block;
  margin: 0 auto;
}

.inner-lucky .box-lucky {
  width: 560px;
  margin: auto;
}

.inner-lucky .name {
  padding: 24px 0 20px;
  border-bottom: 1px solid rgba(217, 217, 217, 0.5);
}

.inner-lucky .name h3 {
  font-size: 23px;
  text-align: center;
  color: #fff;
}

.inner-lucky .wrap-random-btn {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}

.inner-lucky .wrap-random-btn .btn {
  border-color: #fff;
  color: #fff;
  cursor: pointer;
}

.inner-lucky .wrap-random-btn .btn img {
  filter: none;
  margin-left: 0;
}

.inner-lucky.full-width {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: -1px;
  z-index: 99999;
  width: 100%;
  border-radius: 0;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
}

.inner-lucky.full-width .box-lucky {
  transform: scale(1.2);
}

.wrap-number {
  width: 478px;
  height: 118px;
  margin: 0 auto;
  position: relative;
  padding: 20px;
  background: #fff;
  border-radius: 13px;
  border: 4px solid #75b88b;
  position: relative;
  box-sizing: border-box;
}

.wrap-number:after, .wrap-number:before {
  content: "";
  height: 1px;
  width: 1px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #132f1c;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  right: auto;
  z-index: 3;
}

.wrap-number:after {
  left: auto;
  right: 0;
  border-left: none;
  border-right: 12px solid #132f1c;
}

.wrap-number_bg {
  width: 100%;
  height: 100%;
  justify-content: space-between;
  display: flex;
}

.wrap-number_bg span {
  width: 60px;
  height: 100%;
  border: 1px solid #e2e3e3;
  border-radius: 8px;
  display: block;
}

.wrap-number__slide {
  width: 438px;
  height: 70px;
  position: relative;
  top: -100%;
  padding-left: 52px;
}

.wrap-number__slide > div {
  position: absolute;
  transform-origin: 0 100%;
  font-size: 21px;
  font-weight: 700;
  line-height: 72px;
  top: 0;
  bottom: 0;
  text-align: center;
  left: 0;
  right: 0;
  letter-spacing: 62px;
  box-sizing: border-box;
}

.wrap-number__slide > div.current {
  transition: all 0.4s ease-out;
  opacity: 1;
}

.wrap-number__slide > div.in {
  opacity: 0;
  transform: rotate3d(1, 0, 0, -90deg);
}

.wrap-number__slide > div.out {
  transition: all 0.4s ease-out;
  opacity: 0;
  transform: rotate3d(1, 0, 0, 90deg);
}

@media all and (max-width: 1366px) {
  .competition-inner {
    padding-top: 64px;
  }
}

@media all and (max-width: 1279px) {
  header.header-dashboard {
    height: 64px;
  }
  header.header-dashboard .logo {
    width: 140px;
    height: auto;
  }
  header.header-dashboard .header-dashboard__right .user-dashboard a {
    font-size: 14px;
  }
  header.header-dashboard .header-dashboard__right .logout-dashboard {
    font-size: 14px;
  }
  .middle.competition-middle {
    background-size: 1024px;
  }
  .title-section {
    margin-bottom: 32px;
  }
  .title-section h3 {
    font-size: 24px;
  }
  .see-arrow {
    font-size: 15px;
  }
  .btn.rounded-ico {
    height: 40px;
    line-height: 38px;
    font-size: 15px;
  }
  .pagination {
    margin-top: 32px;
  }
  .pagination ul li > span {
    height: 30px;
  }
  .pagination ul li a {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
  }
  .form-inner .row .col button.btn {
    height: 40px;
    line-height: 40px;
    font-size: 15px;
  }
  .form-inner .row .col input[type="text"],
  .form-inner .row .col input[type="email"],
  .form-inner .row .col input[type="password"],
  .form-inner .row .col input[type="number"],
  .form-inner .row .col select,
  .form-inner .row .col textarea {
    padding: 9px 12px;
    line-height: 20px;
    box-sizing: border-box;
    font-size: 15px;
  }
  .form-inner .row .col .select2-container .select2-selection--single {
    height: 40px;
  }
  .form-inner .row .col .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 5px 32px 5px 12px;
  }
  .form-inner .row .col.col-50 {
    width: calc(50% - 16px);
  }
  .form-inner .row .col .password-input .see-password {
    top: 8px;
  }
  .wrap-login__form--box {
    width: 364px;
  }
  .wrap-login__form--box h3 {
    font-size: 24px;
  }
  .competition-inner {
    padding: 64px 0 120px;
    box-sizing: border-box;
    min-height: calc(100vw - 64px);
  }
  .competition-inner .container {
    width: 896px;
  }
  .list-competition {
    margin-bottom: 28px;
  }
  .list-competition--item {
    margin-bottom: 32px;
    width: calc((100% - 48px) / 3);
    margin-right: 24px;
    padding-bottom: 72px;
  }
  .list-competition--item--desc {
    padding: 24px 16px 0;
  }
  .list-competition--item--desc h4 {
    font-size: 18px;
  }
  .list-competition--item .btn.rounded-ico {
    left: 16px;
    right: 16px;
    bottom: 20px;
  }
  .box-white {
    padding: 50px 24px;
  }
  .detail-competition .text-detail {
    padding: 0 24px;
  }
  .detail-competition .text-detail h1,
  .detail-competition .text-detail h3 {
    font-size: 36px;
  }
  .detail-competition .text-detail p {
    font-size: 16px;
  }
  .detail-competition .text-detail hr {
    margin-left: -24px;
    margin-right: -24px;
  }
  .detail-competition .wrap-ico span {
    font-size: 14px;
    padding-left: 28px;
  }
  .detail-competition .wrap-btn {
    margin-top: 52px;
  }
  .detail-competition .wrap-btn a {
    padding: 10px 32px;
    min-width: 260px;
    border-radius: 12px;
  }
  .detail-competition .wrap-btn a img {
    width: 32px;
  }
  .competition-popup #boxPop {
    width: 688px;
  }
  .competition-popup #boxPop .content_pop .innerpop {
    padding: 40px;
  }
  .competition-popup#popup-gallery #boxPop {
    width: 688px;
  }
  .competition-popup#popup-gallery #boxPop .content_pop {
    width: auto;
  }
  .competition-popup#popup-gallery #boxPop .content_pop .innerpop {
    padding: 20px 24px;
  }
  .competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery {
    width: 640px;
  }
}

@media all and (max-width: 1023px) {
  .competition-inner .container {
    width: 640px;
  }
  .detail-competition .wrap-btn a {
    min-width: 0;
    padding: 10px 24px;
  }
  .detail-competition .text-detail h1,
  .detail-competition .text-detail h3 {
    font-size: 28px;
  }
  .form-inner .row .col.with-back .rounded-ico.solid {
    height: 40px;
    line-height: 40px;
  }
  .form-inner .row .col button {
    height: 40px;
    line-height: 40px;
  }
  .form-inner .row .col .btn.ico {
    height: 40px;
    line-height: 40px;
  }
  .wrap-login {
    flex-direction: column;
    min-height: 100vh;
  }
  .wrap-login__img {
    width: 100%;
    height: 400px;
    min-height: 0;
  }
  .wrap-login__img img {
    object-position: 50% 60%;
  }
  .wrap-login__form {
    padding: 40px 60px;
    width: 100%;
    box-sizing: border-box;
  }
  .wrap-login__form--box {
    width: 100%;
    display: flex;
  }
  .wrap-login__form--box .form-inner {
    padding-left: 16px;
    width: 50%;
    box-sizing: border-box;
    margin-top: 0;
    padding-top: 80px;
  }
  .wrap-login__form--box .text-login {
    width: 50%;
    padding-right: 16px;
    box-sizing: border-box;
  }
  .wrap-login__form--box .text-login .logo-fc img {
    width: 170px;
  }
  .list-competition--item {
    width: calc((100% - 32px) / 2);
    margin-right: 32px;
  }
  .list-competition--item:nth-child(3n) {
    margin-right: 32px;
  }
  .list-competition--item:nth-child(2n) {
    margin-right: 0;
  }
  .list-gallery-competition .list-gallery-competition__item {
    width: calc((100% - 48px) / 3);
    margin-right: 24px;
    margin-bottom: 24px;
    min-height: unset;
    max-height: unset;
    height: 140px;
  }
  .filter-table {
    margin-bottom: 24px;
    flex-wrap: wrap;
  }
  .filter-table__left {
    width: 100%;
    justify-content: space-between;
  }
  .filter-table__left .btn {
    width: calc(50% - 10px);
    margin: 0;
  }
  .filter-table__left.auto {
    justify-content: flex-start;
  }
  .filter-table__left.auto .btn {
    width: auto;
    margin-right: 12px;
  }
  .filter-table__right {
    margin-top: 16px;
    width: 100%;
  }
  .filter-table__right input,
  .filter-table__right select {
    width: calc(100% - 68px);
  }
  .filter-table__right .custom-dropdown {
    width: calc(100% - 68px);
  }
  .filter-table__right .custom-dropdown .child {
    width: calc(100% - 15px);
  }
  .box-white {
    /* width */
    /* Track */
    /* Handle */
    /* Handle on hover */
  }
  .box-white ::-webkit-scrollbar {
    width: 5px;
    height: 4px;
    border-radius: 2px;
  }
  .box-white ::-webkit-scrollbar-track {
    background: #eeeeef;
    border-radius: 2px;
  }
  .box-white ::-webkit-scrollbar-thumb {
    background: #336d46;
    border-radius: 2px;
  }
  .box-white ::-webkit-scrollbar-thumb:hover {
    background: #336d46;
  }
  .box-white h4 {
    font-size: 20px;
  }
  .box-white.with-edit > .rounded-ico {
    right: 24px;
    top: 40px;
  }
  .inner-lucky {
    width: 100%;
    box-sizing: border-box;
  }
  .inner-lucky .box-lucky {
    width: 520px;
  }
  .box-data-verifikasi .list-data .row label {
    width: 40%;
  }
  .box-data-verifikasi .list-data .row .info {
    width: 60%;
  }
  .main-table {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
  }
  .main-table table {
    min-width: max-content;
  }
  .main-table table tr th:last-child {
    max-width: 240px;
  }
  .main-table table tr th,
  .main-table table tr td {
    padding: 16px;
  }
  .main-table table tr th a.ico,
  .main-table table tr td a.ico {
    margin-right: 30px;
  }
  .drop-select {
    width: auto;
    min-width: 85px;
  }
  .competition-popup #boxPop {
    width: 640px;
  }
  .competition-popup #boxPop .title-popup {
    margin-bottom: 32px;
  }
  .competition-popup #boxPop .title-popup h4 {
    font-size: 24px;
  }
  .competition-popup #boxPop .title-popup p {
    font-size: 16px;
  }
}

@media all and (max-width: 767px) {
  header.header-dashboard .header-dashboard__right .user-dashboard {
    margin-right: 12px;
  }
  header.header-dashboard .header-dashboard__right .user-dashboard a {
    font-size: 0;
  }
  header.header-dashboard .header-dashboard__right .logout-dashboard {
    font-size: 0;
    width: 0px;
    height: 24px;
    padding-left: 24px;
  }
  .middle.competition-middle {
    background-size: 800px;
  }
  .banner-competition {
    margin-bottom: 0;
  }
  .banner-competition figure {
    min-height: 220px;
  }
  .banner-competition figure img {
    height: 100%;
    max-height: none;
    object-fit: cover;
    min-height: 220px;
  }
  .competition-inner {
    padding: 40px 0 80px;
  }
  .competition-inner .container {
    width: auto;
    margin: 0 24px;
  }
  .see-arrow {
    font-size: 14px;
    padding-right: 24px;
    line-height: 24px;
    display: inline-flex;
  }
  .btn.rounded-ico {
    height: 36px;
    line-height: 34px;
    font-size: 14px;
  }
  .title-section h3 {
    max-width: calc(100% - 120px);
    font-size: 22px;
  }
  .pagination ul li {
    margin: 0 4px;
  }
  .pagination ul li a {
    font-size: 14px;
  }
  .wrap-login__img {
    max-height: 400px;
    height: calc(100vw * 0.64);
    min-height: 240px;
  }
  .wrap-login__form {
    padding: 24px;
  }
  .wrap-login__form--box {
    flex-wrap: wrap;
  }
  .wrap-login__form--box p {
    font-size: 14px;
  }
  .wrap-login__form--box .text-login {
    width: 100%;
    padding-right: 0;
  }
  .wrap-login__form--box .form-inner {
    padding-top: 12px;
    padding-left: 0;
    width: 100%;
  }
  .list-competition--item {
    border-radius: 16px;
  }
  .list-competition--item--desc h4 {
    font-size: 16px;
    line-height: 1.4;
  }
  .list-competition--item--desc .time-competition,
  .list-competition--item--desc .loc-competition {
    font-size: 11px;
    margin-bottom: 8px;
  }
  .list-competition--item--desc .loc-competition {
    margin-bottom: 0;
  }
  .detail-competition hr {
    margin: 32px 0;
  }
  .detail-competition .text-detail {
    padding: 0;
  }
  .detail-competition .text-detail h1,
  .detail-competition .text-detail h3 {
    font-size: 24px;
  }
  .detail-competition .text-detail p {
    font-size: 14px;
  }
  .detail-competition .text-detail hr {
    margin-left: 0;
    margin-right: 0;
  }
  .detail-competition .wrap-ico {
    flex-direction: column;
  }
  .detail-competition .wrap-ico span {
    padding-top: 24px;
    padding-left: 0;
    background-position: top center !important;
    margin-right: 0 !important;
    text-align: center;
  }
  .detail-competition .wrap-ico span.loc {
    margin-bottom: 12px;
  }
  .detail-competition .wrap-btn {
    flex-direction: column;
    margin-top: 24px;
  }
  .detail-competition .wrap-btn a {
    font-size: 18px;
    margin: 0 0 12px;
  }
  .box-white {
    padding: 30px 16px;
    margin-top: 32px;
  }
  .box-white h4 {
    margin-bottom: 20px;
  }
  .box-white .control-checkbox.green {
    margin-top: 32px;
  }
  .box-white .rh-justify {
    margin-top: 0;
  }
  .box-white.with-edit > .rounded-ico {
    top: 26px;
  }
  .box-white.scan-qr {
    width: auto;
    max-width: 480px;
    padding: 24px;
  }
  .box-white.scan-qr .box-qr h5 {
    font-size: 16px;
  }
  .box-search-data .box-search-data__form .row .col:nth-child(1) {
    width: 100%;
  }
  .box-search-data .box-search-data__form .row .col:nth-child(2) {
    width: 100%;
  }
  .box-search-data .box-search-data__form .row .col:nth-child(2) label {
    display: block;
    text-align: center;
    margin: 20px 0;
  }
  .box-search-data .box-search-data__form .row .col:nth-child(3) {
    width: 100%;
  }
  .box-search-data .box-search-data__form .row .col:nth-child(4) {
    width: 100%;
    margin-top: 16px;
  }
  .box-search-data .box-search-data__form .row .col.col-code label.error {
    position: relative;
    top: 0;
    padding: 0;
  }
  .box-search-data .box-search-data__form .row .col .btn.ico {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .box-data-verifikasi .list-data .row {
    flex-wrap: wrap;
    padding: 16px 0;
    margin-bottom: 0;
  }
  .box-data-verifikasi .list-data .row label {
    width: 100%;
    margin-bottom: 5px;
  }
  .box-data-verifikasi .list-data .row .info {
    width: 100%;
  }
  .box-data-verifikasi .list-data .row.column .col {
    padding: 10px 0;
  }
  .box-data-verifikasi .list-data .row.column .col:last-child {
    border-bottom: 0;
    padding-bottom: 0;
    box-shadow: none;
  }
  .box-data-verifikasi .list-data .row.column .col.col-50 {
    width: 100%;
  }
  .box-data-verifikasi .list-data .row.column .col.col-50 label {
    margin-right: 5px;
  }
  .competition-popup #boxPop {
    width: calc(100vw - 40px);
    max-width: 640px;
  }
  .competition-popup #boxPop .content_pop .innerpop {
    padding: 36px 20px;
  }
  .competition-popup #boxPop .title-popup h4 {
    font-size: 22px;
  }
  .competition-popup #boxPop .title-popup p {
    font-size: 14px;
  }
  .competition-popup .form-inner .inner-scroll {
    padding-right: 16px;
    margin-right: -12px;
  }
  .competition-popup.popup-small #boxPop {
    width: calc(100vw - 40px);
    max-width: 480px;
  }
  .competition-popup#popup-gallery #boxPop {
    max-width: 680px;
    width: calc(100vw - 40px);
  }
  .competition-popup#popup-gallery #boxPop .content_pop {
    padding: 0 !important;
    min-height: 50px;
  }
  .competition-popup#popup-gallery #boxPop .content_pop .innerpop {
    padding: 16px;
  }
  .competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery {
    width: calc(100vw - 76px);
  }
  .competition-popup#popup-gallery #boxPop .content_pop .innerpop .target-gallery .slick-arrow {
    width: 34px;
    height: 34px;
    margin-top: -15px;
  }
  .competition-popup.small-padding #boxPop .content_pop {
    width: calc(100vw - 40px);
    max-width: 680px;
    min-height: 50px;
  }
  .competition-popup.small-padding #boxPop .content_pop .innerpop {
    padding: 16px;
  }
  .competition-popup#popup-login-user #boxPop {
    width: calc(100vw - 40px);
    max-width: 480px;
  }
  .form-inner .row {
    flex-wrap: wrap;
  }
  .form-inner .row .col.col-50 {
    width: 100%;
  }
  .form-inner .row .col.with-back .rounded-ico.solid {
    height: 36px;
    line-height: 36px;
  }
  .form-inner .row .col .box-upload .trigger-upload {
    height: 42px;
    padding: 0 48px 0 16px;
    background-position: right 17px center;
  }
  .form-inner .row .col .box-upload .trigger-upload span {
    line-height: 42px;
  }
  .form-inner .row .col .box-upload .list-upload .img {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
  .form-inner .row .col .box-upload .list-upload .img:nth-child(2n) {
    margin-right: 0;
  }
  .form-inner .row .col .box-upload .list-upload .img figure {
    width: 100%;
    max-height: 120px;
    margin-bottom: 0;
  }
  .inner-lucky {
    padding: 100px 20px;
    margin: -40px -24px -80px;
    width: auto;
    border-radius: 0;
    min-height: calc(100vh - 100px);
    display: flex;
  }
  .inner-lucky .full-screen {
    display: none;
  }
  .inner-lucky figure img {
    width: 280px;
  }
  .inner-lucky .box-lucky {
    width: 100%;
  }
  .inner-lucky .name h3 {
    font-size: 21px;
  }
  .wrap-number {
    width: 320px;
    padding: 12px;
    height: 100px;
  }
  .wrap-number__slide {
    width: 260px;
    padding-left: 65px;
  }
  .wrap-number__slide > div {
    letter-spacing: 37px;
  }
  .wrap-number_bg span {
    width: 40px;
  }
}

@media all and (max-width: 599px) {
  .list-competition--item {
    width: 100%;
    margin-right: 0 !important;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0;
    margin-bottom: 24px;
  }
  .list-competition--item figure {
    width: 150px;
    min-height: 130px;
  }
  .list-competition--item figure a {
    display: block;
    height: 100%;
  }
  .list-competition--item figure img {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  .list-competition--item--desc {
    padding: 16px;
    position: relative;
    width: calc(100% - 150px);
    box-sizing: border-box;
  }
  .list-competition--item--desc .btn.rounded-ico {
    top: 0;
    bottom: 0;
    height: auto;
    border: none;
    font-size: 0;
  }
  .list-competition--item--desc .btn.rounded-ico img {
    display: none;
  }
  .filter-table__left {
    flex-wrap: wrap;
  }
  .filter-table__left .btn {
    width: 100%;
    margin-bottom: 12px;
  }
  .filter-table__left.txt-button .note-table {
    margin-bottom: 12px;
  }
  .filter-table__left.txt-button .btn {
    width: 100%;
  }
  .filter-table__left.auto .btn {
    width: 100%;
    margin: 0 0 12px;
  }
  .filter-table__right form {
    flex-direction: column;
  }
  .filter-table__right form select,
  .filter-table__right form input,
  .filter-table__right form button {
    width: 100%;
    margin-right: 0;
    box-sizing: border-box;
    margin-bottom: 12px;
  }
  .filter-table__right form .select2-container {
    margin-right: 0;
    margin-bottom: 12px;
  }
  .filter-table__right form .custom-dropdown {
    width: 100%;
    margin-bottom: 12px;
  }
  .filter-table__right form .custom-dropdown .child {
    width: 100%;
  }
  .drop-select {
    width: 100%;
  }
  .form-inner .row .col.with-back {
    flex-direction: column;
  }
  .form-inner .row .col.with-back .rounded-ico.solid {
    order: 1;
    -webkit-order: 1;
    margin-bottom: 12px;
  }
  .form-inner .row .col.with-back .rounded-ico.grey {
    order: 2;
    -webkit-order: 2;
  }
  .form-inner .row .col .box-upload > .label {
    flex-direction: column;
  }
  .form-inner .row .col .box-upload .trigger-upload {
    display: inline-flex;
    width: 90px;
  }
  .form-inner .row .col .box-upload .trigger-upload span {
    line-height: 42px;
  }
  .form-inner .row .col .box-upload .note {
    margin-left: 0;
  }
  .list-gallery-competition .list-gallery-competition__item {
    width: calc((100% - 16px) / 2);
    margin-right: 16px;
    min-height: unset;
    max-height: unset;
    height: 90px;
  }
  .list-gallery-competition .list-gallery-competition__item:nth-child(3n), .list-gallery-competition .list-gallery-competition__item:nth-child(4n) {
    margin-right: 16px;
  }
  .list-gallery-competition .list-gallery-competition__item:nth-child(2n) {
    margin-right: 0;
  }
  .box-data-verifikasi .list-data .row.with-style-button .with-back {
    flex-direction: column-reverse;
  }
  .box-data-verifikasi .list-data .row.with-style-button .with-back .solid {
    margin-bottom: 12px;
  }
  .box-white.with-edit > h4 {
    margin-bottom: 20px;
  }
  .box-white.with-edit > .rounded-ico {
    position: relative;
    top: 0;
    right: auto;
    left: 0;
    margin-bottom: 24px;
  }
  .wrap-upload-file .note-uploads {
    min-width: 168px;
  }
}

@media all and (max-width: 400px) {
  .form-inner .row .col .box-upload .list-upload .img {
    width: 100%;
    margin-right: 0;
  }
  .form-inner .row .col .box-upload .list-upload .img figure {
    height: auto;
    max-height: 160px;
  }
  .form-inner .row .col .box-upload .list-upload .img figure img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    max-width: none;
    margin: 0 !important;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVfY29tcGV0aXRpb24uY3NzIiwic291cmNlcyI6WyJzdHlsZV9jb21wZXRpdGlvbi5zY3NzIiwic2Fzcy1saWIuc2NzcyIsImJvdXJib24vX2JvdXJib24uc2NzcyIsImJvdXJib24vc2V0dGluZ3MvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwiYm91cmJvbi9zZXR0aW5ncy9fYXNzZXQtcGlwZWxpbmUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19hc3NpZ24taW5wdXRzLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19jb250YWlucy1mYWxzeS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxlbmd0aC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2lzLWxpZ2h0LnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtbnVtYmVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9faXMtc2l6ZS5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3B4LXRvLWVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fc2hhZGUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19zdHJpcC11bml0cy5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL191bnBhY2suc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2NvbnZlcnQtdW5pdHMuc2NzcyIsImJvdXJib24vaGVscGVycy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLWFuZ2xlLXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fc3RyLXRvLW51bS5zY3NzIiwiYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fYXBwZWFyYW5jZS5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZmFjZS12aXNpYmlsaXR5LnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItaW1hZ2Uuc2NzcyIsImJvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwiYm91cmJvbi9jc3MzL19jb2x1bW5zLnNjc3MiLCJib3VyYm9uL2NzczMvX2ZpbHRlci5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9fZm9udC1mZWF0dXJlLXNldHRpbmdzLnNjc3MiLCJib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJib3VyYm9uL2NzczMvX2h5cGhlbnMuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwiYm91cmJvbi9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsImJvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsImJvdXJib24vY3NzMy9fcmFkaWFsLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsImJvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItY29sb3Iuc2NzcyIsImJvdXJib24vYWRkb25zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXN0eWxlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYm9yZGVyLXdpZHRoLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fYnV0dG9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fZWxsaXBzaXMuc2NzcyIsImJvdXJib24vYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX21hcmdpbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3BhZGRpbmcuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RleHQtaW5wdXRzLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fd29yZC13cmFwLnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgQ29tcGFueSAgICA6IFBUIFdlYiBBcmNoaXRlY3QgVGVjaG5vbG9neSAtIHdlYmFycS5jb21cclxuICAgIERvY3VtZW50ICAgOiBTdHlsZXNoZWV0XHJcbiAgICBBdXRob3IgICAgIDogSGFybGFuXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuQGltcG9ydCBcInNhc3MtbGliXCI7XHJcbmhlYWRlciB7XHJcbiAgJi5sb2dvLW9ubHkge1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgLmxvZ28ge1xyXG4gICAgICB0b3A6IDE0cHg7XHJcbiAgICAgIHdpZHRoOiAxNjVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgLnNlYy1zb2NpYWwge1xyXG4gICAgJi5vbmx5LWZvbGxvdy11cyB7XHJcbiAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYW5uZXItY29tcGV0aXRpb24ge1xyXG4gIG1hcmdpbi1ib3R0b206IC0zMHB4O1xyXG59XHJcblxyXG4uc2VlLWFycm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBjb2xvcjogIzEzMmYxYztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2Fycm93LXNlZS5zdmdcIikgbm8tcmVwZWF0IHJpZ2h0XHJcbiAgICA0cHggY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gICY6aG92ZXIge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMHB4IGNlbnRlcjtcclxuICB9XHJcbn1cclxuLmJ0biB7XHJcbiAgJi5yb3VuZGVkLWljbyB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgIzMzNmQ0NjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICMzMzZkNDY7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDJweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMjRweDtcclxuICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMzMzZkNDY7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEwMCUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDApIGh1ZS1yb3RhdGUoMTExZGVnKVxyXG4gICAgICAgICAgICBicmlnaHRuZXNzKDExMyUpIGNvbnRyYXN0KDEwMSUpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc29saWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMzM2ZDQ2O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDUzMDFhO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDUzMDFhO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ncmV5IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjZDhkOGQ4O1xyXG4gICAgICBjb2xvcjogIzljOWM5YztcclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNkOGQ4ZDg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaWNvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICMzMjY2NDM7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBpbWcge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogIzMzNmQ0NjtcclxuICAgIH1cclxuICAgICYub3V0bGluZSB7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMjY2NDM7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIGNvbG9yOiAjMzI2NjQzO1xyXG4gICAgfVxyXG4gICAgJi5hZGQtZmllbGQge1xyXG4gICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIH1cclxuICAgICYucmVkIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmNTk1OTtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NGRlZywgI2Y0Nzc1MyAwJSwgI2VlMWYxZiAxMDAlKTtcclxuICAgIH1cclxuICAgICYub3JhbmdlIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2Y3OTc2OTtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3NGRlZywgI2ZiYjU4MSAwJSwgI2Y3OTc2OSAxMDAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXRvcDogNTJweDtcclxuICB1bCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgPiB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgIGNvbG9yOiAjOTk5OTk5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzM2ZDQ2O1xyXG4gICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByZXYsXHJcbiAgICAgICAgJi5uZXh0IHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogIzk5OTk5OTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJldixcclxuICAgICAgICAmLm5leHQge1xyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICM5OTk5OTk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTk5OTk5O1xyXG4gICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJldiB7XHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZHJvcC1zZWxlY3Qge1xyXG4gIHdpZHRoOiAxMTVweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjhweDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy9pY28tc2VsZWN0LnN2Z1wiKVxyXG4gICAgICBuby1yZXBlYXQgcmlnaHQgNHB4IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUzZTM7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTNlMztcclxuICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDEwMCUgKyAycHgpO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC1ja2VkaXRvciB7XHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbiAgb2wsXHJcbiAgdWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG4gICAgbGkge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9sIHtcclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLndyYXAtYnRuLWNlbnRlciB7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogMzBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ud3JhcC11cGxvYWQtZmlsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5pbnB1dF9maWxlIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2QwZDBkMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGhlaWdodDogMTIwcHggIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgbWFyZ2luOiAzOHB4IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMzMjY2NDMgdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy90eXBlLWZpbGUuc3ZnXCIpXHJcbiAgICAgICAgbm8tcmVwZWF0IGxlZnQgMTZweCBjZW50ZXI7XHJcbiAgICAgICYudHlwZS1pbWcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMzMjY2NDMgdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy90eXBlLWltZy5zdmdcIilcclxuICAgICAgICAgIG5vLXJlcGVhdCBsZWZ0IDE2cHggY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmhhdmUtdmFsdWUge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgICsgLm5vdGUtdXBsb2FkcyB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubm90ZS11cGxvYWRzIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2xlYWRpbmctaWNvbi5zdmdcIikgbm8tcmVwZWF0XHJcbiAgICAgIGxlZnQgdG9wO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgbGFiZWwge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGNvbG9yOiAjNTA1MDUxO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjMzI2NjQzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGNvbG9yOiAjOGE4YjhiO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsIHtcclxuICAgIC5pbnB1dF9maWxlIHtcclxuICAgICAgaGVpZ2h0OiA4NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGUtdXBsb2FkcyB7XHJcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5ub3RlLXRuYy11cGxvYWQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi10b3A6IDhweDtcclxuICBjb2xvcjogIzUwNTA1MTtcclxuICBhIHtcclxuICAgIGNvbG9yOiAjMzM2ZDQ2O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gcG9wdXAgc3R5bGVcclxuXHJcbi5jb21wZXRpdGlvbi1wb3B1cCB7XHJcbiAgI2JveFBvcCB7XHJcbiAgICB3aWR0aDogOTQwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luOiA2MHB4IGF1dG87XHJcbiAgICAuY2xvc2UtcG9wIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgIHRvcDogLTQwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnRfcG9wIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2VmZWZlZjtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA0MHB4IHJnYmEoNzEsIDcxLCA3MSwgMC4wNSk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgcGFkZGluZzogNzJweCA2MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5idG4ge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudGl0bGUtcG9wdXAge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ2cHg7XHJcbiAgICAgIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICBjb2xvcjogIzYzNjM2MztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltZy10aGFua3Mge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmI3BvcHVwLWxvZ2luLXVzZXIge1xyXG4gICAgI2JveFBvcCB7XHJcbiAgICAgIHdpZHRoOiA2NjBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvcm0taW5uZXIge1xyXG4gICAgLyogd2lkdGggKi9cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICB3aWR0aDogNnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICAvKiBUcmFjayAqL1xyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZDk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgIC8qIEhhbmRsZSAqL1xyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMzMjY2NDM7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIH1cclxuICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG4gICAgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMzMjY2NDM7XHJcbiAgICB9XHJcbiAgICAuaW5uZXItc2Nyb2xsIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcclxuICAgICAgbWF4LWhlaWdodDogMjY1cHg7XHJcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnBvcHVwLXNtYWxsIHtcclxuICAgICNib3hQb3Age1xyXG4gICAgICB3aWR0aDogNDgwcHg7XHJcbiAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc21hbGwtcGFkZGluZyB7XHJcbiAgICAjYm94UG9wIHtcclxuICAgICAgLmlubmVycG9wIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDEycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJiNwb3B1cC1nYWxsZXJ5IHtcclxuICAgICNib3hQb3Age1xyXG4gICAgICAuY29udGVudF9wb3Age1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgICAgLnRhcmdldC1nYWxsZXJ5IHtcclxuICAgICAgICAgICAgd2lkdGg6IDg2MHB4O1xyXG4gICAgICAgICAgICAuc2xpY2stc2xpZGUge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2xpY2stYXJyb3cge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5oZWFkZXIge1xyXG4gICYuaGVhZGVyLWRhc2hib2FyZCB7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gICAgLmxvZ28ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgd2lkdGg6IDE2NXB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1kYXNoYm9hcmRfX3JpZ2h0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgLnVzZXItZGFzaGJvYXJkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogIzEzMmYxYztcclxuICAgICAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2JjZDNjMztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOTM1MzU7XHJcbiAgICAgICAgICAgICAgdG9wOiAtM3B4O1xyXG4gICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubG9nb3V0LWRhc2hib2FyZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb21wZXRpdGlvbi1hc3NldHMvaWNvLWxvZ291dC5zdmdcIikgbm8tcmVwZWF0XHJcbiAgICAgICAgICBsZWZ0IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgJi5tZWRpdW0ge1xyXG4gICAgd2lkdGg6IDk0MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm1pZGRsZSB7XHJcbiAgJi5jb21wZXRpdGlvbi1taWRkbGUge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy9iZy1jb21wZXRpdGlvbi1taWRkbGUucG5nXCIpXHJcbiAgICAgIHJlcGVhdC14IGxlZnQgYm90dG9tO1xyXG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcclxuICB9XHJcbn1cclxuLmNvbXBldGl0aW9uLWlubmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogODBweCAwIDE4MHB4O1xyXG59XHJcblxyXG4udGl0bGUtc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIGgzIHtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAuc2VlLWFycm93IHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLndyYXAtbG9naW4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgJl9faW1nIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgbWluLWhlaWdodDogNjAwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXHJcbiAgICAgICAgOTUuMzclIDUwJSBhdCA1MCUgNTAlLFxyXG4gICAgICAgIHJnYmEoMTksIDQ3LCAyOCwgMCkgMCUsXHJcbiAgICAgICAgcmdiYSgxOSwgNDcsIDI4LCAwLjcpIDEwMCVcclxuICAgICAgKTtcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2Zvcm0ge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmLS1ib3gge1xyXG4gICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgIC5sb2dvLWZjIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzNweDtcclxuICAgICAgICBjb2xvcjogIzEyMTMxMztcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yMTI1O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAjNTA1MDUxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7XHJcbiAgei1pbmRleDogMTAwMDAwMDtcclxufVxyXG4uZm9ybS1pbm5lciB7XHJcbiAgbWFyZ2luLXRvcDogMzJweDtcclxuICAucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAuc3BhY2Uge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29sIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAmLmNvbC01MCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XHJcbiAgICAgIH1cclxuICAgICAgaHIge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkOTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogIzYzNjM2NDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGhlbHZldGljYTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgIGNvbG9yOiAjZWMzYTI0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbiAgICAgIHNlbGVjdCxcclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUzZTM7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgZWFzZS1vdXQgMC4yNXM7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzI2NjQzO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2ljby1zZWxlY3Quc3ZnXCIpXHJcbiAgICAgICAgICBuby1yZXBlYXQgcmlnaHQgMTBweCBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgfVxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMjY2NDM7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGNvbG9yOiAjMzI2NjQzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMzMjY2NDM7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5idG4ge1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDEwcHggcmdiYSgxLCA0OCwgODYsIDAuMSk7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzI2NjQzO1xyXG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzA1MzAxYTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDA7XHJcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xyXG4gICAgICAgICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLS1kZWZhdWx0IHtcclxuICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAgICYtLXNpbmdsZSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTJlM2UzO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRcclxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVxyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFxyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlXHJcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvd1xyXG4gICAgICAgIGIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb21wZXRpdGlvbi1hc3NldHMvaWNvLXNlbGVjdC5zdmdcIikgbm8tcmVwZWF0XHJcbiAgICAgICAgICByaWdodCAxMHB4IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXJcclxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVxyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAzNnB4IDlweCAxNnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogIzY2NjtcclxuICAgICAgfVxyXG4gICAgICAucmFkaW8taW5saW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgfVxyXG4gICAgICAucmFkaW8ge1xyXG4gICAgICAgID4gbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICM1MDUwNTE7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjZweDtcclxuICAgICAgICAgIG1hcmdpbjogMTJweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxZDVmM2M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzFkNWYzYztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hlY2ttYXJrIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk2OTY5NjtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ1ZjNjO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jaGVja2JveCB7XHJcbiAgICAgICAgJi5zbWFsbCA+IGxhYmVsIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgICBjb2xvcjogIzcxNzA3MDtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAxMnB4IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxZDVmM2M7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDVmM2M7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZDVmM2M7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjN2M2YzY7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi53aXRoLWZvcmdvdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAuZm9yZ290LXBhc3Mge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICBjb2xvcjogIzMyNjY0MztcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuYmFjayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgIGNvbG9yOiAjMzI2NjQzO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLndpdGgtYmFjayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLnJvdW5kZWQtaWNvIHtcclxuICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICAgICAgICAmLnNvbGlkIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2VudGVyIHtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucGFzc3dvcmQtaW5wdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlZS1wYXNzd29yZCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4YThiOGI7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZyk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5hY3Qge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5ib3gtdXBsb2FkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjZDBkMGQxO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgID4gLmxhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50cmlnZ2VyLXVwbG9hZCB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy9sZWFkaW5nLWljb24tMi5zdmcpXHJcbiAgICAgICAgICAgICAgbm8tcmVwZWF0IHJpZ2h0IDI3cHggY2VudGVyLFxyXG4gICAgICAgICAgICAjMWQ1ZjNjO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFkNWYzYztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMCA1NHB4IDAgMjdweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmVycm9yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbC5lcnJvciB7XHJcbiAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdGUge1xyXG4gICAgICAgICAgLy9jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNvbG9yOiAjNjY3MjdFLCAkYW1vdW50OiAuNSk7XHJcbiAgICAgICAgICBjb2xvcjogIzUwNTA1MTtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiA2cHggMTRweCAwO1xyXG4gICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY29sb3I6ICM4YThiOGI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saXN0LXVwbG9hZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgLy8gJi52aWV3IHtcclxuICAgICAgICAgIC8vICAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAuaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxN3B4IDIwcHggMCAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTA4cHg7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDE2MnB4O1xyXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZWwtaW1nIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU4ZWE7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxhYmVsLmVycm9yIHtcclxuICAgICAgICBjb2xvcjogI2NkMTAwMDtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRyb2wtY2hlY2tib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmVycm9yIHtcclxuICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxpc3QtY29tcGV0aXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgJi0taXRlbSB7XHJcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDY0cHgpIC8gMyk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDRweCAyMHB4IHJnYmEoMywgMjMsIDEzLCAwLjA1KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDY2cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5idG4ge1xyXG4gICAgICAmLnJvdW5kZWQtaWNvIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMjRweDtcclxuICAgICAgICBib3R0b206IDI0cHg7XHJcbiAgICAgICAgcmlnaHQ6IDI0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjJzO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm50aC1jaGlsZCgzbikge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLS1kZXNjIHtcclxuICAgICAgcGFkZGluZzogMjRweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcclxuICAgICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIH1cclxuICAgICAgLnRpbWUtY29tcGV0aXRpb24sXHJcbiAgICAgIC5sb2MtY29tcGV0aXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2ljby10aW1lLnN2Z1wiKSBuby1yZXBlYXRcclxuICAgICAgICAgIGxlZnQgdG9wO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIGNvbG9yOiAjMmUyZTJlO1xyXG4gICAgICB9XHJcbiAgICAgIC5sb2MtY29tcGV0aXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb21wZXRpdGlvbi1hc3NldHMvaWNvLWxvY2F0aW9uLnN2Z1wiKVxyXG4gICAgICAgICAgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFzdCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmRldGFpbC1jb21wZXRpdGlvbiB7XHJcbiAgLnRleHQtZGV0YWlsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICAgIGgxLFxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBjb2xvcjogIzYzNjM2MztcclxuICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgIGkge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIH1cclxuICAgICAgc3BhbixcclxuICAgICAgYSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAmLm5vLW1hcmdpbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkOTtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIG1hcmdpbjogNTZweCAwO1xyXG4gIH1cclxuICAud3JhcC1pY28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyNHB4IDA7XHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgJi50aW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2ljby10aW1lLnN2Z1wiKSBuby1yZXBlYXRcclxuICAgICAgICAgIGxlZnQgdG9wO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweDtcclxuICAgICAgfVxyXG4gICAgICAmLmxvYyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy9pY28tbG9jYXRpb24uc3ZnXCIpXHJcbiAgICAgICAgICBuby1yZXBlYXQgbGVmdCB0b3A7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAud3JhcC1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5LjQ2ZGVnLCAjNDU4NjVhIDI0LjE0JSwgIzMyNjY0MyA3Mi41NyUpO1xyXG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgIHRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgcGFkZGluZzogMTRweCA0MHB4O1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzM2ZDQ2O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgfVxyXG4gICAgICAmLnNvbGlkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5LjQ2ZGVnLCAjNDU4NjVhIDI0LjE0JSwgIzMyNjY0MyA3Mi41NyUpO1xyXG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgxMDAlKSBzZXBpYSgxMDAlKSBzYXR1cmF0ZSgwKSBodWUtcm90YXRlKDExMWRlZylcclxuICAgICAgICAgICAgYnJpZ2h0bmVzcygxMzIlKSBjb250cmFzdCgxMjUlKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLndyYXAtYnRuLXNwYWNlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxufVxyXG4uYm94LXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gIGJveC1zaGFkb3c6IDBweCA0cHggNDBweCByZ2JhKDcxLCA3MSwgNzEsIDAuMDUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgcGFkZGluZzogNTBweDtcclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gIGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgfVxyXG4gIC5jb250cm9sLWNoZWNrYm94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5ncmVlbiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7XHJcbiAgICB9XHJcbiAgICBsYWJlbC5lcnJvciB7XHJcbiAgICAgIGNvbG9yOiAjY2QxMDAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICBvcmRlcjogMztcclxuICAgIH1cclxuICB9XHJcbiAgLnJoLWp1c3RpZnkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICB9XHJcbiAgJi53aXRoLWVkaXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgPiBoNCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgICA+IC5yb3VuZGVkLWljbyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDEwMHB4O1xyXG4gICAgICB0b3A6IDcwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb3JtLWlubmVyIHtcclxuICAgIC5jb2wge1xyXG4gICAgICAuY29udHJvbC1jaGVja2JveCB7XHJcbiAgICAgICAgJi5ncmVlbiB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAucmgtanVzdGlmeSB7XHJcbiAgICAgICAgYnV0dG9uLmJ0biB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICYucm91bmRlZC1pY28ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNjYW4tcXIge1xyXG4gICAgd2lkdGg6IDU5MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IDYwcHggODBweDtcclxuICAgIC5ib3gtcXIge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgZmlndXJlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDBweCAwIDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogIzYzNjM2MztcclxuICAgICAgfVxyXG4gICAgICBociB7XHJcbiAgICAgICAgbWFyZ2luOiAyNHB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgaDUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgIH1cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAjOGE4YjhiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICB9XHJcbiAgICAgIC52YWwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5jb250cm9sLWNoZWNrYm94IHtcclxuICAmLmdyZWVuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGlucHV0IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgJjpjaGVja2VkLFxyXG4gICAgICAmW2NoZWNrZWQ9XCJjaGVja2VkXCJdIHtcclxuICAgICAgICArIHNwYW4sXHJcbiAgICAgICAgfiBzcGFuIHtcclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzZkNDZcclxuICAgICAgICAgICAgICB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2ljby1jaGVja2xpcy5zdmdcIikgbm8tcmVwZWF0XHJcbiAgICAgICAgICAgICAgY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgY29sb3I6ICM1MDUwNTE7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzMzNmQ0NjtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgY29sb3I6ICMzMzZkNDY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZmlsdGVyLXRhYmxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgJl9fbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGg0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDE2cHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyOS40NmRlZywgIzQ1ODY1YSAyNC4xNCUsICMzMjY2NDMgNzIuNTclKSxcclxuICAgICAgICAjZmZmZmZmO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2Utb3V0IDAuMjVzO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5LjQ2ZGVnLCAjMzI2NjQzIDI0LjE0JSwgIzQ1ODY1YSA3Mi41NyUpLFxyXG4gICAgICAgICAgI2ZmZmZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGUtdGFibGUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcbiAgICAmLnR4dC1idXR0b24ge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIC5idG4ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX3JpZ2h0IHtcclxuICAgIGZvcm0ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgc2VsZWN0LFxyXG4gICAgaW5wdXQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUzZTM7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGNvbG9yOiAjODQ4NDg0O1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgcGFkZGluZzogOXB4IDE2cHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGlucHV0IHtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAmLmNsYXNzIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbXBldGl0aW9uLWFzc2V0cy9pY28tc2VsZWN0LnN2Z1wiKSBuby1yZXBlYXRcclxuICAgICAgICByaWdodCAxMHB4IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XHJcbiAgICAgICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgICB9XHJcbiAgICAgICYtLWRlZmF1bHQge1xyXG4gICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XHJcbiAgICAgICAgICAmLS1zaW5nbGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNlMmUzZTM7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFxyXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZVxyXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0XHJcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlXHJcbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3dcclxuICAgICAgYiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb21wZXRpdGlvbi1hc3NldHMvaWNvLXNlbGVjdC5zdmdcIikgbm8tcmVwZWF0XHJcbiAgICAgICAgcmlnaHQgMTBweCBjZW50ZXI7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgIH1cclxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcclxuICAgICAgcGFkZGluZzogOXB4IDM2cHggOXB4IDE2cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6ICM4NDg0ODQ7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzI2NjQzO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGhlaWdodDogNDdweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgY29sb3I6ICMzMjY2NDM7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzMyNjY0MztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1vdXQgMC4yNXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jdXN0b20tZHJvcGRvd24ge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2ljby1zZWxlY3Quc3ZnXCIpIG5vLXJlcGVhdFxyXG4gICAgICAgICAgcmlnaHQgMTBweCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgLmNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNDBweCByZ2JhKDcxLCA3MSwgNzEsIDAuMDUpO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDM4MHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxOHB4O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjNmE2YTZhO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMzZkNDY7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5jaGlsZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5yYWRpbyB7XHJcbiAgICAgID4gbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAjYWRhZGFkO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTJweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWQ1ZjNjO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxZDVmM2M7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5jaGVja21hcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Njk2OTY7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ1ZjNjO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNoZWNrYm94IHtcclxuICAgICAgJi5zbWFsbCA+IGxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIH1cclxuICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICM3MTcwNzA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW46IDEycHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWQ1ZjNjO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ1ZjNjO1xyXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFkNWYzYztcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIH1cclxuICAgICAgLmNoZWNrbWFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3YzZjNjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgbGVmdDogNnB4O1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tYWluLXRhYmxlIHtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlZWVlZWY7XHJcbiAgICB0ciB7XHJcbiAgICAgIHRkLFxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0ycHggMHB4ICNlZWVlZWY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGNvbG9yOiAjNmE2YTZhO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgYS5pY28ge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1nLWthcnlhIHtcclxuICAgICAgICAgIHdpZHRoOiA3MnB4O1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgJi5zdGF0dXMge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgIGNvbG9yOiAjNGE5MDM0O1xyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmZmZTQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYudmVyaWZpZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogIzJiODI5YTtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U1ZjlmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5zdWJtaXR0ZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ViN2YzYztcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZWVlOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAjNTA1MDUxO1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmJveC1zZWFyY2gtZGF0YSB7XHJcbiAgLmJveC1zZWFyY2gtZGF0YV9fZm9ybSB7XHJcbiAgICAucm93IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgICAgLmNvbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzIwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbC1jb2RlIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGxhYmVsLmVycm9yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmJveC1kYXRhLXZlcmlmaWthc2kge1xyXG4gIHBhZGRpbmc6IDgwcHggMTAwcHg7XHJcbiAgLmxpc3QtZGF0YSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAucm93IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xcHggMHB4ICNlZWVlZWY7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgJi5jb2x1bW4ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAmLmNvbC01MCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTFweCAwcHggI2VlZWVlZjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogIzhhOGI4YjtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICB9XHJcbiAgICAgIC5pbmZvIHtcclxuICAgICAgICBjb2xvcjogIzQwNDA0MDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICB9XHJcbiAgICAgICYud2l0aC1zdHlsZS1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICAud2l0aC1iYWNrIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5jZW50ZXItYnV0dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgbWFyZ2luLXRvcDogNDJweDtcclxuICAuYnRuIHtcclxuICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgfVxyXG59XHJcbi5saXN0LWdhbGxlcnktY29tcGV0aXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIC5saXN0LWdhbGxlcnktY29tcGV0aXRpb25fX2l0ZW0ge1xyXG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDMpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLW91dCAwLjI1cztcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucG9wdXAtaW1hZ2Uge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmlndXJlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAuZGVzYy10ZXh0LWltYWdlIHtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgaDQge1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgY29sb3I6ICM2MzYzNjM7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICB9XHJcbiAgICBvbCxcclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgY29sb3I6ICM2MzYzNjM7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb2wge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI3N0YWdlIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB3aWR0aDogNDYwcHg7XHJcbiAgcGFkZGluZzogMCAwIDQwcHg7XHJcbn1cclxuXHJcbi5wZXJzcGVjdGl2ZS1vbiB7XHJcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIC1tb3otcGVyc3BlY3RpdmU6IDEwMDBweDtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4OyAvKiBTZXR0aW5nIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgY29udGVudHMgb2YgdGhlIHN0YWdlIGJ1dCBub3QgdGhlIHN0YWdlIGl0c2VsZiovXHJcbn1cclxuLnBlcnNwZWN0aXZlLW9mZiB7XHJcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMDtcclxuICAtbW96LXBlcnNwZWN0aXZlOiAwO1xyXG4gIHBlcnNwZWN0aXZlOiAwO1xyXG59XHJcbi53cmFwLXJvdGF0ZSB7XHJcbiAgcGFkZGluZzogMjBweCAwO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMTNweDtcclxuICBib3JkZXI6IDRweCBzb2xpZCAjNzViODhiO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmOmFmdGVyLFxyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCAjZTk3NTM0O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIGJvcmRlci1yaWdodDogMTJweCBzb2xpZCAjZTk3NTM0O1xyXG4gIH1cclxufVxyXG4jcm90YXRlIHtcclxuICBtYXJnaW46IDAgYXV0byAwO1xyXG4gIHdpZHRoOiA0NjBweDtcclxuICBoZWlnaHQ6IDc4cHg7XHJcbiAgcGFkZGluZy10b3A6IDNweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC5yaW5nIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgfVxyXG4gICNyaW5nMSB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTUwcHg7XHJcbiAgfVxyXG4gIC5zbG90IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG9wYWNpdHk6IDAuOTtcclxuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2UyZTNlMztcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAuYmFja2ZhY2Utb24ge1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC5zbG90IHAge1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogODBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIGxhYmVsIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA0NSU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC50aWx0ZWQge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDQ1ZGVnKTtcclxuICB9XHJcbiAgLyo9PT09PSovXHJcbiAgLnNwaW4tMCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTM3MTlkZWcpO1xyXG4gIH1cclxuICAuc3Bpbi0xIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMzc0OWRlZyk7XHJcbiAgfVxyXG4gIC5zcGluLTIge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zNzc5ZGVnKTtcclxuICB9XHJcbiAgLnNwaW4tMyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTM4MDlkZWcpO1xyXG4gIH1cclxuICAuc3Bpbi00IHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMzgzOWRlZyk7XHJcbiAgfVxyXG4gIC5zcGluLTUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zODY5ZGVnKTtcclxuICB9XHJcbiAgLnNwaW4tNiB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTM4OTlkZWcpO1xyXG4gIH1cclxuICAuc3Bpbi03IHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMzkyOWRlZyk7XHJcbiAgfVxyXG4gIC5zcGluLTgge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zOTU5ZGVnKTtcclxuICB9XHJcbiAgLnNwaW4tOSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTM5ODlkZWcpO1xyXG4gIH1cclxuICAuc3Bpbi0xMCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTQwMTlkZWcpO1xyXG4gIH1cclxuICAuc3Bpbi0xMSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTQwNDlkZWcpO1xyXG4gIH1cclxuICAvKj09PT09Ki9cclxufVxyXG5cclxuQGtleWZyYW1lcyBiYWNrLXNwaW4ge1xyXG4gIC8qMCUgICAgeyB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0qL1xyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDMwZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyB0aWx0aW4ge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoNDVkZWcpO1xyXG4gIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRpbHRvdXQge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWSg0NWRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluLTAge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zNzE5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTEge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zNzQ5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTIge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zNzc5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTMge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zODA5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTQge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zODM5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTUge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zODY5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTYge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zODk5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTcge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zOTI5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTgge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zOTU5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTkge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgzMGRlZyk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0zOTg5ZGVnKTtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBzcGluLTEwIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMzBkZWcpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtNDAxOWRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3Bpbi0xMSB7XHJcbiAgMCUge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDMwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTQwNDlkZWcpO1xyXG4gIH1cclxufVxyXG4uaW5uZXItbHVja3kge1xyXG4gIHdpZHRoOiA2OTBweDtcclxuICBwYWRkaW5nOiA3MHB4IDYwcHggNDBweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29tcGV0aXRpb24tYXNzZXRzL2JnLWx1Y2t5LWRyYXcucG5nXCIpIG5vLXJlcGVhdFxyXG4gICAgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLmZ1bGwtc2NyZWVuIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAzMHB4O1xyXG4gICAgcmlnaHQ6IDQwcHg7XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gICAgaW1nIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIH1cclxuICB9XHJcbiAgZmlndXJlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgLmJveC1sdWNreSB7XHJcbiAgICB3aWR0aDogNTYwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gIC5uYW1lIHtcclxuICAgIHBhZGRpbmc6IDI0cHggMCAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjE3LCAyMTcsIDIxNywgMC41KTtcclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuICAud3JhcC1yYW5kb20tYnRuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgLmJ0biB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5mdWxsLXdpZHRoIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogLTFweDtcclxuICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC5ib3gtbHVja3kge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi53cmFwLW51bWJlciB7XHJcbiAgd2lkdGg6IDQ3OHB4O1xyXG4gIGhlaWdodDogMTE4cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAxM3B4O1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICM3NWI4OGI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgJjphZnRlcixcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgIzEzMmYxYztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgIzEzMmYxYztcclxuICB9XHJcbiAgJl9iZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTNlMztcclxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbiAgJl9fc2xpZGUge1xyXG4gICAgd2lkdGg6IDQzOHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMTAwJTtcclxuICAgIHBhZGRpbmctbGVmdDogNTJweDtcclxuICAgID4gZGl2IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogNjJweDtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLW91dDtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB9XHJcbiAgICAgICYuaW4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgxLCAwLCAwLCAtOTBkZWcpO1xyXG4gICAgICB9XHJcbiAgICAgICYub3V0IHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLW91dDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzY2cHgpIHtcclxuICAuY29tcGV0aXRpb24taW5uZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDY0cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcclxuICBoZWFkZXIge1xyXG4gICAgJi5oZWFkZXItZGFzaGJvYXJkIHtcclxuICAgICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICAuaGVhZGVyLWRhc2hib2FyZF9fcmlnaHQge1xyXG4gICAgICAgIC51c2VyLWRhc2hib2FyZCB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9nb3V0LWRhc2hib2FyZCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5taWRkbGUge1xyXG4gICAgJi5jb21wZXRpdGlvbi1taWRkbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMjRweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnRpdGxlLXNlY3Rpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICAgIGgzIHtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2VlLWFycm93IHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICB9XHJcbiAgLmJ0biB7XHJcbiAgICAmLnJvdW5kZWQtaWNvIHtcclxuICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAucGFnaW5hdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0taW5uZXIge1xyXG4gICAgLnJvdyB7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAmLmJ0biB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4gICAgICAgIHNlbGVjdCxcclxuICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMzJweCA1cHggMTJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2wtNTAge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXNzd29yZC1pbnB1dCB7XHJcbiAgICAgICAgICAuc2VlLXBhc3N3b3JkIHtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3JhcC1sb2dpbiB7XHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgJi0tYm94IHtcclxuICAgICAgICB3aWR0aDogMzY0cHg7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbXBldGl0aW9uLWlubmVyIHtcclxuICAgIHBhZGRpbmc6IDY0cHggMCAxMjBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZ3IC0gNjRweCk7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDg5NnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAubGlzdC1jb21wZXRpdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xyXG4gICAgJi0taXRlbSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNDhweCkgLyAzKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNzJweDtcclxuICAgICAgJi0tZGVzYyB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAxNnB4IDA7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYnRuIHtcclxuICAgICAgICAmLnJvdW5kZWQtaWNvIHtcclxuICAgICAgICAgIGxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICAgIGJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJveC13aGl0ZSB7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDI0cHg7XHJcbiAgfVxyXG4gIC5kZXRhaWwtY29tcGV0aXRpb24ge1xyXG4gICAgLnRleHQtZGV0YWlsIHtcclxuICAgICAgcGFkZGluZzogMCAyNHB4O1xyXG4gICAgICBoMSxcclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIH1cclxuICAgICAgaHIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcC1pY28ge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcC1idG4ge1xyXG4gICAgICBtYXJnaW4tdG9wOiA1MnB4O1xyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDMycHg7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb21wZXRpdGlvbi1wb3B1cCB7XHJcbiAgICAjYm94UG9wIHtcclxuICAgICAgd2lkdGg6IDY4OHB4O1xyXG4gICAgICAuY29udGVudF9wb3Age1xyXG4gICAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiNwb3B1cC1nYWxsZXJ5IHtcclxuICAgICAgI2JveFBvcCB7XHJcbiAgICAgICAgd2lkdGg6IDY4OHB4O1xyXG4gICAgICAgIC5jb250ZW50X3BvcCB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjRweDtcclxuICAgICAgICAgICAgLnRhcmdldC1nYWxsZXJ5IHtcclxuICAgICAgICAgICAgICB3aWR0aDogNjQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xyXG4gIC5jb21wZXRpdGlvbi1pbm5lciB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IDY0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRldGFpbC1jb21wZXRpdGlvbiB7XHJcbiAgICAud3JhcC1idG4ge1xyXG4gICAgICBhIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dC1kZXRhaWwge1xyXG4gICAgICBoMSxcclxuICAgICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0taW5uZXIge1xyXG4gICAgLnJvdyB7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgICYud2l0aC1iYWNrIHtcclxuICAgICAgICAgIC5yb3VuZGVkLWljby5zb2xpZCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0bi5pY28ge1xyXG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3JhcC1sb2dpbiB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICAmX19pbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSA2MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2Zvcm0ge1xyXG4gICAgICBwYWRkaW5nOiA0MHB4IDYwcHg7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAmLS1ib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLmZvcm0taW5uZXIge1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0LWxvZ2luIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgIC5sb2dvLWZjIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saXN0LWNvbXBldGl0aW9uIHtcclxuICAgICYtLWl0ZW0ge1xyXG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDMycHgpIC8gMik7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5saXN0LWdhbGxlcnktY29tcGV0aXRpb24ge1xyXG4gICAgLmxpc3QtZ2FsbGVyeS1jb21wZXRpdGlvbl9faXRlbSB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNDhweCkgLyAzKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XHJcbiAgICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5maWx0ZXItdGFibGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICZfX2xlZnQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAuYnRuIHtcclxuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgICAgJi5hdXRvIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3JpZ2h0IHtcclxuICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGlucHV0LFxyXG4gICAgICBzZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2OHB4KTtcclxuICAgICAgfVxyXG4gICAgICAuY3VzdG9tLWRyb3Bkb3duIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjhweCk7XHJcbiAgICAgICAgLmNoaWxkIHtcclxuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ib3gtd2hpdGUge1xyXG4gICAgLyogd2lkdGggKi9cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICB3aWR0aDogNXB4O1xyXG4gICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgfVxyXG4gICAgLyogVHJhY2sgKi9cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVmO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICB9XHJcbiAgICAvKiBIYW5kbGUgKi9cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMzM2ZDQ2O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICB9XHJcbiAgICAvKiBIYW5kbGUgb24gaG92ZXIgKi9cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMzM2ZDQ2O1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLndpdGgtZWRpdCB7XHJcbiAgICAgID4gLnJvdW5kZWQtaWNvIHtcclxuICAgICAgICByaWdodDogMjRweDtcclxuICAgICAgICB0b3A6IDQwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbm5lci1sdWNreSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAuYm94LWx1Y2t5IHtcclxuICAgICAgd2lkdGg6IDUyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJveC1kYXRhLXZlcmlmaWthc2kge1xyXG4gICAgLmxpc3QtZGF0YSB7XHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmZvIHtcclxuICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWFpbi10YWJsZSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG4gICAgdGFibGUge1xyXG4gICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICB0ciB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGgsXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgIGEuaWNvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyB0aGVhZCB7XHJcbiAgICAgIC8vICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgLy8gfVxyXG4gICAgICAvLyB0Ym9keSB7XHJcbiAgICAgIC8vICAgdHIge1xyXG4gICAgICAvLyAgICAgdGQge1xyXG4gICAgICAvLyAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAvLyAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgLy8gICAgICAgYm9yZGVyOiAxcHggc29saWQgICNFRUVFRUY7XHJcbiAgICAgIC8vICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgIC8vICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgLy8gICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGl0bGUpO1xyXG4gICAgICAvLyAgICAgICAgIHdpZHRoOjMwJTtcclxuICAgICAgLy8gICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAvLyAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgLy8gICAgICAgICBjb2xvcjogIzIxMjEyMTtcclxuICAgICAgLy8gICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAvLyAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAvLyAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIC8vICAgICAgIH1cclxuICAgICAgLy8gICAgICAgJi5hY3Rpb24ge1xyXG4gICAgICAvLyAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAvLyAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgLy8gICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAvLyAgICAgICB9XHJcbiAgICAgIC8vICAgICAgIGEuaWNvIHtcclxuICAgICAgLy8gICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIC8vICAgICAgIH1cclxuICAgICAgLy8gICAgIH1cclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kcm9wLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1pbi13aWR0aDogODVweDtcclxuICB9XHJcblxyXG4gIC5jb21wZXRpdGlvbi1wb3B1cCB7XHJcbiAgICAjYm94UG9wIHtcclxuICAgICAgd2lkdGg6IDY0MHB4O1xyXG4gICAgICAudGl0bGUtcG9wdXAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgaGVhZGVyIHtcclxuICAgICYuaGVhZGVyLWRhc2hib2FyZCB7XHJcbiAgICAgIC5oZWFkZXItZGFzaGJvYXJkX19yaWdodCB7XHJcbiAgICAgICAgLnVzZXItZGFzaGJvYXJkIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2dvdXQtZGFzaGJvYXJkIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgIHdpZHRoOiAwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5taWRkbGUge1xyXG4gICAgJi5jb21wZXRpdGlvbi1taWRkbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuYmFubmVyLWNvbXBldGl0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmaWd1cmUge1xyXG4gICAgICBtaW4taGVpZ2h0OiAyMjBweDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY29tcGV0aXRpb24taW5uZXIge1xyXG4gICAgcGFkZGluZzogNDBweCAwIDgwcHg7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMCAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2VlLWFycm93IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIH1cclxuICAuYnRuIHtcclxuICAgICYucm91bmRlZC1pY28ge1xyXG4gICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50aXRsZS1zZWN0aW9uIHtcclxuICAgIGgzIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgdWwge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLndyYXAtbG9naW4ge1xyXG4gICAgJl9faW1nIHtcclxuICAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDB2dyAqIDAuNjQpO1xyXG4gICAgICBtaW4taGVpZ2h0OiAyNDBweDtcclxuICAgIH1cclxuICAgICZfX2Zvcm0ge1xyXG4gICAgICBwYWRkaW5nOiAyNHB4O1xyXG4gICAgICAmLS1ib3gge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtbG9naW4ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1pbm5lciB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGlzdC1jb21wZXRpdGlvbiB7XHJcbiAgICAmLS1pdGVtIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgICAgJi0tZGVzYyB7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWUtY29tcGV0aXRpb24sXHJcbiAgICAgICAgLmxvYy1jb21wZXRpdGlvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2MtY29tcGV0aXRpb24ge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmRldGFpbC1jb21wZXRpdGlvbiB7XHJcbiAgICBociB7XHJcbiAgICAgIG1hcmdpbjogMzJweCAwO1xyXG4gICAgfVxyXG4gICAgLnRleHQtZGV0YWlsIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgaDEsXHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGhyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC53cmFwLWljbyB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICYubG9jIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAud3JhcC1idG4ge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYm94LXdoaXRlIHtcclxuICAgIHBhZGRpbmc6IDMwcHggMTZweDtcclxuICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICBoNCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1jaGVja2JveCB7XHJcbiAgICAgICYuZ3JlZW4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5yaC1qdXN0aWZ5IHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgICYud2l0aC1lZGl0IHtcclxuICAgICAgPiAucm91bmRlZC1pY28ge1xyXG4gICAgICAgIHRvcDogMjZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zY2FuLXFyIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICAgIC5ib3gtcXIge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJveC1zZWFyY2gtZGF0YSB7XHJcbiAgICAuYm94LXNlYXJjaC1kYXRhX19mb3JtIHtcclxuICAgICAgLnJvdyB7XHJcbiAgICAgICAgLmNvbCB7XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmNvbC1jb2RlIHtcclxuICAgICAgICAgICAgbGFiZWwuZXJyb3Ige1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICYuaWNvIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJveC1kYXRhLXZlcmlmaWthc2kge1xyXG4gICAgLmxpc3QtZGF0YSB7XHJcbiAgICAgIC5yb3cge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29sdW1uIHtcclxuICAgICAgICAgIC5jb2wge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY29sLTUwIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmNvbXBldGl0aW9uLXBvcHVwIHtcclxuICAgICNib3hQb3Age1xyXG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpO1xyXG4gICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAuY29udGVudF9wb3Age1xyXG4gICAgICAgIC5pbm5lcnBvcCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzNnB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC50aXRsZS1wb3B1cCB7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWlubmVyIHtcclxuICAgICAgLmlubmVyLXNjcm9sbCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBvcHVwLXNtYWxsIHtcclxuICAgICAgI2JveFBvcCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmI3BvcHVwLWdhbGxlcnkge1xyXG4gICAgICAjYm94UG9wIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDY4MHB4O1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XHJcbiAgICAgICAgLmNvbnRlbnRfcG9wIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAuaW5uZXJwb3Age1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgICAgICAgICAudGFyZ2V0LWdhbGxlcnkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNzZweCk7XHJcbiAgICAgICAgICAgICAgLnNsaWNrLWFycm93IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsLXBhZGRpbmcge1xyXG4gICAgICAjYm94UG9wIHtcclxuICAgICAgICAuY29udGVudF9wb3Age1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTtcclxuICAgICAgICAgIG1heC13aWR0aDogNjgwcHg7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgLmlubmVycG9wIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYjcG9wdXAtbG9naW4tdXNlciB7XHJcbiAgICAgICNib3hQb3Age1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyAucG9wdXAtaW1hZ2Uge1xyXG4gIC8vICAgZmlndXJlIHtcclxuICAvLyAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAvLyAgICAgaW1nIHtcclxuICAvLyAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgLy8gICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgLy8gICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gIC5mb3JtLWlubmVyIHtcclxuICAgIC5yb3cge1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgICYuY29sLTUwIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLndpdGgtYmFjayB7XHJcbiAgICAgICAgICAucm91bmRlZC1pY28ge1xyXG4gICAgICAgICAgICAmLnNvbGlkIHtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC11cGxvYWQge1xyXG4gICAgICAgICAgLnRyaWdnZXItdXBsb2FkIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQ4cHggMCAxNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxN3B4IGNlbnRlcjtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5saXN0LXVwbG9hZCB7XHJcbiAgICAgICAgICAgIC5pbWcge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbm5lci1sdWNreSB7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAyMHB4O1xyXG4gICAgbWFyZ2luOiAtNDBweCAtMjRweCAtODBweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLmZ1bGwtc2NyZWVuIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYm94LWx1Y2t5IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAubmFtZSB7XHJcbiAgICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLndyYXAtbnVtYmVyIHtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgJl9fc2xpZGUge1xyXG4gICAgICB3aWR0aDogMjYwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNjVweDtcclxuICAgICAgPiBkaXYge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAzN3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmX2JnIHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcbiAgLmxpc3QtY29tcGV0aXRpb24ge1xyXG4gICAgJi0taXRlbSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgZmlndXJlIHtcclxuICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYtLWRlc2Mge1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICYucm91bmRlZC1pY28ge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5maWx0ZXItdGFibGUge1xyXG4gICAgJl9fbGVmdCB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgLmJ0biB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgfVxyXG4gICAgICAmLnR4dC1idXR0b24ge1xyXG4gICAgICAgIC5ub3RlLXRhYmxlIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuYXV0byB7XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19yaWdodCB7XHJcbiAgICAgIGZvcm0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgIGlucHV0LFxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1c3RvbS1kcm9wZG93biB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAuY2hpbGQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gLm1haW4tdGFibGUge1xyXG4gIC8vICAgdGFibGV7XHJcbiAgLy8gICAgIHRib2R5IHtcclxuICAvLyAgICAgICB0ciB7XHJcbiAgLy8gICAgICAgICB0ZHtcclxuICAvLyAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAvLyAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIC8vICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzMHB4O1xyXG4gIC8vICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgLy8gICAgICAgICAgICY6YmVmb3Jle1xyXG4gIC8vICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAvLyAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gIC8vICAgICAgICAgICAgIHdpZHRoOiAxMThweDtcclxuICAvLyAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAvLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgLy8gICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAvLyAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAmLmFjdGlvbiB7XHJcbiAgLy8gICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gIC8vICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gIC5kcm9wLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmZvcm0taW5uZXIge1xyXG4gICAgLnJvdyB7XHJcbiAgICAgIC5jb2wge1xyXG4gICAgICAgICYud2l0aC1iYWNrIHtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAucm91bmRlZC1pY28ge1xyXG4gICAgICAgICAgICAmLnNvbGlkIHtcclxuICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAtd2Via2l0LW9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ncmV5IHtcclxuICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAtd2Via2l0LW9yZGVyOiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdXBsb2FkIHtcclxuICAgICAgICAgID4gLmxhYmVsIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50cmlnZ2VyLXVwbG9hZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5ub3RlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5saXN0LWdhbGxlcnktY29tcGV0aXRpb24ge1xyXG4gICAgLmxpc3QtZ2FsbGVyeS1jb21wZXRpdGlvbiB7XHJcbiAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTZweCkgLyAyKTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDNuKSxcclxuICAgICAgICAmOm50aC1jaGlsZCg0bikge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYm94LWRhdGEtdmVyaWZpa2FzaSB7XHJcbiAgICAubGlzdC1kYXRhIHtcclxuICAgICAgLnJvdyB7XHJcbiAgICAgICAgJi53aXRoLXN0eWxlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAud2l0aC1iYWNrIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAuc29saWQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmJveC13aGl0ZSB7XHJcbiAgICAmLndpdGgtZWRpdCB7XHJcbiAgICAgID4gaDQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgPiAucm91bmRlZC1pY28ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC53cmFwLXVwbG9hZC1maWxlIC5ub3RlLXVwbG9hZHMge1xyXG4gICAgbWluLXdpZHRoOiAxNjhweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XHJcbiAgLmZvcm0taW5uZXIgLnJvdyAuY29sIC5ib3gtdXBsb2FkIC5saXN0LXVwbG9hZCAuaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgZmlndXJlIHtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxNjBweDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICBDb21wYW55ICAgIDogUFQgV2ViIEFyY2hpdGVjdCBUZWNobm9sb2d5IC0gd2ViYXJxLmNvbVxyXG4gICAgRG9jdW1lbnQgICA6IFN0eWxlc2hlZXRcclxuICAgIEF1dGhvciAgICAgOiBGcm9udEVuZCBUZWFtXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuXHJcbi8qIGltcG9ydCBib3VyYm9uIC0gaHR0cDovL2JvdXJib24uaW8vZG9jcyAqL1xyXG5cclxuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xyXG5AbWl4aW4gdHJhbnNpdGlvbigkYXR0cikge1xyXG4gICAgdHJhbnNpdGlvbjogJGF0dHI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1tcy10cmFuc2l0aW9uOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zaXRpb246ICRhdHRyO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtKCRhdHRyKSB7XHJcbiAgICB0cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2Zvcm06ICRhdHRyO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogJGF0dHI7XHJcbiAgICAtby10cmFuc2Zvcm06ICRhdHRyO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRhdHRyKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYXR0cjtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW1zLWJvcmRlci1yYWRpdXM6ICRhdHRyO1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1czogJGF0dHI7XHJcbn1cclxuXHJcbkBtaXhpbiBib3hTaGFkb3coJGF0dHIpIHtcclxuICAgIGJveC1zaGFkb3c6ICRhdHRyO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAkYXR0cjtcclxuICAgIC1tb3otYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogJGF0dHI7XHJcbiAgICAtby1ib3gtc2hhZG93OiAkYXR0clxyXG59XHJcblxyXG5AbWl4aW4gYm94U2l6aW5nKCRhdHRyKSB7XHJcbiAgICBib3gtc2l6aW5nOiAkYXR0cjtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW1zLWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgLW8tYm94LXNpemluZzogJGF0dHJcclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAgOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbiAgICAgOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBAY29udGVudFxyXG4gICAgfVxyXG4gICAgIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib3hTaXppbmcoJGF0dHIpIHtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogJGF0dHI7XHJcbiAgICAtbW96LWJveC1zaXppbmc6ICRhdHRyO1xyXG4gICAgYm94LXNpemluZzogJGF0dHI7XHJcbn1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgLyptYXJnaW4tdG9wOiAtMXB4OyovXHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgJiB7XHJcbiAgICAgICAgLyoqem9vbTogMTsqL1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3Jtb3JpZ2luKCRhdHRyKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG4gICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkYXR0cjtcclxuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRhdHRyO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogJGF0dHI7XHJcbn1cclxuXHJcblxyXG4vKiBjb2xvciBnbG9iYWxcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4kY18xMTE6ICMxMTE7XHJcbiRjXzMzMzogIzMzMztcclxuJGNfNjY2OiAjNjY2O1xyXG4kY185OTk6ICM5OTk7XHJcbiRjX2MwYzogI2MwYzBjMTtcclxuJGNfZjZmOiAjZjZmNmYxO1xyXG4kY19mZWY6ICNGRUZGRkY7XHJcbiRjX2VhOiAjZWFlYWVhO1xyXG4kY19lN2U6ICNlN2U4ZWE7XHJcbiRjX2ZmZjogI2ZmZjtcclxuJGNfZjJmOiAjZjJmMmYyO1xyXG4kY19mMWY6ICNmMWYyZjM7XHJcbiRjX2Y2ZjogI2Y2ZjZmMTtcclxuJGNfZ3JlZW46ICMwNTMwMWE7XHJcbiRjX2dyZWVuXzI6ICNiOGRkYzA7XHJcbiRjX2dyZWVuXzM6ICMwODNmMjM7XHJcbiRjX2dyZWVuXzQ6ICMwMDlhNTQ7XHJcbiRjXzcwNzogIzcwNzE3MDtcclxuJGNfYzZiOiAjYzZiYzk3O1xyXG4kY19jY2M6ICNjY2M7XHJcbiRjX2RhZDogI2RhZGFkYTtcclxuJGNfZGRkOiAjZGRkO1xyXG4kY19kZmQ6ICNkZmRmZGY7XHJcbiRjX2QzZDogI2QzZDNkMztcclxuJGNfYjNiOiAjYjNiNGIxO1xyXG4kY19lYmU6ICNlYmViZTY7XHJcbiRjX2U1ZTogI2U1ZTZlNTtcclxuJGNfZmZiOiAjZmZiYTcwO1xyXG4kY18yOTc6ICMyOTc2ZDQ7XHJcbiRjXzNmZDogIzNmZDJhODtcclxuJGNfZTkzOiAjZTkzNTI1O1xyXG4kY185ZjA6ICM5ZjAwMDA7XHJcbiRjX2ZiZDogI2ZiZDY0MjsiLCIvLyBCb3VyYm9uIDQuMi43XHJcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXHJcbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxyXG4vLyBNSVQgTGljZW5zZVxyXG5cclxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XHJcbkBpbXBvcnQgXCJzZXR0aW5ncy9weC10by1lbVwiO1xyXG5AaW1wb3J0IFwic2V0dGluZ3MvYXNzZXQtcGlwZWxpbmVcIjtcclxuXHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvYXNzaWduLWlucHV0c1wiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1sZW5ndGhcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3NoYWRlXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xyXG5cclxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1ncmFkaWVudC1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3JlbmRlci1ncmFkaWVudHNcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XHJcblxyXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcclxuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcclxuQGltcG9ydCBcImNzczMvY2FsY1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcclxuQGltcG9ydCBcImNzczMvZm9udC1mZWF0dXJlLXNldHRpbmdzXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XHJcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcclxuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcclxuQGltcG9ydCBcImNzczMvcGVyc3BlY3RpdmVcIjtcclxuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcclxuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XHJcbkBpbXBvcnQgXCJjc3MzL3NlbGVjdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcclxuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3RyYW5zaXRpb25cIjtcclxuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcclxuXHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLWNvbG9yXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci13aWR0aFwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcclxuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcclxuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcclxuQGltcG9ydCBcImFkZG9ucy9tYXJnaW5cIjtcclxuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcclxuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcclxuQGltcG9ydCBcImFkZG9ucy90ZXh0LWlucHV0c1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xyXG5cclxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcclxuXHJcbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xyXG4iLCIkZW0tYmFzZTogMTZweCAhZGVmYXVsdDtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEEgZ2xvYmFsIHNldHRpbmcgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGAkYXNzZXQtcGlwZWxpbmVgIHZhcmlhYmxlIGZvciBhbGwgZnVuY3Rpb25zIHRoYXQgYWNjZXB0IGl0LlxyXG4vLy9cclxuLy8vIEB0eXBlIEJvb2xcclxuXHJcbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcclxuICAkbGlzdDogKCk7XHJcblxyXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcclxuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xyXG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XHJcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBpZiBhIGxpc3QgY29udGFpbnMgYSB2YWx1ZShzKS5cclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XHJcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVzXHJcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sfVxyXG5cclxuQGZ1bmN0aW9uIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWVzLi4uKSB7XHJcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdFxyXG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2x9XHJcblxyXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcclxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICBAaWYgbm90ICRpdGVtIHtcclxuICAgICAgQHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiBmYWxzZTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBsZW5ndGguXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR2YWx1ZVxyXG5cclxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcclxuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bGxcIiBhbmQgKHN0ci1zbGljZSgkdmFsdWUgKyBcIlwiLCAxLCA0KSA9PSBcImNhbGNcIlxyXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxyXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmsuXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3NcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3JcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2x9XHJcblxyXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xyXG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxKSk7XHJcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XHJcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xyXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcclxuXHJcbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIG51bWJlci5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xyXG5cclxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcclxuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcclxuXHJcbkBmdW5jdGlvbiBpcy1zaXplKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcclxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xyXG59XHJcbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xyXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxyXG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcclxuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcclxuICB9XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcclxuICB9XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xyXG59XHJcbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcclxuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSByZW0oMTIpXHJcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cclxuXHJcbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XHJcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcclxuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcclxuICB9XHJcblxyXG4gICRiYXNlOiAkZW0tYmFzZTtcclxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xyXG4gIH1cclxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxyXG4vLy8gICBUaGUgYW1vdW50IG9mIGJsYWNrIHRvIGJlIG1peGVkIGluLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjRhMjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtDb2xvcn1cclxuXHJcbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XHJcbiAgQHJldHVybiBtaXgoIzAwMCwgJGNvbG9yLCAkcGVyY2VudCk7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAkZGltZW5zaW9uOiAxMDtcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcclxuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gTWl4ZXMgYSBjb2xvciB3aXRoIHdoaXRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcclxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoIzZlY2FhNiwgNDAlKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtDb2xvcn1cclxuXHJcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcclxuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcclxufVxyXG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXHJcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcclxuICAkbmV3LXByb3BzOiAoKTtcclxuXHJcbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcclxuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRuZXctcHJvcHM7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgLy8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXHJcbiAgQGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XHJcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAkcHJvcDtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIENvbnZlcnRzIHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXguXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvcnRoYW5kXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW46IHVucGFjaygxZW0gMmVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG1hcmdpbjogMWVtIDJlbSAxZW0gMmVtO1xyXG4vLy8gICB9XHJcblxyXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcclxuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xyXG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XHJcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XHJcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcclxuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcclxuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xyXG4gIH1cclxufVxyXG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xyXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XHJcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcclxuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xyXG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xyXG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcclxuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xyXG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XHJcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XHJcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XHJcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcclxuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xyXG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XHJcbiRvY3RhdmU6ICAgICAgICAgICAyO1xyXG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xyXG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XHJcbiRtYWpvci10d2VsZnRoOiAgICAzO1xyXG4kZG91YmxlLW9jdGF2ZTogICAgNDtcclxuXHJcbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkcGVyZmVjdC1mb3VydGggIWRlZmF1bHQ7XHJcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xyXG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XHJcbiAgJHZhbHVlOiAkdjE7XHJcblxyXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxyXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xyXG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxyXG4gIH1cclxuICBAd2hpbGUgJHYyIDwgJHYxIHtcclxuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxyXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcclxuXHJcbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XHJcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XHJcbiAgICAgICAgJHZhbHVlOiAkdjI7XHJcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcclxuICAgICAgICAkdmFsdWU6ICR2MTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcclxuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcclxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcclxuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcclxuICAgIH1cclxuXHJcbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcclxuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcclxuICAgICAgICAkdmFsdWU6ICR2MjtcclxuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xyXG4gICAgICAgICR2YWx1ZTogJHYxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cclxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xyXG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcclxuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XHJcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xyXG5cclxuICBAaWYgbm90ICRpbmRleCB7XHJcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xyXG4gICAgQHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xyXG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XHJcbiAgICBAcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXHJcbi8vL1xyXG4vLy8gQGlnbm9yZSBZb3UgY2FuIGFsc28gdXNlIGBmYWxzZWAgaW5zdGVhZCBvZiBgbnVsbGAuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGRpcmVjdGlvbmFsIHZhbHVlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcclxuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xyXG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcclxuLy8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fVxyXG5cclxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xyXG4gICRvdXRwdXQ6IG51bGw7XHJcblxyXG4gICRhOiBudGgoJHZhbHMsIDEpO1xyXG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xyXG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xyXG4gICRkOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgaWYobGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpKSk7XHJcblxyXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cclxuICBAaWYgJGIgPT0gMCB7ICRiOiAwOyB9XHJcbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxyXG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cclxuXHJcbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxyXG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cclxuICBAZWxzZSBpZiAkYiA9PSAkZCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjOyAgICB9XHJcbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxyXG5cclxuICBAcmV0dXJuICRvdXRwdXQ7XHJcbn1cclxuXHJcbi8vLyBPdXRwdXQgZGlyZWN0aW9uYWwgcHJvcGVydGllcywgZm9yIGluc3RhbmNlIGBtYXJnaW5gLlxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXHJcbi8vLyAgIFByZWZpeCB0byB1c2VcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmXHJcbi8vLyAgIFN1ZmZpeCB0byB1c2VcclxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiB2YWx1ZXNcclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWlucy1mYWxzeVxyXG5cclxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XHJcbiAgLy8gUHJvcGVydHkgTmFtZXNcclxuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XHJcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcclxuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xyXG5cclxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcclxuXHJcbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XHJcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cclxuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cclxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gMyB7XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxyXG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcclxuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XHJcbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgI3skYWxsfTogJHZhbHM7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXHJcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcclxuXHJcbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcclxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xyXG4gICAgQHJldHVybiBmb250LXVybDtcclxuICB9IEBlbHNlIHtcclxuICAgIEByZXR1cm4gdXJsO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxyXG4gICRmb250LWZhbWlseSxcclxuICAkZmlsZS1wYXRoLFxyXG4gICRhc3NldC1waXBlbGluZSxcclxuICAkZmlsZS1mb3JtYXRzLFxyXG4gICRmb250LXVybCkge1xyXG5cclxuICAkc3JjOiAoKTtcclxuXHJcbiAgJGZvcm1hdHMtbWFwOiAoXHJcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcclxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcclxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxyXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXHJcbiAgKTtcclxuXHJcbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xyXG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcclxuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xyXG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcclxuXHJcbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XHJcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzcmM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC10eXBlLCAkZ3JhZGllbnQtcG9zaXRpb25zKSB7XHJcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcclxuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcclxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcclxuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xyXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxyXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xyXG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gIH1cclxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XHJcbn1cclxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XHJcbiAgJG9mZnNldDogbnVsbDtcclxuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG5cclxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXHJcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XHJcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xyXG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb2Zmc2V0IHtcclxuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xyXG5cclxuICAgIEByZXR1cm4gKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcclxuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcclxuICAkZ3JhZGllbnRzOiAoKTtcclxuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcclxuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XHJcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xyXG5cclxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xyXG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XHJcblxyXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcclxuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xyXG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xyXG5cclxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcclxuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xyXG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xyXG5cclxuICAgICRncmFkaWVudHM6IChcclxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcclxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xyXG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XHJcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRncmFkaWVudHM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XHJcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcclxuICAkc3BlYzogbnVsbDtcclxuICAkZGVncmVlOiBudWxsO1xyXG4gICRzaWRlOiBudWxsO1xyXG4gICRjb3JuZXI6IG51bGw7XHJcbiAgJGxlbmd0aDogbGVuZ3RoKCRwb3MpO1xyXG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcclxuICBAaWYgKCRsZW5ndGggPiAxKSB7XHJcbiAgICBAaWYgbnRoKCRwb3MsIDEpID09IFwidG9cIiB7IC8vIE5ld2VyIHN5bnRheFxyXG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xyXG5cclxuICAgICAgQGlmICRsZW5ndGggPT0gMiB7IC8vIGVnLiB0byB0b3BcclxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxyXG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XHJcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcclxuICAgICAgJHNpZGU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAxKSk7XHJcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xyXG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcclxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xyXG4gICAgICAkZGVncmVlOiAkcG9zO1xyXG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXHJcbiAgICAgICRzcGVjOiAkcG9zO1xyXG4gICAgfVxyXG4gIH1cclxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XHJcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcclxuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XHJcbiAgQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxyXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxyXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxyXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcclxufVxyXG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXHJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xyXG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xyXG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xyXG4gICR2YWwtMzogbnVsbDtcclxuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XHJcblxyXG4gIEBpZiAkaGFzLXZhbC0zIHtcclxuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XHJcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcclxuICB9XHJcblxyXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xyXG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xyXG5cclxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxyXG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcclxuICAgIEByZXR1cm4gKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJGcxLCAkZzIsICRwb3MsICRzaGFwZS1zaXplKSB7XHJcbiAgQGVhY2ggJHZhbHVlIGluICRnMSwgJGcyIHtcclxuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xyXG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcclxuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xyXG5cclxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cclxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XHJcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcclxuICAgIH1cclxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XHJcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAkZzE6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjZW50ZXJcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImJvdHRvbVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XHJcblxyXG4gICAgICAgICAgJHBvczogJHZhbHVlO1xyXG5cclxuICAgICAgICAgIEBpZiAkcG9zID09ICRnMSB7XHJcbiAgICAgICAgICAgICRnMTogbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlbHNlIGlmXHJcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjaXJjbGVcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LXNpZGVcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY292ZXJcIikge1xyXG5cclxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XHJcblxyXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xyXG4gICAgICAgICAgICAkZzE6IG51bGw7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRnMiB7XHJcbiAgICAgICAgICAgICRnMjogbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemU7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XHJcbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcclxuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcclxuXHJcbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxyXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xyXG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xyXG5cclxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xyXG5cclxuICAvLyBBZGQgY29tbWFcclxuICBAaWYgKCRzcGVjICE9IFwiICBcIikge1xyXG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcclxufVxyXG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XHJcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XHJcbiAgJGdyYWRpZW50czogKCk7XHJcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XHJcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xyXG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcclxuXHJcbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcclxuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xyXG5cclxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xyXG5cclxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcclxuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XHJcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XHJcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcclxuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXHJcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcclxuICAgIEB3YXJuIFwiUmFkaWFsLWdyYWRpZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY29uZm9ybSB0byBsYXRlc3Qgc3BlYy5cIjtcclxuXHJcbiAgICAkZ3JhZGllbnRzOiAoXHJcbiAgICAgIHdlYmtpdC1pbWFnZTogbnVsbCxcclxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgJGdyYWRpZW50czogKFxyXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxyXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRncmFkaWVudHM7XHJcbn1cclxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXHJcblxyXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJHByZS1zcGVjOiBudWxsO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xyXG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xyXG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xyXG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcclxuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XHJcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcclxuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR2ZW5kb3Ige1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xyXG4gIH1cclxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XHJcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcclxuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xyXG4gICAgICAkdmFsdWU6IG51bGw7XHJcbiAgICB9XHJcbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxyXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcclxuICAvLyBNYXRyaWNlc1xyXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcclxuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XHJcblxyXG4gIC8vIFJlc3VsdFxyXG4gICRyZXN1bHQ6IDA7XHJcbiAgJGRpdmlkZXI6IDA7XHJcbiAgJG1pbnVzOiBmYWxzZTtcclxuXHJcbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xyXG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XHJcblxyXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gXCItXCIge1xyXG4gICAgICAkbWludXM6IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XHJcbiAgICAgICRkaXZpZGVyOiAxO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgQGlmIG5vdCAkaW5kZXgge1xyXG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcclxuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XHJcblxyXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XHJcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcclxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcclxuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcclxufVxyXG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cclxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cclxuXHJcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcclxuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoJHZhbHVlcy4uLikge1xyXG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xyXG4gIC8vIG5vcm1hbCB8IGFsdGVybmF0ZVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlcy4uLikge1xyXG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XHJcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXHJcbi8vIG5vdGF0aW9uLlxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcclxuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcclxuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XHJcblxyXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XHJcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xyXG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XHJcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0IHtcclxuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcclxuXHJcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCAzKTtcclxuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xyXG5cclxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xyXG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcclxuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcclxuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XHJcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxyXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XHJcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xyXG4gICRzcGVjLWltYWdlczogKCk7XHJcblxyXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcclxuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xyXG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xyXG5cclxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xyXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XHJcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAxLCA2KTtcclxuXHJcbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcclxuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XHJcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xyXG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xyXG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XHJcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xyXG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XHJcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XHJcbiAgfVxyXG5cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XHJcbn1cclxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xyXG4gICR3ZWJraXQtYm9yZGVyczogKCk7XHJcbiAgJHNwZWMtYm9yZGVyczogKCk7XHJcblxyXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xyXG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xyXG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcclxuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcclxuXHJcbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcclxuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xyXG5cclxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgMyk7XHJcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xyXG5cclxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xyXG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcclxuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XHJcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XHJcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xyXG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XHJcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcclxuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XHJcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcclxuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XHJcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcblxyXG4vL0V4YW1wbGVzOlxyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xyXG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xyXG4gICN7JHByb3BlcnR5fTogLXdlYmtpdC1jYWxjKCN7JHZhbHVlfSk7XHJcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XHJcbn1cclxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xyXG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XHJcbiAgLy8gYXV0byB8fCBpbnRlZ2VyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcclxuICAvLyBub3JtYWwgfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcclxuICAvLyBhdXRvIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xyXG4gIC8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcclxuICAvLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGggKCR3aWR0aDogbm9uZSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XHJcbiAgLy8gbm9uZSB8fCBhbGxcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XHJcbiAgLy8gYXV0byB8fCBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcclxuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XHJcbn1cclxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXHJcblxyXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XHJcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XHJcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XHJcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcclxuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XHJcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XHJcbn1cclxuXHJcbkBtaXhpbiBkaXNwbGF5LWJveCB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXHJcbiAgZGlzcGxheTogYm94O1xyXG59XHJcblxyXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xyXG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcclxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxyXG59XHJcblxyXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xyXG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxyXG59XHJcblxyXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcclxuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxyXG59XHJcblxyXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XHJcbi8vIHNpbmdsZXxtdWx0aXBsZVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxyXG59XHJcblxyXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxyXG59XHJcblxyXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcclxuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cclxuXHJcbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxyXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxyXG4vLyAyMDEyIC0gZGlzcGxheSAoZmxleCB8IGlubGluZS1mbGV4KVxyXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcclxuLy8gZmxleCB8IGlubGluZS1mbGV4XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XHJcbiAgICAvLyAyMDA5XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IC1tb3otYm94O1xyXG4gICAgZGlzcGxheTogYm94O1xyXG5cclxuICAgIC8vIDIwMTJcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XHJcblxyXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcclxuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XHJcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICB9IEBlbHNlIHtcclxuICAgIGRpc3BsYXk6ICR2YWx1ZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcclxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxyXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxyXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcclxuXHJcbiAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xyXG5cclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXHJcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxyXG4vLyAyMDExIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXHJcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcclxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XHJcblxyXG4gIC8vIEFsdCB2YWx1ZXMuXHJcbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcclxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xyXG4gICRkaXJlY3Rpb246IG5vcm1hbDtcclxuXHJcbiAgQGlmICR2YWx1ZSA9PSByb3cge1xyXG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcclxuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xyXG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xyXG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XHJcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XHJcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG5cclxuICAvLyAyMDExIChJRSAxMClcclxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxufVxyXG5cclxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXHJcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXHJcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcclxuICAvLyBBbHQgdmFsdWVzXHJcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcclxuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcclxuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xyXG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcclxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxyXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXHJcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcclxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXHJcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcclxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcclxuICAvLyAyMDA5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XHJcbn1cclxuXHJcbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcclxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xyXG59XHJcblxyXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcclxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcclxuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcclxufVxyXG5cclxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcclxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxyXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXHJcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXHJcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XHJcblxyXG4gIC8vIEFsdCB2YWx1ZXMuXHJcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICRhbHQtdmFsdWU6IGVuZDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xyXG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcclxuICB9XHJcblxyXG4gIC8vIDIwMDlcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XHJcbn1cclxuXHJcbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxyXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XHJcblxyXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcclxuXHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgJGFsdC12YWx1ZTogZW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAwOVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XHJcbn1cclxuXHJcbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcclxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXHJcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xyXG5cclxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xyXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gMjAxMlxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgLy8gMjAxMSAoSUUgMTApXHJcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XHJcbn1cclxuXHJcbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXHJcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcclxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XHJcblxyXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICR2YWx1ZS0yMDExOiBlbmQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xyXG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XHJcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcclxuICB9XHJcblxyXG4gIC8vIDIwMTJcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcblxyXG4gIC8vIDIwMTEgKElFIDEwKVxyXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XHJcbn1cclxuIiwiQG1peGluIGZvbnQtZmFjZShcclxuICAkZm9udC1mYW1pbHksXHJcbiAgJGZpbGUtcGF0aCxcclxuICAkd2VpZ2h0OiBub3JtYWwsXHJcbiAgJHN0eWxlOiBub3JtYWwsXHJcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXHJcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xyXG5cclxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xyXG5cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuXHJcbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxyXG4gICAgICAkZm9udC1mYW1pbHksXHJcbiAgICAgICRmaWxlLXBhdGgsXHJcbiAgICAgICRhc3NldC1waXBlbGluZSxcclxuICAgICAgJGZpbGUtZm9ybWF0cyxcclxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcclxuICBAaWYgbGVuZ3RoKCRzZXR0aW5ncykgPT0gMCB7ICRzZXR0aW5nczogbm9uZTsgfVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xyXG59XHJcbiIsIi8vIEhpRFBJIG1peGluLiBEZWZhdWx0IHZhbHVlIHNldCB0byAxLjMgdG8gdGFyZ2V0IEdvb2dsZSBOZXh1cyA3IChodHRwOi8vYmphbmdvLmNvbS9hcnRpY2xlcy9taW4tZGV2aWNlLXBpeGVsLXJhdGlvLylcclxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogJHJhdGlvICogMWRwcHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcclxuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XHJcblxyXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcclxuICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcclxuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XHJcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcclxuICB9XHJcbn1cclxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xyXG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XHJcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0ICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xyXG5cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XHJcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xyXG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcclxuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcclxuICAkcG9zLXNwZWM6IG51bGw7XHJcbiAgJHBvcy1kZWdyZWU6IG51bGw7XHJcblxyXG4gIC8vIElmICRwb3MgaXMgbWlzc2luZyBmcm9tIG1peGluLCByZWFzc2lnbiB2YXJzIGFuZCBhZGQgZGVmYXVsdCBwb3NpdGlvblxyXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcclxuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XHJcbiAgICAkZzU6ICRnNDsgJGc0OiAkZzM7ICRnMzogJGcyOyAkZzI6ICRnMTsgJGcxOiAkcG9zO1xyXG4gICAgJHBvczogbnVsbDtcclxuICB9XHJcblxyXG4gIEBpZiAkcG9zIHtcclxuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcclxuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XHJcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xyXG4gIH1cclxuXHJcbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XHJcblxyXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xyXG5cclxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xyXG59XHJcbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcclxuICAvLyBub25lIHwgPGxlbmd0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XHJcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xyXG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcclxuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xyXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogbnVsbCkge1xyXG5cclxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XHJcbiAgJGcxOiAgbnRoKCRkYXRhLCAxKTtcclxuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xyXG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XHJcbiAgJHNoYXBlLXNpemU6IG50aCgkZGF0YSwgNCk7XHJcblxyXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xyXG5cclxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XHJcblxyXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XHJcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJGZpcnN0LWNvbG9yLCAxKTtcclxuXHJcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcclxuICB9XHJcblxyXG4gIC8vIEFkZCBDb21tYXMgYW5kIHNwYWNlc1xyXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xyXG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcclxuICAkcG9zLXNwZWM6ICAgaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICAkZmFsbGJhY2stY29sb3I7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pO1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xyXG4vLyA8dGV4dC1kZWNvcmF0aW9uLWxpbmU+IHx8IDx0ZXh0LWRlY29yYXRpb24tc3R5bGU+IHx8IDx0ZXh0LWRlY29yYXRpb24tY29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xyXG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tbGluZSwgJGxpbmUsIG1veik7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tc3R5bGUoJHN0eWxlOiBzb2xpZCkge1xyXG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XHJcbi8vIGN1cnJlbnRDb2xvciB8fCA8Y29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XHJcbn1cclxuIiwiQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcclxuICAvLyBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XHJcbiAgLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcclxuICAvLyB5LWF4aXMgLSB0b3AgIHwgY2VudGVyIHwgYm90dG9tIHwgbGVuZ3RoIHwgJVxyXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogZmxhdCkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuIiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXHJcbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XHJcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xyXG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcclxuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XHJcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcclxuICAkd2Via2l0OiAoKTtcclxuICAkbW96OiAoKTtcclxuICAkc3BlYzogKCk7XHJcblxyXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxyXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcclxuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xyXG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XHJcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XHJcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XHJcbiAgICAgICRsaXN0MzogKCk7XHJcblxyXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcclxuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcclxuXHJcbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XHJcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcclxuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XHJcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xyXG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcclxuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XHJcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XHJcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XHJcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XHJcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xyXG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XHJcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLWNvbG9yYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZThhZTFhO1xyXG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5YztcclxuLy8vICAgICBib3JkZXItdG9wLWNvbG9yOiAjYTYwYjU1O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcclxuXHJcbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1yYWRpdXNgIG9uIGJvdGggY29ybmVycyBvbiB0aGUgc2lkZSBvZiBhIGJveC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXHJcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50LW9uZSB7XHJcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNXB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQtdHdvIHtcclxuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQtb25lIHtcclxuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQtdHdvIHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLXJhZGl1c2BcclxuXHJcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaWk7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXN0eWxlYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkYXNoZWQgbnVsbCBzb2xpZCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkYXNoZWQ7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XHJcbi8vL1xyXG4vLy8gQG91dHB1dCBgYm9yZGVyLXN0eWxlYFxyXG5cclxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgc3R5bGUsICR2YWxzLi4uKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgYm9yZGVyLXdpZHRoYCBvbiBzcGVjaWZpYyBzaWRlcyBvZiBhIGJveC4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcclxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIwcHg7XHJcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYGJvcmRlci13aWR0aGBcclxuXHJcbkBtaXhpbiBib3JkZXItd2lkdGgoJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgI3skYWxsLWJ1dHRvbnMtZm9jdXN9LFxyXG4vLy8gICAjeyRhbGwtYnV0dG9ucy1ob3Zlcn0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIGJ1dHRvbixcclxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBidXR0b246Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcclxuLy8vICAgYnV0dG9uOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGJ1dHRvbjphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVtb3ZlIGRvdWJsZSBhc3NpZ25lZCB2YXJpYWJsZXMgKExpbmVzIDU54oCTNjIpIGluIHY1LjAuMFxyXG5cclxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiYnV0dG9uXCJdJyxcclxuICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJyZXNldFwiXScsXHJcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcclxuXHJcbiRhbGwtYnV0dG9uczogICAgICAgIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCk7XHJcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcclxuJGFsbC1idXR0b25zLWZvY3VzOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBmb2N1cyk7XHJcbiRhbGwtYnV0dG9ucy1ob3ZlcjogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgaG92ZXIpO1xyXG5cclxuJGFsbC1idXR0b24taW5wdXRzOiAgICAgICAgJGFsbC1idXR0b25zO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtYWN0aXZlOiAkYWxsLWJ1dHRvbnMtYWN0aXZlO1xyXG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XHJcbiRhbGwtYnV0dG9uLWlucHV0cy1ob3ZlcjogICRhbGwtYnV0dG9ucy1ob3ZlcjtcclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XHJcbi8vLyAgICAgY2xlYXI6IGJvdGg7XHJcbi8vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFRydW5jYXRlcyB0ZXh0IGFuZCBhZGRzIGFuIGVsbGlwc2lzIHRvIHJlcHJlc2VudCBvdmVyZmxvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsxMDAlXVxyXG4vLy8gICBNYXgtd2lkdGggZm9yIHRoZSBzdHJpbmcgdG8gcmVzcGVjdCBiZWZvcmUgYmVpbmcgdHJ1bmNhdGVkXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4vLy8gICAgIHdvcmQtd3JhcDogbm9ybWFsO1xyXG4vLy8gICB9XHJcblxyXG5AbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogJHdpZHRoO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB3b3JkLXdyYXA6IG5vcm1hbDtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XHJcblxyXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XHJcblxyXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cclxuLy8vXHJcbi8vLyBAdHlwZSBMaXN0XHJcblxyXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XHJcblxyXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxyXG4vLy9cclxuLy8vIEB0eXBlIExpc3RcclxuXHJcbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcclxuIiwiLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmVsZW1lbnQge1xyXG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XHJcbi8vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEB0b2RvIFJlbW92ZSBoZWlnaHQgYXJndW1lbnQgaW4gdjUuMC4wXHJcblxyXG5AbWl4aW4gaGlkZS10ZXh0KCRoZWlnaHQ6IG51bGwpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtaW5kZW50OiAxMDElO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gIEBpZiAkaGVpZ2h0IHtcclxuICAgIEB3YXJuIFwiVGhlIGBoaWRlLXRleHRgIG1peGluIGhhcyBjaGFuZ2VkIGFuZCBubyBsb25nZXIgcmVxdWlyZXMgYSBoZWlnaHQuIFRoZSBoZWlnaHQgYXJndW1lbnQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXB0ZWQgaW4gdjUuMC4wXCI7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMTBweCAzZW0gMjB2aCk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XHJcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDIwdmg7XHJcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYG1hcmdpbmBcclxuXHJcbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcclxuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYHBhZGRpbmdgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkdmFsc1xyXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xyXG4vLy8gICAgIHBhZGRpbmctdG9wOiAxMnZoO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxyXG4vLy9cclxuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXHJcblxyXG5AbWl4aW4gcGFkZGluZygkdmFscy4uLikge1xyXG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciBzZXR0aW5nIGFuIGVsZW1lbnTigJlzIHBvc2l0aW9uLiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cclxuLy8vICAgQSBDU1MgcG9zaXRpb24gdmFsdWVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cclxuLy8vICAgTGlzdCBvZiB2YWx1ZXMgdGhhdCBjb3JyZXNwb25kIHRvIHRoZSA0LXZhbHVlIHN5bnRheCBmb3IgdGhlIGVkZ2VzIG9mIGEgYm94XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMTBlbSk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBsZWZ0OiAxMGVtO1xyXG4vLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8vICAgICB0b3A6IDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSB1bnBhY2tcclxuXHJcbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcclxuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xyXG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XHJcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcclxuXHJcbiAgJG9mZnNldHM6IChcclxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXHJcbiAgICByaWdodDogIG50aCgkY29vcmRpbmF0ZXMsIDIpLFxyXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcclxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcclxuICApO1xyXG5cclxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xyXG5cclxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xyXG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gQSBtaXhpbiBmb3IgZ2VuZXJhdGluZyB2ZW5kb3IgcHJlZml4ZXMgb24gbm9uLXN0YW5kYXJkaXplZCBwcm9wZXJ0aWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcclxuLy8vICAgUHJvcGVydHkgdG8gcHJlZml4XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcclxuLy8vICAgVmFsdWUgdG8gdXNlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcclxuLy8vICAgUHJlZml4ZXMgdG8gZGVmaW5lXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1tb3ppbGxhXHJcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxyXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1zcGVjXHJcblxyXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xyXG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcclxuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xyXG4gICAgICAgIC13ZWJraXQtI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XHJcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XHJcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XHJcbiAgICAgICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlICB7XHJcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XHJcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcclxuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XHJcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xyXG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcclxufVxyXG4iLCJAbWl4aW4gcmV0aW5hLWltYWdlKCRmaWxlbmFtZSwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbjogcG5nLCAkcmV0aW5hLWZpbGVuYW1lOiBudWxsLCAkcmV0aW5hLXN1ZmZpeDogXzJ4LCAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSkge1xyXG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhpZHBpIHtcclxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xyXG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFNldHMgdGhlIGB3aWR0aGAgYW5kIGBoZWlnaHRgIG9mIHRoZSBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNpemVcclxuLy8vICAgQSBsaXN0IG9mIGF0IG1vc3QgMiBzaXplIHZhbHVlcy5cclxuLy8vXHJcbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgdmFsdWUgaW4gYCRzaXplYCBpdCBpcyB1c2VkIGZvciBib3RoIHdpZHRoIGFuZCBoZWlnaHQuIEFsbCB1bml0cyBhcmUgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZmlyc3QtZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgyZW0pO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICAuc2Vjb25kLWVsZW1lbnQge1xyXG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xyXG4vLy8gICAgIHdpZHRoOiAyZW07XHJcbi8vLyAgICAgaGVpZ2h0OiAyZW07XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XHJcbi8vLyAgICAgd2lkdGg6IGF1dG87XHJcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQHRvZG8gUmVmYWN0b3IgaW4gNS4wLjAgdG8gdXNlIGEgY29tbWEtc2VwYXJhdGVkIGFyZ3VtZW50XHJcblxyXG5AbWl4aW4gc2l6ZSgkdmFsdWUpIHtcclxuICAkd2lkdGg6IG50aCgkdmFsdWUsIDEpO1xyXG4gICRoZWlnaHQ6ICR3aWR0aDtcclxuXHJcbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XHJcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcclxuICB9XHJcblxyXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICB9IEBlbHNlIHtcclxuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdmFyaWFibGVzIGZvciBhbGwgdGV4dC1iYXNlZCBpbnB1dHMuIFBsZWFzZSBub3RlIHRoYXQgeW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOiBgI3skYWxsLXRleHQtaW5wdXRzfWAuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0c30ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1ob3Zlcn0ge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZjA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1hY3RpdmV9IHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuLy8vICAgdGV4dGFyZWEge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxyXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcclxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06aG92ZXIsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmhvdmVyLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTpob3ZlcixcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06aG92ZXIsXHJcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcclxuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMGYwO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTphY3RpdmUsXHJcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxyXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSxcclxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxyXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xyXG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGY7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZSBhc3NpZ24taW5wdXRzXHJcbi8vL1xyXG4vLy8gQHR5cGUgTGlzdFxyXG5cclxuJHRleHQtaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiY29sb3JcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwibW9udGhcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxyXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcclxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXHJcbiAgICAgICAgICAgICAgICAgICAnaW5wdXQ6bm90KFt0eXBlXSknLFxyXG4gICAgICAgICAgICAgICAgICAgJ3RleHRhcmVhJztcclxuXHJcbiRhbGwtdGV4dC1pbnB1dHM6ICAgICAgICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0KTtcclxuJGFsbC10ZXh0LWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJHRleHQtaW5wdXRzLWxpc3QsIGFjdGl2ZSk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XHJcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBob3Zlcik7XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcclxuLy8vXHJcbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXHJcbi8vL1xyXG4vLy8gQHR5cGUgY3ViaWMtYmV6aWVyXHJcblxyXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xyXG5cclxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcclxuXHJcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XHJcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XHJcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xyXG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XHJcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xyXG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xyXG4gIGhlaWdodDogMDtcclxuICB3aWR0aDogMDtcclxuXHJcbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xyXG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xyXG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xyXG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xyXG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xyXG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcclxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcclxuICB9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNoYW5nZSB0aGUgYHdvcmQtd3JhcGAgcHJvcGVydHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3cmFwIFticmVhay13b3JkXVxyXG4vLy8gICBWYWx1ZSBmb3IgdGhlIGB3b3JkLWJyZWFrYCBwcm9wZXJ0eS5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2VcclxuLy8vICAgLndyYXBwZXIge1xyXG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcclxuLy8vICAgLndyYXBwZXIge1xyXG4vLy8gICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4vLy8gICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xyXG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xyXG4gIHdvcmQtd3JhcDogJHdyYXA7XHJcblxyXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICB9IEBlbHNlIHtcclxuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXHJcblxyXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCwgJHRleHQtc2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcblxyXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcclxuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xyXG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XHJcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XHJcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xyXG4gICAgJHN0eWxlOiBzaW1wbGU7XHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xyXG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XHJcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcclxuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XHJcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XHJcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XHJcbiAgICAkdGV4dC1zaXplOiAkc3R5bGU7XHJcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcclxuICAgICRzdHlsZTogc2ltcGxlO1xyXG5cclxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcclxuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICB9XHJcblxyXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxyXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XHJcbiAgLy8gR3JheXNjYWxlIGJ1dHRvblxyXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xyXG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBzaGlueSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHR5cGUgPT0gcGlsbCBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XHJcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcclxuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sb3JlZCBidXR0b25cclxuICBAaWYgJHR5cGUgPT0gc2ltcGxlIHtcclxuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xyXG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xyXG4gICAgQGluY2x1ZGUgcGlsbCgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHR5cGUgPT0gZmxhdCB7XHJcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTaW1wbGUgQnV0dG9uXHJcbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xyXG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcclxuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xyXG5cclxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcclxuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XHJcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xyXG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcclxuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xyXG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xyXG4gIH1cclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcclxuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG5cclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU2hpbnkgQnV0dG9uXHJcbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTE3LCAkZ3JlZW46IC0xMTEsICRibHVlOiAtODEpO1xyXG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xyXG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogIDM3LCAgJGdyZWVuOiAgMjksICAkYmx1ZTogIDEyKTtcclxuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xyXG4gICR0aGlyZC1zdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgICRncmVlbjogLTc1LCAgJGJsdWU6IC00OCk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcclxuXHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b207XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xyXG4gIGNvbG9yOiAkY29sb3I7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcclxuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcclxuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcclxuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xyXG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XHJcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTEsICRncmVlbjogLTExNiwgJGJsdWU6IC0xMjIpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMjBweCAwICRpbnNldC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUGlsbCBCdXR0b25cclxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcclxuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICRib3JkZXItdG9wOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTMwJSwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xyXG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtMTklLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuXHJcbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGlnaHRuZXNzOiAtNC41JSk7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XHJcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XHJcbiAgICAkYm9yZGVyLXRvcDogICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xNyUsICAgJGxpZ2h0bmVzczogLTIxJSk7XHJcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcclxuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDUsICRzYXR1cmF0aW9uOiAtNSUsICAgICRsaWdodG5lc3M6IC0yMiUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XHJcbiAgICAgICRib3JkZXItdG9wOiAgICAgICAgICBncmF5c2NhbGUoJGJvcmRlci10b3ApO1xyXG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuICAgICAgJHRleHQtc2hhZG93LWhvdmVyOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctaG92ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XHJcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxyXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xyXG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xyXG4gICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDExLCAkc2F0dXJhdGlvbjogIDYlLCAgICRsaWdodG5lc3M6IC0zMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XHJcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcclxuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3ctYWN0aXZlKTtcclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLWNvbG9yO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAzcHggJGluc2V0LXNoYWRvdy1hY3RpdmU7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRmxhdCBCdXR0b25cclxuQG1peGluIGZsYXQoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xyXG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XHJcblxyXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3JkZXI6IDA7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcblxyXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcclxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsZXhpYmxlIGdyaWRcclxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcclxuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGZsZXgtZ3JpZCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbi8vIEZsZXhpYmxlIGd1dHRlclxyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcclxuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcclxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xyXG5cclxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XHJcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xyXG4gIEByZXR1cm4gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWUsICRyYXRpbzogJGdvbGRlbik7XHJcblxyXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXNpemluZywgJGJveCwgd2Via2l0IG1veiBzcGVjKTtcclxuXHJcbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Z0dBSWdHO0FDSmhHOzs7O2dHQUlnRztBQUdoRyw2Q0FBNkM7QUEwRjdDO2dHQUNnRztBRDNGaEcsQUFDRSxNQURJLEFBQ0gsVUFBVSxDQUFDO0VBQ1YsTUFBTSxFQUFFLElBQUk7Q0FLYjs7QUFQSCxBQUdJLE1BSEUsQUFDSCxVQUFVLENBRVQsS0FBSyxDQUFDO0VBQ0osR0FBRyxFQUFFLElBQUk7RUFDVCxLQUFLLEVBQUUsS0FBSztDQUNiOztBQUlMLEFBR00sTUFIQSxDQUNKLFdBQVcsQUFDUixlQUFlLENBQ2QsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtDQUt4Qjs7QUFWUCxBQU1RLE1BTkYsQ0FDSixXQUFXLEFBQ1IsZUFBZSxDQUNkLFVBQVUsQ0FHUixJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLFlBQVksRUFBRSxDQUFDO0NBQ2hCOztBQU1ULEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsYUFBYSxFQUFFLEtBQUs7Q0FDckI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsV0FBVztFQUNwQixLQUFLLEVBQUUsT0FBTztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLGlEQUFpRCxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQzNFLEdBQUcsQ0FBQyxNQUFNO0VBQ1osVUFBVSxFQUFFLGtCQUFrQjtFQUM5QixXQUFXLEVBQUUsR0FBRztDQUtqQjs7QUFiRCxBQVNFLFVBVFEsQUFTUCxNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLG1CQUFtQixFQUFFLGdCQUFnQjtDQUN0Qzs7QUFFSCxBQUNFLElBREUsQUFDRCxZQUFZLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLEtBQUssRUFBRSxPQUFPO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLFNBQVMsRUFBRSxLQUFLO0NBeUNqQjs7QUExREgsQUFrQkksSUFsQkEsQUFDRCxZQUFZLENBaUJYLEdBQUcsQ0FBQztFQUNGLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsQ0FBQztFQUNkLFVBQVUsRUFBRSxrQkFBa0I7Q0FDL0I7O0FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0VBeEJ4QixBQXlCTSxJQXpCRixBQUNELFlBQVksQUF3QlIsTUFBTSxDQUFDO0lBQ04sVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxPQUFPO0dBT3BCO0VBbkNQLEFBNkJRLElBN0JKLEFBQ0QsWUFBWSxBQXdCUixNQUFNLENBSUwsR0FBRyxDQUFDO0lBQ0YsTUFBTSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUM3RCxnQkFBZ0IsQ0FBQyxjQUFjO0lBQ2pDLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsV0FBVyxFQUFFLEdBQUc7R0FDakI7OztBQWxDVCxBQXFDSSxJQXJDQSxBQUNELFlBQVksQUFvQ1YsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLE9BQU87RUFDbkIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxNQUFNO0NBT2hCOztBQU5DLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztFQTFDMUIsQUEyQ1EsSUEzQ0osQUFDRCxZQUFZLEFBb0NWLE1BQU0sQUFNRixNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBTztJQUNuQixZQUFZLEVBQUUsT0FBTztHQUN0Qjs7O0FBOUNULEFBaURJLElBakRBLEFBQ0QsWUFBWSxBQWdEVixLQUFLLENBQUM7RUFDTCxZQUFZLEVBQUUsT0FBTztFQUNyQixLQUFLLEVBQUUsT0FBTztDQU1mOztBQUxDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztFQXBEMUIsQUFxRFEsSUFyREosQUFDRCxZQUFZLEFBZ0RWLEtBQUssQUFJRCxNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsT0FBTztHQUNwQjs7O0FBdkRULEFBMkRFLElBM0RFLEFBMkRELElBQUksQ0FBQztFQUNKLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLE9BQU87RUFDbkIsYUFBYSxFQUFFLEdBQUc7Q0E2Qm5COztBQTdGSCxBQWlFSSxJQWpFQSxBQTJERCxJQUFJLENBTUgsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxZQUFZLEVBQUUsR0FBRztDQUNsQjs7QUFwRUwsQUFxRUksSUFyRUEsQUEyREQsSUFBSSxBQVVGLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxPQUFPO0NBQ3BCOztBQXZFTCxBQXdFSSxJQXhFQSxBQTJERCxJQUFJLEFBYUYsUUFBUSxDQUFDO0VBQ1IsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsT0FBTztDQUNmOztBQTVFTCxBQTZFSSxJQTdFQSxBQTJERCxJQUFJLEFBa0JGLFVBQVUsQ0FBQztFQUNWLFlBQVksRUFBRSxHQUFHO0VBQ2pCLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLE1BQU07Q0FDaEI7O0FBcEZMLEFBcUZJLElBckZBLEFBMkRELElBQUksQUEwQkYsSUFBSSxDQUFDO0VBQ0osTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixVQUFVLEVBQUUsaURBQWlEO0NBQzlEOztBQXhGTCxBQXlGSSxJQXpGQSxBQTJERCxJQUFJLEFBOEJGLE9BQU8sQ0FBQztFQUNQLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsVUFBVSxFQUFFLGlEQUFpRDtDQUM5RDs7QUFJTCxBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0NBMkZqQjs7QUE3RkQsQUFHRSxXQUhTLENBR1QsRUFBRSxDQUFDO0VBQ0QsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQztFQUNULGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0NBcUZwQjs7QUE1RkgsQUFRSSxXQVJPLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxNQUFNO0NBa0ZmOztBQTNGTCxBQVdRLFdBWEcsQ0FHVCxFQUFFLENBS0EsRUFBRSxHQUdFLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxPQUFPO0NBQ2Y7O0FBaEJULEFBa0JNLFdBbEJLLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLGtCQUFrQjtDQThEL0I7O0FBMUZQLEFBNkJRLFdBN0JHLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLENBV0MsSUFBSSxDQUFDO0VBQ0gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFoQ1QsQUFpQ1EsV0FqQ0csQ0FHVCxFQUFFLENBS0EsRUFBRSxDQVVBLENBQUMsQUFlRSxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLENBQUM7RUFDUixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBaERULEFBaURRLFdBakRHLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLEFBK0JFLE1BQU0sRUFqRGYsV0FBVyxDQUdULEVBQUUsQ0FLQSxFQUFFLENBVUEsQ0FBQyxBQWdDRSxPQUFPLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxrQkFBa0I7Q0FPL0I7O0FBM0RULEFBcURVLFdBckRDLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLEFBK0JFLE1BQU0sQUFJSixPQUFPLEVBckRsQixXQUFXLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLEFBZ0NFLE9BQU8sQUFHTCxPQUFPLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLGtCQUFrQjtFQUM5QixPQUFPLEVBQUUsQ0FBQztDQUNYOztBQTFEWCxBQTREUSxXQTVERyxDQUdULEVBQUUsQ0FLQSxFQUFFLENBVUEsQ0FBQyxBQTBDRSxLQUFLLEVBNURkLFdBQVcsQ0FHVCxFQUFFLENBS0EsRUFBRSxDQVVBLENBQUMsQUEyQ0UsS0FBSyxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsU0FBUyxFQUFFLENBQUM7Q0FPYjs7QUF0RVQsQUFnRVUsV0FoRUMsQ0FHVCxFQUFFLENBS0EsRUFBRSxDQVVBLENBQUMsQUEwQ0UsS0FBSyxBQUlILE1BQU0sRUFoRWpCLFdBQVcsQ0FHVCxFQUFFLENBS0EsRUFBRSxDQVVBLENBQUMsQUEyQ0UsS0FBSyxBQUdILE1BQU0sQ0FBQztFQUNOLEtBQUssRUFBRSxPQUFPO0NBQ2Y7O0FBbEVYLEFBbUVVLFdBbkVDLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLEFBMENFLEtBQUssQUFPSCxRQUFRLEVBbkVuQixXQUFXLENBR1QsRUFBRSxDQUtBLEVBQUUsQ0FVQSxDQUFDLEFBMkNFLEtBQUssQUFNSCxRQUFRLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQXJFWCxBQXlFVSxXQXpFQyxDQUdULEVBQUUsQ0FLQSxFQUFFLENBVUEsQ0FBQyxBQXFERSxLQUFLLEFBRUgsT0FBTyxFQXpFbEIsV0FBVyxDQUdULEVBQUUsQ0FLQSxFQUFFLENBVUEsQ0FBQyxBQXNERSxLQUFLLEFBQ0gsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixZQUFZLEVBQUUsaUJBQWlCO0VBQy9CLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLElBQUksRUFBRSxHQUFHO0VBQ1QsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYztDQUNoRDs7QUFuRlgsQUFzRlUsV0F0RkMsQ0FHVCxFQUFFLENBS0EsRUFBRSxDQVVBLENBQUMsQUFtRUUsS0FBSyxBQUNILE9BQU8sQ0FBQztFQUNQLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjO0NBQ2hEOztBQU1YLEFBQUEsWUFBWSxDQUFDO0VBQ1gsS0FBSyxFQUFFLEtBQUs7RUFDWixRQUFRLEVBQUUsUUFBUTtDQXFDbkI7O0FBdkNELEFBR0UsWUFIVSxDQUdWLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLFFBQVE7RUFDakIsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLElBQUksQ0FBQyxrREFBa0QsQ0FDakUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTTtFQUM1QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQWJILEFBY0UsWUFkVSxDQWNWLEVBQUUsQ0FBQztFQUNELE9BQU8sRUFBRSxRQUFRO0VBQ2pCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtFQUM1QyxhQUFhLEVBQUUsR0FBRztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsZ0JBQWdCO0VBQ3JCLEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLElBQUk7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLElBQUk7Q0FZZDs7QUF0Q0gsQUE0Qk0sWUE1Qk0sQ0FjVixFQUFFLENBYUEsRUFBRSxDQUNBLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU8sRUFBRSxLQUFLO0NBS2Y7O0FBcENQLEFBZ0NRLFlBaENJLENBY1YsRUFBRSxDQWFBLEVBQUUsQ0FDQSxDQUFDLENBSUMsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxZQUFZLEVBQUUsR0FBRztDQUNsQjs7QUFNVCxBQUNFLGNBRFksQ0FDWixDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0NBQ2xCOztBQUpILEFBS0UsY0FMWSxDQUtaLEVBQUU7QUFMSixjQUFjLENBTVosRUFBRSxDQUFDO0VBQ0QsYUFBYSxFQUFFLElBQUk7RUFDbkIsV0FBVyxFQUFFLElBQUk7Q0FLbEI7O0FBYkgsQUFTSSxjQVRVLENBS1osRUFBRSxDQUlBLEVBQUU7QUFUTixjQUFjLENBTVosRUFBRSxDQUdBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7Q0FDbEI7O0FBWkwsQUFlSSxjQWZVLENBY1osRUFBRSxDQUNBLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxJQUFJO0NBQ2pCOztBQWpCTCxBQW9CSSxjQXBCVSxDQW1CWixFQUFFLENBQ0EsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQU87Q0FDcEI7O0FBR0wsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUTtDQStFbkI7O0FBaEZELEFBRUUsaUJBRmUsQ0FFZixXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsZUFBZTtFQUN0QixNQUFNLEVBQUUsa0JBQWtCO0VBQzFCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7RUFDeEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FpQ1g7O0FBekNILEFBU0ksaUJBVGEsQ0FFZixXQUFXLENBT1QsS0FBSyxDQUFDO0VBQ0osS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsT0FBTztFQUNmLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBZEwsQUFlSSxpQkFmYSxDQUVmLFdBQVcsQ0FhVCxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsV0FBVztFQUNwQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsWUFBWSxFQUFFLElBQUk7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxTQUFTO0VBQ2pCLFVBQVUsRUFBRSxPQUFPLENBQUMsaURBQWlELENBQ25FLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07Q0FLN0I7O0FBaENMLEFBNEJNLGlCQTVCVyxDQUVmLFdBQVcsQ0FhVCxJQUFJLEFBYUQsU0FBUyxDQUFDO0VBQ1QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxnREFBZ0QsQ0FDbEUsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtDQUM3Qjs7QUEvQlAsQUFrQ00saUJBbENXLENBRWYsV0FBVyxBQStCUixXQUFXLENBQ1YsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFwQ1AsQUFxQ00saUJBckNXLENBRWYsV0FBVyxBQStCUixXQUFXLEdBSVIsYUFBYSxDQUFDO0VBQ2QsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUF2Q1AsQUEwQ0UsaUJBMUNlLENBMENmLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsWUFBWSxFQUFFLElBQUk7RUFDbEIsVUFBVSxFQUFFLG9EQUFvRCxDQUFDLFNBQVMsQ0FDeEUsSUFBSSxDQUFDLEdBQUc7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsR0FBRztFQUNULEdBQUcsRUFBRSxHQUFHO0VBQ1IsU0FBUyxFQUFFLHFCQUFxQjtFQUNoQyxPQUFPLEVBQUUsQ0FBQztDQWlCWDs7QUFwRUgsQUFxREksaUJBckRhLENBMENmLGFBQWEsQ0FXWCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxPQUFPO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLEdBQUc7Q0FJakI7O0FBOURMLEFBMkRNLGlCQTNEVyxDQTBDZixhQUFhLENBV1gsS0FBSyxDQU1ILElBQUksQ0FBQztFQUNILEtBQUssRUFBRSxPQUFPO0NBQ2Y7O0FBN0RQLEFBK0RJLGlCQS9EYSxDQTBDZixhQUFhLENBcUJYLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztDQUNmOztBQW5FTCxBQXNFSSxpQkF0RWEsQUFxRWQsTUFBTSxDQUNMLFdBQVcsQ0FBQztFQUNWLE1BQU0sRUFBRSxlQUFlO0NBSXhCOztBQTNFTCxBQXdFTSxpQkF4RVcsQUFxRWQsTUFBTSxDQUNMLFdBQVcsQ0FFVCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsSUFBSTtDQUNiOztBQTFFUCxBQTRFSSxpQkE1RWEsQUFxRWQsTUFBTSxDQU9MLGFBQWEsQ0FBQztFQUNaLFNBQVMsRUFBRSxLQUFLO0NBQ2pCOztBQUdMLEFBQUEsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxHQUFHO0VBQ2YsS0FBSyxFQUFFLE9BQU87Q0FNZjs7QUFURCxBQUlFLGdCQUpjLENBSWQsQ0FBQyxDQUFDO0VBQ0EsS0FBSyxFQUFFLE9BQU87RUFDZCxlQUFlLEVBQUUsU0FBUztFQUMxQixXQUFXLEVBQUUsR0FBRztDQUNqQjs7QUFLSCxBQUNFLGtCQURnQixDQUNoQixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxTQUFTO0NBK0NsQjs7QUFuREgsQUFLSSxrQkFMYyxDQUNoQixPQUFPLENBSUwsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLFdBQVc7RUFDdkIsS0FBSyxFQUFFLEdBQUc7RUFDVixHQUFHLEVBQUUsS0FBSztFQUNWLFVBQVUsRUFBRSxrQkFBa0I7Q0FRL0I7O0FBakJMLEFBVU0sa0JBVlksQ0FDaEIsT0FBTyxDQUlMLFVBQVUsQ0FLUixJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtDQUNaOztBQVpQLEFBYU0sa0JBYlksQ0FDaEIsT0FBTyxDQUlMLFVBQVUsQUFRUCxNQUFNLENBQUM7RUFDTixTQUFTLEVBQUUsVUFBVTtFQUNyQixVQUFVLEVBQUUsa0JBQWtCO0NBQy9COztBQWhCUCxBQWtCSSxrQkFsQmMsQ0FDaEIsT0FBTyxDQWlCTCxZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0I7RUFDL0MsYUFBYSxFQUFFLElBQUk7Q0FTcEI7O0FBOUJMLEFBc0JNLGtCQXRCWSxDQUNoQixPQUFPLENBaUJMLFlBQVksQ0FJVixTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsU0FBUztDQUNuQjs7QUF4QlAsQUEwQlEsa0JBMUJVLENBQ2hCLE9BQU8sQ0FpQkwsWUFBWSxDQU9WLElBQUksQ0FDRixHQUFHLENBQUM7RUFDRixNQUFNLEVBQUUsQ0FBQztDQUNWOztBQTVCVCxBQStCSSxrQkEvQmMsQ0FDaEIsT0FBTyxDQThCTCxZQUFZLENBQUM7RUFDWCxVQUFVLEVBQUUsTUFBTTtFQUNsQixhQUFhLEVBQUUsSUFBSTtDQVdwQjs7QUE1Q0wsQUFrQ00sa0JBbENZLENBQ2hCLE9BQU8sQ0E4QkwsWUFBWSxDQUdWLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QUF2Q1AsQUF3Q00sa0JBeENZLENBQ2hCLE9BQU8sQ0E4QkwsWUFBWSxDQVNWLENBQUMsQ0FBQztFQUNBLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLE9BQU87Q0FDZjs7QUEzQ1AsQUE4Q00sa0JBOUNZLENBQ2hCLE9BQU8sQ0E0Q0wsV0FBVyxDQUNULEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLElBQUk7Q0FDYjs7QUFqRFAsQUFxREksa0JBckRjLEFBb0RmLGlCQUFpQixDQUNoQixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsS0FBSztDQUNiOztBQXZETCxBQXlERSxrQkF6RGdCLENBeURoQixXQUFXLENBQUM7RUFDVixXQUFXO0VBS1gsV0FBVztFQUtYLFlBQVk7RUFLWixxQkFBcUI7Q0FVdEI7O0FBbkZILEFBMkRJLGtCQTNEYyxDQXlEaEIsV0FBVyxDQUVULG1CQUFtQixDQUFDO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsYUFBYSxFQUFFLEdBQUc7Q0FDbkI7O0FBOURMLEFBZ0VJLGtCQWhFYyxDQXlEaEIsV0FBVyxDQU9ULHlCQUF5QixDQUFDO0VBQ3hCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0NBQ25COztBQW5FTCxBQXFFSSxrQkFyRWMsQ0F5RGhCLFdBQVcsQ0FZVCx5QkFBeUIsQ0FBQztFQUN4QixVQUFVLEVBQUUsT0FBTztFQUNuQixhQUFhLEVBQUUsR0FBRztDQUNuQjs7QUF4RUwsQUEwRUksa0JBMUVjLENBeURoQixXQUFXLENBaUJULHlCQUF5QixBQUFBLE1BQU0sQ0FBQztFQUM5QixVQUFVLEVBQUUsT0FBTztDQUNwQjs7QUE1RUwsQUE2RUksa0JBN0VjLENBeURoQixXQUFXLENBb0JULGFBQWEsQ0FBQztFQUNaLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFlBQVksRUFBRSxLQUFLO0VBQ25CLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFFBQVEsRUFBRSxJQUFJO0NBQ2Y7O0FBbEZMLEFBcUZJLGtCQXJGYyxBQW9GZixZQUFZLENBQ1gsT0FBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLEtBQUs7Q0FLYjs7QUEzRkwsQUF1Rk0sa0JBdkZZLEFBb0ZmLFlBQVksQ0FDWCxPQUFPLENBRUwsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLGNBQWM7RUFDdkIsVUFBVSxFQUFFLE1BQU07Q0FDbkI7O0FBMUZQLEFBK0ZNLGtCQS9GWSxBQTZGZixjQUFjLENBQ2IsT0FBTyxDQUNMLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxTQUFTO0NBQ25COztBQWpHUCxBQXNHTSxrQkF0R1ksQUFvR2YsY0FBYyxDQUNiLE9BQU8sQ0FDTCxZQUFZLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSTtDQXdCWjs7QUEvSFAsQUF3R1Esa0JBeEdVLEFBb0dmLGNBQWMsQ0FDYixPQUFPLENBQ0wsWUFBWSxDQUVWLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0NBcUJkOztBQTlIVCxBQTBHVSxrQkExR1EsQUFvR2YsY0FBYyxDQUNiLE9BQU8sQ0FDTCxZQUFZLENBRVYsU0FBUyxDQUVQLGVBQWUsQ0FBQztFQUNkLEtBQUssRUFBRSxLQUFLO0NBa0JiOztBQTdIWCxBQTRHWSxrQkE1R00sQUFvR2YsY0FBYyxDQUNiLE9BQU8sQ0FDTCxZQUFZLENBRVYsU0FBUyxDQUVQLGVBQWUsQ0FFYixZQUFZLENBQUM7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07Q0FJcEI7O0FBcEhiLEFBaUhjLGtCQWpISSxBQW9HZixjQUFjLENBQ2IsT0FBTyxDQUNMLFlBQVksQ0FFVixTQUFTLENBRVAsZUFBZSxDQUViLFlBQVksR0FLUixHQUFHLENBQUM7RUFDSixNQUFNLEVBQUUsSUFBSTtDQUNiOztBQW5IZixBQXFIWSxrQkFySE0sQUFvR2YsY0FBYyxDQUNiLE9BQU8sQ0FDTCxZQUFZLENBRVYsU0FBUyxDQUVQLGVBQWUsQ0FXYixZQUFZLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLElBQUk7Q0FJakI7O0FBNUhiLEFBeUhjLGtCQXpISSxBQW9HZixjQUFjLENBQ2IsT0FBTyxDQUNMLFlBQVksQ0FFVixTQUFTLENBRVAsZUFBZSxDQVdiLFlBQVksQUFJVCxNQUFNLENBQUM7RUFDTixlQUFlLEVBQUUsZUFBZTtDQUNqQzs7QUFTZixBQUNFLE1BREksQUFDSCxpQkFBaUIsQ0FBQztFQUNqQixNQUFNLEVBQUUsSUFBSTtDQTREYjs7QUE5REgsQUFHSSxNQUhFLEFBQ0gsaUJBQWlCLENBRWhCLFVBQVUsQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWE7Q0FDL0I7O0FBTkwsQUFPSSxNQVBFLEFBQ0gsaUJBQWlCLENBTWhCLEtBQUssQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sV0FBVyxFQUFFLENBQUM7RUFDZCxZQUFZLEVBQUUsSUFBSTtFQUNsQixLQUFLLEVBQUUsS0FBSztDQUNiOztBQWJMLEFBY0ksTUFkRSxBQUNILGlCQUFpQixDQWFoQix3QkFBd0IsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0NBNkNwQjs7QUE3REwsQUFpQk0sTUFqQkEsQUFDSCxpQkFBaUIsQ0FhaEIsd0JBQXdCLENBR3RCLGVBQWUsQ0FBQztFQUNkLFlBQVksRUFBRSxJQUFJO0NBaUNuQjs7QUFuRFAsQUFtQlEsTUFuQkYsQUFDSCxpQkFBaUIsQ0FhaEIsd0JBQXdCLENBR3RCLGVBQWUsQ0FFYixDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07Q0EyQnBCOztBQWxEVCxBQXdCVSxNQXhCSixBQUNILGlCQUFpQixDQWFoQix3QkFBd0IsQ0FHdEIsZUFBZSxDQUViLENBQUMsQ0FLQyxJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLE9BQU87RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLE9BQU87RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLEdBQUc7RUFDakIsUUFBUSxFQUFFLFFBQVE7Q0FhbkI7O0FBakRYLEFBcUNZLE1BckNOLEFBQ0gsaUJBQWlCLENBYWhCLHdCQUF3QixDQUd0QixlQUFlLENBRWIsQ0FBQyxDQUtDLElBQUksQUFhRCxNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsT0FBTztFQUNuQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQWhEYixBQW9ETSxNQXBEQSxBQUNILGlCQUFpQixDQWFoQix3QkFBd0IsQ0FzQ3RCLGlCQUFpQixDQUFDO0VBQ2hCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLGtEQUFrRCxDQUFDLFNBQVMsQ0FDdEUsSUFBSSxDQUFDLE1BQU07RUFDYixPQUFPLEVBQUUsV0FBVztFQUNwQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUtQLEFBQ0UsVUFEUSxBQUNQLE9BQU8sQ0FBQztFQUNQLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FBR0gsQUFDRSxPQURLLEFBQ0osbUJBQW1CLENBQUM7RUFDbkIsVUFBVSxFQUFFLDZEQUE2RCxDQUN2RSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU07RUFDdEIsVUFBVSxFQUFFLG1CQUFtQjtDQUNoQzs7QUFFSCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0NBQ3RCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsSUFBSTtDQVlwQjs7QUFoQkQsQUFLRSxjQUxZLENBS1osRUFBRSxDQUFDO0VBQ0QsWUFBWSxFQUFFLElBQUk7RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQVpILEFBYUUsY0FiWSxDQWFaLFVBQVUsQ0FBQztFQUNULFdBQVcsRUFBRSxJQUFJO0NBQ2xCOztBQUdILEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7Q0FzRGQ7O0FBckRFLEFBQUQsZ0JBQU0sQ0FBQztFQUNMLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEtBQUs7RUFDYixVQUFVLEVBQUUsS0FBSztFQUNqQixRQUFRLEVBQUUsUUFBUTtDQXVCbkI7O0FBM0JBLEFBS0MsZ0JBTEksQUFLSCxNQUFNLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsRUFBRTtFQUNYLFVBQVUsRUFBRSwwRkFJWDtFQUNELE9BQU8sRUFBRSxHQUFHO0VBQ1osR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsSUFBSTtDQUNiOztBQW5CRixBQW9CQyxnQkFwQkksQ0FvQkosR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsZUFBZSxFQUFFLEdBQUc7Q0FDckI7O0FBRUYsQUFBRCxpQkFBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0NBb0JwQjs7QUFuQkUsQUFBRCxzQkFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLEtBQUs7Q0FpQmI7O0FBbEJBLEFBRUMsc0JBRkksQ0FFSixRQUFRLENBQUM7RUFDUCxhQUFhLEVBQUUsSUFBSTtDQUlwQjs7QUFQRixBQUlHLHNCQUpFLENBRUosUUFBUSxDQUVOLEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FBTkosQUFRQyxzQkFSSSxDQVFKLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLE9BQU87RUFDZCxXQUFXLEVBQUUsTUFBTTtFQUNuQixhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QUFiRixBQWNDLHNCQWRJLENBY0osQ0FBQyxDQUFDO0VBQ0EsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztDQUNmOztBQUlQLEFBQUEsa0JBQWtCLEFBQUEsMkJBQTJCLEFBQUEsd0JBQXdCLENBQUM7RUFDcEUsT0FBTyxFQUFFLE9BQU87Q0FDakI7O0FBQ0QsQUFBQSxXQUFXLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtDQWdmakI7O0FBamZELEFBRUUsV0FGUyxDQUVULElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsYUFBYTtDQTJlL0I7O0FBaGZILEFBTUksV0FOTyxDQUVULElBQUksQ0FJRixNQUFNLENBQUM7RUFDTCxPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBVEwsQUFVSSxXQVZPLENBRVQsSUFBSSxDQVFGLElBQUksQ0FBQztFQUNILEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQUk7Q0FtZXBCOztBQS9lTCxBQWNNLFdBZEssQ0FFVCxJQUFJLENBUUYsSUFBSSxBQUlELE9BQU8sQ0FBQztFQUNQLEtBQUssRUFBRSxnQkFBZ0I7Q0FDeEI7O0FBaEJQLEFBaUJNLFdBakJLLENBRVQsSUFBSSxDQVFGLElBQUksQ0FPRixFQUFFLENBQUM7RUFDRCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxpQkFBaUI7RUFDN0IsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FBckJQLEFBc0JNLFdBdEJLLENBRVQsSUFBSSxDQVFGLElBQUksQ0FZRixLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxPQUFPO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsU0FBUztFQUN0QixhQUFhLEVBQUUsR0FBRztFQUNsQixXQUFXLEVBQUUsR0FBRztDQUlqQjs7QUFoQ1AsQUE2QlEsV0E3QkcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQVlGLEtBQUssQ0FPSCxDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsT0FBTztDQUNmOztBQS9CVCxBQWlDTSxXQWpDSyxDQUVULElBQUksQ0FRRixJQUFJLENBdUJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVg7QUFqQ1osV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBd0JGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7QUFsQ1osV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBeUJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7QUFuQ1osV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBMEJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUFwQ1osV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBMkJGLE1BQU07QUFyQ1osV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBNEJGLFFBQVEsQ0FBQztFQUNQLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLFVBQVU7RUFDdEIsVUFBVSxFQUFFLHFCQUFxQjtDQVFsQzs7QUF0RFAsQUErQ1EsV0EvQ0csQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXVCRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLENBY0gsTUFBTTtBQS9DZixXQUFXLENBRVQsSUFBSSxDQVFGLElBQUksQ0F3QkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWFILE1BQU07QUEvQ2YsV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBeUJGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FZSCxNQUFNO0FBL0NmLFdBQVcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTBCRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBV0gsTUFBTTtBQS9DZixXQUFXLENBRVQsSUFBSSxDQVFGLElBQUksQ0EyQkYsTUFBTSxBQVVILE1BQU07QUEvQ2YsV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBNEJGLFFBQVEsQUFTTCxNQUFNLENBQUM7RUFDTixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxxQkFBcUI7Q0FDbEM7O0FBbERULEFBbURRLFdBbkRHLENBRVQsSUFBSSxDQVFGLElBQUksQ0F1QkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWtCSCxTQUFTO0FBbkRsQixXQUFXLENBRVQsSUFBSSxDQVFGLElBQUksQ0F3QkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWlCSCxTQUFTO0FBbkRsQixXQUFXLENBRVQsSUFBSSxDQVFGLElBQUksQ0F5QkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixDQWdCSCxTQUFTO0FBbkRsQixXQUFXLENBRVQsSUFBSSxDQVFGLElBQUksQ0EwQkYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQWVILFNBQVM7QUFuRGxCLFdBQVcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTJCRixNQUFNLEFBY0gsU0FBUztBQW5EbEIsV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBNEJGLFFBQVEsQUFhTCxTQUFTLENBQUM7RUFDVCxVQUFVLEVBQUUsT0FBTztDQUNwQjs7QUFyRFQsQUF1RE0sV0F2REssQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTZDRixNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLGtEQUFrRCxDQUNqRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNO0VBQzdCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCOztBQTNEUCxBQTRETSxXQTVESyxDQUVULElBQUksQ0FRRixJQUFJLENBa0RGLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixPQUFPLEVBQUUsTUFBTTtFQUNmLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFQUFFLE9BQU87RUFDZCxVQUFVLEVBQUUsa0JBQWtCO0NBdUIvQjs7QUE1RlAsQUFzRVEsV0F0RUcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQWtERixNQUFNLEFBVUgsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLE9BQU87RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsa0JBQWtCO0NBQy9COztBQTFFVCxBQTJFUSxXQTNFRyxDQUVULElBQUksQ0FRRixJQUFJLENBa0RGLE1BQU0sQUFlSCxJQUFJLENBQUM7RUFDSixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtFQUM3QyxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVBQUUsT0FBTztFQUNuQixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsT0FBTztDQUtoQjs7QUEzRlQsQUF1RlUsV0F2RkMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQWtERixNQUFNLEFBZUgsSUFBSSxBQVlGLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxPQUFPO0VBQ25CLFVBQVUsRUFBRSxrQkFBa0I7Q0FDL0I7O0FBMUZYLEFBNkZNLFdBN0ZLLENBRVQsSUFBSSxDQVFGLElBQUksQ0FtRkYsa0JBQWtCLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU87Q0FZakI7O0FBMUdQLEFBK0ZRLFdBL0ZHLENBRVQsSUFBSSxDQVFGLElBQUksQ0FtRkYsa0JBQWtCLENBRWhCLDBCQUEwQixDQUFDO0VBQ3pCLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBakdULEFBb0dZLFdBcEdELENBRVQsSUFBSSxDQVFGLElBQUksQ0F3RkMsMkJBQVMsQ0FFTCwwQkFBUSxDQUFDO0VBQ1IsWUFBWSxFQUFFLE9BQU87RUFDckIsYUFBYSxFQUFFLEdBQUc7Q0FDbkI7O0FBdkdiLEFBMkdNLFdBM0dLLENBRVQsSUFBSSxDQVFGLElBQUksQ0FpR0YsMkJBQTJCO0FBQ3pCLDBCQUEwQjtBQUMxQix5QkFBeUIsQ0FBQztFQUMxQixHQUFHLEVBQUUsQ0FBQztFQUNOLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBbkhQLEFBb0hNLFdBcEhLLENBRVQsSUFBSSxDQVFGLElBQUksQ0EwR0YsMkJBQTJCO0FBQ3pCLDBCQUEwQjtBQUMxQix5QkFBeUI7QUFDekIsQ0FBQyxDQUFDO0VBQ0YsVUFBVSxFQUFFLGtEQUFrRCxDQUFDLFNBQVMsQ0FDdEUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNO0VBQ25CLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsSUFBSTtFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLE1BQU07Q0FDZjs7QUFsSVAsQUFtSU0sV0FuSUssQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXlIRixrQkFBa0I7QUFDaEIsMEJBQTBCO0FBQzFCLDRCQUE0QixDQUFDO0VBQzdCLE9BQU8sRUFBRSxpQkFBaUI7RUFDMUIsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQXpJUCxBQTBJTSxXQTFJSyxDQUVULElBQUksQ0FRRixJQUFJLENBZ0lGLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUk7Q0FDVjs7QUE3SVAsQUErSVEsV0EvSUcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQW9JRixNQUFNLEdBQ0YsS0FBSyxDQUFDO0VBQ04sS0FBSyxFQUFFLE9BQU87RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtDQVVsQjs7QUFwS1QsQUEySlUsV0EzSkMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQW9JRixNQUFNLEdBQ0YsS0FBSyxBQVlKLE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0NBQ3RCOztBQTdKWCxBQThKVSxXQTlKQyxDQUVULElBQUksQ0FRRixJQUFJLENBb0lGLE1BQU0sR0FDRixLQUFLLENBZUwsS0FBSyxBQUFBLFFBQVEsR0FBRyxVQUFVLENBQUM7RUFDekIsWUFBWSxFQUFFLE9BQU87Q0FJdEI7O0FBbktYLEFBZ0tZLFdBaEtELENBRVQsSUFBSSxDQVFGLElBQUksQ0FvSUYsTUFBTSxHQUNGLEtBQUssQ0FlTCxLQUFLLEFBQUEsUUFBUSxHQUFHLFVBQVUsQUFFdkIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFsS2IsQUFxS1EsV0FyS0csQ0FFVCxJQUFJLENBUUYsSUFBSSxDQW9JRixNQUFNLENBdUJKLEtBQUssQ0FBQztFQUNKLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLE9BQU87RUFDZixNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0NBQ1Q7O0FBM0tULEFBNEtRLFdBNUtHLENBRVQsSUFBSSxDQVFGLElBQUksQ0FvSUYsTUFBTSxDQThCSixVQUFVLENBQUM7RUFDVCxnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixJQUFJLEVBQUUsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLElBQUk7Q0FjWjs7QUFsTVQsQUFxTFUsV0FyTEMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQW9JRixNQUFNLENBOEJKLFVBQVUsQUFTUCxNQUFNLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxHQUFHO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxxQkFBcUI7Q0FDakM7O0FBak1YLEFBcU1RLFdBck1HLENBRVQsSUFBSSxDQVFGLElBQUksQ0EwTEYsU0FBUyxBQUNOLE1BQU0sR0FBRyxLQUFLLENBQUM7RUFDZCxTQUFTLEVBQUUsSUFBSTtDQUNoQjs7QUF2TVQsQUF3TVEsV0F4TUcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTBMRixTQUFTLEdBSUwsS0FBSyxDQUFDO0VBQ04sS0FBSyxFQUFFLE9BQU87RUFDZCxNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0NBV2xCOztBQTNOVCxBQWlOVSxXQWpOQyxDQUVULElBQUksQ0FRRixJQUFJLENBMExGLFNBQVMsR0FJTCxLQUFLLEFBU0osTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7RUFDekIsWUFBWSxFQUFFLE9BQU87Q0FDdEI7O0FBbk5YLEFBb05VLFdBcE5DLENBRVQsSUFBSSxDQVFGLElBQUksQ0EwTEYsU0FBUyxHQUlMLEtBQUssQ0FZTCxLQUFLLEFBQUEsUUFBUSxHQUFHLFVBQVUsQ0FBQztFQUN6QixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLE1BQU0sRUFBRSxpQkFBaUI7Q0FJMUI7O0FBMU5YLEFBdU5ZLFdBdk5ELENBRVQsSUFBSSxDQVFGLElBQUksQ0EwTEYsU0FBUyxHQUlMLEtBQUssQ0FZTCxLQUFLLEFBQUEsUUFBUSxHQUFHLFVBQVUsQUFHdkIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUF6TmIsQUE0TlEsV0E1TkcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTBMRixTQUFTLENBd0JQLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0NBQ1Q7O0FBbE9ULEFBbU9RLFdBbk9HLENBRVQsSUFBSSxDQVFGLElBQUksQ0EwTEYsU0FBUyxDQStCUCxVQUFVLENBQUM7RUFDVCxnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixJQUFJLEVBQUUsQ0FBQztFQUNQLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLElBQUk7Q0FhWjs7QUF4UFQsQUE0T1UsV0E1T0MsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTBMRixTQUFTLENBK0JQLFVBQVUsQUFTUCxNQUFNLENBQUM7RUFDTixJQUFJLEVBQUUsR0FBRztFQUNULE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsV0FBVztFQUNuQixZQUFZLEVBQUUsV0FBVztFQUN6QixTQUFTLEVBQUUsYUFBYTtDQUN6Qjs7QUF2UFgsQUEyUE0sV0EzUEssQ0FFVCxJQUFJLENBUUYsSUFBSSxBQWlQRCxZQUFZLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLFFBQVE7Q0FRMUI7O0FBdFFQLEFBK1BRLFdBL1BHLENBRVQsSUFBSSxDQVFGLElBQUksQUFpUEQsWUFBWSxDQUlYLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0NBQ25COztBQXJRVCxBQXVRTSxXQXZRSyxDQUVULElBQUksQ0FRRixJQUFJLEFBNlBELEtBQUssQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsTUFBTTtDQWF4Qjs7QUF2UlAsQUEyUVEsV0EzUUcsQ0FFVCxJQUFJLENBUUYsSUFBSSxBQTZQRCxLQUFLLENBSUosQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxPQUFPO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLEdBQUc7Q0FJakI7O0FBdFJULEFBbVJVLFdBblJDLENBRVQsSUFBSSxDQVFGLElBQUksQUE2UEQsS0FBSyxDQUlKLENBQUMsQUFRRSxNQUFNLENBQUM7RUFDTixlQUFlLEVBQUUsU0FBUztDQUMzQjs7QUFyUlgsQUF3Uk0sV0F4UkssQ0FFVCxJQUFJLENBUUYsSUFBSSxBQThRRCxVQUFVLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0NBYS9COztBQXZTUCxBQTJSUSxXQTNSRyxDQUVULElBQUksQ0FRRixJQUFJLEFBOFFELFVBQVUsQ0FHVCxZQUFZLENBQUM7RUFDWCxTQUFTLEVBQUUsS0FBSztDQU9qQjs7QUFuU1QsQUE2UlUsV0E3UkMsQ0FFVCxJQUFJLENBUUYsSUFBSSxBQThRRCxVQUFVLENBR1QsWUFBWSxBQUVULE1BQU0sQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsSUFBSTtDQUNsQjs7QUFsU1gsQUFvU1EsV0FwU0csQ0FFVCxJQUFJLENBUUYsSUFBSSxBQThRRCxVQUFVLEFBWVIsT0FBTyxDQUFDO0VBQ1AsZUFBZSxFQUFFLE1BQU07Q0FDeEI7O0FBdFNULEFBd1NNLFdBeFNLLENBRVQsSUFBSSxDQVFGLElBQUksQ0E4UkYsZUFBZSxDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7Q0FzQ25COztBQS9VUCxBQTBTUSxXQTFTRyxDQUVULElBQUksQ0FRRixJQUFJLENBOFJGLGVBQWUsQ0FFYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO0FBMVNkLFdBQVcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQThSRixlQUFlLENBR2IsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtFQUNyQixhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QUE3U1QsQUE4U1EsV0E5U0csQ0FFVCxJQUFJLENBUUYsSUFBSSxDQThSRixlQUFlLENBTWIsYUFBYSxDQUFDO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxJQUFJO0VBQ1YsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0NBeUJiOztBQTlVVCxBQXNUVSxXQXRUQyxDQUVULElBQUksQ0FRRixJQUFJLENBOFJGLGVBQWUsQ0FNYixhQUFhLENBUVgsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLFlBQVk7Q0FDckI7O0FBeFRYLEFBeVRVLFdBelRDLENBRVQsSUFBSSxDQVFGLElBQUksQ0E4UkYsZUFBZSxDQU1iLGFBQWEsQUFXVixNQUFNLENBQUM7RUFDTixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsT0FBTyxFQUFFLEVBQUU7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsT0FBTztFQUNuQixHQUFHLEVBQUUsSUFBSTtFQUNULE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLGFBQWE7RUFDeEIsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsaUJBQWlCO0NBQzlCOztBQXZVWCxBQXlVWSxXQXpVRCxDQUVULElBQUksQ0FRRixJQUFJLENBOFJGLGVBQWUsQ0FNYixhQUFhLEFBMEJWLElBQUksQUFDRixNQUFNLENBQUM7RUFDTixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxpQkFBaUI7Q0FDOUI7O0FBNVViLEFBZ1ZNLFdBaFZLLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQUFDO0VBQ1YsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLGtCQUFrQjtFQUMxQixhQUFhLEVBQUUsR0FBRztFQUNsQixhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxRQUFRO0NBNEluQjs7QUFsZVAsQUF1VlEsV0F2VkcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLEdBT1AsTUFBTSxDQUFDO0VBQ1AsT0FBTyxFQUFFLElBQUk7Q0FDZDs7QUF6VlQsQUEwVlEsV0ExVkcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBVVQsZUFBZSxDQUFDO0VBQ2QsVUFBVSxFQUFFLG9EQUFvRCxDQUM1RCxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQzdCLE9BQU87RUFDVCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsYUFBYTtFQUN0QixRQUFRLEVBQUUsUUFBUTtDQStCbkI7O0FBbllULEFBcVdVLFdBcldDLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQVVULGVBQWUsQUFXWixTQUFTLENBQUM7RUFDVCxPQUFPLEVBQUUsR0FBRztDQUNiOztBQXZXWCxBQXdXVSxXQXhXQyxDQUVULElBQUksQ0FRRixJQUFJLENBc1VGLFdBQVcsQ0FVVCxlQUFlLENBY2IsS0FBSyxDQUFDO0VBQ0osa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixlQUFlLEVBQUUsSUFBSTtFQUNyQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsVUFBVTtFQUN0QixNQUFNLEVBQUUsT0FBTztFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBdFhYLEFBdVhVLFdBdlhDLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQVVULGVBQWUsQ0E2QmIsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsSUFBSTtDQUNsQjs7QUExWFgsQUEyWFUsV0EzWEMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBVVQsZUFBZSxDQWlDYixNQUFNLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxDQUFDO0NBQ1I7O0FBL1hYLEFBZ1lVLFdBaFlDLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQVVULGVBQWUsQ0FzQ2IsS0FBSyxBQUFBLE1BQU0sQ0FBQztFQUNWLEdBQUcsRUFBRSxJQUFJO0NBQ1Y7O0FBbFlYLEFBb1lRLFdBcFlHLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQW9EVCxLQUFLLENBQUM7RUFFSixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxpQkFBaUI7RUFDOUIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsVUFBVTtDQUtuQjs7QUEvWVQsQUEyWVUsV0EzWUMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBb0RULEtBQUssQ0FPSCxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxPQUFPO0NBQ2Y7O0FBOVlYLEFBZ1pRLFdBaFpHLENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQWdFVCxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0NBK0VoQjs7QUFqZVQsQUFzWlUsV0F0WkMsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBZ0VULFlBQVksQ0FNVixJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsYUFBYTtFQUNyQixRQUFRLEVBQUUsUUFBUTtDQXdFbkI7O0FBaGVYLEFBeVpZLFdBelpELENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQWdFVCxZQUFZLENBTVYsSUFBSSxDQUdGLE1BQU0sQ0FBQztFQUNMLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEtBQUs7Q0FvQ2I7O0FBbGNiLEFBK1pjLFdBL1pILENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQWdFVCxZQUFZLENBTVYsSUFBSSxDQUdGLE1BQU0sQUFNSCxRQUFRLENBQUM7RUFDUixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsRUFBRTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLEdBQUc7RUFDWixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQXRhZixBQXVhYyxXQXZhSCxDQUVULElBQUksQ0FRRixJQUFJLENBc1VGLFdBQVcsQ0FnRVQsWUFBWSxDQU1WLElBQUksQ0FHRixNQUFNLENBY0osR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLEtBQUs7RUFDakIsZUFBZSxFQUFFLE1BQU07RUFDdkIsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUE5YWYsQUErYWMsV0EvYUgsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBZ0VULFlBQVksQ0FNVixJQUFJLENBR0YsTUFBTSxDQXNCSixVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsV0FBVztFQUNwQixrQkFBa0IsRUFBRSxDQUFDO0VBQ3JCLGtCQUFrQixFQUFFLFFBQVE7RUFDNUIsUUFBUSxFQUFFLE1BQU07RUFFaEIsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsQ0FBQztFQUNQLFdBQVcsRUFBRSxpQkFBaUI7RUFDOUIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsVUFBVSxFQUFFLE1BQU07RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBamNmLEFBbWNZLFdBbmNELENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQWdFVCxZQUFZLENBTVYsSUFBSSxDQTZDRixRQUFRLENBQUM7RUFDUCxVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFQUNWLEdBQUcsRUFBRSxHQUFHO0VBQ1IsS0FBSyxFQUFFLElBQUk7Q0FtQlo7O0FBL2RiLEFBNmNjLFdBN2NILENBRVQsSUFBSSxDQVFGLElBQUksQ0FzVUYsV0FBVyxDQWdFVCxZQUFZLENBTVYsSUFBSSxDQTZDRixRQUFRLEFBVUwsUUFBUSxFQTdjdkIsV0FBVyxDQUVULElBQUksQ0FRRixJQUFJLENBc1VGLFdBQVcsQ0FnRVQsWUFBWSxDQU1WLElBQUksQ0E2Q0YsUUFBUSxBQVdMLE9BQU8sQ0FBQztFQUNQLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsR0FBRztFQUNYLElBQUksRUFBRSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsQ0FBQztFQUNSLEdBQUcsRUFBRSxDQUFDO0VBQ04sU0FBUyxFQUFFLGFBQWE7RUFDeEIsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUEzZGYsQUE0ZGMsV0E1ZEgsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQXNVRixXQUFXLENBZ0VULFlBQVksQ0FNVixJQUFJLENBNkNGLFFBQVEsQUF5QkwsUUFBUSxDQUFDO0VBQ1IsU0FBUyxFQUFFLGNBQWM7Q0FDMUI7O0FBOWRmLEFBbWVNLFdBbmVLLENBRVQsSUFBSSxDQVFGLElBQUksQ0F5ZEYsS0FBSyxBQUFBLE1BQU0sQ0FBQztFQUNWLEtBQUssRUFBRSxPQUFPO0VBQ2QsTUFBTSxFQUFFLE9BQU87Q0FDaEI7O0FBdGVQLEFBdWVNLFdBdmVLLENBRVQsSUFBSSxDQVFGLElBQUksQ0E2ZEYsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixRQUFRLEVBQUUsUUFBUTtDQUluQjs7QUE5ZVAsQUEyZVEsV0EzZUcsQ0FFVCxJQUFJLENBUUYsSUFBSSxDQTZkRixpQkFBaUIsQ0FJZixNQUFNLENBQUM7RUFDTCxLQUFLLEVBQUUsQ0FBQztDQUNUOztBQU1ULEFBQUEsaUJBQWlCLENBQUM7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLGFBQWEsRUFBRSxJQUFJO0NBNkVwQjs7QUE1RUUsQUFBRCx1QkFBTyxDQUFDO0VBQ04sS0FBSyxFQUFFLHVCQUF1QjtFQUM5QixZQUFZLEVBQUUsSUFBSTtFQUNsQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCO0VBQzlDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGNBQWMsRUFBRSxJQUFJO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGFBQWEsRUFBRSxJQUFJO0NBK0RwQjs7QUF4RUEsQUFZSyx1QkFaQyxBQVVKLE1BQU0sQ0FDTCxNQUFNLENBQ0osR0FBRyxDQUFDO0VBQ0YsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixTQUFTLEVBQUUsV0FBVztDQUN2Qjs7QUFmTixBQW1CRyx1QkFuQkcsQ0FrQkwsSUFBSSxBQUNELFlBQVksQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxJQUFJO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQXhCSixBQTBCQyx1QkExQkssQ0EwQkwsTUFBTSxDQUFDO0VBQ0wsT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsTUFBTTtDQVNqQjs7QUFyQ0YsQUE2QkcsdUJBN0JHLENBMEJMLE1BQU0sQ0FHSixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLGlCQUFpQjtDQUM5Qjs7QUFqQ0osQUFrQ0csdUJBbENHLENBMEJMLE1BQU0sQ0FRSixDQUFDLENBQUM7RUFDQSxPQUFPLEVBQUUsS0FBSztDQUNmOztBQXBDSixBQXNDQyx1QkF0Q0ssQUFzQ0osVUFBVyxDQUFBLEVBQUUsRUFBRTtFQUNkLFlBQVksRUFBRSxDQUFDO0NBQ2hCOztBQUNBLEFBQUQsNkJBQU8sQ0FBQztFQUNOLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLEdBQUc7Q0E0QnBCOztBQTlCQSxBQUdDLDZCQUhLLENBR0wsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixPQUFPLEVBQUUsV0FBVztFQUNwQixrQkFBa0IsRUFBRSxDQUFDO0VBQ3JCLGtCQUFrQixFQUFFLFFBQVE7RUFDNUIsUUFBUSxFQUFFLE1BQU07Q0FDakI7O0FBYkYsQUFjQyw2QkFkSyxDQWNMLGlCQUFpQjtBQWRsQiw2QkFBTSxDQWVMLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RUFDZCxZQUFZLEVBQUUsSUFBSTtFQUNsQixVQUFVLEVBQUUsZ0RBQWdELENBQUMsU0FBUyxDQUNwRSxJQUFJLENBQUMsR0FBRztFQUNWLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLE9BQU87Q0FDZjs7QUF4QkYsQUF5QkMsNkJBekJLLENBeUJMLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsb0RBQW9ELENBQzlELFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTTtDQUN4Qjs7QUExRVAsQUE2RUUsaUJBN0VlLEFBNkVkLEtBQUssQ0FBQztFQUNMLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQUdILEFBQ0UsbUJBRGlCLENBQ2pCLFlBQVksQ0FBQztFQUNYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxNQUFNO0NBc0NoQjs7QUF6Q0gsQUFJSSxtQkFKZSxDQUNqQixZQUFZLENBR1YsRUFBRTtBQUpOLG1CQUFtQixDQUNqQixZQUFZLENBSVYsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCOztBQVhMLEFBWUksbUJBWmUsQ0FDakIsWUFBWSxDQVdWLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0NBQ2hCOztBQWRMLEFBZUksbUJBZmUsQ0FDakIsWUFBWSxDQWNWLENBQUMsQ0FBQztFQUNBLEtBQUssRUFBRSxPQUFPO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztDQVFqQjs7QUEzQkwsQUFvQk0sbUJBcEJhLENBQ2pCLFlBQVksQ0FjVixDQUFDLENBS0MsQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFQUFFLEdBQUc7Q0FDakI7O0FBdEJQLEFBdUJNLG1CQXZCYSxDQUNqQixZQUFZLENBY1YsQ0FBQyxDQVFDLElBQUk7QUF2QlYsbUJBQW1CLENBQ2pCLFlBQVksQ0FjVixDQUFDLENBU0MsQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFQUFFLEdBQUc7Q0FDakI7O0FBMUJQLEFBNEJJLG1CQTVCZSxDQUNqQixZQUFZLENBMkJWLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLElBQUk7Q0FJWjs7QUFwQ0wsQUFpQ00sbUJBakNhLENBQ2pCLFlBQVksQ0EyQlYsRUFBRSxBQUtDLFVBQVUsQ0FBQztFQUNWLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQW5DUCxBQXFDSSxtQkFyQ2UsQ0FDakIsWUFBWSxDQW9DVixFQUFFLENBQUM7RUFDRCxXQUFXLEVBQUUsS0FBSztFQUNsQixZQUFZLEVBQUUsS0FBSztDQUNwQjs7QUF4Q0wsQUEyQ0UsbUJBM0NpQixDQTJDakIsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxNQUFNO0NBQ2Y7O0FBL0NILEFBZ0RFLG1CQWhEaUIsQ0FnRGpCLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsTUFBTSxFQUFFLE1BQU07Q0FvQmY7O0FBdkVILEFBb0RJLG1CQXBEZSxDQWdEakIsU0FBUyxDQUlQLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixZQUFZLEVBQUUsSUFBSTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsSUFBSTtDQVlqQjs7QUF0RUwsQUEyRE0sbUJBM0RhLENBZ0RqQixTQUFTLENBSVAsSUFBSSxBQU9ELEtBQUssQ0FBQztFQUNMLFVBQVUsRUFBRSxnREFBZ0QsQ0FBQyxTQUFTLENBQ3BFLElBQUksQ0FBQyxHQUFHO0VBQ1YsZUFBZSxFQUFFLElBQUk7Q0FDdEI7O0FBL0RQLEFBZ0VNLG1CQWhFYSxDQWdEakIsU0FBUyxDQUlQLElBQUksQUFZRCxJQUFJLENBQUM7RUFDSixVQUFVLEVBQUUsb0RBQW9ELENBQzlELFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRztFQUNwQixlQUFlLEVBQUUsSUFBSTtFQUNyQixZQUFZLEVBQUUsSUFBSTtDQUNuQjs7QUFyRVAsQUF3RUUsbUJBeEVpQixDQXdFakIsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixVQUFVLEVBQUUsSUFBSTtDQStCakI7O0FBMUdILEFBNEVJLG1CQTVFZSxDQXdFakIsU0FBUyxDQUlQLENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSwwREFBMEQ7RUFDdEUsdUJBQXVCLEVBQUUsSUFBSTtFQUM3Qix1QkFBdUIsRUFBRSxXQUFXO0VBQ3BDLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLGVBQWUsRUFBRSxXQUFXO0VBQzVCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLE1BQU07RUFDZCxPQUFPLEVBQUUsU0FBUztFQUNsQixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFVBQVUsRUFBRSxVQUFVO0NBYXZCOztBQXpHTCxBQTZGTSxtQkE3RmEsQ0F3RWpCLFNBQVMsQ0FJUCxDQUFDLENBaUJDLEdBQUcsQ0FBQztFQUNGLFlBQVksRUFBRSxJQUFJO0NBQ25COztBQS9GUCxBQWdHTSxtQkFoR2EsQ0F3RWpCLFNBQVMsQ0FJUCxDQUFDLEFBb0JFLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSwwREFBMEQ7RUFDdEUsdUJBQXVCLEVBQUUsSUFBSTtDQU05Qjs7QUF4R1AsQUFtR1EsbUJBbkdXLENBd0VqQixTQUFTLENBSVAsQ0FBQyxBQW9CRSxNQUFNLENBR0wsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUM3RCxnQkFBZ0IsQ0FBQyxjQUFjO0VBQ2pDLFVBQVUsRUFBRSxrQkFBa0I7Q0FDL0I7O0FBdkdULEFBMkdFLG1CQTNHaUIsQ0EyR2pCLGdCQUFnQixDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtDQUMvQjs7QUFFSCxBQUFBLFVBQVUsQ0FBQztFQUNULFVBQVUsRUFBRSxPQUFPO0VBQ25CLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0I7RUFDL0MsYUFBYSxFQUFFLElBQUk7RUFDbkIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsSUFBSTtDQWtHakI7O0FBdkdELEFBTUUsVUFOUSxDQU1SLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUFYSCxBQVlFLFVBWlEsQ0FZUixpQkFBaUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0NBVXZCOztBQXhCSCxBQWVJLFVBZk0sQ0FZUixpQkFBaUIsQUFHZCxNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUFqQkwsQUFrQkksVUFsQk0sQ0FZUixpQkFBaUIsQ0FNZixLQUFLLEFBQUEsTUFBTSxDQUFDO0VBQ1YsS0FBSyxFQUFFLE9BQU87RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFQUFFLENBQUM7Q0FDVDs7QUF2QkwsQUF5QkUsVUF6QlEsQ0F5QlIsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsUUFBUTtFQUN6QixVQUFVLEVBQUUsS0FBSztDQUNsQjs7QUE3QkgsQUE4QkUsVUE5QlEsQUE4QlAsVUFBVSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7Q0FTbkI7O0FBeENILEFBZ0NJLFVBaENNLEFBOEJQLFVBQVUsR0FFUCxFQUFFLENBQUM7RUFDSCxhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QUFsQ0wsQUFtQ0ksVUFuQ00sQUE4QlAsVUFBVSxHQUtQLFlBQVksQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxLQUFLO0VBQ1osR0FBRyxFQUFFLElBQUk7Q0FDVjs7QUF2Q0wsQUE0Q1EsVUE1Q0UsQ0F5Q1IsV0FBVyxDQUNULElBQUksQ0FDRixpQkFBaUIsQUFDZCxNQUFNLENBQUM7RUFDTixVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUE5Q1QsQUFpRFEsVUFqREUsQ0F5Q1IsV0FBVyxDQUNULElBQUksQ0FNRixXQUFXLENBQ1QsTUFBTSxBQUFBLElBQUksQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0NBS1o7O0FBdkRULEFBbURVLFVBbkRBLENBeUNSLFdBQVcsQ0FDVCxJQUFJLENBTUYsV0FBVyxDQUNULE1BQU0sQUFBQSxJQUFJLEFBRVAsWUFBWSxDQUFDO0VBQ1osYUFBYSxFQUFFLElBQUk7RUFDbkIsU0FBUyxFQUFFLEtBQUs7Q0FDakI7O0FBdERYLEFBMkRFLFVBM0RRLEFBMkRQLFFBQVEsQ0FBQztFQUNSLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsU0FBUztDQXVDbkI7O0FBdEdILEFBZ0VJLFVBaEVNLEFBMkRQLFFBQVEsQ0FLUCxPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsTUFBTTtDQW1DaEI7O0FBckdMLEFBbUVNLFVBbkVJLEFBMkRQLFFBQVEsQ0FLUCxPQUFPLENBR0wsTUFBTSxDQUFDO0VBQ0wsYUFBYSxFQUFFLElBQUk7Q0FDcEI7O0FBckVQLEFBc0VNLFVBdEVJLEFBMkRQLFFBQVEsQ0FLUCxPQUFPLENBTUwsS0FBSyxDQUFDO0VBQ0osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsVUFBVTtFQUNsQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxVQUFVO0NBQ3ZCOztBQS9FUCxBQWdGTSxVQWhGSSxBQTJEUCxRQUFRLENBS1AsT0FBTyxDQWdCTCxDQUFDLENBQUM7RUFDQSxLQUFLLEVBQUUsT0FBTztDQUNmOztBQWxGUCxBQW1GTSxVQW5GSSxBQTJEUCxRQUFRLENBS1AsT0FBTyxDQW1CTCxFQUFFLENBQUM7RUFDRCxNQUFNLEVBQUUsTUFBTTtDQUNmOztBQXJGUCxBQXNGTSxVQXRGSSxBQTJEUCxRQUFRLENBS1AsT0FBTyxDQXNCTCxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCOztBQTFGUCxBQTJGTSxVQTNGSSxBQTJEUCxRQUFRLENBS1AsT0FBTyxDQTJCTCxLQUFLLENBQUM7RUFDSixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxPQUFPO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QUFoR1AsQUFpR00sVUFqR0ksQUEyRFAsUUFBUSxDQUtQLE9BQU8sQ0FpQ0wsSUFBSSxDQUFDO0VBQ0gsYUFBYSxFQUFFLElBQUk7RUFDbkIsU0FBUyxFQUFFLElBQUk7Q0FDaEI7O0FBSVAsQUFDRSxpQkFEZSxBQUNkLE1BQU0sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFRO0NBMENuQjs7QUE1Q0gsQUFHSSxpQkFIYSxBQUNkLE1BQU0sQ0FFTCxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0NBWWI7O0FBbEJMLEFBV1UsaUJBWE8sQUFDZCxNQUFNLENBRUwsS0FBSyxBQUlGLFFBQVEsR0FFTCxJQUFJLEFBRUgsUUFBUTtBQVhuQixpQkFBaUIsQUFDZCxNQUFNLENBRUwsS0FBSyxBQUlGLFFBQVEsR0FHTCxJQUFJLEFBQ0gsUUFBUSxFQVhuQixpQkFBaUIsQUFDZCxNQUFNLENBRUwsS0FBSyxDQUtGLEFBQUEsT0FBQyxDQUFRLFNBQVMsQUFBakIsSUFDRSxJQUFJLEFBRUgsUUFBUTtBQVhuQixpQkFBaUIsQUFDZCxNQUFNLENBRUwsS0FBSyxDQUtGLEFBQUEsT0FBQyxDQUFRLFNBQVMsQUFBakIsSUFFRSxJQUFJLEFBQ0gsUUFBUSxDQUFDO0VBQ1IsVUFBVSxFQUFFLE9BQU8sQ0FDakIsb0RBQW9ELENBQUMsU0FBUyxDQUM5RCxNQUFNO0NBQ1Q7O0FBZlgsQUFtQkksaUJBbkJhLEFBQ2QsTUFBTSxDQWtCTCxJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxPQUFPO0NBc0JmOztBQTNDTCxBQXNCTSxpQkF0QlcsQUFDZCxNQUFNLENBa0JMLElBQUksQUFHRCxPQUFPLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixVQUFVLEVBQUUsVUFBVTtFQUN0QixhQUFhLEVBQUUsR0FBRztDQUNuQjs7QUFoQ1AsQUFpQ00saUJBakNXLEFBQ2QsTUFBTSxDQWtCTCxJQUFJLENBY0YsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxHQUFHO0NBSWpCOztBQTFDUCxBQXVDUSxpQkF2Q1MsQUFDZCxNQUFNLENBa0JMLElBQUksQ0FjRixDQUFDLEFBTUUsTUFBTSxDQUFDO0VBQ04sZUFBZSxFQUFFLFNBQVM7Q0FDM0I7O0FBS1QsQUFBQSxhQUFhLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxJQUFJO0NBa1JwQjs7QUFqUkUsQUFBRCxtQkFBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtDQW1DcEI7O0FBckNBLEFBR0MsbUJBSEssQ0FHTCxFQUFFLENBQUM7RUFDRCxhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QUFMRixBQU1DLG1CQU5LLENBTUwsQ0FBQyxDQUFDO0VBQ0EsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsSUFBSTtFQUNqQixPQUFPLEVBQUUsTUFBTTtFQUNmLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFVBQVUsRUFBRSwwREFBMEQsRUFDcEUsT0FBTztFQUNULGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFVBQVUsRUFBRSxrQkFBa0I7Q0FVL0I7O0FBM0JGLEFBa0JHLG1CQWxCRyxDQU1MLENBQUMsQ0FZQyxHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxHQUFHO0NBQ2xCOztBQXJCSixBQXNCRyxtQkF0QkcsQ0FNTCxDQUFDLEFBZ0JFLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxrQkFBa0I7RUFDOUIsVUFBVSxFQUFFLDBEQUEwRCxFQUNwRSxPQUFPO0NBQ1Y7O0FBMUJKLEFBNEJDLG1CQTVCSyxDQTRCTCxXQUFXLENBQUM7RUFDVixZQUFZLEVBQUUsSUFBSTtDQUNuQjs7QUE5QkYsQUErQkMsbUJBL0JLLEFBK0JKLFdBQVcsQ0FBQztFQUNYLGVBQWUsRUFBRSxVQUFVO0NBSTVCOztBQXBDRixBQWlDRyxtQkFqQ0csQUErQkosV0FBVyxDQUVWLElBQUksQ0FBQztFQUNILEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBR0osQUFDQyxvQkFETSxDQUNOLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLFFBQVE7Q0FDMUI7O0FBSkYsQUFLQyxvQkFMTSxDQUtOLE1BQU07QUFMUCxvQkFBTyxDQU1OLEtBQUssQ0FBQztFQUNKLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsWUFBWSxFQUFFLEdBQUc7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxRQUFRO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFoQkYsQUFpQkMsb0JBakJNLENBaUJOLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxLQUFLO0NBSWI7O0FBdEJGLEFBbUJHLG9CQW5CSSxDQWlCTixLQUFLLEFBRUYsTUFBTSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUFyQkosQUF1QkMsb0JBdkJNLENBdUJOLE1BQU0sQ0FBQztFQUNMLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxrREFBa0QsQ0FBQyxTQUFTLENBQ3RFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTTtDQUNwQjs7QUEzQkYsQUE0QkMsb0JBNUJNLENBNEJOLGtCQUFrQixDQUFDO0VBQ2pCLFlBQVksRUFBRSxHQUFHO0NBWWxCOztBQXpDRixBQThCRyxvQkE5QkksQ0E0Qk4sa0JBQWtCLENBRWhCLDBCQUEwQixDQUFDO0VBQ3pCLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBaENKLEFBbUNPLG9CQW5DQSxDQWlDSCwyQkFBUyxDQUVMLDBCQUFRLENBQUM7RUFDUixZQUFZLEVBQUUsT0FBTztFQUNyQixhQUFhLEVBQUUsR0FBRztDQUNuQjs7QUF0Q1IsQUEwQ0Msb0JBMUNNLENBMENOLDJCQUEyQjtBQUN6QiwwQkFBMEI7QUFDMUIseUJBQXlCLENBQUM7RUFDMUIsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtDQUNiOztBQWxERixBQW1EQyxvQkFuRE0sQ0FtRE4sMkJBQTJCO0FBQ3pCLDBCQUEwQjtBQUMxQix5QkFBeUI7QUFDekIsQ0FBQyxDQUFDO0VBQ0YsVUFBVSxFQUFFLGtEQUFrRCxDQUFDLFNBQVMsQ0FDdEUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNO0VBQ25CLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsSUFBSTtFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLE1BQU07Q0FDZjs7QUFqRUYsQUFrRUMsb0JBbEVNLENBa0VOLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLDRCQUE0QixDQUFDO0VBQ3pFLE9BQU8sRUFBRSxpQkFBaUI7RUFDMUIsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztDQUNmOztBQXRFRixBQXVFQyxvQkF2RU0sQ0F1RU4sTUFBTSxDQUFDO0VBQ0wsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLE9BQU87RUFDZixLQUFLLEVBQUUsT0FBTztFQUNkLFVBQVUsRUFBRSxrQkFBa0I7Q0FNL0I7O0FBdEZGLEFBaUZHLG9CQWpGSSxDQXVFTixNQUFNLEFBVUgsTUFBTSxDQUFDO0VBQ04sVUFBVSxFQUFFLE9BQU87RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsa0JBQWtCO0NBQy9COztBQXJGSixBQXVGQyxvQkF2Rk0sQ0F1Rk4sZ0JBQWdCLENBQUM7RUFDZixRQUFRLEVBQUUsUUFBUTtDQXFDbkI7O0FBN0hGLEFBeUZHLG9CQXpGSSxDQXVGTixnQkFBZ0IsQ0FFZCxLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsT0FBTztFQUNmLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFVBQVUsRUFBRSxrREFBa0QsQ0FBQyxTQUFTLENBQ3RFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTTtDQUNwQjs7QUE5RkosQUErRkcsb0JBL0ZJLENBdUZOLGdCQUFnQixDQVFkLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxJQUFJO0VBQ1QsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQjtFQUMvQyxVQUFVLEVBQUUsS0FBSztFQUNqQixRQUFRLEVBQUUsSUFBSTtDQWVmOztBQXZISixBQTJHUyxvQkEzR0YsQ0F1Rk4sZ0JBQWdCLENBUWQsTUFBTSxDQVVKLEVBQUUsQ0FDQSxFQUFFLENBQ0EsQ0FBQyxDQUFDO0VBQ0EsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsU0FBUztFQUNsQixLQUFLLEVBQUUsT0FBTztFQUNkLFNBQVMsRUFBRSxJQUFJO0NBS2hCOztBQXBIVixBQWdIVyxvQkFoSEosQ0F1Rk4sZ0JBQWdCLENBUWQsTUFBTSxDQVVKLEVBQUUsQ0FDQSxFQUFFLENBQ0EsQ0FBQyxBQUtFLE1BQU0sQ0FBQztFQUNOLFVBQVUsRUFBRSxPQUFPO0VBQ25CLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBbkhaLEFBeUhLLG9CQXpIRSxDQXVGTixnQkFBZ0IsQUFpQ2IsT0FBTyxDQUNOLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FBM0hOLEFBK0hHLG9CQS9ISSxDQThITixNQUFNLEdBQ0YsS0FBSyxDQUFDO0VBQ04sS0FBSyxFQUFFLE9BQU87RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsWUFBWSxFQUFFLElBQUk7RUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtDQVVsQjs7QUFwSkosQUEySUssb0JBM0lFLENBOEhOLE1BQU0sR0FDRixLQUFLLEFBWUosTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7RUFDekIsWUFBWSxFQUFFLE9BQU87Q0FDdEI7O0FBN0lOLEFBOElLLG9CQTlJRSxDQThITixNQUFNLEdBQ0YsS0FBSyxDQWVMLEtBQUssQUFBQSxRQUFRLEdBQUcsVUFBVSxDQUFDO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0NBSXRCOztBQW5KTixBQWdKTyxvQkFoSkEsQ0E4SE4sTUFBTSxHQUNGLEtBQUssQ0FlTCxLQUFLLEFBQUEsUUFBUSxHQUFHLFVBQVUsQUFFdkIsTUFBTSxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFsSlIsQUFxSkcsb0JBckpJLENBOEhOLE1BQU0sQ0F1QkosS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFNLEVBQUUsT0FBTztFQUNmLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLENBQUM7Q0FDVDs7QUEzSkosQUE0Skcsb0JBNUpJLENBOEhOLE1BQU0sQ0E4QkosVUFBVSxDQUFDO0VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULEtBQUssRUFBRSxJQUFJO0NBY1o7O0FBbExKLEFBcUtLLG9CQXJLRSxDQThITixNQUFNLENBOEJKLFVBQVUsQUFTUCxNQUFNLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxHQUFHO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxxQkFBcUI7Q0FDakM7O0FBakxOLEFBcUxHLG9CQXJMSSxDQW9MTixTQUFTLEFBQ04sTUFBTSxHQUFHLEtBQUssQ0FBQztFQUNkLFNBQVMsRUFBRSxJQUFJO0NBQ2hCOztBQXZMSixBQXdMRyxvQkF4TEksQ0FvTE4sU0FBUyxHQUlMLEtBQUssQ0FBQztFQUNOLEtBQUssRUFBRSxPQUFPO0VBQ2QsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixZQUFZLEVBQUUsSUFBSTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsSUFBSTtDQVdsQjs7QUEzTUosQUFpTUssb0JBak1FLENBb0xOLFNBQVMsR0FJTCxLQUFLLEFBU0osTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7RUFDekIsWUFBWSxFQUFFLE9BQU87Q0FDdEI7O0FBbk1OLEFBb01LLG9CQXBNRSxDQW9MTixTQUFTLEdBSUwsS0FBSyxDQVlMLEtBQUssQUFBQSxRQUFRLEdBQUcsVUFBVSxDQUFDO0VBQ3pCLGdCQUFnQixFQUFFLE9BQU87RUFDekIsTUFBTSxFQUFFLGlCQUFpQjtDQUkxQjs7QUExTU4sQUF1TU8sb0JBdk1BLENBb0xOLFNBQVMsR0FJTCxLQUFLLENBWUwsS0FBSyxBQUFBLFFBQVEsR0FBRyxVQUFVLEFBR3ZCLE1BQU0sQ0FBQztFQUNOLE9BQU8sRUFBRSxLQUFLO0NBQ2Y7O0FBek1SLEFBNE1HLG9CQTVNSSxDQW9MTixTQUFTLENBd0JQLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxPQUFPO0VBQ2YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0NBQ1Q7O0FBbE5KLEFBbU5HLG9CQW5OSSxDQW9MTixTQUFTLENBK0JQLFVBQVUsQ0FBQztFQUNULGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsSUFBSTtDQWFaOztBQXhPSixBQTROSyxvQkE1TkUsQ0FvTE4sU0FBUyxDQStCUCxVQUFVLEFBU1AsTUFBTSxDQUFDO0VBQ04sSUFBSSxFQUFFLEdBQUc7RUFDVCxPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLFdBQVc7RUFDbkIsWUFBWSxFQUFFLFdBQVc7RUFDekIsU0FBUyxFQUFFLGFBQWE7Q0FDekI7O0FBTVQsQUFBQSxXQUFXLENBQUM7RUFDVixVQUFVLEVBQUUsSUFBSTtDQXdFakI7O0FBekVELEFBRUUsV0FGUyxDQUVULEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJO0VBQ1gsY0FBYyxFQUFFLENBQUM7RUFDakIsZUFBZSxFQUFFLFFBQVE7RUFDekIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtDQWlFMUI7O0FBeEVILEFBU00sV0FUSyxDQUVULEtBQUssQ0FNSCxFQUFFLENBQ0EsRUFBRTtBQVRSLFdBQVcsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQUVBLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSwwQkFBMEI7RUFDdEMsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsVUFBVTtFQUN0QixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxPQUFPO0VBQ2QsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07Q0FpQnBCOztBQXJDUCxBQXFCUSxXQXJCRyxDQUVULEtBQUssQ0FNSCxFQUFFLENBQ0EsRUFBRSxDQVlBLENBQUMsQUFBQSxJQUFJO0FBckJiLFdBQVcsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQUVBLEVBQUUsQ0FXQSxDQUFDLEFBQUEsSUFBSSxDQUFDO0VBQ0osT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsWUFBWSxFQUFFLElBQUk7Q0FRbkI7O0FBaENULEFBeUJVLFdBekJDLENBRVQsS0FBSyxDQU1ILEVBQUUsQ0FDQSxFQUFFLENBWUEsQ0FBQyxBQUFBLElBQUksQ0FJSCxHQUFHO0FBekJiLFdBQVcsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQUVBLEVBQUUsQ0FXQSxDQUFDLEFBQUEsSUFBSSxDQUlILEdBQUcsQ0FBQztFQUNGLE9BQU8sRUFBRSxLQUFLO0VBQ2QsWUFBWSxFQUFFLEdBQUc7Q0FDbEI7O0FBNUJYLEFBNkJVLFdBN0JDLENBRVQsS0FBSyxDQU1ILEVBQUUsQ0FDQSxFQUFFLENBWUEsQ0FBQyxBQUFBLElBQUksQUFRRixXQUFXO0FBN0J0QixXQUFXLENBRVQsS0FBSyxDQU1ILEVBQUUsQ0FFQSxFQUFFLENBV0EsQ0FBQyxBQUFBLElBQUksQUFRRixXQUFXLENBQUM7RUFDWCxZQUFZLEVBQUUsQ0FBQztDQUNoQjs7QUEvQlgsQUFpQ1EsV0FqQ0csQ0FFVCxLQUFLLENBTUgsRUFBRSxDQUNBLEVBQUUsQ0F3QkEsVUFBVTtBQWpDbEIsV0FBVyxDQUVULEtBQUssQ0FNSCxFQUFFLENBRUEsRUFBRSxDQXVCQSxVQUFVLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQXBDVCxBQXVDUSxXQXZDRyxDQUVULEtBQUssQ0FNSCxFQUFFLENBOEJBLEVBQUUsQUFDQyxPQUFPLENBQUM7RUFDUCxXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVBQUUsT0FBTztDQWtCZjs7QUEzRFQsQUEwQ1UsV0ExQ0MsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQThCQSxFQUFFLEFBQ0MsT0FBTyxDQUdOLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxPQUFPO0VBQ25CLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0NBQ25COztBQTlDWCxBQStDVSxXQS9DQyxDQUVULEtBQUssQ0FNSCxFQUFFLENBOEJBLEVBQUUsQUFDQyxPQUFPLEFBUUwsU0FBUyxDQUFDO0VBQ1QsS0FBSyxFQUFFLE9BQU87Q0FJZjs7QUFwRFgsQUFpRFksV0FqREQsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQThCQSxFQUFFLEFBQ0MsT0FBTyxBQVFMLFNBQVMsQ0FFUixJQUFJLENBQUM7RUFDSCxVQUFVLEVBQUUsT0FBTztDQUNwQjs7QUFuRGIsQUFxRFUsV0FyREMsQ0FFVCxLQUFLLENBTUgsRUFBRSxDQThCQSxFQUFFLEFBQ0MsT0FBTyxBQWNMLFVBQVUsQ0FBQztFQUNWLEtBQUssRUFBRSxPQUFPO0NBSWY7O0FBMURYLEFBdURZLFdBdkRELENBRVQsS0FBSyxDQU1ILEVBQUUsQ0E4QkEsRUFBRSxBQUNDLE9BQU8sQUFjTCxVQUFVLENBRVQsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLE9BQU87Q0FDcEI7O0FBekRiLEFBNkRNLFdBN0RLLENBRVQsS0FBSyxDQU1ILEVBQUUsQ0FxREEsRUFBRSxDQUFDO0VBQ0QsY0FBYyxFQUFFLFNBQVM7RUFDekIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFQUFFLE9BQU87Q0FDZjs7QUFqRVAsQUFtRVEsV0FuRUcsQ0FFVCxLQUFLLENBTUgsRUFBRSxBQTBEQyxXQUFXLENBQ1YsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FBS1QsQUFFSSxnQkFGWSxDQUNkLHNCQUFzQixDQUNwQixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxhQUFhO0VBQzlCLEtBQUssRUFBRSxpQkFBaUI7RUFDeEIsV0FBVyxFQUFFLEtBQUs7Q0FvQ25COztBQTNDTCxBQVFNLGdCQVJVLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLENBQUM7RUFDSCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxNQUFNO0VBQ2YsVUFBVSxFQUFFLFVBQVU7RUFDdEIsYUFBYSxFQUFFLENBQUM7Q0E4QmpCOztBQTFDUCxBQWFRLGdCQWJRLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBS0QsVUFBVyxDQUFBLENBQUMsRUFBRTtFQUNiLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FBZlQsQUFnQlEsZ0JBaEJRLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBUUQsVUFBVyxDQUFBLENBQUMsRUFBRTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7Q0FJVjs7QUF0QlQsQUFtQlUsZ0JBbkJNLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBUUQsVUFBVyxDQUFBLENBQUMsRUFHWCxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUFyQlgsQUF1QlEsZ0JBdkJRLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBZUQsVUFBVyxDQUFBLENBQUMsRUFBRTtFQUNiLEtBQUssRUFBRSxrQkFBa0I7Q0FDMUI7O0FBekJULEFBMEJRLGdCQTFCUSxDQUNkLHNCQUFzQixDQUNwQixJQUFJLENBTUYsSUFBSSxBQWtCRCxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQ2IsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsUUFBUTtDQUlyQjs7QUFoQ1QsQUE2QlUsZ0JBN0JNLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBa0JELFVBQVcsQ0FBQSxDQUFDLEVBR1gsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUEvQlgsQUFpQ1EsZ0JBakNRLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FNRixJQUFJLEFBeUJELFNBQVMsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0NBT25COztBQXpDVCxBQW1DVSxnQkFuQ00sQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQU1GLElBQUksQUF5QkQsU0FBUyxDQUVSLEtBQUssQUFBQSxNQUFNLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsT0FBTyxFQUFFLE1BQU07Q0FDaEI7O0FBTVgsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQixPQUFPLEVBQUUsVUFBVTtDQTJEcEI7O0FBNURELEFBRUUsb0JBRmtCLENBRWxCLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0NBd0RuQjs7QUEzREgsQUFJSSxvQkFKZ0IsQ0FFbEIsVUFBVSxDQUVSLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLDBCQUEwQjtFQUN0QyxPQUFPLEVBQUUsTUFBTTtFQUNmLGFBQWEsRUFBRSxJQUFJO0NBa0RwQjs7QUExREwsQUFTTSxvQkFUYyxDQUVsQixVQUFVLENBRVIsSUFBSSxBQUtELE9BQU8sQ0FBQztFQUNQLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0NBdUJYOztBQW5DUCxBQWFRLG9CQWJZLENBRWxCLFVBQVUsQ0FFUixJQUFJLEFBS0QsT0FBTyxDQUlOLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxNQUFNO0NBb0JoQjs7QUFsQ1QsQUFlVSxvQkFmVSxDQUVsQixVQUFVLENBRVIsSUFBSSxBQUtELE9BQU8sQ0FJTixJQUFJLEFBRUQsT0FBTyxDQUFDO0VBQ1AsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixVQUFVLEVBQUUsMEJBQTBCO0VBQ3RDLE9BQU8sRUFBRSxJQUFJO0NBZWQ7O0FBakNYLEFBbUJZLG9CQW5CUSxDQUVsQixVQUFVLENBRVIsSUFBSSxBQUtELE9BQU8sQ0FJTixJQUFJLEFBRUQsT0FBTyxDQUlOLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxJQUFJO0VBQ1gsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLE1BQU07Q0FDcEI7O0FBdkJiLEFBd0JZLG9CQXhCUSxDQUVsQixVQUFVLENBRVIsSUFBSSxBQUtELE9BQU8sQ0FJTixJQUFJLEFBRUQsT0FBTyxDQVNOLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsV0FBVyxFQUFFLE1BQU07Q0FDcEI7O0FBM0JiLEFBNkJjLG9CQTdCTSxDQUVsQixVQUFVLENBRVIsSUFBSSxBQUtELE9BQU8sQ0FJTixJQUFJLEFBRUQsT0FBTyxBQWFMLFlBQVksQ0FDWCxLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsa0JBQWtCO0NBQzFCOztBQS9CZixBQXFDTSxvQkFyQ2MsQ0FFbEIsVUFBVSxDQUVSLElBQUksQ0FpQ0YsS0FBSyxDQUFDO0VBQ0osS0FBSyxFQUFFLE9BQU87RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLEtBQUssRUFBRSxHQUFHO0NBQ1g7O0FBMUNQLEFBMkNNLG9CQTNDYyxDQUVsQixVQUFVLENBRVIsSUFBSSxDQXVDRixLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsT0FBTztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFQUFFLEdBQUc7RUFDVixXQUFXLEVBQUUsR0FBRztDQUNqQjs7QUFoRFAsQUFpRE0sb0JBakRjLENBRWxCLFVBQVUsQ0FFUixJQUFJLEFBNkNELGtCQUFrQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLElBQUk7Q0FLakI7O0FBekRQLEFBcURRLG9CQXJEWSxDQUVsQixVQUFVLENBRVIsSUFBSSxBQTZDRCxrQkFBa0IsQ0FJakIsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtDQUMvQjs7QUFLVCxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsVUFBVSxFQUFFLElBQUk7Q0FJakI7O0FBUkQsQUFLRSxlQUxhLENBS2IsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLEtBQUs7Q0FDakI7O0FBRUgsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0NBb0NoQjs7QUF0Q0QsQUFHRSx5QkFIdUIsQ0FHdkIsK0JBQStCLENBQUM7RUFDOUIsS0FBSyxFQUFFLHVCQUF1QjtFQUM5QixZQUFZLEVBQUUsSUFBSTtFQUNsQixhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsS0FBSztDQTZCbEI7O0FBckNILEFBU0kseUJBVHFCLENBR3ZCLCtCQUErQixDQU03QixDQUFDLENBQUM7RUFDQSxPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBWkwsQUFhSSx5QkFicUIsQ0FHdkIsK0JBQStCLEFBVTVCLFVBQVcsQ0FBQSxFQUFFLEVBQUU7RUFDZCxZQUFZLEVBQUUsQ0FBQztDQUNoQjs7QUFmTCxBQWdCSSx5QkFoQnFCLENBR3ZCLCtCQUErQixDQWE3QixNQUFNLENBQUM7RUFDTCxhQUFhLEVBQUUsSUFBSTtFQUNuQixRQUFRLEVBQUUsTUFBTTtFQUNoQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0NBUWI7O0FBNUJMLEFBcUJNLHlCQXJCbUIsQ0FHdkIsK0JBQStCLENBYTdCLE1BQU0sQ0FLSixHQUFHLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsa0JBQWtCO0NBQy9COztBQTNCUCxBQStCUSx5QkEvQmlCLENBR3ZCLCtCQUErQixBQTBCNUIsTUFBTSxDQUNMLE1BQU0sQ0FDSixHQUFHLENBQUM7RUFDRixVQUFVLEVBQUUsa0JBQWtCO0VBQzlCLFNBQVMsRUFBRSxXQUFXO0NBQ3ZCOztBQU1ULEFBQUEsWUFBWSxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtDQTJDeEI7O0FBN0NELEFBR0UsWUFIVSxDQUdWLE1BQU0sQ0FBQztFQUNMLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFFBQVEsRUFBRSxNQUFNO0NBS2pCOztBQVZILEFBTUksWUFOUSxDQUdWLE1BQU0sQ0FHSixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxZQUFZO0NBQ3JCOztBQVRMLEFBV0UsWUFYVSxDQVdWLGdCQUFnQixDQUFDO0VBQ2YsV0FBVyxFQUFFLElBQUk7Q0FnQ2xCOztBQTVDSCxBQWFJLFlBYlEsQ0FXVixnQkFBZ0IsQ0FFZCxFQUFFLENBQUM7RUFDRCxXQUFXLEVBQUUsR0FBRztFQUNoQixhQUFhLEVBQUUsSUFBSTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBbEJMLEFBbUJJLFlBbkJRLENBV1YsZ0JBQWdCLENBUWQsQ0FBQyxDQUFDO0VBQ0EsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxHQUFHO0NBQ2pCOztBQXZCTCxBQXdCSSxZQXhCUSxDQVdWLGdCQUFnQixDQWFkLEVBQUU7QUF4Qk4sWUFBWSxDQVdWLGdCQUFnQixDQWNkLEVBQUUsQ0FBQztFQUNELFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxJQUFJO0NBTXBCOztBQWpDTCxBQTRCTSxZQTVCTSxDQVdWLGdCQUFnQixDQWFkLEVBQUUsQ0FJQSxFQUFFO0FBNUJSLFlBQVksQ0FXVixnQkFBZ0IsQ0FjZCxFQUFFLENBR0EsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsT0FBTztFQUNkLFdBQVcsRUFBRSxHQUFHO0NBQ2pCOztBQWhDUCxBQW1DTSxZQW5DTSxDQVdWLGdCQUFnQixDQXVCZCxFQUFFLENBQ0EsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLE9BQU87Q0FDcEI7O0FBckNQLEFBd0NNLFlBeENNLENBV1YsZ0JBQWdCLENBNEJkLEVBQUUsQ0FDQSxFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsSUFBSTtDQUNqQjs7QUFLUCxBQUFBLE1BQU0sQ0FBQztFQUNMLE1BQU0sRUFBRSxNQUFNO0VBQ2QsS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsUUFBUTtDQUNsQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsZ0JBQWdCLEVBQUUsTUFBTTtFQUN4QixXQUFXLEVBQUUsTUFBTTtFQUFFLGtGQUFrRjtDQUN4Rzs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsbUJBQW1CLEVBQUUsQ0FBQztFQUN0QixnQkFBZ0IsRUFBRSxDQUFDO0VBQ25CLFdBQVcsRUFBRSxDQUFDO0NBQ2Y7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDWCxPQUFPLEVBQUUsTUFBTTtFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsUUFBUSxFQUFFLFFBQVE7Q0F1Qm5COztBQTVCRCxBQU1FLFlBTlUsQUFNVCxNQUFNLEVBTlQsWUFBWSxBQU9ULE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsR0FBRztFQUNWLFVBQVUsRUFBRSxxQkFBcUI7RUFDakMsYUFBYSxFQUFFLHFCQUFxQjtFQUNwQyxXQUFXLEVBQUUsa0JBQWtCO0VBQy9CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQztDQUNYOztBQXJCSCxBQXNCRSxZQXRCVSxBQXNCVCxNQUFNLENBQUM7RUFDTixJQUFJLEVBQUUsSUFBSTtFQUNWLEtBQUssRUFBRSxDQUFDO0VBQ1IsV0FBVyxFQUFFLElBQUk7RUFDakIsWUFBWSxFQUFFLGtCQUFrQjtDQUNqQzs7QUFFSCxBQUFBLE9BQU8sQ0FBQztFQUNOLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsR0FBRztFQUNoQixRQUFRLEVBQUUsTUFBTTtFQXdEaEIsU0FBUztFQXFDVCxTQUFTO0NBQ1Y7O0FBbkdELEFBTUUsT0FOSyxDQU1MLEtBQUssQ0FBQztFQUNKLE1BQU0sRUFBRSxNQUFNO0VBQ2QsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxJQUFJO0VBQ1gsZUFBZSxFQUFFLFdBQVc7Q0FDN0I7O0FBWkgsQUFhRSxPQWJLLENBYUwsTUFBTSxDQUFDO0VBQ0wsV0FBVyxFQUFFLEtBQUs7Q0FDbkI7O0FBZkgsQUFnQkUsT0FoQkssQ0FnQkwsS0FBSyxDQUFDO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxHQUFHO0VBQ1osS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLDJCQUEyQixFQUFFLE1BQU07RUFDbkMsd0JBQXdCLEVBQUUsTUFBTTtFQUNoQyxtQkFBbUIsRUFBRSxNQUFNO0NBQzVCOztBQTdCSCxBQStCRSxPQS9CSyxDQStCTCxZQUFZLENBQUM7RUFDWCwyQkFBMkIsRUFBRSxPQUFPO0VBQ3BDLHdCQUF3QixFQUFFLE9BQU87RUFDakMsbUJBQW1CLEVBQUUsT0FBTztDQUM3Qjs7QUFuQ0gsQUFxQ0UsT0FyQ0ssQ0FxQ0wsS0FBSyxDQUFDLENBQUMsQ0FBQztFQUNOLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsTUFBTTtDQUNuQjs7QUEzQ0gsQUE2Q0UsT0E3Q0ssQ0E2Q0wsR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsV0FBVztFQUNuQixPQUFPLEVBQUUsU0FBUztFQUNsQixTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQW5ESCxBQW9ERSxPQXBESyxDQW9ETCxLQUFLLENBQUM7RUFDSixNQUFNLEVBQUUsT0FBTztFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxHQUFHO0VBQ1YsVUFBVSxFQUFFLE1BQU07Q0FDbkI7O0FBekRILEFBMERFLE9BMURLLENBMERMLE9BQU8sQ0FBQztFQUNOLFNBQVMsRUFBRSxjQUFjO0NBQzFCOztBQTVESCxBQThERSxPQTlESyxDQThETCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQWhFSCxBQWlFRSxPQWpFSyxDQWlFTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQW5FSCxBQW9FRSxPQXBFSyxDQW9FTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQXRFSCxBQXVFRSxPQXZFSyxDQXVFTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQXpFSCxBQTBFRSxPQTFFSyxDQTBFTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQTVFSCxBQTZFRSxPQTdFSyxDQTZFTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQS9FSCxBQWdGRSxPQWhGSyxDQWdGTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQWxGSCxBQW1GRSxPQW5GSyxDQW1GTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQXJGSCxBQXNGRSxPQXRGSyxDQXNGTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQXhGSCxBQXlGRSxPQXpGSyxDQXlGTCxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQTNGSCxBQTRGRSxPQTVGSyxDQTRGTCxRQUFRLENBQUM7RUFDUCxTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQTlGSCxBQStGRSxPQS9GSyxDQStGTCxRQUFRLENBQUM7RUFDUCxTQUFTLEVBQUUsaUJBQWlCO0NBQzdCOztBQUlILFVBQVUsQ0FBVixTQUFVO0VBQ1IsdUNBQXVDO0VBQ3ZDLElBQUk7SUFDRixTQUFTLEVBQUUsY0FBYzs7OztBQUc3QixVQUFVLENBQVYsTUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsYUFBYTs7RUFFMUIsR0FBRztJQUNELFNBQVMsRUFBRSxhQUFhOztFQUUxQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGNBQWM7Ozs7QUFHN0IsVUFBVSxDQUFWLE9BQVU7RUFDUixFQUFFO0lBQ0EsU0FBUyxFQUFFLGNBQWM7O0VBRTNCLElBQUk7SUFDRixTQUFTLEVBQUUsYUFBYTs7OztBQUk1QixVQUFVLENBQVYsTUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsY0FBYzs7RUFFM0IsSUFBSTtJQUNGLFNBQVMsRUFBRSxpQkFBaUI7Ozs7QUFHaEMsVUFBVSxDQUFWLE1BQVU7RUFDUixFQUFFO0lBQ0EsU0FBUyxFQUFFLGNBQWM7O0VBRTNCLElBQUk7SUFDRixTQUFTLEVBQUUsaUJBQWlCOzs7O0FBR2hDLFVBQVUsQ0FBVixNQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxjQUFjOztFQUUzQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGlCQUFpQjs7OztBQUdoQyxVQUFVLENBQVYsTUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsY0FBYzs7RUFFM0IsSUFBSTtJQUNGLFNBQVMsRUFBRSxpQkFBaUI7Ozs7QUFHaEMsVUFBVSxDQUFWLE1BQVU7RUFDUixFQUFFO0lBQ0EsU0FBUyxFQUFFLGNBQWM7O0VBRTNCLElBQUk7SUFDRixTQUFTLEVBQUUsaUJBQWlCOzs7O0FBR2hDLFVBQVUsQ0FBVixNQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxjQUFjOztFQUUzQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGlCQUFpQjs7OztBQUdoQyxVQUFVLENBQVYsTUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsY0FBYzs7RUFFM0IsSUFBSTtJQUNGLFNBQVMsRUFBRSxpQkFBaUI7Ozs7QUFHaEMsVUFBVSxDQUFWLE1BQVU7RUFDUixFQUFFO0lBQ0EsU0FBUyxFQUFFLGNBQWM7O0VBRTNCLElBQUk7SUFDRixTQUFTLEVBQUUsaUJBQWlCOzs7O0FBR2hDLFVBQVUsQ0FBVixNQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxjQUFjOztFQUUzQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGlCQUFpQjs7OztBQUdoQyxVQUFVLENBQVYsTUFBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsY0FBYzs7RUFFM0IsSUFBSTtJQUNGLFNBQVMsRUFBRSxpQkFBaUI7Ozs7QUFHaEMsVUFBVSxDQUFWLE9BQVU7RUFDUixFQUFFO0lBQ0EsU0FBUyxFQUFFLGNBQWM7O0VBRTNCLElBQUk7SUFDRixTQUFTLEVBQUUsaUJBQWlCOzs7O0FBR2hDLFVBQVUsQ0FBVixPQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxjQUFjOztFQUUzQixJQUFJO0lBQ0YsU0FBUyxFQUFFLGlCQUFpQjs7OztBQUdoQyxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLGNBQWM7RUFDdkIsVUFBVSxFQUFFLHFEQUFxRCxDQUFDLFNBQVMsQ0FDekUsTUFBTTtFQUNSLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxNQUFNO0VBQ2QsUUFBUSxFQUFFLFFBQVE7Q0FtRW5COztBQTNFRCxBQVNFLFlBVFUsQ0FTVixZQUFZLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLElBQUk7RUFDWCxJQUFJLEVBQUUsSUFBSTtDQUtYOztBQXJCSCxBQWlCSSxZQWpCUSxDQVNWLFlBQVksQ0FRVixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxJQUFJO0NBQ25COztBQXBCTCxBQXNCRSxZQXRCVSxDQXNCVixNQUFNLENBQUM7RUFDTCxVQUFVLEVBQUUsTUFBTTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEVBQUUsS0FBSztFQUNwQixPQUFPLEVBQUUsQ0FBQztDQUtYOztBQS9CSCxBQTJCSSxZQTNCUSxDQXNCVixNQUFNLENBS0osR0FBRyxDQUFDO0VBQ0YsT0FBTyxFQUFFLEtBQUs7RUFDZCxNQUFNLEVBQUUsTUFBTTtDQUNmOztBQTlCTCxBQWdDRSxZQWhDVSxDQWdDVixVQUFVLENBQUM7RUFDVCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxJQUFJO0NBQ2I7O0FBbkNILEFBb0NFLFlBcENVLENBb0NWLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QjtDQU1sRDs7QUE1Q0gsQUF1Q0ksWUF2Q1EsQ0FvQ1YsS0FBSyxDQUdILEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUEzQ0wsQUE2Q0UsWUE3Q1UsQ0E2Q1YsZ0JBQWdCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxJQUFJO0NBVWxCOztBQTFESCxBQWlESSxZQWpEUSxDQTZDVixnQkFBZ0IsQ0FJZCxJQUFJLENBQUM7RUFDSCxZQUFZLEVBQUUsSUFBSTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxPQUFPO0NBS2hCOztBQXpETCxBQXFETSxZQXJETSxDQTZDVixnQkFBZ0IsQ0FJZCxJQUFJLENBSUYsR0FBRyxDQUFDO0VBQ0YsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsQ0FBQztDQUNmOztBQXhEUCxBQTJERSxZQTNEVSxBQTJEVCxXQUFXLENBQUM7RUFDWCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07Q0FJeEI7O0FBMUVILEFBdUVJLFlBdkVRLEFBMkRULFdBQVcsQ0FZVixVQUFVLENBQUM7RUFDVCxTQUFTLEVBQUUsVUFBVTtDQUN0Qjs7QUFHTCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsVUFBVTtDQXNFdkI7O0FBaEZELEFBV0UsWUFYVSxBQVdULE1BQU0sRUFYVCxZQUFZLEFBWVQsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLEVBQUU7RUFDWCxNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsVUFBVSxFQUFFLHFCQUFxQjtFQUNqQyxhQUFhLEVBQUUscUJBQXFCO0VBQ3BDLFdBQVcsRUFBRSxrQkFBa0I7RUFDL0IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FBMUJILEFBMkJFLFlBM0JVLEFBMkJULE1BQU0sQ0FBQztFQUNOLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLENBQUM7RUFDUixXQUFXLEVBQUUsSUFBSTtFQUNqQixZQUFZLEVBQUUsa0JBQWtCO0NBQ2pDOztBQUNBLEFBQUQsZUFBSSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGVBQWUsRUFBRSxhQUFhO0VBQzlCLE9BQU8sRUFBRSxJQUFJO0NBUWQ7O0FBWkEsQUFLQyxlQUxFLENBS0YsSUFBSSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUFFRixBQUFELG1CQUFRLENBQUM7RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEtBQUs7RUFDVixZQUFZLEVBQUUsSUFBSTtDQTRCbkI7O0FBakNBLEFBTUMsbUJBTk0sR0FNSixHQUFHLENBQUM7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixnQkFBZ0IsRUFBRSxNQUFNO0VBQ3hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLElBQUk7RUFDakIsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxNQUFNO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixjQUFjLEVBQUUsSUFBSTtFQUNwQixVQUFVLEVBQUUsVUFBVTtDQWN2Qjs7QUFoQ0YsQUFtQkcsbUJBbkJJLEdBTUosR0FBRyxBQWFGLFFBQVEsQ0FBQztFQUNSLFVBQVUsRUFBRSxpQkFBaUI7RUFDN0IsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUF0QkosQUF1QkcsbUJBdkJJLEdBTUosR0FBRyxBQWlCRixHQUFHLENBQUM7RUFDSCxPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSx5QkFBeUI7Q0FDckM7O0FBMUJKLEFBMkJHLG1CQTNCSSxHQU1KLEdBQUcsQUFxQkYsSUFBSSxDQUFDO0VBQ0osVUFBVSxFQUFFLGlCQUFpQjtFQUM3QixPQUFPLEVBQUUsQ0FBQztFQUNWLFNBQVMsRUFBRSx3QkFBd0I7Q0FDcEM7O0FBS1AsTUFBTSxDQUFDLEdBQUcsTUFBTSxTQUFTLEVBQUUsTUFBTTtFQUMvQixBQUFBLGtCQUFrQixDQUFDO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0dBQ2xCOzs7QUFHSCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBQy9CLEFBQ0UsTUFESSxBQUNILGlCQUFpQixDQUFDO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0dBZWI7RUFqQkgsQUFHSSxNQUhFLEFBQ0gsaUJBQWlCLENBRWhCLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLElBQUk7R0FDYjtFQU5MLEFBU1EsTUFURixBQUNILGlCQUFpQixDQU1oQix3QkFBd0IsQ0FDdEIsZUFBZSxDQUNiLENBQUMsQ0FBQztJQUNBLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBWFQsQUFhTSxNQWJBLEFBQ0gsaUJBQWlCLENBTWhCLHdCQUF3QixDQU10QixpQkFBaUIsQ0FBQztJQUNoQixTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUlQLEFBQ0UsT0FESyxBQUNKLG1CQUFtQixDQUFDO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0dBQ3hCO0VBRUgsQUFBQSxjQUFjLENBQUM7SUFDYixhQUFhLEVBQUUsSUFBSTtHQUlwQjtFQUxELEFBRUUsY0FGWSxDQUVaLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBRUgsQUFBQSxVQUFVLENBQUM7SUFDVCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUNELEFBQ0UsSUFERSxBQUNELFlBQVksQ0FBQztJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFFSCxBQUFBLFdBQVcsQ0FBQztJQUNWLFVBQVUsRUFBRSxJQUFJO0dBY2pCO0VBZkQsQUFJTSxXQUpLLENBRVQsRUFBRSxDQUNBLEVBQUUsR0FDRSxJQUFJLENBQUM7SUFDTCxNQUFNLEVBQUUsSUFBSTtHQUNiO0VBTlAsQUFPTSxXQVBLLENBRVQsRUFBRSxDQUNBLEVBQUUsQ0FJQSxDQUFDLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFLUCxBQUlRLFdBSkcsQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQUNGLE1BQU0sQUFDSCxJQUFJLENBQUM7SUFDSixNQUFNLEVBQUUsSUFBSTtJQUNaLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBUlQsQUFVTSxXQVZLLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FRRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO0VBVlosV0FBVyxDQUNULElBQUksQ0FDRixJQUFJLENBU0YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtFQVhaLFdBQVcsQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQVVGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7RUFaWixXQUFXLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FXRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0VBYlosV0FBVyxDQUNULElBQUksQ0FDRixJQUFJLENBWUYsTUFBTTtFQWRaLFdBQVcsQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQWFGLFFBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBcEJQLEFBcUJNLFdBckJLLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FtQkYsa0JBQWtCLENBQUMsMEJBQTBCLENBQUM7SUFDNUMsTUFBTSxFQUFFLElBQUk7R0FJYjtFQTFCUCxBQXVCUSxXQXZCRyxDQUNULElBQUksQ0FDRixJQUFJLENBbUJGLGtCQUFrQixDQUFDLDBCQUEwQixDQUUzQyw0QkFBNEIsQ0FBQztJQUMzQixPQUFPLEVBQUUsaUJBQWlCO0dBQzNCO0VBekJULEFBMkJNLFdBM0JLLENBQ1QsSUFBSSxDQUNGLElBQUksQUF5QkQsT0FBTyxDQUFDO0lBQ1AsS0FBSyxFQUFFLGdCQUFnQjtHQUN4QjtFQTdCUCxBQStCUSxXQS9CRyxDQUNULElBQUksQ0FDRixJQUFJLENBNEJGLGVBQWUsQ0FDYixhQUFhLENBQUM7SUFDWixHQUFHLEVBQUUsR0FBRztHQUNUO0VBUUosQUFBRCxzQkFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLEtBQUs7R0FJYjtFQUxBLEFBRUMsc0JBRkksQ0FFSixFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUtQLEFBQUEsa0JBQWtCLENBQUM7SUFDakIsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsVUFBVSxFQUFFLGtCQUFrQjtHQUkvQjtFQVBELEFBSUUsa0JBSmdCLENBSWhCLFVBQVUsQ0FBQztJQUNULEtBQUssRUFBRSxLQUFLO0dBQ2I7RUFFSCxBQUFBLGlCQUFpQixDQUFDO0lBQ2hCLGFBQWEsRUFBRSxJQUFJO0dBb0JwQjtFQW5CRSxBQUFELHVCQUFPLENBQUM7SUFDTixhQUFhLEVBQUUsSUFBSTtJQUNuQixLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGNBQWMsRUFBRSxJQUFJO0dBY3JCO0VBYkUsQUFBRCw2QkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLFdBQVc7R0FJckI7RUFMQSxBQUVDLDZCQUZLLENBRUwsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFUSixBQVlHLHVCQVpHLENBV0wsSUFBSSxBQUNELFlBQVksQ0FBQztJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtHQUNiO0VBSVAsQUFBQSxVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsU0FBUztHQUNuQjtFQUNELEFBQ0UsbUJBRGlCLENBQ2pCLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxNQUFNO0dBWWhCO0VBZEgsQUFHSSxtQkFIZSxDQUNqQixZQUFZLENBRVYsRUFBRTtFQUhOLG1CQUFtQixDQUNqQixZQUFZLENBR1YsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFOTCxBQU9JLG1CQVBlLENBQ2pCLFlBQVksQ0FNVixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQVRMLEFBVUksbUJBVmUsQ0FDakIsWUFBWSxDQVNWLEVBQUUsQ0FBQztJQUNELFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFlBQVksRUFBRSxLQUFLO0dBQ3BCO0VBYkwsQUFnQkksbUJBaEJlLENBZWpCLFNBQVMsQ0FDUCxJQUFJLENBQUM7SUFDSCxTQUFTLEVBQUUsSUFBSTtJQUNmLFlBQVksRUFBRSxJQUFJO0dBQ25CO0VBbkJMLEFBcUJFLG1CQXJCaUIsQ0FxQmpCLFNBQVMsQ0FBQztJQUNSLFVBQVUsRUFBRSxJQUFJO0dBU2pCO0VBL0JILEFBdUJJLG1CQXZCZSxDQXFCakIsU0FBUyxDQUVQLENBQUMsQ0FBQztJQUNBLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGFBQWEsRUFBRSxJQUFJO0dBSXBCO0VBOUJMLEFBMkJNLG1CQTNCYSxDQXFCakIsU0FBUyxDQUVQLENBQUMsQ0FJQyxHQUFHLENBQUM7SUFDRixLQUFLLEVBQUUsSUFBSTtHQUNaO0VBS1AsQUFDRSxrQkFEZ0IsQ0FDaEIsT0FBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLEtBQUs7R0FNYjtFQVJILEFBSU0sa0JBSlksQ0FDaEIsT0FBTyxDQUVMLFlBQVksQ0FDVixTQUFTLENBQUM7SUFDUixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBTlAsQUFVSSxrQkFWYyxBQVNmLGNBQWMsQ0FDYixPQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsS0FBSztHQVViO0VBckJMLEFBWU0sa0JBWlksQUFTZixjQUFjLENBQ2IsT0FBTyxDQUVMLFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJO0dBT1o7RUFwQlAsQUFjUSxrQkFkVSxBQVNmLGNBQWMsQ0FDYixPQUFPLENBRUwsWUFBWSxDQUVWLFNBQVMsQ0FBQztJQUNSLE9BQU8sRUFBRSxTQUFTO0dBSW5CO0VBbkJULEFBZ0JVLGtCQWhCUSxBQVNmLGNBQWMsQ0FDYixPQUFPLENBRUwsWUFBWSxDQUVWLFNBQVMsQ0FFUCxlQUFlLENBQUM7SUFDZCxLQUFLLEVBQUUsS0FBSztHQUNiOzs7QUFRYixNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBQy9CLEFBQ0Usa0JBRGdCLENBQ2hCLFVBQVUsQ0FBQztJQUNULEtBQUssRUFBRSxLQUFLO0dBQ2I7RUFHSCxBQUVJLG1CQUZlLENBQ2pCLFNBQVMsQ0FDUCxDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxTQUFTO0dBQ25CO0VBTEwsQUFRSSxtQkFSZSxDQU9qQixZQUFZLENBQ1YsRUFBRTtFQVJOLG1CQUFtQixDQU9qQixZQUFZLENBRVYsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFJTCxBQUlRLFdBSkcsQ0FDVCxJQUFJLENBQ0YsSUFBSSxBQUNELFVBQVUsQ0FDVCxZQUFZLEFBQUEsTUFBTSxDQUFDO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7R0FDbEI7RUFQVCxBQVNNLFdBVEssQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQU9GLE1BQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7R0FDbEI7RUFaUCxBQWFNLFdBYkssQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQVdGLElBQUksQUFBQSxJQUFJLENBQUM7SUFDUCxNQUFNLEVBQUUsSUFBSTtJQUNaLFdBQVcsRUFBRSxJQUFJO0dBQ2xCO0VBS1AsQUFBQSxXQUFXLENBQUM7SUFDVixjQUFjLEVBQUUsTUFBTTtJQUN0QixVQUFVLEVBQUUsS0FBSztHQW1DbEI7RUFsQ0UsQUFBRCxnQkFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRUFBRSxDQUFDO0dBSWQ7RUFQQSxBQUlDLGdCQUpJLENBSUosR0FBRyxDQUFDO0lBQ0YsZUFBZSxFQUFFLE9BQU87R0FDekI7RUFFRixBQUFELGlCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxVQUFVO0dBc0J2QjtFQXJCRSxBQUFELHNCQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxJQUFJO0dBa0JkO0VBcEJBLEFBR0Msc0JBSEksQ0FHSixXQUFXLENBQUM7SUFDVixZQUFZLEVBQUUsSUFBSTtJQUNsQixLQUFLLEVBQUUsR0FBRztJQUNWLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLElBQUk7R0FDbEI7RUFURixBQVVDLHNCQVZJLENBVUosV0FBVyxDQUFDO0lBQ1YsS0FBSyxFQUFFLEdBQUc7SUFDVixhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsVUFBVTtHQU12QjtFQW5CRixBQWVLLHNCQWZBLENBVUosV0FBVyxDQUlULFFBQVEsQ0FDTixHQUFHLENBQUM7SUFDRixLQUFLLEVBQUUsS0FBSztHQUNiO0VBUVIsQUFBRCx1QkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLHVCQUF1QjtJQUM5QixZQUFZLEVBQUUsSUFBSTtHQU9uQjtFQVRBLEFBR0MsdUJBSEssQUFHSixVQUFXLENBQUEsRUFBRSxFQUFFO0lBQ2QsWUFBWSxFQUFFLElBQUk7R0FDbkI7RUFMRixBQU1DLHVCQU5LLEFBTUosVUFBVyxDQUFBLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSxDQUFDO0dBQ2hCO0VBSUwsQUFDRSx5QkFEdUIsQ0FDdkIsK0JBQStCLENBQUM7SUFDOUIsS0FBSyxFQUFFLHVCQUF1QjtJQUM5QixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixVQUFVLEVBQUUsS0FBSztJQUNqQixVQUFVLEVBQUUsS0FBSztJQUNqQixNQUFNLEVBQUUsS0FBSztHQUNkO0VBRUgsQUFBQSxhQUFhLENBQUM7SUFDWixhQUFhLEVBQUUsSUFBSTtJQUNuQixTQUFTLEVBQUUsSUFBSTtHQThCaEI7RUE3QkUsQUFBRCxtQkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxlQUFlLEVBQUUsYUFBYTtHQVkvQjtFQWRBLEFBR0MsbUJBSEssQ0FHTCxJQUFJLENBQUM7SUFDSCxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLE1BQU0sRUFBRSxDQUFDO0dBQ1Y7RUFORixBQU9DLG1CQVBLLEFBT0osS0FBSyxDQUFDO0lBQ0wsZUFBZSxFQUFFLFVBQVU7R0FLNUI7RUFiRixBQVNHLG1CQVRHLEFBT0osS0FBSyxDQUVKLElBQUksQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJO0lBQ1gsWUFBWSxFQUFFLElBQUk7R0FDbkI7RUFHSixBQUFELG9CQUFRLENBQUM7SUFDUCxVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsSUFBSTtHQVdaO0VBYkEsQUFHQyxvQkFITSxDQUdOLEtBQUs7RUFITixvQkFBTyxDQUlOLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxpQkFBaUI7R0FDekI7RUFORixBQU9DLG9CQVBNLENBT04sZ0JBQWdCLENBQUM7SUFDZixLQUFLLEVBQUUsaUJBQWlCO0dBSXpCO0VBWkYsQUFTRyxvQkFUSSxDQU9OLGdCQUFnQixDQUVkLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxpQkFBaUI7R0FDekI7RUFLUCxBQUFBLFVBQVUsQ0FBQztJQUNULFdBQVc7SUFNWCxXQUFXO0lBS1gsWUFBWTtJQUtaLHFCQUFxQjtHQWF0QjtFQTlCRCxBQUVFLFVBRlEsQ0FFUixtQkFBbUIsQ0FBQztJQUNsQixLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsYUFBYSxFQUFFLEdBQUc7R0FDbkI7RUFOSCxBQVFFLFVBUlEsQ0FRUix5QkFBeUIsQ0FBQztJQUN4QixVQUFVLEVBQUUsT0FBTztJQUNuQixhQUFhLEVBQUUsR0FBRztHQUNuQjtFQVhILEFBYUUsVUFiUSxDQWFSLHlCQUF5QixDQUFDO0lBQ3hCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLGFBQWEsRUFBRSxHQUFHO0dBQ25CO0VBaEJILEFBa0JFLFVBbEJRLENBa0JSLHlCQUF5QixBQUFBLE1BQU0sQ0FBQztJQUM5QixVQUFVLEVBQUUsT0FBTztHQUNwQjtFQXBCSCxBQXFCRSxVQXJCUSxDQXFCUixFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQXZCSCxBQXlCSSxVQXpCTSxBQXdCUCxVQUFVLEdBQ1AsWUFBWSxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxHQUFHLEVBQUUsSUFBSTtHQUNWO0VBSUwsQUFBQSxZQUFZLENBQUM7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxVQUFVO0dBSXZCO0VBTkQsQUFHRSxZQUhVLENBR1YsVUFBVSxDQUFDO0lBQ1QsS0FBSyxFQUFFLEtBQUs7R0FDYjtFQUdILEFBR00sb0JBSGMsQ0FDbEIsVUFBVSxDQUNSLElBQUksQ0FDRixLQUFLLENBQUM7SUFDSixLQUFLLEVBQUUsR0FBRztHQUNYO0VBTFAsQUFNTSxvQkFOYyxDQUNsQixVQUFVLENBQ1IsSUFBSSxDQUlGLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxHQUFHO0dBQ1g7RUFLUCxBQUFBLFdBQVcsQ0FBQztJQUNWLFFBQVEsRUFBRSxJQUFJO0lBQ2QsMEJBQTBCLEVBQUUsS0FBSztJQUNqQyxjQUFjLEVBQUUsSUFBSTtHQW1EckI7RUF0REQsQUFJRSxXQUpTLENBSVQsS0FBSyxDQUFDO0lBQ0osU0FBUyxFQUFFLFdBQVc7R0FnRHZCO0VBckRILEFBUVEsV0FSRyxDQUlULEtBQUssQ0FFSCxFQUFFLENBQ0EsRUFBRSxBQUNDLFdBQVcsQ0FBQztJQUNYLFNBQVMsRUFBRSxLQUFLO0dBQ2pCO0VBVlQsQUFZTSxXQVpLLENBSVQsS0FBSyxDQUVILEVBQUUsQ0FNQSxFQUFFO0VBWlIsV0FBVyxDQUlULEtBQUssQ0FFSCxFQUFFLENBT0EsRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUk7R0FJZDtFQWxCUCxBQWVRLFdBZkcsQ0FJVCxLQUFLLENBRUgsRUFBRSxDQU1BLEVBQUUsQ0FHQSxDQUFDLEFBQUEsSUFBSTtFQWZiLFdBQVcsQ0FJVCxLQUFLLENBRUgsRUFBRSxDQU9BLEVBQUUsQ0FFQSxDQUFDLEFBQUEsSUFBSSxDQUFDO0lBQ0osWUFBWSxFQUFFLElBQUk7R0FDbkI7RUF1Q1QsQUFBQSxZQUFZLENBQUM7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBRUQsQUFDRSxrQkFEZ0IsQ0FDaEIsT0FBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLEtBQUs7R0FVYjtFQVpILEFBR0ksa0JBSGMsQ0FDaEIsT0FBTyxDQUVMLFlBQVksQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJO0dBT3BCO0VBWEwsQUFLTSxrQkFMWSxDQUNoQixPQUFPLENBRUwsWUFBWSxDQUVWLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBUFAsQUFRTSxrQkFSWSxDQUNoQixPQUFPLENBRUwsWUFBWSxDQUtWLENBQUMsQ0FBQztJQUNBLFNBQVMsRUFBRSxJQUFJO0dBQ2hCOzs7QUFNVCxNQUFNLENBQUMsR0FBRyxNQUFNLFNBQVMsRUFBRSxLQUFLO0VBQzlCLEFBR00sTUFIQSxBQUNILGlCQUFpQixDQUNoQix3QkFBd0IsQ0FDdEIsZUFBZSxDQUFDO0lBQ2QsWUFBWSxFQUFFLElBQUk7R0FJbkI7RUFSUCxBQUtRLE1BTEYsQUFDSCxpQkFBaUIsQ0FDaEIsd0JBQXdCLENBQ3RCLGVBQWUsQ0FFYixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsQ0FBQztHQUNiO0VBUFQsQUFTTSxNQVRBLEFBQ0gsaUJBQWlCLENBQ2hCLHdCQUF3QixDQU90QixpQkFBaUIsQ0FBQztJQUNoQixTQUFTLEVBQUUsQ0FBQztJQUNaLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLElBQUk7SUFDWixZQUFZLEVBQUUsSUFBSTtHQUNuQjtFQUlQLEFBQ0UsT0FESyxBQUNKLG1CQUFtQixDQUFDO0lBQ25CLGVBQWUsRUFBRSxLQUFLO0dBQ3ZCO0VBRUgsQUFBQSxtQkFBbUIsQ0FBQztJQUNsQixhQUFhLEVBQUUsQ0FBQztHQVVqQjtFQVhELEFBRUUsbUJBRmlCLENBRWpCLE1BQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxLQUFLO0dBT2xCO0VBVkgsQUFJSSxtQkFKZSxDQUVqQixNQUFNLENBRUosR0FBRyxDQUFDO0lBQ0YsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsS0FBSztJQUNqQixVQUFVLEVBQUUsS0FBSztHQUNsQjtFQUdMLEFBQUEsa0JBQWtCLENBQUM7SUFDakIsT0FBTyxFQUFFLFdBQVc7R0FLckI7RUFORCxBQUVFLGtCQUZnQixDQUVoQixVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxNQUFNO0dBQ2Y7RUFFSCxBQUFBLFVBQVUsQ0FBQztJQUNULFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLElBQUk7SUFDakIsT0FBTyxFQUFFLFdBQVc7R0FDckI7RUFDRCxBQUNFLElBREUsQUFDRCxZQUFZLENBQUM7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBRUgsQUFDRSxjQURZLENBQ1osRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLGtCQUFrQjtJQUM3QixTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUVILEFBRUksV0FGTyxDQUNULEVBQUUsQ0FDQSxFQUFFLENBQUM7SUFDRCxNQUFNLEVBQUUsS0FBSztHQUlkO0VBUEwsQUFJTSxXQUpLLENBQ1QsRUFBRSxDQUNBLEVBQUUsQ0FFQSxDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUtKLEFBQUQsZ0JBQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLE1BQU0sRUFBRSxrQkFBa0I7SUFDMUIsVUFBVSxFQUFFLEtBQUs7R0FDbEI7RUFDQSxBQUFELGlCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtHQWdCZDtFQWZFLEFBQUQsc0JBQU0sQ0FBQztJQUNMLFNBQVMsRUFBRSxJQUFJO0dBYWhCO0VBZEEsQUFFQyxzQkFGSSxDQUVKLENBQUMsQ0FBQztJQUNBLFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBSkYsQUFLQyxzQkFMSSxDQUtKLFdBQVcsQ0FBQztJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLENBQUM7R0FDakI7RUFSRixBQVNDLHNCQVRJLENBU0osV0FBVyxDQUFDO0lBQ1YsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLENBQUM7SUFDZixLQUFLLEVBQUUsSUFBSTtHQUNaO0VBS0osQUFBRCx1QkFBTyxDQUFDO0lBQ04sYUFBYSxFQUFFLElBQUk7R0FlcEI7RUFkRSxBQUNDLDZCQURLLENBQ0wsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsR0FBRztHQUNqQjtFQUpGLEFBS0MsNkJBTEssQ0FLTCxpQkFBaUI7RUFMbEIsNkJBQU0sQ0FNTCxnQkFBZ0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLEdBQUc7R0FDbkI7RUFURixBQVVDLDZCQVZLLENBVUwsZ0JBQWdCLENBQUM7SUFDZixhQUFhLEVBQUUsQ0FBQztHQUNqQjtFQUlQLEFBQ0UsbUJBRGlCLENBQ2pCLEVBQUUsQ0FBQztJQUNELE1BQU0sRUFBRSxNQUFNO0dBQ2Y7RUFISCxBQUlFLG1CQUppQixDQUlqQixZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsQ0FBQztHQVlYO0VBakJILEFBTUksbUJBTmUsQ0FJakIsWUFBWSxDQUVWLEVBQUU7RUFOTixtQkFBbUIsQ0FJakIsWUFBWSxDQUdWLEVBQUUsQ0FBQztJQUNELFNBQVMsRUFBRSxJQUFJO0dBQ2hCO0VBVEwsQUFVSSxtQkFWZSxDQUlqQixZQUFZLENBTVYsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFaTCxBQWFJLG1CQWJlLENBSWpCLFlBQVksQ0FTVixFQUFFLENBQUM7SUFDRCxXQUFXLEVBQUUsQ0FBQztJQUNkLFlBQVksRUFBRSxDQUFDO0dBQ2hCO0VBaEJMLEFBa0JFLG1CQWxCaUIsQ0FrQmpCLFNBQVMsQ0FBQztJQUNSLGNBQWMsRUFBRSxNQUFNO0dBV3ZCO0VBOUJILEFBb0JJLG1CQXBCZSxDQWtCakIsU0FBUyxDQUVQLElBQUksQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxDQUFDO0lBQ2YsbUJBQW1CLEVBQUUscUJBQXFCO0lBQzFDLFlBQVksRUFBRSxZQUFZO0lBQzFCLFVBQVUsRUFBRSxNQUFNO0dBSW5CO0VBN0JMLEFBMEJNLG1CQTFCYSxDQWtCakIsU0FBUyxDQUVQLElBQUksQUFNRCxJQUFJLENBQUM7SUFDSixhQUFhLEVBQUUsSUFBSTtHQUNwQjtFQTVCUCxBQStCRSxtQkEvQmlCLENBK0JqQixTQUFTLENBQUM7SUFDUixjQUFjLEVBQUUsTUFBTTtJQUN0QixVQUFVLEVBQUUsSUFBSTtHQUtqQjtFQXRDSCxBQWtDSSxtQkFsQ2UsQ0ErQmpCLFNBQVMsQ0FHUCxDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsSUFBSTtJQUNmLE1BQU0sRUFBRSxRQUFRO0dBQ2pCO0VBR0wsQUFBQSxVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsU0FBUztJQUNsQixVQUFVLEVBQUUsSUFBSTtHQTJCakI7RUE3QkQsQUFHRSxVQUhRLENBR1IsRUFBRSxDQUFDO0lBQ0QsYUFBYSxFQUFFLElBQUk7R0FDcEI7RUFMSCxBQU9JLFVBUE0sQ0FNUixpQkFBaUIsQUFDZCxNQUFNLENBQUM7SUFDTixVQUFVLEVBQUUsSUFBSTtHQUNqQjtFQVRMLEFBV0UsVUFYUSxDQVdSLFdBQVcsQ0FBQztJQUNWLFVBQVUsRUFBRSxDQUFDO0dBQ2Q7RUFiSCxBQWVJLFVBZk0sQUFjUCxVQUFVLEdBQ1AsWUFBWSxDQUFDO0lBQ2IsR0FBRyxFQUFFLElBQUk7R0FDVjtFQWpCTCxBQW1CRSxVQW5CUSxBQW1CUCxRQUFRLENBQUM7SUFDUixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE9BQU8sRUFBRSxJQUFJO0dBTWQ7RUE1QkgsQUF3Qk0sVUF4QkksQUFtQlAsUUFBUSxDQUlQLE9BQU8sQ0FDTCxFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQUlQLEFBSVEsZ0JBSlEsQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFDRCxVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUk7R0FDWjtFQU5ULEFBT1EsZ0JBUFEsQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFJRCxVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUk7R0FNWjtFQWRULEFBU1UsZ0JBVE0sQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFJRCxVQUFXLENBQUEsQ0FBQyxFQUVYLEtBQUssQ0FBQztJQUNKLE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsTUFBTSxFQUFFLE1BQU07R0FDZjtFQWJYLEFBZVEsZ0JBZlEsQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFZRCxVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUk7R0FDWjtFQWpCVCxBQWtCUSxnQkFsQlEsQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFlRCxVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsSUFBSTtHQUNqQjtFQXJCVCxBQXVCVSxnQkF2Qk0sQ0FDZCxzQkFBc0IsQ0FDcEIsSUFBSSxDQUNGLElBQUksQUFtQkQsU0FBUyxDQUNSLEtBQUssQUFBQSxNQUFNLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDO0dBQ1g7RUEzQlgsQUE4QlUsZ0JBOUJNLENBQ2Qsc0JBQXNCLENBQ3BCLElBQUksQ0FDRixJQUFJLENBMEJGLElBQUksQUFDRCxJQUFJLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSTtJQUNYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGVBQWUsRUFBRSxNQUFNO0dBQ3hCO0VBTVgsQUFFSSxvQkFGZ0IsQ0FDbEIsVUFBVSxDQUNSLElBQUksQ0FBQztJQUNILFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLE1BQU07SUFDZixhQUFhLEVBQUUsQ0FBQztHQXdCakI7RUE3QkwsQUFNTSxvQkFOYyxDQUNsQixVQUFVLENBQ1IsSUFBSSxDQUlGLEtBQUssQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0lBQ1gsYUFBYSxFQUFFLEdBQUc7R0FDbkI7RUFUUCxBQVVNLG9CQVZjLENBQ2xCLFVBQVUsQ0FDUixJQUFJLENBUUYsS0FBSyxDQUFDO0lBQ0osS0FBSyxFQUFFLElBQUk7R0FDWjtFQVpQLEFBY1Esb0JBZFksQ0FDbEIsVUFBVSxDQUNSLElBQUksQUFXRCxPQUFPLENBQ04sSUFBSSxDQUFDO0lBQ0gsT0FBTyxFQUFFLE1BQU07R0FZaEI7RUEzQlQsQUFnQlUsb0JBaEJVLENBQ2xCLFVBQVUsQ0FDUixJQUFJLEFBV0QsT0FBTyxDQUNOLElBQUksQUFFRCxXQUFXLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQztJQUNoQixjQUFjLEVBQUUsQ0FBQztJQUNqQixVQUFVLEVBQUUsSUFBSTtHQUNqQjtFQXBCWCxBQXFCVSxvQkFyQlUsQ0FDbEIsVUFBVSxDQUNSLElBQUksQUFXRCxPQUFPLENBQ04sSUFBSSxBQU9ELE9BQU8sQ0FBQztJQUNQLEtBQUssRUFBRSxJQUFJO0dBSVo7RUExQlgsQUF1Qlksb0JBdkJRLENBQ2xCLFVBQVUsQ0FDUixJQUFJLEFBV0QsT0FBTyxDQUNOLElBQUksQUFPRCxPQUFPLENBRU4sS0FBSyxDQUFDO0lBQ0osWUFBWSxFQUFFLEdBQUc7R0FDbEI7RUFPYixBQUNFLGtCQURnQixDQUNoQixPQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLFNBQVMsRUFBRSxLQUFLO0dBY2pCO0VBakJILEFBS00sa0JBTFksQ0FDaEIsT0FBTyxDQUdMLFlBQVksQ0FDVixTQUFTLENBQUM7SUFDUixPQUFPLEVBQUUsU0FBUztHQUNuQjtFQVBQLEFBVU0sa0JBVlksQ0FDaEIsT0FBTyxDQVFMLFlBQVksQ0FDVixFQUFFLENBQUM7SUFDRCxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQVpQLEFBYU0sa0JBYlksQ0FDaEIsT0FBTyxDQVFMLFlBQVksQ0FJVixDQUFDLENBQUM7SUFDQSxTQUFTLEVBQUUsSUFBSTtHQUNoQjtFQWZQLEFBbUJJLGtCQW5CYyxDQWtCaEIsV0FBVyxDQUNULGFBQWEsQ0FBQztJQUNaLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFlBQVksRUFBRSxLQUFLO0dBQ3BCO0VBdEJMLEFBeUJJLGtCQXpCYyxBQXdCZixZQUFZLENBQ1gsT0FBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixTQUFTLEVBQUUsS0FBSztHQUNqQjtFQTVCTCxBQStCSSxrQkEvQmMsQUE4QmYsY0FBYyxDQUNiLE9BQU8sQ0FBQztJQUNOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxrQkFBa0I7R0FnQjFCO0VBakRMLEFBa0NNLGtCQWxDWSxBQThCZixjQUFjLENBQ2IsT0FBTyxDQUdMLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0dBWWpCO0VBaERQLEFBcUNRLGtCQXJDVSxBQThCZixjQUFjLENBQ2IsT0FBTyxDQUdMLFlBQVksQ0FHVixTQUFTLENBQUM7SUFDUixPQUFPLEVBQUUsSUFBSTtHQVNkO0VBL0NULEFBdUNVLGtCQXZDUSxBQThCZixjQUFjLENBQ2IsT0FBTyxDQUdMLFlBQVksQ0FHVixTQUFTLENBRVAsZUFBZSxDQUFDO0lBQ2QsS0FBSyxFQUFFLGtCQUFrQjtHQU0xQjtFQTlDWCxBQXlDWSxrQkF6Q00sQUE4QmYsY0FBYyxDQUNiLE9BQU8sQ0FHTCxZQUFZLENBR1YsU0FBUyxDQUVQLGVBQWUsQ0FFYixZQUFZLENBQUM7SUFDWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLEtBQUs7R0FDbEI7RUE3Q2IsQUFxRE0sa0JBckRZLEFBbURmLGNBQWMsQ0FDYixPQUFPLENBQ0wsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixTQUFTLEVBQUUsS0FBSztJQUNoQixVQUFVLEVBQUUsSUFBSTtHQUlqQjtFQTVEUCxBQXlEUSxrQkF6RFUsQUFtRGYsY0FBYyxDQUNiLE9BQU8sQ0FDTCxZQUFZLENBSVYsU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUk7R0FDZDtFQTNEVCxBQWdFSSxrQkFoRWMsQUErRGYsaUJBQWlCLENBQ2hCLE9BQU8sQ0FBQztJQUNOLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsU0FBUyxFQUFFLEtBQUs7R0FDakI7RUFhTCxBQUNFLFdBRFMsQ0FDVCxJQUFJLENBQUM7SUFDSCxTQUFTLEVBQUUsSUFBSTtHQXNDaEI7RUF4Q0gsQUFJTSxXQUpLLENBQ1QsSUFBSSxDQUVGLElBQUksQUFDRCxPQUFPLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSTtHQUNaO0VBTlAsQUFTVSxXQVRDLENBQ1QsSUFBSSxDQUVGLElBQUksQUFJRCxVQUFVLENBQ1QsWUFBWSxBQUNULE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLElBQUk7R0FDbEI7RUFaWCxBQWdCUSxXQWhCRyxDQUNULElBQUksQ0FFRixJQUFJLENBWUYsV0FBVyxDQUNULGVBQWUsQ0FBQztJQUNkLE1BQU0sRUFBRSxJQUFJO0lBQ1osT0FBTyxFQUFFLGFBQWE7SUFDdEIsbUJBQW1CLEVBQUUsaUJBQWlCO0dBSXZDO0VBdkJULEFBb0JVLFdBcEJDLENBQ1QsSUFBSSxDQUVGLElBQUksQ0FZRixXQUFXLENBQ1QsZUFBZSxDQUliLElBQUksQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFJO0dBQ2xCO0VBdEJYLEFBeUJVLFdBekJDLENBQ1QsSUFBSSxDQUVGLElBQUksQ0FZRixXQUFXLENBU1QsWUFBWSxDQUNWLElBQUksQ0FBQztJQUNILEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsWUFBWSxFQUFFLElBQUk7R0FTbkI7RUFwQ1gsQUE0QlksV0E1QkQsQ0FDVCxJQUFJLENBRUYsSUFBSSxDQVlGLFdBQVcsQ0FTVCxZQUFZLENBQ1YsSUFBSSxBQUdELFVBQVcsQ0FBQSxFQUFFLEVBQUU7SUFDZCxZQUFZLEVBQUUsQ0FBQztHQUNoQjtFQTlCYixBQStCWSxXQS9CRCxDQUNULElBQUksQ0FFRixJQUFJLENBWUYsV0FBVyxDQVNULFlBQVksQ0FDVixJQUFJLENBTUYsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSztJQUNqQixhQUFhLEVBQUUsQ0FBQztHQUNqQjtFQU9iLEFBQUEsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLFVBQVU7SUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsT0FBTyxFQUFFLElBQUk7R0FpQmQ7RUF2QkQsQUFPRSxZQVBVLENBT1YsWUFBWSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7R0FDZDtFQVRILEFBV0ksWUFYUSxDQVVWLE1BQU0sQ0FDSixHQUFHLENBQUM7SUFDRixLQUFLLEVBQUUsS0FBSztHQUNiO0VBYkwsQUFlRSxZQWZVLENBZVYsVUFBVSxDQUFDO0lBQ1QsS0FBSyxFQUFFLElBQUk7R0FDWjtFQWpCSCxBQW1CSSxZQW5CUSxDQWtCVixLQUFLLENBQ0gsRUFBRSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUk7R0FDaEI7RUFHTCxBQUFBLFlBQVksQ0FBQztJQUNYLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsS0FBSztHQWFkO0VBWkUsQUFBRCxtQkFBUSxDQUFDO0lBQ1AsS0FBSyxFQUFFLEtBQUs7SUFDWixZQUFZLEVBQUUsSUFBSTtHQUluQjtFQU5BLEFBR0MsbUJBSE0sR0FHSixHQUFHLENBQUM7SUFDSixjQUFjLEVBQUUsSUFBSTtHQUNyQjtFQUVGLEFBQ0MsZUFERSxDQUNGLElBQUksQ0FBQztJQUNILEtBQUssRUFBRSxJQUFJO0dBQ1o7OztBQUtQLE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFFM0IsQUFBRCx1QkFBTyxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxZQUFZLEVBQUUsWUFBWTtJQUMxQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLENBQUM7SUFDakIsYUFBYSxFQUFFLElBQUk7R0FnQ3BCO0VBdENBLEFBT0MsdUJBUEssQ0FPTCxNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsS0FBSztJQUNaLFVBQVUsRUFBRSxLQUFLO0dBVWxCO0VBbkJGLEFBVUcsdUJBVkcsQ0FPTCxNQUFNLENBR0osQ0FBQyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsSUFBSTtHQUNiO0VBYkosQUFjRyx1QkFkRyxDQU9MLE1BQU0sQ0FPSixHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEtBQUs7R0FDbEI7RUFFRixBQUFELDZCQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxrQkFBa0I7SUFDekIsVUFBVSxFQUFFLFVBQVU7R0FhdkI7RUFqQkEsQUFNRyw2QkFORyxDQUtMLElBQUksQUFDRCxZQUFZLENBQUM7SUFDWixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLFNBQVMsRUFBRSxDQUFDO0dBSWI7RUFmSixBQVlLLDZCQVpDLENBS0wsSUFBSSxBQUNELFlBQVksQ0FNWCxHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsSUFBSTtHQUNkO0VBT1IsQUFBRCxtQkFBTyxDQUFDO0lBQ04sU0FBUyxFQUFFLElBQUk7R0FtQmhCO0VBcEJBLEFBRUMsbUJBRkssQ0FFTCxJQUFJLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJO0dBQ3BCO0VBTEYsQUFPRyxtQkFQRyxBQU1KLFdBQVcsQ0FDVixXQUFXLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSTtHQUNwQjtFQVRKLEFBVUcsbUJBVkcsQUFNSixXQUFXLENBSVYsSUFBSSxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7R0FDWjtFQVpKLEFBZUcsbUJBZkcsQUFjSixLQUFLLENBQ0osSUFBSSxDQUFDO0lBQ0gsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsUUFBUTtHQUNqQjtFQUdKLEFBQ0Msb0JBRE0sQ0FDTixJQUFJLENBQUM7SUFDSCxjQUFjLEVBQUUsTUFBTTtHQW9CdkI7RUF0QkYsQUFHRyxvQkFISSxDQUNOLElBQUksQ0FFRixNQUFNO0VBSFQsb0JBQU8sQ0FDTixJQUFJLENBR0YsS0FBSztFQUpSLG9CQUFPLENBQ04sSUFBSSxDQUlGLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJO0lBQ1gsWUFBWSxFQUFFLENBQUM7SUFDZixVQUFVLEVBQUUsVUFBVTtJQUN0QixhQUFhLEVBQUUsSUFBSTtHQUNwQjtFQVZKLEFBV0csb0JBWEksQ0FDTixJQUFJLENBVUYsa0JBQWtCLENBQUM7SUFDakIsWUFBWSxFQUFFLENBQUM7SUFDZixhQUFhLEVBQUUsSUFBSTtHQUNwQjtFQWRKLEFBZUcsb0JBZkksQ0FDTixJQUFJLENBY0YsZ0JBQWdCLENBQUM7SUFDZixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxJQUFJO0dBSXBCO0VBckJKLEFBa0JLLG9CQWxCRSxDQUNOLElBQUksQ0FjRixnQkFBZ0IsQ0FHZCxNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSTtHQUNaO0VBZ0NULEFBQUEsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFQUFFLElBQUk7R0FDWjtFQUNELEFBR00sV0FISyxDQUNULElBQUksQ0FDRixJQUFJLEFBQ0QsVUFBVSxDQUFDO0lBQ1YsY0FBYyxFQUFFLE1BQU07R0FZdkI7RUFoQlAsQUFNVSxXQU5DLENBQ1QsSUFBSSxDQUNGLElBQUksQUFDRCxVQUFVLENBRVQsWUFBWSxBQUNULE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxDQUFDO0lBQ1IsYUFBYSxFQUFFLENBQUM7SUFDaEIsYUFBYSxFQUFFLElBQUk7R0FDcEI7RUFWWCxBQVdVLFdBWEMsQ0FDVCxJQUFJLENBQ0YsSUFBSSxBQUNELFVBQVUsQ0FFVCxZQUFZLEFBTVQsS0FBSyxDQUFDO0lBQ0wsS0FBSyxFQUFFLENBQUM7SUFDUixhQUFhLEVBQUUsQ0FBQztHQUNqQjtFQWRYLEFBa0JRLFdBbEJHLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FlRixXQUFXLEdBQ1AsTUFBTSxDQUFDO0lBQ1AsY0FBYyxFQUFFLE1BQU07R0FDdkI7RUFwQlQsQUFxQlEsV0FyQkcsQ0FDVCxJQUFJLENBQ0YsSUFBSSxDQWVGLFdBQVcsQ0FJVCxlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsV0FBVztJQUNwQixLQUFLLEVBQUUsSUFBSTtHQUlaO0VBM0JULEFBd0JVLFdBeEJDLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FlRixXQUFXLENBSVQsZUFBZSxDQUdiLElBQUksQ0FBQztJQUNILFdBQVcsRUFBRSxJQUFJO0dBQ2xCO0VBMUJYLEFBNEJRLFdBNUJHLENBQ1QsSUFBSSxDQUNGLElBQUksQ0FlRixXQUFXLENBV1QsS0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLENBQUM7R0FDZjtFQUtULEFBRUkseUJBRnFCLENBRXBCLCtCQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0dBUWI7RUFmTCxBQVFNLHlCQVJtQixDQUVwQiwrQkFBTSxBQU1KLFVBQVcsQ0FBQSxFQUFFLEdBUnBCLHlCQUF5QixDQUVwQiwrQkFBTSxBQU9KLFVBQVcsQ0FBQSxFQUFFLEVBQUU7SUFDZCxZQUFZLEVBQUUsSUFBSTtHQUNuQjtFQVhQLEFBWU0seUJBWm1CLENBRXBCLCtCQUFNLEFBVUosVUFBVyxDQUFBLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSxDQUFDO0dBQ2hCO0VBSVAsQUFJUSxvQkFKWSxDQUNsQixVQUFVLENBQ1IsSUFBSSxBQUNELGtCQUFrQixDQUNqQixVQUFVLENBQUM7SUFDVCxjQUFjLEVBQUUsY0FBYztHQUkvQjtFQVRULEFBTVUsb0JBTlUsQ0FDbEIsVUFBVSxDQUNSLElBQUksQUFDRCxrQkFBa0IsQ0FDakIsVUFBVSxDQUVSLE1BQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxJQUFJO0dBQ3BCO0VBTVgsQUFFSSxVQUZNLEFBQ1AsVUFBVSxHQUNQLEVBQUUsQ0FBQztJQUNILGFBQWEsRUFBRSxJQUFJO0dBQ3BCO0VBSkwsQUFLSSxVQUxNLEFBQ1AsVUFBVSxHQUlQLFlBQVksQ0FBQztJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxDQUFDO0lBQ04sS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsQ0FBQztJQUNQLGFBQWEsRUFBRSxJQUFJO0dBQ3BCO0VBR0wsQUFBQSxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDOUIsU0FBUyxFQUFFLEtBQUs7R0FDakI7OztBQUdILE1BQU0sQ0FBQyxHQUFHLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFDOUIsQUFBQSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxDQUFDO0dBWWhCO0VBZEQsQUFHRSxXQUhTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FHakQsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsS0FBSztHQVFsQjtFQWJILEFBTUksV0FOTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBR2pELE1BQU0sQ0FHSixHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsWUFBWTtHQUNyQiJ9 */
