*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  -webkit-touch-callout: none;
  -ms-touch-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.darkroom:after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #555;
  background-color: rgba(0, 0, 0, 0.7);
}

body .darkroom-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

body .darkroom-banner > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  background-color: #fefefe;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-size: 20px;
}

button,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
}

input {
  line-height: normal;
}

input[type='text'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input[type='password'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input.required {
  color: #ff0000;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  background-color: #ffffff;
  border: 2px solid #9768EB;
  color: #9768EB;
  font-weight: 500;
  letter-spacing: 1px;
  min-width: 110px;
  outline: 0;
  padding: 0 10px;
  text-transform: uppercase;
}

button.short {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

button.small {
  min-width: 80px;
}

button.medium {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
}

button.primary,
button.blue {
  background-color: #9768EB;
  color: #ffffff;
}

button.disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button:disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button.resume {
  background-color: #D1404B;
  color: #ffffff;
  font-weight: bold;
}

button:focus {
  outline: 0;
}

button::-moz-focus-inner {
  border: 0;
}

button + button {
  margin-left: 8px;
}

.input-checkbox {
  color: #9768EB;
  font-size: 20px;
}

.input-checkbox.disabled {
  color: #cdcdcd;
}

.footer-content {
  /*
  @include flex(1 0 auto);
  @include flex-row-center();
  @include flex-justify-content(center);
  */
  padding: 10px 0;
  background-color: #E1E1E6;
  border-top: none;
  color: #32254F;
}

.footer-content a {
  text-decoration: none;
  color: #9768EB;
}

[ng\:cloak],
[ng-cloak],
.ng-cloak {
  display: none !important;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 90px;
  min-height: 90px;
  height: 90px;
}

.header-content .logo {
  max-height: 90px;
  min-height: 90px;
  height: 90px;
  max-width: 140px;
  min-width: 140px;
  width: 140px;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: -5px;
  margin-left: 5px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px 30px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 28px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 15px;
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 25px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

.menu-content {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

@media (max-width: 768px) {
  .menu-content.resp-menu {
    background: none;
    position: absolute;
    pointer-events: none;
  }
}

.body-content {
  margin: 0;
  padding: 0;
}

.red-background {
  background-color: #c42a3b;
}

.yellow-background {
  background-color: #dfc03f;
}

.green-background {
  background-color: #20b769;
}

.blue-text {
  color: #9768EB;
}

.red-text {
  color: #c42a3b;
}

.grey-text {
  color: #808080;
}

.light-grey-text {
  color: #a7a7a7;
}

.yellow-text {
  color: #dfc03f;
}

.green-text {
  color: #20b769;
}

.whitebg {
  background-color: #ffffff;
}

.greybg {
  background-color: #efefef;
}

.drkgreybg {
  background-color: #2e2e2e;
}

.bluebg {
  background-color: #9768EB;
}

.main-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
}

.view-flex {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-static {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.view-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-stack {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
}

.view-container.centered {
  -webkit-align-items: center;
  align-items: center;
}

.view-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.view-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.view-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.view-container.middle {
  -webkit-align-self: center;
  align-self: center;
}

.view-container.column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.view-container.column.center {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.column-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.column-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.column-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.column-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.column-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.column-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.column-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.column-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.column-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.row-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.row-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.row-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.row-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.row-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.row-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.row-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.row-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.row-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.row-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hidden {
  display: none;
}

input[type=range] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  -moz-appearance: none;
  margin: 0;
  width: 100%;
  padding: 0;
  border-radius: 8px;
  background: transparent;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #9768EB), color-stop(0, #e8e8e8));
  cursor: pointer;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
  margin-top: -15px;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-range-thumb {
  -moz-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-focus-outer {
  border: 0;
  outline: 0;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}

input[type=range]::-ms-thumb {
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-ms-tooltip {
  display: none;
}

input[type=range]::-ms-fill-lower {
  background: #9768EB;
  border: 0.2px solid #9768EB;
  border-radius: 8px;
}

input[type=range]::-ms-fill-upper {
  background: #e8e8e8;
  border: 0.2px solid #e8e8e8;
  border-radius: 8px;
}

input[type=range]:focus::-ms-fill-lower {
  background: #9768EB;
}

input[type=range]:focus::-ms-fill-upper {
  background: #e8e8e8;
}

.program-exercise.daily-exercise {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  padding: 20px;
  gap: 10px;
}

.program-exercise.daily-exercise .daily-exercise-actions {
  min-width: 54px !important;
  max-width: 54px !important;
  width: 54px !important;
}

.program-exercise.daily-exercise .info .attributes {
  gap: 10px;
}

.program-exercise.daily-exercise .info .attributes > div {
  margin: 0 !important;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  overflow: hidden;
  background-color: #c4c4c4;
  background-color: rgba(196, 196, 196, 0.7);
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave {
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave.ng-leave-active {
  opacity: 0;
}

.modal-overlay.ng-enter.ng-enter-active,
.modal-overlay.ng-leave {
  opacity: 1;
}

.modal-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  overflow: hidden;
  pointer-events: none;
}

.modal-view .modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 100px;
  min-width: 200px;
  pointer-events: auto;
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-view .modal.ng-leave {
  transform: translateY(0%);
}

.modal-view .modal.ng-leave.ng-leave-active {
  transform: translateY(-200%);
}

.modal-view.ng-enter .modal {
  transform: translateY(-200%);
}

.modal-view.ng-enter.ng-enter-active .modal {
  transform: translateY(0);
}

.modal-animate-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 770px;
  min-width: 770px;
  width: 770px;
  overflow: hidden;
}

.modal-animate-container > .modal-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-transition: .125s linear all;
  -moz-transition: .125s linear all;
  -o-transition: .125s linear all;
  transition: .125s linear all;
}

.modal-animate-container > .modal-container.ng-leave.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.slide-right {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-left,
.modal-animate-container > .modal-container.ng-hide-add.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-right,
.modal-animate-container > .modal-container.ng-hide-add.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-left,
.modal-animate-container > .modal-container.ng-hide-remove.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-right,
.modal-animate-container > .modal-container.ng-hide-remove.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-right {
  transform: translateX(0px);
}

.modal-container {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 8px 8px 20px 0px #4a4a4a;
}

.modal-container.large {
  width: 970px;
}

.modal-container header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  border-top-left-radius: 8px;
  border-top-right-radius: 6px;
}

.modal-container header button.link {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  min-height: 30px;
  line-height: 20px;
  font-size: 12px;
}

.modal-container header button.link i.left {
  margin-right: 5px;
}

.modal-container header.alert {
  background-color: #c42a3b;
  color: #ffffff;
}

.modal-container header.confirm {
  background-color: #9768EB;
  color: #ffffff;
}

.modal-container header label {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
  margin-left: 10px;
  text-align: center;
}

.modal-container header label i.fa {
  margin: 0 4px;
}

.modal-container header label span {
  font-weight: 500;
}

.modal-container header .close {
  background-color: transparent;
  border: none;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  margin: 0 8px;
  min-width: 0;
  opacity: .2;
  text-shadow: 0 1px 0 #ccc;
  text-transform: none;
}

.modal-container header .close:hover {
  cursor: pointer;
  opacity: 1;
}

.modal-container section {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 10px;
  min-height: 80px;
  min-width: 300px;
}

.modal-container footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.modal-container footer button:last-of-type {
  margin-right: 8px;
}

.loading-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f9f9f9;
  background-color: rgba(125, 125, 125, 0.5);
}

.loading-view .loading-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 200px;
  min-width: 200px;
}

.loading-view .loading-container .fa-spinner {
  color: #fff;
  font-size: 60px;
}

.athlete-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  background-color: #efefef;
}

.athlete-selection > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ccc;
  color: #cbcbcb;
  cursor: default;
  font-size: 14px;
  min-width: 200px;
  padding: 0 10px;
}

.athlete-selection > div.active {
  background-color: #dbdbdb;
  color: #75787b;
}

.athlete-selection > div.active .status {
  color: #9768EB;
}

.athlete-selection > div.active .close {
  cursor: pointer;
}

.athlete-selection > div:not(.active):hover {
  background-color: #dbdbdb;
  color: #75787b;
  cursor: pointer;
}

.athlete-selection > div .status {
  font-size: 8px;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div .name {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-selection > div .close {
  font-size: 18px;
  font-weight: 400;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div.team-nav {
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 20px;
  font-weight: 200;
  line-height: 30px;
  min-width: 65px;
  padding: 0;
  border: 0;
}

.athlete-selection > div.team-nav:hover {
  cursor: pointer;
  color: #ffffff;
  background-color: #9768EB;
}

.athlete-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 35px;
}

.athlete-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
  border-top: 1px solid #ccc;
  font-size: 13px;
  width: 100%;
}

.athlete-menu .athlete-search {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  border-right: 1px solid #cdcdcd;
  width: 140px;
}

.athlete-menu .athlete-search input[type='text'] {
  border: none;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  text-indent: 15px;
  width: 95%;
}

.athlete-menu .athlete-search ::-webkit-input-placeholder {
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-right: 1px solid #ccc;
  cursor: pointer;
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view:hover {
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  font-size: 23px;
}

.athlete-menu .athlete-toggle-view > i {
  cursor: pointer;
  margin: 8px;
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view > i:hover {
  color: #6d6e72;
}

.athlete-menu .athlete-toggle-view > i.active {
  color: #9768EB;
}

.athlete-menu .athlete-mobile-filters-btn {
  display: none;
}

.athlete-menu .athlete-filter-sort {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 600px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #ccc;
  color: #6d6e72;
  cursor: pointer;
  min-width: 110px;
  position: relative;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 110px;
  width: 110px;
  padding: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
  position: absolute;
  top: 35%;
  right: 10px;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
  position: absolute;
  top: 52px;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item:hover {
  background-color: #dedfde;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item-selected {
  font-weight: bold;
  padding-left: 3px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .sort-item-selected {
  font-weight: bold;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle {
  margin-left: 7px;
  margin-right: 3px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle.not-active {
  color: transparent;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-asc {
  margin-left: 4px;
  margin-right: 3px;
  margin-top: 4px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-desc {
  margin-bottom: 4px;
  margin-left: 3px;
  margin-right: 4px;
  text-align: center;
}

@media (max-width: 768px) {
  body .athlete-menu {
    flex-wrap: wrap;
    height: auto;
    min-height: 0;
    max-height: none;
  }

  body .athlete-menu .athlete-mobile-filters-btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    order: 2;
    height: 48px;
    padding: 0 14px;
    gap: 7px;
    cursor: pointer;
    border-left: 1px solid #ccc;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6d6e72;
  }

  body .athlete-menu .athlete-search {
    order: 1;
    height: 48px;
    min-width: 0;
  }

  body .athlete-menu .athlete-toggle-view {
    order: 3;
    min-width: unset;
    max-width: 70px;
    width: 70px;
    height: 48px;
  }

  body .athlete-menu .athlete-filter-sort {
    display: none !important;
    order: 4;
    width: 100%;
    min-width: unset;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu .athlete-filter-sort.mobile-open {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    flex-direction: column;
    background-color: #fff;
    overflow: visible;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    height: 50px;
    min-height: 50px;
    max-height: none;
    min-width: unset;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid #eee;
    overflow: visible;
    position: relative;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box:last-child {
    border-bottom: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\F0D7";
    color: #6d6e72;
    font-size: 13px;
    pointer-events: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    max-width: none;
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    align-items: center;
    overflow: visible;
    padding: 0 30px 0 20px;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label::after {
    content: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::after {
    content: 'All';
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::after {
    content: attr(data-sort-value);
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    font-family: inherit;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
    top: 50px;
    left: 0;
    z-index: 100;
    min-width: 100%;
  }

  body .athlete-menu .athlete-reset-view {
    order: 5;
    display: none;
    width: 100%;
    min-width: unset;
    max-width: unset;
    min-height: 50px;
    max-height: 50px;
    height: 50px;
    border-left: none;
    border-right: none;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu--filters-open .athlete-reset-view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  body .label[data-field-name]:not(.label-placeholder):not([data-sort-value])::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }
}

.athlete-list-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.athlete-list-view .athlete-list-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}

.athlete-list-view .athlete-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 12px;
  background-color: #e1e1e1;
}

.athlete-list-view .athlete-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  background-color: #e1e1e1;
  color: #6d6e72;
  text-transform: uppercase;
  font-weight: 600;
}

.athlete-list-view .athlete-header .athlete-number {
  min-width: 70px;
}

.athlete-list-view .athlete-header .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 170px;
}

.athlete-list-view .athlete-header .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  min-width: 100px;
}

.athlete-list-view .athlete-header .athlete-programs {
  min-width: 140px;
}

.athlete-list-view .athlete-header .athlete-last-activity {
  min-width: 170px;
}

.athlete-list-view .athlete-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 20px;
}

.athlete-list-view .athlete-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 53px;
  min-height: 53px;
  height: 53px;
}

.athlete-list-view .athlete-row .athlete-number {
  color: #939497;
  min-width: 70px;
  padding-left: 20px;
}

.athlete-list-view .athlete-row .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  color: #f7f7f7;
  min-width: 170px;
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  -webkit-justify-content: center;
  justify-content: center;
  letter-spacing: 1.25px;
  min-width: 100px;
}

.athlete-list-view .athlete-row .athlete-programs {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 140px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row .athlete-programs > div {
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-programs i {
  padding-right: 12px;
}

.athlete-list-view .athlete-row .athlete-last-activity {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 170px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row:nth-child(even) > div {
  background-color: #fefefe;
}

.athlete-list-view .athlete-row:nth-child(even) .athlete-number,
.athlete-list-view .athlete-row:nth-child(even) .athlete-name {
  background-color: #2e2e2e;
}

.athlete-list-view .athlete-row:nth-child(odd) > div {
  background-color: #efefef;
}

.athlete-list-view .athlete-row:nth-child(odd) .athlete-number,
.athlete-list-view .athlete-row:nth-child(odd) .athlete-name {
  background-color: #242424;
}

.athlete-dashboard-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  background-color: #eef0ef;
}

.athlete-dashboard-layout .athlete-dashboard-layout-side {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.athlete-dashboard {
  font-size: 12px;
  margin-bottom: 20px;
  margin-top: 15px;
}

.athlete-dashboard .athlete-dashboard-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-height: 85px;
  padding-left: 10px;
  width: 990px;
}

.athlete-dashboard .athlete-dashboard-menu > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 35px;
  text-transform: uppercase;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child {
  font-size: 18px;
  margin-right: 7px;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child > i:last-child {
  font-size: 13px;
}

.athlete-dashboard .athlete-dashboard-container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 20px;
  width: 100%;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  height: auto;
  min-height: 0;
  max-height: none;
  min-width: 0;
  width: calc((100% - 40px) / 3);
  background-color: #ffffff;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex: 1 0 100%;
  margin-top: 10px;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot button i {
  font-size: 18px;
  margin-right: 8px;
  vertical-align: middle;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.athlete-dashboard-actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 35px;
}

.athlete-dashboard-actions .action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  cursor: pointer;
  margin-bottom: 8px;
}

.athlete-dashboard-actions .action.disabled {
  cursor: default;
  color: #cdcdcd;
}

.athlete-dashboard-actions .action.disabled .action-icon,
.athlete-dashboard-actions .action.disabled .action-text {
  color: #cdcdcd;
}

.athlete-dashboard-actions .action .action-icon {
  font-size: 36px;
  margin-right: 5px;
}

.athlete-dashboard-actions .action .action-text {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-right: 20px;
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 0 40px;
  -ms-flex: 1 0 40px;
  flex: 1 0 40px;
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-name {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-number + .athlete-name {
  margin-left: 10px;
}

.athlete-info-box .bio-header:hover {
  background-color: rgba(17, 38, 75, 0.85);
}

.athlete-info-box .bio-body {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  padding: 17px;
}

.athlete-info-box .bio-body > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-align-items: center;
  align-items: center;
  max-width: 120px;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic-thumb {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  border: 1px solid #ccc;
  height: 130px;
  margin: 0 0 10px;
  width: 120px;
  cursor: pointer;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  width: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.athlete-info-box .bio-body .athlete-profile .athlete-position {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
}

.athlete-info-box .bio-body .athlete-profile .athlete-weight {
  font-size: 12px;
  text-transform: uppercase;
}

.athlete-info-box .bio-body .athlete-stats {
  padding-left: 15px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 14px;
  line-height: 10px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score-tl-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 20px;
  line-height: 10px;
  padding-top: 10px;
}

.athlete-info-box .bio-body .athlete-stats .test-type {
  border-bottom: 1px solid #ccc;
  font-size: 22px;
  line-height: 22px;
  min-height: 30px;
}

.athlete-info-box .bio-body .athlete-stats .test-score {
  font-size: 40px;
  line-height: 40px;
  min-height: 50px;
  text-align: center;
}

.athlete-info-box .bio-footer {
  -webkit-flex: 1 0 50px;
  -ms-flex: 1 0 50px;
  flex: 1 0 50px;
  background-color: #f5f5f5;
  max-height: 50px;
}

.athlete-info-box .bio-footer > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  font-size: 12px;
  text-transform: uppercase;
  cursor: pointer;
  color: #6d6e72;
  letter-spacing: 0.6px;
}

.athlete-info-box .bio-footer > div i {
  font-size: 13px;
  margin-right: 8px;
}

.athlete-info-box .bio-footer > div i.icon-test {
  font-size: 18px;
}

.athlete-info-box .bio-footer > div:hover {
  background-color: #E8E8E8;
  color: #9768EB;
}

.athlete-info-box .bio-footer > div + div {
  border-left: 1px solid #E8E8E8;
}

.profile-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.menu-item + .menu-item {
  margin-left: 45px;
}

.menu-item {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.menu-item.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.menu-item:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.menu-item a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.menu-item span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.profile-detail {
  max-width: 210px;
  min-width: 210px;
  width: 210px;
}

@media (max-width: 768px) {
  .profile-detail.profile-detail {
    display: none;
  }
}

.profile-detail .data-emphasis {
  font-weight: 600;
}

.profile-detail .profile-pic {
  max-height: 175px;
  min-height: 175px;
  height: 175px;
  max-width: 200px;
  min-width: 200px;
  width: 200px;
  overflow: hidden;
}

.profile-detail .profile-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-detail .profile-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  height: 50px;
  width: 200px;
  cursor: pointer;
}

.profile-detail .profile-action i {
  font-size: 17px;
  margin-right: 5px;
}

.profile-detail .profile-action span {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.profile-detail .profile-action.invisible {
  visibility: hidden;
}

.profile-detail .profile-data-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-data-container .profile-data > span:first-child {
  margin-right: 5px;
}

.profile-detail .profile-group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-group-container .group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #D9DAD9;
  border: 0;
  border-radius: 6px;
  margin: 6px 0 0;
  height: 30px;
  width: 115px;
  position: relative;
}

.profile-detail .profile-group-container .group-container .group-icon {
  border: 1px solid #999;
  margin-right: 8px;
  height: 16px;
  width: 12px;
}

.profile-detail .profile-group-container .group-container .group-save {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #9768EB;
  color: #fff;
}

.profile-detail .profile-group-container .group-container .group-close {
  position: absolute;
  right: 5px;
  cursor: pointer;
  font-size: 22px;
}

.profile-data-container.mobile-profile-data {
  display: none;
}

@media (max-width: 768px) {
  .profile-data-container.mobile-profile-data {
    display: block;
  }
}

.profile-group-container.mobile-profile-group {
  display: none;
}

@media (max-width: 768px) {
  .profile-group-container.mobile-profile-group {
    display: block;
  }
}

@media (max-width: 768px) {
  .resp-month-view {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .resp-score-today {
    flex-direction: column-reverse;
  }
}

@media only screen and (max-width: 600px) {
  body .profile-summary > .row-container.divided.resp-score-today > div + div {
    padding-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  body .profile-summary {
    padding-left: 0px !important;
  }
}

.profile-summary {
  max-width: 780px;
  min-width: 780px;
  width: 780px;
}

.profile-summary .mobile-pic {
  display: none;
}

@media (max-width: 768px) {
  .profile-summary .mobile-pic {
    display: block;
    flex-shrink: 0;
    align-self: flex-start;
    margin-right: 16px;
  }

  .profile-summary .mobile-pic img {
    display: block;
    width: 120px;
    height: auto;
    aspect-ratio: 200 / 175;
    object-fit: contain;
  }
}

.profile-summary .profile-name {
  margin-bottom: 5px;
}

.profile-summary .profile-name > div {
  font-size: 24px;
  margin-right: 6px;
}

.profile-summary .profile-activity {
  margin-bottom: 10px;
  color: #999;
  font-size: 13px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity {
    flex-direction: column;
  }
}

.profile-summary .profile-activity > div:nth-child(n+2):before {
  color: #ccc;
  content: '|';
  margin: 0 9px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity > div:nth-child(n+2):before {
    margin: 0;
    content: '';
  }
}

.profile-summary .profile-activity > div > span:first-child {
  margin-right: 6px;
}

.profile-summary .profile-activity .blue-text {
  cursor: pointer;
}

.profile-summary .score-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .score-container {
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  padding-top: 20px;
}

.profile-summary .score-container .profile-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score.label-only {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.profile-summary .score-container .profile-score .profile-score-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 15px;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-name {
  letter-spacing: .25px;
  font-size: 16px;
  color: #AEAEAE;
  font-weight: 500;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-date {
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  color: #AEAEAE;
}

.profile-summary .score-container .profile-score .profile-score-graph-canvas {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score .profile-score-label {
  color: #9768EB;
  font-size: 22px;
  font-weight: 400;
  margin-left: auto;
  text-align: right;
}

.profile-summary .score-container .profile-score .profile-score-label .profile-tl-change {
  color: #9768EB;
  font-size: 12px;
  margin-left: auto;
  text-align: right;
}

.profile-summary .today-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .today-program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
  cursor: pointer;
}

.profile-summary .today-program > div {
  margin-left: 10px;
}

.profile-summary .today-program > div:first-child {
  color: #ccc;
  font-size: 22px;
}

.profile-summary .today-program div.icon-checkbox-checked {
  color: #AFB0AE;
}

.profile-summary .today-program div.icon-checkbox-checked.blue-check {
  color: #9768EB;
}

.profile-summary .today-program .program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
}

.profile-summary .today-program .program .light-grey-text {
  color: #AFB1B3;
}

.profile-summary .today-notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
}

.profile-summary .today-notice > div {
  margin-left: 20px;
}

.profile-summary .today-notice .notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
}

.profile-summary .today-notice .notice-button > button {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
}

.profile-summary .today-notice.yellow {
  background-color: #dfc03f;
}

.profile-summary .today-notice.yellow .notice {
  color: #fefefe;
}

.profile-summary .today-notice.yellow .notice-button > button {
  background-color: #ceb74e;
  border-color: transparent;
  color: #fefefe;
}

.spaced-top-large {
  margin-top: 45px;
}

.spaced-bottom-medium {
  margin-bottom: 35px;
}

.burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0;
  margin: 0;
  line-height: 1;
  padding-bottom: 7px;
  pointer-events: auto;
}

.menu-mobile {
  pointer-events: auto;
}

.menu-desktop {
  display: flex;
}

.menu-mobile {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.menu-mobile .menu-item {
  padding: 15px 20px;
  border-bottom: 1px solid #333;
  margin-left: 0;
}

.menu-divider {
  height: 1px;
  background: #333;
  margin: 10px 0;
}

/* MOBILE BREAKPOINT */

@media (max-width: 768px) {
  .menu-desktop {
    display: none;
  }

  .burger {
    display: block;
  }

  .menu-mobile {
    display: flex;
    width: 100vw;
  }

  .profile-menu {
    width: unset !important;
    justify-content: center;
    align-items: center;
    max-height: 59px;
    height: 59px;
    min-height: 59px;
  }
}

.athlete-nav {
  display: none;
  position: relative;
}

@media (max-width: 768px) {
  .athlete-nav {
    display: block;
    padding: 8px 0 4px;
  }
}

.athlete-nav__burger {
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  line-height: 1;
  margin-left: 15px;
}

.athlete-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #1c1c1c;
  z-index: 1000;
  min-width: 150px;
}

.athlete-nav__item {
  padding: 14px 20px;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #333;
  white-space: nowrap;
}

.athlete-nav__item.active {
  color: #efefef;
}

.athlete-nav__item:hover {
  color: #efefef;
}

.catalog-feature {
  position: relative;
  background-color: #cfcfcf;
  height: 400px;
}

.catalog-feature .feature-container {
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  min-height: 400px;
  position: relative;
}

.catalog-feature .feature-container.running-man {
  background-image: url("/images/program_catalog_background.png");
}

.catalog-feature .feature-container.running-man .feature-content {
  line-height: 0.9;
  width: 400px;
}

.catalog-feature .feature-container.running-man .message-text {
  font-size: 24px;
  margin-top: 15px;
}

.catalog-feature .feature-container .feature-content {
  position: absolute;
  top: 40px;
  left: 80px;
  width: 400px;
  color: #efefef;
  font-weight: 300;
  line-height: 0.95;
}

.catalog-feature .feature-container .feature-content h2 {
  margin: 0;
  padding: 0;
  font-weight: 300;
}

.catalog-feature .feature-container .feature-content p {
  margin: 0;
  padding: 0;
}

.catalog-feature .feature-container .feature-content h2,
.catalog-feature .feature-container .feature-content .title-text {
  font-size: 55px;
  text-transform: uppercase;
}

.catalog-feature .feature-container .feature-content p,
.catalog-feature .feature-container .feature-content .message-text {
  margin-top: 2px;
  font-size: 18px;
  line-height: 1.3;
}

.catalog-feature .feature-container .feature-button {
  position: absolute;
  bottom: 35px;
  left: 80px;
  color: #efefef;
  font-weight: 300;
}

.catalog-feature .markers {
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
}

.catalog-feature .markers .marker {
  background-color: #fff;
  border-radius: 50%;
  margin: 6px;
  height: 10px;
  width: 10px;
}

.catalog-feature .markers .marker.active {
  background-color: #41baed;
}

.catalog-selected {
  padding: 35px;
}

@media (max-width: 768px) {
  .catalog-selected {
    padding: 20px;
  }
}

.catalog-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .catalog-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.catalog-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.catalog-selected .title-container .name {
  font-size: 26px;
}

.catalog-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .catalog-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}

.catalog-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.catalog-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.catalog-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.catalog-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container {
    flex-direction: column;
  }
}

.catalog-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row-header > div {
  height: 20px;
  width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.catalog-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row > div {
  height: 90px;
  width: 130px;
}

.catalog-selected .detail-container .info-row > div > div {
  text-align: center;
}

.catalog-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.catalog-selected .detail-container .info-row .info {
  font-size: 26px;
}

.catalog-selected .detail-container .info-row .label {
  font-size: 16px;
}

.catalog-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.catalog-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.catalog-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .button-container {
    width: 100%;
  }
}

.catalog-selected .detail-container .button-container button {
  width: 100%;
}

.catalog-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.catalog-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.catalog-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.catalog-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.catalog-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.catalog-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.catalog-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected {
  padding: 35px;
}

.exercise-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .exercise-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.exercise-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.exercise-selected .title-container .name {
  font-size: 18px;
}

.exercise-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .exercise-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 10px;
  }
}

.exercise-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.exercise-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.exercise-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.exercise-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container {
    flex-direction: column;
  }
}

.exercise-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row-header > div {
  min-height: 20px;
  min-width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.exercise-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row > div {
  min-height: 90px;
  min-width: 130px;
}

.exercise-selected .detail-container .info-row > div > div {
  text-align: center;
}

.exercise-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.exercise-selected .detail-container .info-row .info {
  font-size: 26px;
}

.exercise-selected .detail-container .info-row .label {
  font-size: 14px;
}

.exercise-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.exercise-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.exercise-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .button-container {
    width: 100%;
  }
}

.exercise-selected .detail-container .button-container button {
  width: 100%;
}

.exercise-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.exercise-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.exercise-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.exercise-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.exercise-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.exercise-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.exercise-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected .exercise-info-container {
  -webkit-flex: 0 0 400px;
  -ms-flex: 0 0 400px;
  flex: 0 0 400px;
}

.exercise-selected .sample-container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
}

.exercise-selected .sample-container .file-input-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 5px;
}

.exercise-selected .sample-container .file-input-wrapper > button {
  min-height: 35px;
  max-height: 35px;
}

.exercise-selected .sample-container .file-input-wrapper > input[type="file"] {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
}

.exercise-selected .form-fields .week-selection {
  min-height: 60px;
  margin-bottom: 25px;
  cursor: default;
}

.exercise-selected .form-fields .week-selection > div {
  min-width: 80px;
  line-height: 50px;
  font-size: 14px;
  border-bottom: 2px solid #9768EB;
  border-top: 2px solid #9768EB;
  text-align: center;
  text-transform: uppercase;
  color: #9768EB;
}

.exercise-selected .form-fields .week-selection > div:first-child {
  border-left: 2px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:last-child {
  border-right: 2px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:hover:not(.active) {
  color: #efefef;
  cursor: pointer;
  background-color: #9bd7ea;
}

.exercise-selected .form-fields .week-selection > div.active {
  color: #fefefe;
  cursor: default;
  background-color: #9768EB;
}

.exercise-selected .form-fields label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  min-height: 50px;
  padding: 2px;
}

.exercise-selected .form-fields label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
  font-size: 18px;
  letter-spacing: 0.32px;
  line-height: 27px;
}

.exercise-selected .form-fields label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  font-size: 21px;
  letter-spacing: 0.4px;
}

.exercise-selected .form-fields label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0;
  outline: 0;
  font-size: 21px;
  text-indent: 3px;
}

.exercise-selected .form-fields label select:focus {
  outline: 0;
}

.exercise-selected .form-fields label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.exercise-selected .form-fields label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 8px;
}

.catalog-history {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 275px;
}

.catalog-history .link-container {
  font-size: 18px;
  height: 70px;
  padding-left: 40px;
  padding-right: 10px;
  background-color: #efefef;
}

@media (max-width: 768px) {
  .catalog-history .link-container {
    font-size: 16px;
  }
}

.catalog-history .link-container .link {
  margin-right: 35px;
  min-height: 35px;
  min-width: 100px;
  color: #aaa;
  cursor: pointer;
}

.catalog-history .link-container .link span {
  min-height: 35px;
}

.catalog-history .link-container .link span.active {
  border-bottom: 4px solid #9768EB;
  color: #75787b;
  cursor: default;
}

.catalog-history .notify-container {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #efefef;
  padding: 5px 40px;
}

.catalog-history .notify-container > div {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  min-height: 55px;
  border-radius: 6px;
}

.catalog-history .notify-container > div .icon {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.catalog-history .notify-container > div .message {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin: 0 10px;
  width: calc(100% - 140px);
  padding: 16px 0;
}

.catalog-history .notify-container > div .close {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  line-height: 55px;
  cursor: pointer;
}

.catalog-history .notify-container .warning {
  /* background-color: #f3d95e; */
  background-color: #dac255;
  color: #fefefe;
  font-size: 15px;
  font-weight: 500;
}

.catalog-history .notify-container .warning .icon {
  /* background-color: #e9d25e; */
  background-color: #ceb74e;
}

.catalog-history .notify-container .warning .close {
  font-size: 35px;
  font-weight: 300;
  text-align: center;
}

.catalog-history .list {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-bottom: 60px;
  background-color: #efefef;
}

.catalog-history .list.scrollable-table {
  overflow: auto;
}

.catalog-history .list .list-scroll-container {
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  overflow-y: auto;
}

.catalog-history .list .list-scroll-container .list-scroll {
  min-height: 177px;
  max-height: 0px;
}

.catalog-history .list .list-scroll-container .list-scroll .schedule-program {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

.catalog-history .list .row {
  font-size: 14px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  padding: 0 40px;
  color: #888;
  min-width: fit-content;
}

.catalog-history .list .row:nth-child(even) {
  background-color: #fff;
}

.catalog-history .list .row.header {
  height: 50px;
  text-transform: uppercase;
  color: #aaa;
}

.catalog-history .list .row .text-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
}

.catalog-history .list .row .date-column {
  min-width: 100px;
  text-align: center;
}

.catalog-history .list .row .action-column {
  min-width: 100px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

.catalog-history .list .row .action-column span {
  font-weight: normal;
  font-size: 20px;
  padding: 0 6px;
}

.program-header-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit-header {
  min-height: 85px;
  margin-bottom: 30px !important;
}

.program-type-selection {
  min-height: 50px;
}

.program-type-selection > .type-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border-bottom: 2px solid transparent;
  font-size: 18px;
  color: #ddd;
  cursor: pointer;
}

.program-type-selection > .type-item .pill {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  display: inline-block;
  line-height: 25px;
  vertical-align: top;
  margin-left: 3px;
  padding: 0 10px;
  white-space: nowrap;
  background: #AFB1B4;
  color: #FFFFFF;
  border-radius: 5px;
  text-transform: uppercase;
}

.program-type-selection > .type-item.active {
  border-color: #9768EB;
  color: #75787b;
  cursor: default;
}

.program-type-selection > .type-item:hover:not(.active) {
  border-color: #9768EB;
}

.program-type-selection > .type-item + .type-item {
  margin-left: 30px;
}

.program-type-selection > .copy-controls {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-top: 8px;
}

.program-schedule-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 5px;
  margin-bottom: 5px;
}

.program-schedule-container button {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
}

.program-edit {
  margin-top: 20px;
  margin-bottom: 0px;
}

.program-edit .program-strategy-container {
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy {
  font-size: 24px;
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy i {
  -webkit-flex: 0 30px;
  -ms-flex: 0 30px;
  flex: 0 30px;
  width: 20px;
  text-align: center;
}

.program-edit .program-strategy-container .program-strategy .strategy-name {
  -webkit-flex: 1 auto;
  -ms-flex: 1 auto;
  flex: 1 auto;
  margin-left: 15px;
}

.program-edit .program-strategy-container .program-strategy .strategy-action {
  -webkit-flex: 0 180px;
  -ms-flex: 0 180px;
  flex: 0 180px;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  line-height: 30px;
  padding: 0px;
}

.program-edit .program-strategy-container + .program-strategy-container {
  margin-top: 20px;
}

.program-edit .program-technique {
  font-size: 20px;
  color: #efefef;
}

.program-edit .program-technique .counter {
  height: 100%;
  width: 40px;
  line-height: 45px;
  flex: 0 0 auto;
}

.program-edit .program-technique .name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.program-edit .program-technique .name > span {
  margin-left: 15px;
  line-height: 24px;
  padding: 4px 0;
}

.program-edit .program-technique .action {
  margin-right: 30px;
  font-size: 12px;
  font-weight: 600;
  color: #9768EB;
  cursor: pointer;
}

.program-edit .program-technique .action .icon-plus {
  font-size: 8px;
}

.program-edit .program-technique .action > span {
  margin-left: 5px;
  text-transform: uppercase;
}

.program-edit .program-exercise-container {
  min-height: 80px;
}

.program-edit .program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 0px;
  margin: 1px 0;
  min-height: 80px;
  width: 100%;
}

.program-edit .program-exercise-container > div.active-item {
  z-index: 1;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:first-child .sort-icons .icon:first-child {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:last-child .sort-icons .icon:last-child {
  visibility: hidden;
}

.program-edit .program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-edit .program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-edit .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-edit .program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon {
  color: #dedede;
  font-size: 14px;
  cursor: pointer;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon:hover {
  color: #9768EB;
}

.program-edit .program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit .program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 400;
}

.program-edit .program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div {
  margin-top: 0;
  width: auto;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-edit .program-exercise-container .program-exercise .actions {
  max-height: 38px;
  min-height: 38px;
  height: 38px;
  max-width: 180px;
  min-width: 180px;
  width: 180px;
  color: #ddd;
  font-size: 19px;
}

.program-edit-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 15px 30px;
}

.whiteboard {
  min-width: 640px;
  width: 100%;
}

.whiteboard > section {
  margin: 15px 30px;
}

.whiteboard-schedule {
  width: 100%;
}

.whiteboard-schedule .whiteboard-program {
  background-color: #ffffff;
  padding: 30px 0 15px;
}

.whiteboard-program {
  max-height: 140px;
  min-height: 140px;
  height: 140px;
  background-color: #f9f9f9;
  padding: 30px 30px 15px;
}

.whiteboard-program .name {
  font-size: 30px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .origin {
  font-size: 26px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .edit {
  margin-top: 5px;
  min-height: 25px;
}

.whiteboard-program .edit span {
  font-size: 10px;
  margin-left: 8px;
  text-transform: uppercase;
}

.whiteboard-date span {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.whiteboard-date .date-input {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  margin-bottom: 15px;
}

.whiteboard-date .date-input input {
  border: 1px solid #bbb;
  border-right: none;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  width: 100px;
  height: 30px;
  line-height: 30px;
  text-indent: 5px;
  outline: 0;
}

.whiteboard-date .date-input .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-left: none;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.whiteboard-date .date-input .input-icon i.fa {
  font-size: 16px;
}

.whiteboard-date .date-disabled .input-icon {
  background-color: #cdcdcd;
  border: 1px solid #cdcdcd;
}

.week-list {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: #f9f9f9;
  padding: 10px 30px;
}

.week-list .week-item {
  font-size: 16px;
  margin-right: 20px;
  min-height: 28px;
}

.week-list .week-item.active {
  border-bottom: 2px solid #9768EB;
}

.week-list .week-item:hover:not(.active) {
  cursor: pointer;
}

.week-list .week-copy {
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.day-list {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  margin: 20px 0;
}

.day-list .day-item {
  -webkit-justify-content: center;
  justify-content: center;
  border-top: 1px solid #9768EB;
  border-bottom: 1px solid #9768EB;
  color: #9768EB;
  font-size: 12px;
  min-height: 45px;
  min-width: 80px;
  text-transform: uppercase;
}

.day-list .day-item.active {
  background-color: #9768EB;
  color: #fefefe;
}

.day-list .day-item:hover:not(.active) {
  background-color: rgba(65, 187, 231, 0.5);
  color: #ffffff;
  cursor: pointer;
}

.day-list .day-item:first-child {
  border-left: 1px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.day-list .day-item:last-child {
  border-right: 1px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.day-list-schedule .day-item {
  background-color: #bbb;
  border-radius: 6px;
}

.day-list-schedule .day-item .drag-icon {
  max-height: 20px;
  min-height: 20px;
  height: 20px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  cursor: move;
  font-size: 12px;
  text-align: center;
}

.day-list-schedule .day-item .name {
  text-transform: uppercase;
}

.day-list-schedule .day-item + .day-item {
  margin-left: 10px;
}

.program-section {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
}

.program-section.accept-drop {
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 6px;
  padding: 10px;
}

.program-section.accept-drop .action-with-icon {
  display: none;
}

.program-section.accept-drop .name > i {
  display: none;
}

.program-section .name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 18px;
}

.program-section .name span {
  margin-right: 8px;
}

.program-section .action {
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 110px;
  min-width: 110px;
  width: 110px;
  font-size: 12px;
}

.program-section .action span {
  margin-right: 8px;
  text-transform: uppercase;
}

.program-section .action i.fa {
  font-size: 15px;
}

.program-section-placeholder > div {
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px dashed #bbb;
  border-radius: 6px;
  margin: 4px;
  width: 100%;
}

.program-section-placeholder > div span.text {
  color: #bbb;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.program-exercise-container {
  min-height: 86px;
}

.program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 6px;
  margin: 2px;
  min-height: 80px;
  width: 100%;
}

.program-exercise-container > div.active-item {
  z-index: 1;
}

.program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-exercise-container .add-exercise {
  -webkit-justify-content: center;
  justify-content: center;
  color: #aaa;
  font-size: 16px;
  border: 2px dashed #CDD3D7;
  background-color: #EFEFEF;
}

.program-exercise-container .add-exercise span {
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 13px;
  color: #CDD3D7;
  text-transform: uppercase;
}

.program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .actions {
  color: #ddd;
  font-size: 19px;
}

.accept-drop-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.accept-drop-container > span {
  text-align: center;
}

.accept-drop-container.hidden {
  display: none;
}

.sort-order-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.sort-order-container > span {
  text-align: center;
}

.sort-order-container.hidden {
  display: none;
}

.schedule-selected-athletes {
  margin-left: 50px;
  margin-bottom: auto;
}

.schedule-selected-athletes span {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  margin-bottom: 8px;
  margin-top: 12px;
}

.schedule-selected-athletes .athlete-names {
  max-width: 600px;
}

.schedule-selected-athletes .athlete-names .athlete-names-more {
  color: #9768EB;
  cursor: pointer;
  margin-left: 5px;
}

.bulk-schedule-divider {
  margin-top: 50px;
  text-align: center;
  width: 47px;
}

.bulk-schedule-divider i {
  color: #D7D9DA;
  font-size: 20px;
}

.whiteboard-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.calendar-menu {
  margin: 20px 0;
}

.calendar-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

@media only screen and (max-width: 1053px) {
  .calendar-menu > div {
    font-size: 16px;
  }
}

.calendar-menu > div.active {
  border-bottom: 2px solid #9768EB;
  cursor: default;
}

.calendar-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.calendar-menu > div + div {
  margin-left: 40px;
}

.calendar-parent {
  position: relative;
}

.calendar-month {
  -webkit-flex: 1 0 690px;
  -ms-flex: 1 0 690px;
  flex: 1 0 690px;
  max-width: 690px;
  min-width: 690px;
  width: 690px;
  margin: 1px 0 0;
}

.calendar-month .calendar-header {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border: 1px solid #ccc;
  border-top: 0;
  font-size: 18px;
  margin: -1px 0 0 -1px;
}

.calendar-month .calendar-header .fa {
  font-size: 24px;
  padding: 10px;
  box-sizing: content-box;
}

.calendar-month .calendar-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.calendar-month .calendar-header > div:first-child {
  margin-right: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header > div:last-child {
  margin-left: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header .year-container {
  position: relative;
}

.calendar-month .calendar-header .year-container select.year-select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-flex: 0.1 0 0;
  -ms-flex: 0.1 0 0;
  flex: 0.1 0 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  color: #808080;
  text-indent: 0px;
}

.calendar-month .calendar-header .year-container select.year-select:focus {
  outline: 0;
}

.calendar-month .calendar-header .year-container select.year-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.calendar-month .calendar-header .year-container select.year-select::-ms-expand {
  display: none;
}

.calendar-month .calendar-header .year-container select.year-select + i.icon-caret-down {
  position: absolute;
  top: 10px;
  right: -12px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.calendar-month .week-day-labels {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  background-color: #dfdfdf;
  color: #c0c0c0;
}

.calendar-month .week-day-labels.left > div {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-left: 6px;
}

.calendar-month .week-day-labels > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid transparent;
  color: #999;
  font-size: 13px;
  margin: -1px 0 0 -1px;
}

.calendar-month .week-day-labels > div .accept-drop-container {
  max-width: 97.5px;
  min-width: 97.5px;
  width: 97.5px;
  right: initial;
  left: initial;
}

.calendar-month .week-day-labels div:first-child {
  border-left-color: #ccc;
}

.calendar-month .week-day-labels div:last-child {
  border-right-color: #ccc;
}

.calendar-month .calendar-days {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.calendar-month .calendar-days .calendar-day {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid #ccc;
  font-size: 18px;
  margin: -1px 0 0 -1px;
  padding: 8px 12px;
}

.calendar-month .calendar-days .calendar-day.day-activities {
  background: #00B96D;
  color: #fff;
}

.calendar-month .calendar-days .calendar-day.current-day {
  background-color: #ffffff;
  border-bottom: 6px solid #9768EB;
}

.calendar-month .calendar-days .calendar-day.program-range {
  background-color: #ffffff;
}

.calendar-month .calendar-days .calendar-day.empty {
  background-color: #efefef;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number {
  margin-bottom: 5px;
  font-size: 16px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number > .month-abbrev {
  font-size: 15px;
  line-height: 28px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern,
.calendar-month .calendar-days .calendar-day .calendar-day-existing {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  min-height: 15px;
  font-size: 11px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern i,
.calendar-month .calendar-days .calendar-day .calendar-day-existing i {
  margin: 2px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern {
  margin-top: 10px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 9px;
}

@media (max-width: 768px) {
  .calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
    max-width: 100%;
    min-width: unset;
  }
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled i {
  margin: 2px;
}

.calendar-month.input-ctl {
  -webkit-flex: 1 0 280px;
  -ms-flex: 1 0 280px;
  flex: 1 0 280px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  box-shadow: 6px 6px 18px 0px #4a4a4a;
  background-color: #fff;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 10;
  margin: 1px 0;
  font-weight: 500;
}

.calendar-month.input-ctl.right {
  left: inherit;
  right: 0;
}

.calendar-month.input-ctl .calendar-header {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  border-top: 1px solid #ccc;
  font-size: 14px;
  cursor: default;
}

.calendar-month.input-ctl .calendar-header .icon {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-week-header {
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  background-color: #aaa;
}

.calendar-month.input-ctl .calendar-week-header > div {
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  color: #dfdfdf;
  cursor: default;
  font-weight: 600;
  text-align: center;
  border: 2.1275px solid transparent;
  margin: 2px;
}

.calendar-month.input-ctl .calendar-days {
  margin-bottom: 5px;
}

.calendar-month.input-ctl .calendar-days .calendar-day {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  margin: 2px;
  border: 2.1275px solid transparent;
  border-radius: 100%;
  padding: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.empty {
  border-radius: 0;
  background-color: transparent;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-day {
  border: 2.1275px solid #9768EB;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range {
  background-color: #def5fd;
  border-radius: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range:hover {
  border-radius: 100%;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range .calendar-day-number {
  color: #8d8d8d;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty) {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty):hover {
  background-color: #eee;
}

.calendar-month.input-ctl .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  text-align: center;
  margin-bottom: 0;
}

.calendar-day-info {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
}

.calendar-day-info .day-date {
  border-bottom: 1px solid #ccc;
  font-size: 13px;
  font-weight: 600;
  margin: 35px 0 20px;
  min-height: 40px;
  text-transform: uppercase;
}

.calendar-day-info .day-date > .icon-calendar {
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-radius: 3px;
  padding: 5px;
  margin-left: 7px;
  line-height: 28px;
  font-size: 15px;
  color: #efefef;
}

.calendar-day-info .day-program {
  max-width: 295px;
  min-width: 295px;
  width: 295px;
  letter-spacing: 0.75px;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 500;
}

.calendar-day-info .day-program .light-grey-text {
  color: #A7A8A7;
}

.calendar-day-info .day-program.action {
  cursor: pointer;
}

.week-main-wrapper {
  padding: 0 !important;
}

.week-wrapper {
  padding: 0 !important;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 425px;
  /* height: 425; */
}

.week-wrapper.small {
  min-height: 225px;
  /* height: 225px; */
}

.week-wrapper .week-button-column {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 700;
  min-width: 20px;
}

.week-wrapper .week-button-column > div {
  cursor: pointer;
}

@media only screen and (min-width: 1054px) {
  .week-wrapper .week-button-column .fa-angle-left {
    margin-left: -25px;
  }

  .week-wrapper .week-button-column .fa-angle-right {
    margin-right: -25px;
  }
}

.week-wrapper .week-day-column {
  border-left: 1px solid #ddd;
  min-width: 140px;
}

.week-wrapper .week-day-column .day-number {
  -webkit-align-self: flex-start;
  align-self: flex-start;
  color: #aaa;
  font-size: 16px;
  margin: 10px 15px;
}

.week-wrapper .week-day-column .week-day-info-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 100%;
  padding-bottom: 5px;
}

.week-wrapper .week-day-column .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #aaa;
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program {
  width: 130px;
  max-width: 100%;
  background-color: #fefefe;
  border-radius: 6px;
  color: #bbb;
  font-size: 13px;
  font-weight: 200;
  margin: 4px 0;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  .week-wrapper .week-day-column .week-day-info-container .week-day-program {
    flex-direction: column;
    gap: 4px;
  }
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program.action {
  cursor: pointer;
}

.week-wrapper .week-day-column:nth-last-child(2) {
  border-right: 1px solid #ddd;
}

.week-wrapper .week-day-column.current-day {
  background-color: #ffffff;
}

.week-wrapper .week-day-column.current-day .day-number {
  color: #808080;
}

.week-wrapper .week-day-column.current-day .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program {
  background-color: #f4f4f4;
  color: inherit;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-title:not(.light-grey-text) {
  color: #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-name:not(.light-grey-text) {
  color: #888888;
}

.chart-menu {
  margin: 50px 0 30px 0;
}

.chart-menu .chart-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #a0a4a8;
  margin-right: 40px;
}

@media only screen and (max-width: 1053px) {
  .chart-menu .chart-menu-item {
    font-size: 16px;
  }
}

.chart-menu .chart-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.chart-menu .chart-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.line-chart {
  margin: 25px 0 0 0;
}

.line-chart .line-chart-canvas {
  max-height: 350px;
  min-height: 350px;
  height: 350px;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
}

.line-chart .line-chart-canvas.small {
  max-height: 275px;
  min-height: 275px;
  height: 275px;
  max-width: 550px;
  min-width: 550px;
  width: 550px;
}

.line-chart .line-chart-menu {
  font-size: 14px;
  margin: 25px 0;
}

.program-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
  margin: 25px 0 0 0;
  min-height: 350px;
}

.program-chart .program-complete {
  margin: 5px 15px;
}

.program-chart .program-complete .program-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 6px;
}

.program-chart .program-complete .program-info .program-title {
  font-weight: 600;
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .program-name {
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .icon {
  color: #cdcdcd;
  font-size: 10px;
}

.program-chart .program-complete canvas {
  height: 60px;
  width: 310px;
}

.selection-component {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  position: relative;
}

.selection-component:after {
  color: #ffffff;
  content: '>';
  font: 600 12px 'Consolas', monospace;
  position: absolute;
  top: 6px;
  right: 12px;
  padding: 0 0 3px;
  pointer-events: none;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.selection-component:before {
  background-color: #9768EB;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  right: 6px;
  width: 20px;
  height: inherit;
  pointer-events: none;
}

.selection-component select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #9768EB;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  margin: 0;
  outline: none;
  padding-left: 10px;
  text-transform: uppercase;
  width: 100%;
}

.chart-legend {
  font-size: 14px;
  margin: 0 20px;
}

.chart-legend > .fa {
  margin-right: 5px;
}

.chart-legend > .fa.average {
  color: rgba(207, 218, 220, 0.5);
}

.chart-legend > .fa.score {
  color: rgba(0, 182, 235, 0.9);
}

.chart-legend > .fa.team-average {
  color: rgba(125, 125, 125, 0.75);
}

.chart-legend > .fa.completed {
  color: rgba(32, 183, 105, 0.8);
}

.chart-legend > .fa.scheduled {
  color: #dfdfdf;
}

.chart-details {
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  margin-top: 16px;
}

.chart-details .chart-date-header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  margin-bottom: 4px;
  -webkit-align-items: center;
  align-items: center;
}

.chart-details .chart-date-header i {
  font-size: 18px;
  display: none;
}

.chart-details .chart-date {
  max-height: 22px;
  min-height: 22px;
  height: 22px;
  color: #75777A;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.chart-details .main-score {
  margin-top: 5px;
}

.chart-details .value-badge {
  color: #9768EB;
  font-size: 48px;
  font-weight: 100;
  margin-bottom: -6px;
}

.chart-details .value-label {
  text-align: center;
  max-width: 120px;
}

.chart-details .value-large {
  font-size: 56px;
  font-weight: 100;
  line-height: 56px;
  margin-right: 20px;
}

.chart-details .value-change-icon.fa-sort-asc {
  font-weight: 100;
  margin-top: 4px;
}

.chart-details .value-change-icon.fa-sort-desc {
  font-weight: 100;
  margin-bottom: 6px;
}

.chart-details .value-change-icon.unchanged {
  color: #808080;
}

.chart-details .value-change-icon.increase {
  color: #20b769;
}

.chart-details .value-change-icon.decrease {
  color: #c42a3b;
}

.chart-details .value-change {
  font-size: 14px;
  font-weight: 500;
  margin-left: 6px;
}

.chart-details .value-change.unchanged {
  color: #808080;
}

.chart-details .value-change.increase {
  color: #20b769;
}

.chart-details .value-change.decrease {
  color: #c42a3b;
}

.chart-details .info-label {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.chart-details .chart-stats-container {
  margin-top: 20px;
}

.chart-details .test-results-button-container {
  flex: 1;
  padding: 15px 0px;
}

.chart-details .chart-stats {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 15px 0;
}

.chart-details .chart-stats .name {
  font-size: 12px;
}

.chart-details .chart-stats .value {
  font-size: 26px;
  font-weight: 100;
  line-height: 34px;
}

.chart-details .chart-stats-grid .chart-stats {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  border-top: none;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(-n+2) {
  border-top: 1px solid #ccc;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(odd) {
  border-right: 1px solid #ccc;
}

.chart-details .pie-chart-container {
  margin-top: 20px;
  margin-bottom: -20px;
}

.chart-details .pie-chart {
  color: #aaa;
  font-size: 13px;
  margin-bottom: 20px;
}

.chart-details .pie-chart > div {
  margin-top: 10px;
}

.chart-details .pie-chart .pie-chart-canvas {
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  max-width: 70px;
  min-width: 70px;
  width: 70px;
}

.chart-details .rpe-container {
  margin-top: 10px;
}

.chart-details .rpe-container .red-text,
.chart-details .rpe-container .green-text {
  font-weight: 500;
  margin-left: 3px;
}

.chart-details .rpe-container div + div {
  margin-left: 20px;
}

.chart-details .program-week {
  margin-top: 20px;
  padding: 18px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.chart-details .trophies {
  margin-top: 20px;
}

.chart-details .trophies .trophy-image {
  margin-right: 6px;
  display: inline-block;
  width: 28px;
  position: relative;
  margin-top: -13px;
}

.chart-details .trophies .trophy-image.trophy-image--badge {
  margin-top: 0;
  width: 24px;
}

.chart-details .trophies .trophy-icon {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 28px;
  min-width: 28px;
  width: 28px;
  margin-top: -11px;
  margin-right: 5px;
}

.chart-details .trophies .trophy-icon img {
  display: block;
}

.chart-details .trophies .trophy-place {
  padding: 0 6px;
  font-size: 30px;
  font-weight: 100;
}

.chart-details .trophies .trophy-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin-left: 13px;
  font-size: 14px;
  line-height: 16px;
}

.chart-details .no-details {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  padding-bottom: 100px;
}

.notes-menu {
  margin: 15px 0;
}

.notes-menu .notes-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 18px;
  line-height: 20px;
}

.notes-menu .notes-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.notes-menu .notes-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.notes-menu .notes-menu-item + .notes-menu-item {
  margin-left: 45px;
}

.notes-calendar {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 492px;
  min-width: 492px;
  width: 492px;
}

.notes-calendar .calendar-header {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  margin: 1px 1px 0 -1px;
  background-color: #efefef;
  border: 1px solid #ccc;
  font-size: 16px;
  cursor: default;
}

.notes-calendar .calendar-header .icon {
  cursor: pointer;
}

.notes-calendar .week-day-labels {
  margin: 0 1px 0 0;
}

.notes-calendar .week-day-labels > div {
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  font-size: 12px;
  color: #999;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 3px;
  align-items: center;
  justify-content: center;
}

.notes-calendar .calendar-days {
  margin: 0 1px 5px 0;
  background-color: #efefef;
}

.notes-calendar .calendar-days .calendar-day {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  min-height: 0;
  max-height: none;
  height: 62px;
  margin: -1px 0px 0px -1px;
  border: 1px solid #cdcdcd;
  font-size: 16px;
  padding: 0;
  color: #cdcdcd;
}

.notes-calendar .calendar-days .calendar-day.current-day {
  color: #9768EB;
}

.notes-calendar .calendar-days .calendar-day.day-activities {
  background-color: #2d8b00;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities) {
  cursor: pointer;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities):hover {
  opacity: 0.8;
}

.notes-calendar .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  line-height: 32px;
  text-align: left;
  padding: 8px 12px;
  font-size: 18px;
  font-size: 16px;
}

.bc-section,
.tl-section,
.soap-section {
  margin-top: 20px;
}

.soap-label.fields-header.high-level-field-label {
  margin-top: 20px;
  margin-bottom: 0px;
}

.bc-bodyfat {
  position: relative;
}

.bc-bodyfat > .basic-input.small {
  width: 80px;
}

.bc-bodyfat:after {
  content: '%';
  position: absolute;
  top: 0;
  left: 60px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

.bc-alert {
  width: 75%;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .bc-alert {
    width: 100%;
  }
}

.tl-total-load {
  margin-left: 15px;
}

.tl-total-load > .basic-input.small {
  width: 70px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
  color: #9768EB;
}

.bc-entry-header > .field-label + .field-label,
.bc-entry > .field-label + .field-label {
  margin-left: 20px;
}

@media (max-width: 568px) {
  .bc-entry-header > .field-label + .field-label,
  .bc-entry > .field-label + .field-label {
    margin-left: 10px;
  }
}

.bc-entry-header .bc-input,
.bc-entry .bc-input {
  min-width: 160px;
  max-width: 160px;
}

.bc-entry-header .bc-filler,
.bc-entry .bc-filler {
  min-width: 10px;
  max-width: 10px;
}

@media (max-width: 568px) {
  .bc-filler-resp {
    min-width: 0 !important;
    max-width: 0 !important;
    margin-left: 0 !important;
  }
}

.tl-entry-header > .field-label + .field-label,
.tl-entry > .field-label + .field-label {
  margin-left: 20px;
}

.tl-entry-header .tl-select,
.tl-entry .tl-select {
  min-width: 215px;
  max-width: 215px;
}

.tl-entry-header .tl-input,
.tl-entry .tl-input {
  min-width: 100px;
  max-width: 100px;
}

.tl-entry-header .tl-filler,
.tl-entry .tl-filler {
  min-width: 10px;
  max-width: 10px;
}

.resp-notes-column {
  overflow: auto;
}

.bc-entry .bc-input {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.bc-entry .bc-input > .basic-input.small {
  width: 130px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-input-bf {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-left: 0 !important;
}

.bc-entry .bc-input-bf > .basic-input.small {
  width: 80px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-unit {
  margin-left: -34px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.bc-entry .bc-unit-bf {
  margin-left: -24px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.tl-entry .tl-select-input {
  position: relative;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  padding: 5px 13px;
  font-size: 16px;
}

.tl-entry .tl-select-input .select-toggle {
  min-width: 185px;
  max-width: 185px;
}

.tl-entry .tl-select-input .select-toggle i {
  position: absolute;
  top: 14px;
  right: 10px;
  font-size: 6px;
}

.tl-entry .tl-select-input .options {
  position: absolute;
  top: 37px;
  left: 0px;
  overflow-y: auto;
  background-color: #dfdfdf;
  min-width: 220px;
  max-height: 180px;
  z-index: 2;
}

.tl-entry .tl-select-input .options > div {
  margin-top: 1px;
  margin-bottom: 3px;
  padding-left: 12px;
  min-height: 28px;
  line-height: 28px;
  cursor: pointer;
}

.tl-entry .tl-select-input .options > div:hover {
  background-color: #efefef;
}

.tl-entry .tl-input > .basic-input.small {
  width: 100px;
}

.tl-entry .tl-calculated-load > .basic-input.small {
  width: 100px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
}

.tl-entry .tl-delete {
  font-size: 20px;
  color: #9768EB;
  cursor: pointer;
}

.bc-free-form,
.tl-free-form {
  width: 75%;
  font-size: 16px;
}

@media (max-width: 768px) {
  .bc-free-form,
  .tl-free-form {
    width: 100%;
  }
}

.soap-date > * {
  width: 170px;
}

.soap-date .date-input > .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 35px;
  min-width: 40px;
  max-width: 40px;
  margin-right: 3px;
  background-color: #9768EB;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  font-size: 20px;
  color: #ffffff;
}

.soap-text-container {
  page-break-inside: avoid;
}

.soap-treatments .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-options {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-options .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-text {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-text .basic-input {
  width: 180px;
  margin-bottom: 8px;
}

.soap-objective.field div textarea {
  height: 85px;
  margin-bottom: 10px;
}

.fa-notes {
  margin: -10px 0px 0px 12px;
  color: #9768EB;
  font-size: 7px;
}

@media (max-width: 568px) {
  .resp-form-post-buttons {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 20px 0 60px 0 !important;
    gap: 8px;
    width: 100%;
  }

  .resp-form-post-buttons > button {
    width: 100% !important;
    margin: 0 !important;
  }
}

.time-span-question {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.time-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 24px;
}

.time-label {
  width: 103px;
  display: block;
  font-size: 13px;
  letter-spacing: .21px;
  line-height: 19px;
  color: #6C6D6C;
  text-transform: uppercase;
}

.button-select {
  display: inline-block;
  cursor: pointer;
}

.button-select + .button-select {
  margin-left: 6px;
}

.button-select.secondary .select-trigger {
  background: #D9DBDC;
}

.button-select.small .select-trigger {
  width: 69px;
}

.button-select.indented .select-trigger {
  padding-left: 15px;
}

.button-select .select-trigger {
  color: #fff;
  background: #9768EB;
  border-radius: 3px;
  width: 69px;
  position: relative;
}

.button-select .select-trigger .current-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 10px 8px 10px 10px;
}

.button-select .select-trigger .current-selection .current {
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  color: #fff;
}

.button-select .select-trigger .current-selection .icon-caret-down {
  font-size: 5px;
  bottom: -4px;
  position: relative;
}

.button-select .select-trigger .time-options-hidden {
  display: none;
}

.button-select .select-trigger .time-options {
  color: #9768EB;
  border-color: #9768EB;
  background: #fff;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 17px;
  font-weight: bold;
  border-style: solid;
  border-top-width: 0px;
  border-radius: 0px 0px 3px 3px;
  width: 69px;
  position: absolute;
  z-index: 10;
}

.button-select .select-trigger .time-options.secondary {
  color: #D9DBDC;
  border-color: #D9DBDC;
}

.button-select .select-trigger .time-options.secondary .time-option:hover {
  color: #fff;
  background: #D9DBDC;
}

.button-select .select-trigger .time-options .time-option {
  padding: 3px 14px 3px 7px;
}

.button-select .select-trigger .time-options .time-option:hover {
  color: #fff;
  background: #9768EB;
}

.tooltipHidden {
  display: none;
}

.tooltip,
.tooltip-right,
.tooltip-bottom,
.tooltip-autoschedule,
.tooltip-left {
  position: absolute;
  min-width: 300px;
  max-width: 360px;
  width: max-content;
  width: -webkit-max-content;
  min-height: 72px;
  top: -130%;
  left: 65px;
  z-index: 10;
  border-radius: 6px;
  padding: 20px 25px;
  font-size: 16px;
  font-family: Nudista-web;
  background-color: #2e2e2e;
  color: white;
  line-height: 24px;
  text-align: left;
  letter-spacing: .35px;
}

.tooltip .ttContent,
.tooltip-right .ttContent,
.tooltip-bottom .ttContent,
.tooltip-autoschedule .ttContent,
.tooltip-left .ttContent {
  color: #929392;
  font-weight: 400;
  text-transform: none;
}

.tooltip .ttTitle,
.tooltip-right .ttTitle,
.tooltip-bottom .ttTitle,
.tooltip-autoschedule .ttTitle,
.tooltip-left .ttTitle {
  height: 40px;
  text-transform: none;
}

@media (max-width: 768px) {
  .tooltip,
  .tooltip-right,
  .tooltip-bottom,
  .tooltip-autoschedule,
  .tooltip-left {
    font-size: 14px;
    padding: 15px 18px;
  }
}

.tooltip-bottom {
  top: 55px;
  left: -125px;
}

.tooltip-autoschedule {
  left: -85px;
  top: -290px;
}

.tooltip-left {
  left: inherit;
  right: 45px;
}

.tooltip:after,
.tooltip-right:after,
.tooltip-bottom:after,
.tooltip-autoschedule:after,
.tooltip-left:after {
  position: absolute;
  left: -20px;
  top: 15px;
  border-color: transparent #2e2e2e;
  border-style: solid;
  border-width: 20px 20px 20px 0px;
  height: 0px;
  width: 0px;
  content: " ";
}

@media (max-width: 768px) {
  .tooltip:after,
  .tooltip-right:after,
  .tooltip-bottom:after,
  .tooltip-autoschedule:after,
  .tooltip-left:after {
    display: none;
  }
}

.tooltip-bottom:after {
  left: 130px;
  top: -20px;
  border-color: #2e2e2e transparent;
  border-width: 0px 20px 20px 20px;
}

.tooltip-autoschedule:after {
  left: 160px;
  top: 250px;
  border-color: #2e2e2e transparent;
  border-width: 20px 20px 0px 20px;
}

.tooltip-left:after {
  left: inherit;
  right: -20px;
  border-width: 20px 0px 20px 20px;
}

.tooltipClose {
  float: right;
  padding: 0px 10px 3px 0px;
  color: lightblue;
  cursor: default;
  font-size: 24px;
}

.chart-tooltip {
  position: absolute;
  min-width: 255px;
  max-width: 300px;
  min-height: 100px;
  padding: 10px;
  background-color: #2e2e2e;
  z-index: 1;
  cursor: default;
  pointer-events: none;
}

.chart-tooltip .header {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #efefef;
}

.chart-tooltip .content {
  font-size: 13px;
  margin-top: 6px;
  margin-bottom: 6px;
}

.chart-tooltip .content > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 20px;
  max-height: 20px;
}

.chart-tooltip .content > div > i {
  min-width: 16px;
}

.chart-tooltip .content > div > div {
  margin-left: 6px;
}

.chart-tooltip .content > div.completed {
  color: #16884e;
}

.chart-tooltip.hidden {
  visiblity: hidden;
}

.chart-tooltip.bottom:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.top:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  left: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 10px 10px 0;
}

.chart-tooltip.right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  right: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 0 10px 10px;
}

.fa {
  transform: none !important;
}

.upload-container .upload-section {
  max-height: 200px;
  min-height: 200px;
  height: 200px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  border: 2px dashed #ddd;
  font-size: 20px;
  color: #bbb;
  cursor: pointer;
  position: relative;
}

.upload-container .upload-section > .upload-message {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  text-align: center;
}

.upload-container .upload-section > .upload-preview {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fefefe;
}

.upload-container > input[type='file'] {
  opacity: 0;
}

div.image-control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 280px;
  min-height: 280px;
  height: 280px;
  margin-top: 40px;
}

div.image-control .image-label {
  padding-top: 40px;
}

div.image-control .silent-file-input {
  width: 240px;
}

.image-buttons button {
  max-height: 25px;
  min-height: 25px;
  height: 25px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 11px;
}

.active-upload {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
}

.active-upload .file-info {
  margin-bottom: 10px;
  font-size: 14px;
}

.active-upload .file-info .file-info-size {
  font-size: 12px;
}

.active-upload .progress-bar-container {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #dedede;
}

.active-upload .progress-bar-container > .progress-bar {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #9768EB;
  font-size: 12px;
  font-weight: 600;
  color: #efefef;
  text-indent: 6px;
}

.active-upload .progress-bar-container > .progress-bar.success {
  background-color: #9768EB;
}

.active-upload .progress-bar-container > .progress-bar.error {
  background-color: #af0a2f;
}

.active-upload .message {
  margin-top: 10px;
}

.exercise_container {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  position: relative;
}

.exercise_nav {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.exercise_nav .search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
}

.exercise_nav .search input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: none;
  font-size: 20px;
  font-weight: 200;
  height: 49px;
  line-height: 20px;
  text-indent: 15px;
  outline: none;
}

.exercise_nav .search button[type='reset'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  background-color: #bbb;
  border: none;
  color: #fefefe;
  font-size: 12px;
  margin: 0 10px;
  min-height: 30px;
}

.exercise_nav .search button[type='submit'] {
  -webkit-flex: 0;
  -ms-flex: 0;
  flex: 0;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: transparent;
  border: none;
  color: #fefefe;
  margin: 0px;
  min-height: 30px;
}

.exercise_nav .search i.fa {
  font-size: 20px;
  color: #bbb;
}

.exercise_nav .add {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 10px;
}

.exercise_nav .add i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise_nav .add strong {
  -webkit-flex: 0.975;
  -ms-flex: 0.975;
  flex: 0.975;
}

.exercise_nav .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #bbb;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_nav .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #bbb;
}

.exercise_nav .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_nav .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_nav .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_nav .list {
    height: 0;
  }
}

.exercise_select {
  -webkit-flex: 1 0 300px;
  -ms-flex: 1 0 300px;
  flex: 1 0 300px;
  background-color: #ffffff;
  overflow-y: auto;
}

.exercise_select .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_select .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #ddd;
}

.exercise_select .list > div:not(.filler) .exercise-item > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.exercise_select .list > div:not(.filler) .exercise-item .name {
  font-size: 18px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 14px;
  width: 40px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  margin: 0 12px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon:hover {
  color: #9768EB;
  border-color: #9768EB;
}

.exercise_select .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_select .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_select .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_select .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_select .list {
    height: 0;
  }
}

.filters {
  max-height: 100px;
  min-height: 100px;
  height: 100px;
}

.filters > fusion-drop-down,
.filters > fusion-ordered-drop-down,
.filters > div {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  /***** NOTE ******
    since the height is being recalculated
    only set the min-height
    @include lock-height(50px);
    ***** EBD NOTE ******/
  max-width: 50%;
  min-height: 50px;
  position: relative;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
  padding-left: 20px;
  padding-right: 10px;
}

.filters > fusion-drop-down .select-toggle,
.filters > fusion-ordered-drop-down .select-toggle,
.filters > div .select-toggle {
  width: 100%;
  cursor: pointer;
}

.filters > fusion-drop-down .select-toggle.disabled,
.filters > fusion-ordered-drop-down .select-toggle.disabled,
.filters > div .select-toggle.disabled {
  cursor: default;
}

.filters > fusion-drop-down .select-toggle.disabled span,
.filters > fusion-ordered-drop-down .select-toggle.disabled span,
.filters > div .select-toggle.disabled span {
  font-style: italic;
}

.filters > fusion-drop-down .select-toggle.disabled i,
.filters > fusion-ordered-drop-down .select-toggle.disabled i,
.filters > div .select-toggle.disabled i {
  display: none;
}

.filters > fusion-drop-down .select-toggle span,
.filters > fusion-ordered-drop-down .select-toggle span,
.filters > div .select-toggle span {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.filters > fusion-drop-down .select-toggle i.fa,
.filters > fusion-ordered-drop-down .select-toggle i.fa,
.filters > div .select-toggle i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.filters > fusion-drop-down .options,
.filters > fusion-ordered-drop-down .options,
.filters > div .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 215px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

.filters > fusion-drop-down .options > div,
.filters > fusion-ordered-drop-down .options > div,
.filters > div .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

.filters > fusion-drop-down .options > div:hover,
.filters > fusion-ordered-drop-down .options > div:hover,
.filters > div .options > div:hover {
  background-color: #ccc;
}

.filters > fusion-drop-down > div,
.filters > fusion-ordered-drop-down > div {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
}

.filters > fusion-drop-down.required .select-toggle > span,
.filters > fusion-ordered-drop-down.required .select-toggle > span {
  color: #ff0000;
}

.exercise-item {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #ffffff;
  margin: 10px;
}

.exercise-item .icon {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise-item .icon.toggle {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  font-size: 6px;
}

.exercise-item .icon.toggle.down {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  padding-top: 24px;
}

.exercise-item .icon.toggle.right {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.exercise-item .name {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.exercise-item .name .no-wrap-ellipse {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exercise-item.active-item {
  z-index: 1;
}

.exercise-item.active-item .icon {
  visibility: hidden;
}

.exercise-item.dragging-element {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
  transform: scale(1.1, 1.1) !important;
  transform-origin: right center !important;
}

.exercise-item.dragging-element .icon {
  visibility: hidden;
}

.no-match {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  font-size: 16px;
  font-weight: 600;
  margin: 10px;
}

/* modal junk */

.modal-container.modal-exercise-detail header {
  /* @include lock-height(75px); */
  border: none;
}

.modal-container.modal-exercise-detail header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-detail footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-detail section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-detail section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-detail section.video-view {
  max-width: 600px;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section.image-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-exercise-detail section.image-view > img {
  max-width: 360px;
  min-width: 360px;
}

.modal-container.modal-exercise-detail .missing-media {
  width: 100%;
  border: 1px solid #efefef;
  color: #dedede;
  font-size: 24px;
  font-weight: 300;
}

.modal-container.modal-exercise-form header {
  border: none;
}

.modal-container.modal-exercise-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-exercise-form form label button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.modal-container.modal-exercise-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-form section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-form section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-form section .filters {
  background-color: #f9f9f9;
  width: 100%;
}

.modal-container.modal-exercise-form section span {
  font-size: 16px;
}

.modal-container.modal-exercise-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-exercise-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-exercise-form section textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #bbb;
  font-size: 16px;
  font-weight: normal;
  margin: 10px 40px 10px 0;
  height: 140px;
  outline: 0;
  padding-top: 4px;
  padding-left: 4px;
}

.modal-container.modal-exercise-form section textarea.large {
  min-height: 300px;
}

.modal-container.modal-exercise-form section textarea.larger {
  min-height: 450px;
}

.modal-container.modal-exercise-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  position: relative;
  border-top: 1px solid #bbb;
  min-height: 25px;
}

.modal-container.modal-exercise-form section label:last-of-type {
  border-bottom: 1px solid #bbb;
}

.modal-container.modal-exercise-form section label span {
  margin: 10px;
  margin-left: 40px;
  min-width: 150px;
}

.modal-container.modal-exercise-form section label input {
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  border: none;
  font-size: 16px;
  line-height: 30px;
  margin: 1px;
  outline: 0;
}

.modal-container.modal-exercise-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-left: 1px solid #bbb;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-exercise-form section label select:focus {
  outline: 0;
}

.modal-container.modal-exercise-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-exercise-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-exercise-form section label select + i.fa {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  color: #ccc;
  font-size: 16px;
  width: 20px;
  height: 20px;
  margin: auto 0;
  pointer-events: none;
  text-align: center;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div label {
  border: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div span {
  font-size: 18px;
  margin: 0;
  min-width: 0;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div i {
  font-size: 18px;
  margin-left: 10px;
  cursor: pointer;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div + div {
  margin-left: 25px;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label {
  border-top: none;
  border-bottom: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label > select {
  border-left: none;
  text-indent: 40px;
  font-size: 18px;
  color: #75777a;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label + label > select {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-exercise-form .week-selection {
  padding: 5px 15px;
  cursor: default;
}

.modal-container.modal-exercise-form .week-selection > div {
  margin: 0 10px;
  min-height: 28px;
  font-size: 18px;
  color: #a0a4a8;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.modal-container.modal-exercise-form .week-selection > div.active {
  color: #75777a;
  border-bottom-color: #9768EB;
}

/* drag-n-drop junk */

/* should be moved to own file (clearly) */

.drag-hidden {
  visibility: hidden;
}

.drag-move-scroll-anchor {
  position: fixed;
  left: 0;
  right: 0;
  background-color: rgba(155, 155, 155, 0.275);
  height: 20px;
  z-index: 1;
}

.drag-move-scroll-anchor.top {
  top: 0;
}

.drag-move-scroll-anchor.bottom {
  bottom: 0;
}

.drop-hidden {
  display: none;
}

.drop-target:not(.drop-empty) {
  border: 2px dashed #cdd3d7;
}

.drop-target.drop-target-over:not(.add-section) {
  border: 2px dashed #4cbb17 !important;
}

.drop-target.drop-target-over.add-section > div {
  border-color: #4cbb17 !important;
}

.drop-target.drop-target-over .add-exercise {
  display: none;
}

.dragging-element {
  position: absolute;
  border: 2px solid #888;
  transform: scale(0.9, 0.9) !important;
  transform-origin: left center !important;
  z-index: 10;
  pointer-events: none;
}

@media (max-width: 768px) {
  .resp-program-menu {
    flex-direction: column;
    justify-content: flex-start;
  }

  .resp-program-menu .catalog_container > div {
    position: static;
    overflow: visible;
  }

  .resp-program-menu .opened-container,
  .resp-program-menu .closed-container {
    flex: none;
    height: auto;
    max-height: none;
  }

  .resp-program-menu .catalog-banner,
  .resp-program-menu .catalog-search,
  .resp-program-menu .catalog_nav_wrapper {
    height: auto;
  }

  .resp-program-menu .catalog_container {
    flex: none;
    min-height: auto;
    height: auto;
    position: static;
  }

  .resp-program-menu ul.catalog_nav {
    margin-bottom: 20px;
  }
}

.catalog_container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
  min-height: 500px;
  position: relative;
}

.catalog_container > div.catalog-scrollable {
  overflow-y: auto;
}

.catalog_container > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.catalog_container > div > div.opened-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 100%;
}

.catalog_container > div > div.closed-container {
  -webkit-flex: 1 1 52px;
  -ms-flex: 1 1 52px;
  flex: 1 1 52px;
  max-height: 52px;
}

.catalog-banner {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
  background-color: #9768EB;
  margin: 1px 0;
}

.catalog-banner i.circled-icon {
  margin: 0 15px;
  border: 2px solid #9768EB;
  color: #9768EB;
}

.catalog-banner span {
  color: #efefef;
  font-size: 16px;
}

.catalog-search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
}

.catalog-search form {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #fefefe;
}

.catalog-search form input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: transparent;
  border: none;
  font-size: 20px;
  font-weight: 500;
  height: 49px;
  letter-spacing: 0.39px;
  text-indent: 15px;
  outline: none;
}

.catalog-search form button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.catalog_nav_wrapper {
  height: 100%;
}

.catalog_nav {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
  background-color: #ffffff;
  border-right: 1px solid #ebebeb;
  overflow-y: auto;
  height: auto;
}

.catalog_nav .category-icon {
  margin: 0 18px;
  min-width: 20px;
  font-size: 24px;
}

.catalog_nav .add-icon {
  font-size: 12px;
  margin: 0 15px;
  min-width: 12px;
}

ul.catalog_nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.catalog_nav li {
  background-color: #f0f0f0;
  font-size: 18px;
  font-weight: 400;
  margin: 5px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  cursor: pointer;
}

ul.catalog_nav li > span {
  min-height: 45px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

ul.catalog_nav li .category-state {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  font-size: 12px;
  margin: 0 20px;
  min-width: 12px;
}

ul.catalog_nav li .category-open .category-state:before {
  content: "\E620";
}

ul.catalog_nav li .category-close .category-state:before {
  content: "\E62F";
}

ul.catalog_nav li.exercise-technique > span {
  text-indent: 20px;
  font-size: 16px;
}

ul.catalog_nav li.exercise-technique > ul {
  padding: 0;
}

ul.catalog_nav li.exercise-technique > ul li {
  font-weight: normal;
  min-height: 24px;
}

ul.catalog_nav li.exercise-technique > ul li:hover {
  text-decoration: underline;
}

ul.catalog_nav li.exercise-technique > ul li > span {
  min-height: 24px;
  text-indent: 30px;
  text-transform: none;
}

ul.catalog_nav li > ul {
  background-color: #fff;
  margin: 0;
  padding: 10px 0 0 0;
}

ul.catalog_nav li > ul li {
  background-color: #fff;
  font-size: 12px;
  font-weight: 600;
}

ul.catalog_nav li > ul li > span {
  min-height: 30px;
  text-indent: 30px;
  text-transform: uppercase;
}

ul.catalog_nav li > ul li > ul {
  padding: 0;
}

ul.catalog_nav li > ul li > ul li {
  font-weight: normal;
  min-height: 30px;
  text-indent: 50px;
}

ul.catalog_nav li > ul li > ul li:hover {
  text-decoration: underline;
}

.login-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #efefef;
}

.login-container .login-modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 476px;
  min-width: 476px;
  width: 476px;
  background-color: #FCFCFC;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 47px 0 22px;
}

.login-container .login-modal > img {
  -webkit-align-self: center;
  align-self: center;
}

.login-container .login-modal .login-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 32px;
  margin: 28px 15px 30px;
  color: #9768EB;
}

.login-container .login-modal .login-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .login-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .login-form > input {
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .login-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input + input {
  border-top: 0;
}

.login-container .login-modal .login-form .login-buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-evenly;
  justify-content: space-evenly;
  margin: 0px 30px;
}

.login-container .login-modal .login-form .login-buttons > button {
  -webkit-align-self: center;
  align-self: center;
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 100%;
}

.login-container .login-modal .reset-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .reset-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .reset-form > input {
  margin: 28px 0 0;
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .reset-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input + input {
  border-top: 0;
}

.login-container .login-modal .reset-form .secondPassword {
  margin: 0 0 0;
}

.login-container .login-modal .reset-form .button-collection {
  -webkit-align-self: center;
  align-self: center;
  margin: 28px 0 0;
}

.login-container .login-modal .reset-form .button-collection > button {
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 200px;
}

.login-container .login-modal .message {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 11px 15px;
}

.login-container .login-modal .description {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  margin: 11px 15px;
}

.login-container .login-modal .login-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 12px;
}

.login-container .login-modal .login-link > a {
  color: #aaa;
  word-spacing: 2px;
}

.loginRememberMe {
  margin: 28px 0 0;
  -webkit-align-self: center;
  align-self: center;
  display: block;
}

.loginRememberMe .checkbox-input {
  -webkit-align-items: center;
  align-items: center;
}

.loginRememberMe .checkbox-input i {
  font-size: 25px;
}

.loginRememberMe .checkbox-input span {
  color: #75777A;
}

.loginForgotPassLink {
  margin: 31px 0 0;
  -webkit-align-self: center;
  align-self: center;
  cursor: pointer;
  color: #AAB0B7;
  text-decoration-line: underline;
  font-size: 14px;
}

.loginForgotPassLink a {
  color: inherit;
}

.modal-container section.profile-form {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 10px;
  min-width: 400px;
}

.modal-container section.profile-form label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  margin: 5px 9px;
  max-width: 325px;
}

.modal-container section.profile-form label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 6px;
  min-width: 100px;
}

.modal-container section.profile-form label input {
  width: 100%;
}

.modal-container.modal-athlete-form {
  overflow: auto;
  width: 740px;
}

.modal-container.modal-athlete-form header {
  border: none;
}

.modal-container.modal-athlete-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-athlete-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-athlete-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-athlete-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-athlete-form section:first-of-type {
  margin-top: 10px;
  border-bottom: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section:not(:first-of-type) {
  margin-top: 20px;
}

.modal-container.modal-athlete-form section div.section-label {
  margin-left: 40px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: bold;
  text-transform: uppercase;
}

.modal-container.modal-athlete-form section div.options-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-athlete-form section div.option-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-left: 40px;
  padding-bottom: 35px;
}

.modal-container.modal-athlete-form section div.option-container div.option-label {
  font-size: 13px;
  max-width: 115px;
  min-width: 115px;
  width: 115px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input {
  margin-right: 20px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input > span {
  font-size: 13px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .select-input {
  position: relative;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .select-input select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 1px solid #ebebeb;
  border-radius: 3px;
  color: inherit;
  font-size: 13px;
  line-height: 25px;
  min-width: 160px;
  outline: 0;
  padding: 0 28px 0 10px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .select-input select::-ms-expand {
  display: none;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .select-input i.icon-caret-down {
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -6px;
  color: #D9DBDC;
  pointer-events: none;
}

.modal-container.modal-athlete-form section .row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section .row-container:not(:first-of-type) {
  border-top: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section .row-container .space-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.modal-container.modal-athlete-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-athlete-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-athlete-form section .dob-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ebebeb;
  width: 50%;
}

.modal-container.modal-athlete-form section .dob-field span {
  margin: 10px 10px 10px 40px;
}

.modal-container.modal-athlete-form section .dob-field input {
  border: none;
}

.modal-container.modal-athlete-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  min-height: 25px;
}

.modal-container.modal-athlete-form section label:not(:first-of-type) {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section label.feet-field {
  -webkit-flex: 0.6 1 0%;
  -ms-flex: 0.6 1 0%;
  flex: 0.6 1 0%;
}

.modal-container.modal-athlete-form section label.inches-field {
  -webkit-flex: 0.395 1 0%;
  -ms-flex: 0.395 1 0%;
  flex: 0.395 1 0%;
}

.modal-container.modal-athlete-form section label span {
  margin: 10px;
  margin-left: 40px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
}

.modal-container.modal-athlete-form section label .invalid-input {
  border: 1px solid red;
}

.modal-container.modal-athlete-form section label .validation-container {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message {
  position: absolute;
  z-index: 10;
  top: 55px;
  padding: 3px 6px;
  border-radius: 5px;
  background-color: #2e2e2e;
  color: white;
  border: 1px solid #2e2e2e;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message:after {
  position: absolute;
  left: 45%;
  top: -10px;
  border-color: #2e2e2e transparent;
  border-style: solid;
  border-width: 0px 10px 10px 10px;
  height: 0px;
  width: 0px;
  content: " ";
}

.modal-container.modal-athlete-form section label .validation-container .validation-message span {
  margin: 0px;
  color: inherit;
  font-weight: inherit;
}

.modal-container.modal-athlete-form section label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0px;
  padding: 0px;
  font-size: 13px;
  line-height: 27px;
  outline: 0;
  margin: 1px;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label input.measurement {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 55px;
  min-width: 55px;
  width: 55px;
}

.modal-container.modal-athlete-form section label .date-input {
  width: 220px;
}

.modal-container.modal-athlete-form section label .imperial-height {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 45%;
  position: relative;
}

.modal-container.modal-athlete-form section label .imperial-height.inches {
  min-width: 80%;
}

.modal-container.modal-athlete-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label select:focus {
  outline: 0;
}

.modal-container.modal-athlete-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-athlete-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.feet {
  top: 10px;
  right: 35px;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.inches {
  top: 10px;
  right: 50px;
}

.modal-container.modal-athlete-form section label select.imperial {
  text-indent: 30px;
}

@media (max-width: 768px) {
  .modal-container.modal-athlete-form {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .modal-container.modal-athlete-form footer {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    border-top: 1px solid #ebebeb;
    z-index: 1;
  }

  .modal-container.modal-athlete-form section {
    min-width: 0;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) {
    flex-direction: column;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label {
    flex: 1 1 auto;
    min-height: 44px;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label:not(:first-of-type) {
    border-left: none;
    border-top: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section .dob-field {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between {
    padding-top: 10px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container {
    width: 100%;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container .option-container {
    margin-left: 40px;
    padding-bottom: 20px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .image-control {
    width: 100%;
    padding: 10px 20px 20px 40px;
    border-top: 1px solid #ebebeb;
    margin-top: 0;
  }
}

.select-all {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 25px;
}

.select-athlete-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 45px 65px 45px 65px;
  padding: 15px 0px;
  min-height: 80px;
  max-height: 400px;
  min-width: 300px;
  overflow-x: auto;
}

.select-athlete-list .athletes {
  height: 300px;
}

.select-athlete-list .athletes .athlete-name {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
  margin-right: 15px;
}

.select-athlete-list .athletes .athlete-name.all {
  font-size: 14px;
}

.modal-container.modal-terms {
  overflow: auto;
  width: 740px;
  padding: 20px 40px;
}

.modal-container.modal-terms footer {
  margin-top: 25px;
}

.modal-container.modal-terms footer button {
  width: auto;
}

.admin-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.admin-menu > div {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.admin-menu > div.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.admin-menu > div:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.admin-menu > div a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.admin-menu > div span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.admin-menu > div + div {
  margin-left: 35px;
}

.admin-sub-menu {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: normal;
  position: relative;
  letter-spacing: 1px;
  margin-top: 10px;
}

.admin-sub-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
}

.admin-sub-menu > div.active {
  border-bottom: 2px solid #9768EB;
  color: #efefef;
}

.admin-sub-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.admin-sub-menu > div + div {
  margin-left: 20px;
}

.tab-menu {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0 10px;
}

.tab-menu span {
  font-weight: 600;
}

.tab-menu.selected {
  background-color: #9768EB;
}

.tab-menu.selected span {
  color: #fefefe;
}

.tab-menu:first-child {
  border-left: 1px solid #ddd;
}

.tab-view {
  border: 1px solid #ccc;
  padding: 5px;
}

.tab-view-list {
  list-style-type: none;
  padding-left: 0;
}

.test-container-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-top: 25px;
}

@media (max-width: 768px) {
  .test-container-header {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}

.test-container-header .title {
  margin: 0;
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
}

.test-container-header .main-col {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding-right: 20px;
}

.test-container-header .side-col {
  text-align: right;
}

@media (max-width: 768px) {
  .test-container-header .side-col {
    text-align: left;
  }
}

.test-container-header .side-col > div:not([class]) {
  font-size: 16.59px;
  letter-spacing: 0.31px;
  line-height: 22px;
}

.test-result-container {
  margin-bottom: 30px;
}

.test-result-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 0 10px;
}

.test-result-header .title {
  font-weight: 500;
  font-size: 34.5px;
  color: #9768EB;
  line-height: 40px;
  margin-bottom: 6px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
  margin: 0 0 6px;
}

.input-results {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.results-column-container {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 4em;
  -moz-column-gap: 4em;
  column-gap: 4em;
}

@media (max-width: 768px) {
  .results-column-container {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }
}

.exercise-details {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid-column;
  -moz-column-break-inside: avoid;
  -o-column-break-inside: avoid;
  -ms-column-break-inside: avoid;
  break-inside: avoid-column;
}

.linked-results-header {
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
}

.tested-by {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

.perform-additional-results {
  background-color: #efefef;
}

.performance-results {
  padding: 80px 0 80px;
  max-width: 778px;
  margin: 0 auto;
}

.performance-results .h2 {
  margin: 0 0 20px;
}

.performance-results section {
  page-break-inside: avoid;
  padding-bottom: 32px;
}

.performance-results section + section {
  padding-top: 32px;
}

.perform-notes-section {
  max-width: 778px;
  margin: 0 auto;
  padding: 0 0 120px 0;
}

.perform-notes-section .header {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  padding: 0 0 12px;
}

.perform-notes-section .prose {
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.stress-index-block {
  margin-top: 45px;
}

.stress-index-block canvas {
  width: 1124px;
  height: 80px;
}

@media (max-width: 768px) {
  .stress-index-block canvas {
    width: 100%;
    height: auto;
  }
}

.stress-index-block img {
  max-width: 100%;
}

.stress-index-block > .header {
  margin-bottom: 6px;
}

.stress-index-block > .header .title {
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.cat-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  margin: 40px 0 18px;
}

.cat-score {
  color: #fff;
  padding: 3px 5px;
  margin-left: 20px;
}

.cat-score.green {
  background: #00B96D;
}

.cat-score.green + .dot {
  background: #00B96D;
}

.cat-score.yellow {
  background: #D7BB43;
}

.cat-score.yellow + .dot {
  background: #D7BB43;
}

.cat-score.red {
  background: #D1404B;
}

.cat-score.red + .dot {
  background: #D1404B;
}

.clinical-field {
  min-height: inherit;
  height: inherit;
}

textarea.clinical-notes {
  height: 70px;
  resize: none;
  margin-top: 10px;
}

.clinical-sub-note {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-left: 25px;
}

.tree-line {
  height: 35px;
  width: 25px;
  border-left: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}

.clinical-notes-section {
  margin: 38px 0 60px;
  max-width: 560px;
}

label.clinical-form-field {
  display: block;
  border: none;
  margin: 0 40px;
}

hr.clinical-report-line {
  border: none;
  padding: 0;
  height: 1px;
  background: #D8D8D8;
  margin: 40px 0;
  clear: both;
}

span.clinical-label {
  display: block;
  padding: 10px 0px;
  min-width: 0;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

fusion-ordered-drop-down.clinical-drop-down {
  border: 1px solid #bbb;
  max-width: 626px;
  width: 626px;
  padding-left: 20px !important;
  max-height: 100px !important;
}

fusion-ordered-drop-down.clinical-drop-down > div.column-container {
  line-height: 20px;
  max-height: 100px;
  height: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 600px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

fusion-ordered-drop-down.clinical-drop-down .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options > div:hover {
  background-color: #ccc;
}

.clinical-signature {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.clinical-signature > div {
  padding: 0px 15px 0px 15px;
}

.print-only {
  display: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.test-athlete-name {
  color: #75777A;
  font-size: 18px;
  letter-spacing: 0.32px;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.32px;
}

.perform-select {
  min-width: 133px;
  font-size: 18px;
  color: #75777A;
  border: 2px solid #D8D8D8;
  border-radius: 4px;
  height: 38px;
}

.recommended {
  margin-left: 10px;
  font-weight: bold;
  font-size: 13px;
  color: #c42a3b;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  top: -2px;
}

.recommended label {
  margin-left: 3px;
  position: relative;
  top: -2px;
}

/* --------------------------------------------
R+R Daily Test v2
----------------------------------------------*/

h3 span {
  color: #9768EB;
}

.rr-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  max-width: 700px;
  height: 55px;
  border: 1px solid #cdcdcd;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}

.rr-menu .custom {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.rr-menu .custom:not(:first-child) {
  border-left: 1px solid #cdcdcd;
}

.rr-menu .custom input {
  position: absolute;
  opacity: 0;
}

.rr-menu .custom input:checked ~ label {
  color: #fff;
  background: #9768EB;
}

.rr-menu .custom label {
  display: block;
  height: 55px;
  line-height: 55px;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

.rr-menu .custom label:hover {
  background: #eee;
}

.rr-key {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 700px;
  margin-top: 10px;
  color: #9768EB;
}

.rr-key label {
  width: 33.3%;
}

.rr-key label:nth-child(2) {
  text-align: center;
}

.rr-key label:nth-child(3) {
  text-align: right;
}

.repeated-shift-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.repeated-shift-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row:first-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:last-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 15px;
}

.repeated-shift-layout .test-row .drop-off {
  color: #9768EB;
  font-size: 18px;
  line-height: 1.62;
}

.repeated-shift-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row .measurement-field:first-of-type {
  margin-left: 289px;
}

.repeated-shift-layout .test-row .measurement-field:not(:first-of-type) {
  margin-left: 23px;
}

.repeated-shift-layout .measurement-label {
  color: #75777A;
  margin-right: 3px;
  padding-right: 18px;
  width: 10px;
}

.y-balance-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.y-balance-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.y-balance-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.y-balance-layout .test-row .sub-label {
  padding-left: 35px;
}

.y-balance-layout .test-row .diff {
  margin-left: 51px;
  color: #9768EB;
  font-size: 18px;
  line-height: 1.92;
}

.y-balance-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 10px;
}

.y-balance-layout .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.y-balance-layout .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.measurement-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.measurement-group .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.measurement-group .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.measurement-group .test-row .sub-label {
  padding-left: 35px;
}

.measurement-group .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 23px;
}

.measurement-group .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.measurement-group .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.test-results-button {
  width: 100%;
  width: -webkit-fill-available;
}

@media (max-width: 768px) {
  .reports-resp-header {
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
  }

  .reports-resp-header .resp-header-actions {
    justify-content: flex-start;
  }
}

.progress-report-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
  gap: 10px;
  flex-wrap: wrap;
}

.progress-report-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .progress-report-options .date-ranges {
    margin-left: 0;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
}

.progress-report-nodata {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.report-chart-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
  margin-left: 20px;
}

.report-chart-container .report-chart-details .report-chart-detail {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details .report-chart-detail.team,
.report-chart-container .report-chart-details .report-chart-detail.total {
  margin-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail > div {
  min-width: 130px;
  min-height: 90px;
  margin: 0 10px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail > div {
    min-width: calc(33% - 18px);
    max-width: calc(33% - 18px);
  }
}

.report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
  width: 130px;
  height: 20px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
    width: 100% !important;
    height: 20px !important;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  line-height: 30px;
  padding-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .score {
  font-size: 30px;
  font-weight: 100;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .score-container .score {
    font-size: 24px;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase {
  color: #20b769;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease {
  color: #c42a3b;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change i.fa {
  min-width: 12px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies {
  padding-top: 0px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies .trophy-place {
  font-size: 30px;
  font-weight: 100;
  margin-left: 10px;
}

.report-summary-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
}

.report-summary-container .title {
  font-size: 20px;
}

.report-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.report-summary > div {
  min-width: 240px;
  min-height: 90px;
  margin: 20px 10px 10px  0;
  border-right: 1px solid #ccc;
}

@media (max-width: 768px) {
  .report-summary > div {
    width: calc(50% - 10px) !important;
  }
}

@media (max-width: 580px) {
  .report-summary > div {
    width: 100% !important;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
}

.report-summary .summary-container {
  max-width: 220px;
}

@media (max-width: 768px) {
  .report-summary .summary-container {
    max-width: 100%;
  }
}

.report-summary .summary-container .summary-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 60px;
  margin: 0 3px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-info {
    max-width: 0 8px;
  }
}

.report-summary .summary-container .summary-info .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.report-summary .summary-container .summary-info .score-container .score {
  font-size: 24px;
  font-weight: 100;
}

.report-summary .summary-container .summary-info .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-summary .summary-container .summary-info .score-container .change.increase {
  color: #20b769;
}

.report-summary .summary-container .summary-info .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.decrease {
  color: #c42a3b;
}

.report-summary .summary-container .summary-info .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change i.fa {
  min-width: 12px;
}

.report-summary .summary-container .summary-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
}

.report-summary .summary-container .summary-chart > canvas {
  width: 220px;
  height: 30px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-chart > canvas {
    width: 100% !important;
    height: 30px !important;
  }
}

.report-details-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-top: 30px;
  background-color: #ffffff;
}

.report-details-container .title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-self: center;
  align-self: center;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
  margin-bottom: 30px;
  font-size: 20px;
}

.report-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .report-details {
    overflow: auto;
  }
}

.report-details > div {
  padding-bottom: 10px;
}

.report-details .change {
  position: absolute;
  top: 0;
  right: -8px;
  min-width: 70px;
  line-height: 20px;
}

.report-details .change > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
  font-size: 12px;
}

.report-details .change > div.increase {
  color: #20b769;
}

.report-details .change > div.increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.decrease {
  color: #c42a3b;
}

.report-details .change > div.decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div.perform-increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div i.fa {
  min-width: 12px;
}

.report-details .names-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 250px;
}

.report-details .names-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  min-width: 180px;
  padding-left: 30px;
}

.report-details .names-container .header-row {
  background-color: #dfdfdf;
}

.report-details .names-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .names-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .names-container .detail-row > div {
  min-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-details .names-container .detail-row:nth-child(odd) {
  background-color: #242424;
  color: #f7f7f7;
}

.report-details .names-container .detail-row:nth-child(even) {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-details .names-container .detail-row.sub-total {
  background-color: #d4d4d4;
  color: #75787b;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row.sub-total + .sub-total {
  background-color: #dfdfdf;
}

.report-details .names-container .detail-row.total {
  background-color: #9768EB;
  color: #f7f7f7;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row .detail-row-position {
  margin-left: 15px;
}

.report-details .info-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .info-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 110px;
}

.report-details .info-container .header-row {
  background-color: #dfdfdf;
}

.report-details .info-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .info-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .info-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .info-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: auto;
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: scroll;
  padding-right: 10px;
}

@media (max-width: 768px) {
  .report-details .scores-container {
    overflow-y: unset;
    overflow-x: unset;
  }
}

.report-details .scores-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .scores-container > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 210px;
}

.report-details .scores-container > div:first-child .header-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container > div:first-child .detail-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container .header-row {
  background-color: #dfdfdf;
  border-right: 1px solid #ccc;
}

.report-details .scores-container .header-row.right-left > span {
  min-width: 55px;
  text-align: center;
}

.report-details .scores-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .scores-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .scores-container .detail-row {
  border-right: 1px solid #ccc;
}

.report-details .scores-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .scores-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container .detail-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.report-details .scores-container .detail-row > div.right-left > span {
  min-width: 55px;
  font-size: 14px;
  text-align: center;
}

.report-details .scores-container .detail-row > div.change-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  position: relative;
}

.progress-report-bodymap {
  max-height: 213px;
  max-width: 100px;
}

.progress-report-hidden {
  visibility: hidden;
}

.program-group-dropdown-container {
  align-items: flex-end;
  width: 1024px;
  max-width: 100%;
  margin: 30px 0px 10px 0px;
  height: 50px;
}

.program-group-dropdown-container > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  float: left;
  padding-left: 30px;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
}

.program-group-dropdown-container .program-type-button {
  display: inline-block;
  padding-left: 15px;
}

.report-programs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-bottom: 50px;
  padding-bottom: 10px;
  background-color: #ffffff;
  overflow-x: auto;
}

.report-programs-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  min-width: max-content;
}

.report-programs-container .header-row {
  background-color: #dfdfdf;
}

.report-programs-container .header-row span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

.report-programs-container .header-row .program-data-chart {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.report-programs-container .data-row .program-name {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
}

.report-programs-container .data-row:nth-child(odd) {
  background-color: #efefef;
}

.report-programs-container .data-row:nth-child(odd) .program-name {
  background-color: #242424;
  color: #f7f7f7;
}

.report-programs-container .data-row:nth-child(even) {
  background-color: #fefefe;
}

.report-programs-container .data-row:nth-child(even) .program-name {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name {
  background-color: #9768EB;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .data-row.position-total .program-name {
  background-color: #E1E3E5;
  color: #efefef;
}

.report-programs-container .data-row.position-total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .program-name {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 346px;
  max-width: 500px;
  padding-left: 30px;
}

.report-programs-container .program-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
}

.report-programs-container .program-data.right {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  padding-right: 30px;
}

.report-programs-container .program-data-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 320px;
}

.report-programs-container .program-filler {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 60px;
}

.page-header-back-nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
}

.page-header-back-nav label {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.page-header-back-nav label i.icon {
  font-size: 16px;
}

.page-header-back-nav label span {
  margin-left: 8px;
  font-size: 13px;
}

.test-archives-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 30px 0 5px;
  row-gap: 10px;
}

.test-archives-options > div + div {
  margin-left: 10px;
}

.test-archives-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .test-archives-options .date-ranges {
    flex-basis: 100%;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 0;
    margin-top: 10px;
    gap: 10px;
  }
}

.archive-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.archive-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.archive-container > div span {
  font-size: 18px;
  cursor: default;
}

.archive-container > div i.icon {
  font-size: 16px;
  cursor: pointer;
}

.archive-container > div .archive-name,
.archive-container > div .archive-info,
.archive-container > div .archive-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.archive-container > div .archive-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 120px;
}

.archive-container > div .archive-name span {
  cursor: pointer;
}

.archive-container > div .archive-info,
.archive-container > div .archive-action {
  -webkit-justify-content: center;
  justify-content: center;
}

.archive-container > div .archive-info {
  min-width: 140px;
}

@media (max-width: 568px) {
  .archive-container > div .archive-info {
    min-width: 100px;
  }
}

.archive-container > div .archive-action {
  min-width: 60px;
}

.archive-container > div.header-row {
  min-height: 40px;
}

.archive-container > div.header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  position: relative;
  border-bottom: 1px solid #ccc;
}

@media (max-width: 768px) {
  .header-content {
    max-height: 60px;
    min-height: 60px;
    height: 60px;
    align-items: center;
  }
}

.header-content .header-logo-container {
  position: relative;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .header-content .header-logo-container {
    display: none;
  }
}

.header-content .header-prac-burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0 15px;
  padding-bottom: 7px;
  margin: 0;
  line-height: 1;
}

@media (max-width: 768px) {
  .header-content .header-prac-burger {
    display: block;
  }
}

.header-content .header-prac-menu {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.header-content .header-prac-menu .header-prac-menu__item {
  display: flex;
  align-items: center;
  min-height: 60px;
  max-height: 60px;
  padding: 0 20px;
  border-bottom: 1px solid #333;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.header-content .header-prac-menu .header-prac-menu__item.active {
  color: #efefef;
}

.header-content .header-prac-menu .header-prac-menu__item:not(.active):hover {
  color: #efefef;
}

.header-content .header-prac-user {
  display: none;
}

@media (max-width: 768px) {
  .header-content .header-prac-user {
    display: flex;
  }
}

.header-content .header-logo {
  margin: 10px 35px;
}

.header-content .header-logo img {
  max-width: 180px;
  max-height: 70px;
}

@media (max-width: 768px) {
  .header-content .resp-center {
    display: none;
  }
}

.header-content .user {
  margin-left: auto;
}

.header-content .header-team-name,
.header-content .header-team-name-link {
  border-left: 1px solid #C8C8C9;
}

@media (max-width: 768px) {
  .header-content .header-team-name,
  .header-content .header-team-name-link {
    border-left: 0;
    margin-left: 40px;
  }
}

.header-content .header-team-name h3,
.header-content .header-team-name-link h3 {
  padding: 0px 18px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #11264b;
  text-transform: uppercase;
}

.header-content .header-team-name-resp {
  overflow: hidden;
}

.header-content .header-team-name-resp > h3 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-content .header-team-name-link {
  cursor: pointer;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.header-content .team-switcher {
  cursor: pointer;
}

.header-content .team-switcher:after {
  position: absolute;
  top: 80%;
  left: 90%;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.header-content .team-options {
  position: absolute;
  top: 102%;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.header-content .team-options > div {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.header-content .team-options > div:hover {
  background-color: #dedfde;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: 1px;
  margin-left: 1px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 26px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.active {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 5px;
}

.header-content .white-field > button.signout {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
}

.header-content .white-field > button.signout:hover {
  background-color: #9768EB;
  color: white;
}

.header-content .white-field > button.shop {
  padding-top: 1px;
}

@media (max-width: 768px) {
  .header-content .white-field > button.shop {
    display: none;
  }
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 15px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

@media (max-width: 768px) {
  .header-content--prac .header-team-name,
  .header-content--prac .header-content .header-team-name-link,
  .header-content .header-content--prac .header-team-name-link,
  .header-content--prac .header-team-name-link {
    margin-left: 0;
  }
}

@media only screen and (max-width: 1053px) {
  .header-content-v2 .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  .header-content-v2 .white-field > div > div + div {
    margin-left: 0;
  }

  .header-content-v2 .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  .header-content-v2 .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }
}

.whiteboard {
  min-width: 0;
}

ul.catalog_nav {
  max-width: none;
  min-width: 0;
  width: auto;
}

ul.catalog_nav li > span {
  padding: 11px 0;
  line-height: 1.2;
  min-height: 0;
}

ul.catalog_nav li > ul li > ul li {
  min-height: 0;
  text-indent: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 50px;
}

.catalog-selected .title-container .return-link {
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  line-height: 1.1;
  padding: 0 15px;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 0;
}

@media only screen and (max-width: 900px) {
  .athlete-info-box .bio-header {
    font-size: 15px;
    padding: 0 10px;
  }
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  width: 100%;
  height: auto;
  display: block;
  max-height: 100px;
}

.athlete-info-box .bio-body .athlete-stats {
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.athlete-info-box .bio-body .athlete-stats > div + div {
  margin-top: 5px;
}

.athlete-info-box .bio-body canvas {
  width: 100%;
  display: block;
}

.athlete-list-view.view-layout .athlete-number {
  max-width: 53px;
  min-width: 53px;
  width: 53px;
  white-space: nowrap;
  line-height: 0.9;
  padding-left: 10px;
}

.athlete-list-view.view-layout .athlete-name {
  padding: 0 15px 0 5px;
  min-width: 0;
}

.profile-summary .today-program,
.profile-summary .today-notice {
  max-width: none;
  min-width: 0;
  width: auto;
  max-height: none;
  height: auto;
  padding: 10px 6px;
}

@media only screen and (min-width: 1054px) {
  .column-container.profile-score + div {
    width: 380px;
  }
}

@media only screen and (max-width: 1053px) {
  body .view-container {
    width: 994px;
    max-width: 100vw;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  body .view-container .view-container {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
  }

  body .week-wrapper .week-day-column {
    min-width: 0;
    width: 100%;
  }

  body .header-content .white-field > div {
    margin: 0px 20px;
  }

  body .profile-detail {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-detail .profile-pic {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
    max-width: 200px;
    aspect-ratio: 200 / 175;
    overflow: hidden;
  }

  body .profile-detail .profile-pic img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: contain;
  }

  body .profile-detail .profile-action {
    width: 100%;
  }

  body .profile-summary {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 4;
    -ms-flex: 4;
    flex: 4;
    padding-left: 15px;
  }

  body .profile-summary > .row-container.divided > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-summary > .row-container.divided > div + div {
    padding-left: 15px;
  }

  body .profile-summary .score-container {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 20px;
  }

  body .profile-summary .score-container .profile-score {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 100%;
  }

  body .profile-summary .score-container .profile-score .profile-score-graph-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
  }

  body .chart-menu .chart-menu-item {
    margin-right: 18px;
  }

  body .program-chart,
  body .line-chart {
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .program-chart {
    max-width: none;
    min-width: 0;
    width: auto;
    min-height: 0;
  }

  body .view-layout .view-container .line-chart .line-chart-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100% !important;
    height: auto !important;
  }

  body .chart-details {
    max-width: none;
    min-width: 0;
    width: auto;
    padding-left: 15px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body canvas {
    max-width: 100% !important;
    height: auto !important;
  }

  body .calendar-month {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .calendar-month .week-day-labels {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  body .calendar-month .week-day-labels > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: none;
    min-width: 0;
  }

  body .calendar-month .calendar-days .calendar-day {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 14.28571%;
  }

  body .calendar-month.notes-calendar {
    max-width: 492px;
  }

  body .calendar-day-info {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 15px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .schedule-calendar-layout {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  body .schedule-calendar-layout .calendar-month {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
  }

  body .schedule-calendar-layout .calendar-day-info {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
    padding-left: 0;
    margin-top: 20px;
    padding-bottom: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  body .athlete-list-view.view-layout .athlete-stat {
    -webkit-flex: 0;
    -ms-flex: 0;
    flex: 0;
    max-width: 7.5%;
    min-width: 7.5%;
    width: 7.5%;
    letter-spacing: 0;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 15px;
    letter-spacing: 0.5px;
  }

  body .modal {
    max-width: calc(100% - 30px);
  }

  body .modal-container {
    max-width: 100%;
  }

  body .tl-entry-header .tl-select,
  body .tl-entry .tl-select {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .tl-entry-header .tl-input,
  body .tl-entry .tl-input {
    max-width: 86px;
    min-width: 86px;
    width: 86px;
  }

  body .tl-entry .tl-input > .basic-input.small {
    width: 100%;
  }

  body .tl-entry-header .field-label {
    line-height: 1.2;
  }

  body input.basic-input,
  body div.basic-input,
  body div.basic-input-readonly {
    width: 100px;
  }

  body .athlete-menu .athlete-search {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
  }

  body .athlete-menu .athlete-filter-sort {
    min-width: 0;
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    min-width: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 15px 17px 15px 10px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
    font-size: 9px;
    right: 7px;
    top: 38%;
  }

  body .athlete-menu .athlete-reset-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 0 8px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-toggle-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  body .header-content .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  body .header-content .white-field > div > div + div {
    margin-left: 0;
  }

  body .header-content .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  body .header-content .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }

  body .header-content button {
    min-width: 0;
    padding: 0 5px;
  }

  body .header-content .logo {
    margin-left: 15px;
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .header-content .white-field > button:last-child {
    margin-right: 15px;
  }

  body .line-chart-menu .chart-legend {
    white-space: nowrap;
    margin: 0 0 0 16px;
  }

  body .line-chart-menu .chart-legend > .fa {
    margin-right: 2px;
  }

  body .prompt-box {
    padding: 15px;
  }

  body .test-landing .prompt-box {
    min-height: 196px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .test-landing {
    flex-direction: column;
  }

  body .test-landing > div {
    width: 100%;
    margin-left: 0 !important;
  }

  body .test-landing .prompt-box {
    min-height: 0;
  }
}

@media only screen and (max-width: 1053px) {
  body .report-chart-container {
    display: block;
  }

  body .report-chart-container .line-chart {
    display: block;
  }

  body .report-chart-container .report-chart-details {
    display: block;
    margin: 0;
  }

  body .report-summary > div {
    width: calc(33.33% - 10px);
  }

  body .report-details-container .title {
    max-width: none;
    min-width: 0;
    width: auto;
  }
}

@media only screen and (max-width: 900px) {
  body .admin-menu > div + div {
    margin-left: 18px;
  }

  body .catalog_container {
    -webkit-flex: 1 0 200px;
    -ms-flex: 1 0 200px;
    flex: 1 0 200px;
  }

  body .catalog-search form {
    padding: 0 5px;
    width: 100%;
  }

  body .catalog-search form input[type='text'] {
    min-width: 0;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-indent: 0;
    font-size: 15px;
  }

  body .catalog-search form button[type='reset'] {
    margin: 0;
    padding: 0 5px;
    font-size: 10px;
  }

  body .catalog-feature .feature-container .feature-content {
    left: 40px;
  }

  body .practitionersTable > .row-container > div > span,
  body .teamsTable > .row-container > div > span {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(1) {
    max-width: 112px !important;
    min-width: 112px !important;
    width: 112px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(2) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(3) {
    max-width: 108px !important;
    min-width: 108px !important;
    width: 108px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .practitionersTable > .row-container > div:nth-child(5) {
    max-width: 110px !important;
    min-width: 110px !important;
    width: 110px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) {
    max-width: 88px !important;
    min-width: 88px !important;
    width: 88px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) button {
    padding: 0 6px;
  }

  body .teamsTable > .row-container > div:nth-child(1) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .teamsTable > .row-container > div:nth-child(2) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(3) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .teamsTable > .row-container > div:nth-child(5) {
    max-width: 70px !important;
    min-width: 70px !important;
    width: 70px !important;
  }

  body .teamsTable > .row-container > div:nth-child(6) {
    max-width: 212px !important;
    min-width: 212px !important;
    width: 212px !important;
  }
}

@media only screen and (max-width: 900px) and (max-width: 1053px) {
  body .header-logo {
    margin: 0 15px;
  }

  body .header-logo img {
    width: 100%;
  }

  body .header-content .white-field > div > div i {
    display: none;
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: calc((100% - 20px) / 2);
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box .bio-body .athlete-profile .profile-pic {
    max-height: none;
  }
}

@media (max-width: 640px) {
  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .modal-animate-container {
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
  }

  .modal-dialog {
    width: calc(100% - 30px);
    margin-top: 60px;
  }

  .modal-container section {
    min-width: 0 !important;
    -webkit-align-items: stretch;
    align-items: stretch;
  }

  label.clinical-form-field {
    margin: 0 15px;
  }

  fusion-ordered-drop-down.clinical-drop-down {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  fusion-ordered-drop-down.clinical-drop-down > div.column-container {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-align-items: center;
    align-items: center;
    overflow: hidden;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle {
    overflow: hidden;
    flex: 1;
    min-width: 0;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

@media (max-width: 768px) {
  body .athlete-list-view.view-layout .athlete-header,
  body .athlete-list-view.view-layout .athlete-row {
    min-width: 680px;
  }

  body .athlete-list-view.view-layout .athlete-name {
    min-width: 130px;
  }

  body .athlete-list-view.view-layout .athlete-stat {
    max-width: 70px;
    min-width: 70px;
    width: 70px;
    font-size: 13px;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 110px;
    min-width: 110px;
    width: 110px;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 14px;
  }
}

.arrowTabs {
  display: flex;
  align-items: stretch;
  margin: 0 -2px;
}

.arrowTabs > * {
  padding: 0 2px;
}

.arrowTabs > span {
  flex: 1;
  display: block;
  text-align: center;
  display: flex;
  align-items: stretch;
  position: relative;
  cursor: pointer;
}

.arrowTabs > span:before {
  content: " ";
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -6px;
  height: 0;
  width: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 6px solid #9768EB;
  display: none;
}

.arrowTabs > span span {
  padding: 12px 8px;
  display: block;
  width: 100%;
  background: #F2F4F5;
  color: #ABB0B3;
  font-weight: bold;
  font-size: 14px;
}

.arrowTabs > span:first-child span {
  border-radius: 5px 0 0 5px;
}

.arrowTabs > span:last-child span {
  border-radius: 0 5px 5px 0;
}

.arrowTabs > span.active:before {
  display: block;
}

.arrowTabs > span.active span {
  background: #9768EB;
  color: #fff;
}

.programScheduleTable {
  table-layout: fixed;
  text-align: center;
  border-collapse: collapse;
  width: 100%;
}

@media only screen and (min-width: 1164px) {
  .programScheduleTable {
    width: calc(100% + 70px);
    margin-left: -70px;
  }
}

.programScheduleTable tr > *:first-child {
  width: 70px;
  padding-right: 10px;
}

.programScheduleTable tr > * + * {
  width: calc((100/7*1%) - 10px);
}

.programScheduleTable tr > * + * + * {
  padding-left: 5px;
}

.programScheduleTable tr + tr > * {
  padding-top: 5px;
}

.programScheduleTable thead th {
  color: #BDC1C5;
  font-size: 14px;
  padding: 0 0 15px;
  font-weight: 400;
}

.programScheduleTable tbody th {
  text-align: left;
  vertical-align: middle;
  color: #848990;
  font-size: 14px;
  text-transform: uppercase;
}

.activityPillGroup {
  position: relative;
  background: #F2F4F5;
  border-radius: 8px;
  padding: 8px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 117.3px;
  width: 100%;
}

.activityPillGroup .activityPill {
  height: calc(33.333% - 2px);
}

.activityPillGroup .activityPill + .activityPill {
  margin-top: 3px;
}

.activityPillGroup .addIcon {
  display: none;
  color: #CDD3D7;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  font-size: 40px;
}

.activityPill {
  text-align: center;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activityPill--prompt {
  background: #E4E9EC;
  color: #BDC1C5;
  cursor: pointer;
}

.activityPill--active {
  background: #9768EB;
  color: #fff;
  position: relative;
  padding: 0 15px;
}

.activityPill--active .closeIcon {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  font-size: 10px;
  right: 5px;
  cursor: pointer;
}

.activityPillGroup--empty {
  cursor: pointer;
}

.activityPillGroup--empty .addIcon {
  display: block;
}

.selectAddPill {
  padding: 10px;
  background: #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  border-radius: 4px;
}

.selectAddPill .tl-entry .tl-select,
.selectAddPill .tl-entry .tl-select-input .select-toggle {
  min-width: 0;
  max-width: none;
}

.selectAddPill button.primary {
  max-height: none;
  min-height: 0;
  height: auto;
}

.selectAddPill > *:first-child {
  flex: 1;
}

.selectAddPill > * + * {
  margin-left: 15px;
}

.t_pageContentTitle {
  margin: 0;
  color: #9768EB;
  font-size: 24px;
  font-weight: 500;
}

.t_pageContentTitle.top {
  color: #75787B;
}

.ycenter-items {
  -webkit-align-items: center;
  align-items: center;
}

.xgapChildren > * + * {
  padding-left: 15px;
}

.inlineSpaced {
  display: block;
  position: relative;
}

.inlineSpaced > * {
  display: inline-block;
}

.inlineSpaced--align--top > * {
  vertical-align: top;
}

.inlineSpaced--align--middle > * {
  vertical-align: middle;
}

.inlineSpaced--compact {
  margin: -2px;
}

.inlineSpaced--compact > * {
  margin: 2px;
}

.inlineSpaced--spaced {
  margin: -8px;
}

.inlineSpaced--spaced > * {
  margin: 8px;
}

.inlineSpaced--spacedMed {
  margin: -4px;
}

.inlineSpaced--spacedMed > * {
  margin: 4px;
}

.inlineSpaced--optionInputs {
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -4px;
  margin-bottom: -4px;
}

.inlineSpaced--optionInputs > * {
  margin-left: 10px;
  margin-right: 10px;
}

.inlineSpaced--optionInputs > * {
  margin-top: 4px;
  margin-bottom: 4px;
}

.inlineSpaced__child > *:first-child {
  margin-top: 0 !important;
}

.inlineSpaced__child > *:last-child {
  margin-bottom: 0 !important;
}

.color--bad {
  color: #c42a3b;
}

.color--good {
  color: #20b769;
}

.color--ok {
  color: #d8b62f;
}

.color--neutral {
  color: #808080;
}

.color--neutralBlue,
.color--link {
  color: #4AB3DA !important;
}

.flexRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.flexRow__flex {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

button.wide {
  min-width: 200px;
}

.scrollSideWrap__side {
  overflow: auto;
  background: #363A46;
}

@media only screen and (max-width: 900px) {
  .scrollSideWrap__side {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    background: #293040;
  }

  .scrollSideWrap__side .loggedInBlock {
    width: 240px;
  }

  .scrollSideWrap__side .sideBarMainContent {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .scrollSideWrap__side .sideBarSection {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }

  .scrollSideWrap__side .sideBarSection + .sideBarSection {
    padding-top: 0;
  }

  .scrollSideWrap__side .sideBarSection__content {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media only screen and (max-width: 900px) {
  .sideBarFilterFields {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: 0 -6px;
  }

  .sideBarFilterFields > * {
    padding: 0 6px;
  }

  .sideBarFilterFields > * {
    width: 50%;
  }
}

.scrollSideWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 20px;
  background: #EFF1F2;
}

.loggedInBlock {
  background: #9768EB;
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 11px;
  padding-bottom: 21px;
}

.loggedInBlock__name {
  margin: 0 0 7px;
  color: #fff;
  font-size: 26px;
  font-weight: 500;
}

.loggedInMenu__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  cursor: default;
}

.loggedInMenu__trigger__img img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
}

.loggedInMenu__trigger__name {
  color: #fff;
  padding-left: 10px;
  font-weight: 600;
  font-size: 14px;
}

.loggedInMenu__trigger__icon {
  display: block;
  color: #fff;
  font-size: 6px;
  padding: 6px 0 0 5px;
}

.sideBarSection {
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
}

.sideBarSection--dark {
  background: #293040;
}

@media only screen and (max-width: 900px) {
  .sideBarSection__header {
    width: 110px;
  }
}

.sideBarSection__header__title {
  font-size: 20px;
  font-weight: 500;
}

.blockContent > *:first-child {
  margin-top: 0 !important;
}

.blockContent > *:last-child {
  margin-bottom: 0 !important;
}

.openField {
  display: block;
  width: 100%;
  height: 36px;
  border-radius: 4px;
  background: #F4F4F4;
  font-size: 14px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openField > *:first-child {
  padding-left: 12px;
}

.openField > *:last-child {
  padding-right: 12px;
}

.openField input {
  padding: 5px 0;
}

.openFieldTall_btn {
  max-height: 46px;
  min-height: 46px;
  height: 46px;
}

.openField--rounded {
  border-radius: 20px;
}

.openField--rounded > *:first-child {
  padding-left: 20px;
}

.openField--rounded > *:last-child {
  padding-right: 20px;
}

.openField--darker input {
  color: #75787B;
}

.openField--darker input::-webkit-input-placeholder {
  color: #AAABAF;
}

.openField--darker input:-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input::-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input:-ms-input-placeholder {
  color: #AAABAF;
}

.openField--darker .openFieldSelect__trigger .text {
  color: #75787B;
}

.openField--darker .openFieldSelect__trigger .text.placeholder {
  color: #AAABAF;
  opacity: 1;
}

.openField--tall {
  height: 46px;
}

.openField--tall .openFieldSelect__trigger i {
  font-size: 8px;
  padding-top: 4px;
}

.openFieldSelect {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openFieldSelect__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text.placeholder {
  opacity: 0.38;
}

.openFieldSelect__trigger i {
  font-size: 6px;
  padding-left: 15px;
  opacity: 0.26;
}

.openFieldInput {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput > * + * {
  margin-left: 15px;
}

.openFieldInput input {
  min-width: 0;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: none;
  border: 0;
  font-size: inherit;
}

.openFieldInput .submitWrap {
  opacity: 0.36;
  cursor: pointer;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput .submitWrap:hover {
  opacity: 1;
}

.openFieldInput .icon-search {
  font-size: 16px;
}

.openFieldSelect--dark {
  background: #51596F;
}

.openFieldInput--light {
  background: #fff;
}

.openFieldInput--dark {
  background: #41495C;
}

.openFieldInput--dark input {
  color: #fff;
}

.openFieldInput--dark input::-webkit-input-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input::-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-ms-input-placeholder {
  opacity: 0.38;
}

.darkSideLinks {
  margin: 50px -10px;
  padding: 0;
  list-style-type: none;
}

.darkSideLinks > li + li {
  margin-top: 5px;
}

.darkSideLinks a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #41495C;
  color: #fff;
  padding: 10px 17px;
  text-decoration: none;
  border-left: 5px solid transparent;
}

.darkSideLinks a.active {
  border-left-color: #9768EB;
  background: #51596F;
}

.darkSideLinks a.active .num {
  color: #fff;
}

.darkSideLinks .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
}

.darkSideLinks .num {
  color: #707C97;
  font-size: 13px;
  font-weight: 700;
  padding-left: 15px;
}

.pageSectionBlock {
  position: relative;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  border-top: 5px solid #9768EB;
}

.pageSectionBlock__header {
  padding: 10px 15px 30px;
  border-bottom: 1px solid #EEEEEE;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.pageSectionBlock__header > * + * {
  padding-left: 15px;
}

.pageSectionBlock_preHeader {
  margin: 0 0 10px;
}

.actionsBar {
  padding: 8px 15px 8px 8px;
}

button.primary.small {
  font-size: 15px;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  max-height: none;
  min-height: 0;
  height: 41px;
  padding: 0 14px;
  border-radius: 4px;
}

.btnIcon {
  vertical-align: middle;
  display: inline-block;
  font-size: 20px;
}

.btnIcon.icon-add-team {
  font-size: 20px;
}

.btnIcon.icon-add-person {
  font-size: 20px;
}

.btnIcon.icon-add-practitioner {
  font-size: 20px;
}

.btnIcon--left {
  padding-right: 10px;
}

.iconTextLink {
  white-space: nowrap;
  color: #9768EB;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.iconTextLink i {
  padding-right: 5px;
}

.pageSection + .pageSection {
  margin-top: 30px;
}

.tableFiltersWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  margin: 0 0 10px;
}

.tableFiltersWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.tableFiltersWrap__side {
  padding-left: 15px;
  width: 25%;
  min-width: 180px;
}

.paginationInfo {
  font-size: 13px;
  color: #75787B;
}

.compactPagination {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.compactPagination > div {
  display: block;
  cursor: pointer;
  vertical-align: top;
  width: 31px;
  text-align: center;
  background: #9768EB;
  border-radius: 4px;
  opacity: 0.4;
}

.compactPagination > div + * {
  margin-left: 1px;
}

.compactPagination > div:hover {
  opacity: 1;
}

.compactPagination > div:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.compactPagination > div:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.compactPagination i {
  position: relative;
  top: -1px;
  display: inline-block;
  color: #fff;
  font-size: 22px;
  line-height: 28px;
  vertical-align: top;
}

.dropdown-wrapper.dropdown-wrapper--inline {
  display: inline-block;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger {
  border: 0;
  line-height: inherit;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger .icon-caret-dropdown {
  padding-left: 4px;
  padding-right: 4px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu {
  background: #fff;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li {
  min-width: 0;
  padding: 5px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li > span > span {
  padding-right: 0;
}

.icon--flip {
  display: inline-block;
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sortedTableHeader {
  cursor: pointer;
}

.sortedTableHeader.sorted,
.sortedTableHeader:hover {
  background: #F7F7F7;
}

.sortIconWrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  height: 16px;
  width: 9px;
  margin-left: 3px;
}

.sortIconWrap:before,
.sortIconWrap:after {
  height: 0;
  width: 0;
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  border-style: solid;
  border-color: transparent;
  border-top-width: 6px;
  border-bottom-width: 6px;
  border-left-width: 4px;
  border-right-width: 4px;
}

.sortIconWrap:before {
  border-bottom-color: #D8D8D8;
  top: -5px;
}

.sortIconWrap:after {
  border-top-color: #D8D8D8;
  bottom: -5px;
}

.sortedTableHeader--desc .sortIconWrap:before {
  display: none;
}

.sortedTableHeader--desc .sortIconWrap:after {
  border-top-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:before {
  border-bottom-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:after {
  display: none;
}

.actionIcon {
  font-size: 140%;
  color: #9768EB;
  cursor: pointer;
}

.actionIcon.icon-letter {
  font-size: 100%;
}

.actionIcon.icon-launch {
  font-size: 192%;
}

.iconActiveCheck {
  font-size: 110%;
  color: #DBDBDB;
}

.iconActiveCheck--active {
  color: #20b769;
}

.inlinePersonBadge {
  font-size: 100%;
  padding-left: 1px;
}

@media only screen and (min-width: 1054px) {
  .altTable tr > * {
    padding-left: 10px;
    padding-right: 10px;
  }

  .altTable tr > *:first-child {
    padding-left: 20px;
  }

  .altTable tr > *:last-child {
    padding-right: 20px;
  }

  .altTable__row {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  .altTable tr > * {
    padding-left: 4px;
    padding-right: 4px;
  }

  .altTable tr > *:first-child {
    padding-left: 8px;
  }

  .altTable tr > *:last-child {
    padding-right: 8px;
  }

  .altTable__row {
    padding-left: 8px;
    padding-right: 8px;
  }
}

.altTable__innerWrap {
  color: #75787B;
  font-size: 13px;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 1053px) {
  .altTable__innerWrap {
    font-size: 12px;
  }
}

.altTable table {
  border-collapse: collapse;
  width: 100%;
  font-size: inherit;
}

.altTable tr > * {
  text-align: center;
  vertical-align: middle;
}

.altTable tr > *:first-child {
  text-align: left;
}

.altTable tr th {
  border-bottom: 1px solid #CFCFCF;
  font-weight: 600;
  padding-top: 14px;
  padding-bottom: 14px;
}

.altTable tr td {
  border-bottom: 1px solid #EEEEEE;
  padding-top: 12px;
  padding-bottom: 12px;
}

.altTable__simpleHeader {
  margin: 0 0 15px;
  color: #75787B;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: bold;
}

.altTable__footerBar {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.btn {
  display: inline-block;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
}

.shortWideBtn {
  min-width: 167px;
  line-height: 24px;
  border: 1px solid #9768EB;
  padding: 0 15px;
  font-weight: 500;
  font-size: 13px;
  color: #9768EB;
  border-radius: 3px;
}

.td--name {
  font-weight: 600;
}

.siteHeaderBar__logoGroup {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
}

.siteHeaderBar__logoGroup > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 15px 20px;
}

.siteHeaderBar__logoGroup > div + div {
  border-left: 1px solid #C8C9C9;
}

.siteHeaderBar__actions {
  padding-right: 20px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.logo--fusSmall {
  width: 119px;
}

.textLink {
  color: #9768EB;
  cursor: pointer;
  font-size: 13px;
}

.textLink--bump {
  font-size: 18px;
}

.backBtn {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  vertical-align: middle;
  width: 45px;
  height: 39px;
  text-align: center;
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 3px;
  cursor: pointer;
}

.flexForm fieldset {
  border: 0;
  margin: 0;
  padding: 12px 0;
}

.flexForm fieldset + fieldset {
  border-top: 1px solid #EFEFF0;
}

.flexFormFooter {
  border-top: 1px solid #EFEFF0;
  padding: 20px 12px;
  text-align: center;
}

.flexFormRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 0 12px;
  min-height: 46px;
}

.flexFormRow + .flexFormRow {
  margin-top: 12px;
}

.flexFormRow--largeSection {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}

.flexFormRow--largeSection .flexFormRow__labelCol {
  padding-top: 12px;
}

.flexFormRow__labelCol {
  min-height: 1px;
  width: 182px;
  text-align: right;
  font-size: 13px;
  color: #6C6D6C;
  padding-right: 27px;
}

.flexFormRow__fieldsCol {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.fieldsRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 -6px;
}

.fieldsRow > * {
  padding: 0 6px;
}

.fieldsRow--compressed {
  max-width: 500px;
}

.fieldsRow--twoCol > * {
  width: 50%;
}

.fieldsRow--threeCol > * {
  width: 33.33%;
}

.fieldsRow--fourCol > * {
  width: 25%;
}

.iconLabel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.iconLabel i {
  font-size: 18px;
  color: #AC9EA5;
}

.iconLabel span {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 15px;
}

.uploadBlock {
  max-width: 390px;
  background: #F5F5F5;
  border-radius: 4px;
  padding: 20px 15px 20px 20px;
}

.inputInnerLabel {
  color: #AAABAF;
}

.collapsed__defaultElement {
  display: none;
}

.collapsed .collapsed__defaultElement {
  display: block;
}

.collapsed .collapsed__altElement {
  display: none;
}

.togglerBar {
  padding: 12px 17px;
  background: #F4F4F4;
  border-radius: 4px;
}

.togglerBar + .togglerBar {
  margin-top: 8px;
}

.togglerBar.collapsed .togglerBar__content {
  display: none;
}

.togglerBar__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.togglerBar__trigger__allToggleInput {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.togglerBar__trigger__icon {
  color: #9768EB;
  font-size: 11px;
  cursor: pointer;
  padding: 5px;
}

.togglerBar__content {
  padding: 24px 0 0;
}

.inputOptionsTree {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inputOptionsTree ul {
  list-style: none;
  margin: 0 0 0 30px;
  padding: 0;
}

.inputOptionsTree li + li,
.inputOptionsTree label + ul {
  margin-top: 8px;
}

.inputOptionsTree > li > label span {
  font-weight: 700;
}

.inputOptionsTree > li > ul {
  margin-bottom: 24px;
}

.inputOptionsTree > li > ul > li > ul {
  margin-bottom: 18px;
}

.columnsList {
  list-style: none;
  margin: 30px 0;
  padding: 0;
}

.columnsList > li {
  margin-bottom: 11px;
}

.columnsList--4 {
  -webkit-column-count: 4;
  -moz-column-count: 4;
  column-count: 4;
}

.closableButton {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #E9F0F2;
  border-radius: 5px;
  padding: 8px 16px;
  color: #75787B;
}

.closableButton span {
  white-space: nowrap;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.9px;
}

.closableButton i {
  margin-left: 7px;
  padding: 3px 0;
  cursor: pointer;
  font-size: 18px;
}

label.checkbox-input span,
label.radio-input span {
  font-size: 13px;
  color: #75777A;
}

.responsiveShow {
  display: none;
}

@media only screen and (max-width: 900px) {
  .responsiveShow--smDown {
    display: block;
  }
}

.iconColCell {
  width: 20px;
}

.iconColCell .icon-edit {
  position: relative;
  top: -2px;
}

.openFieldWidth--max100 {
  max-width: 100%;
}

.openFieldWidth--small {
  width: 52px;
}

.openFieldWidth--medium {
  width: 148px;
}

.openFieldWidth--rpe {
  width: 200px;
}

.cellWidth--trainingLoad {
  width: 132px;
}

.scoreNum {
  font-weight: 500;
  font-size: 18px;
}

.openField--centered input {
  text-align: center;
}

.tlFiltersHeader {
  padding: 15px 15px;
}

.tlFiltersHeaderMain {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.tlFiltersHeaderMain > * + * {
  padding-left: 15px;
}

.flTable tr > * {
  text-align: left;
  padding-right: 0;
  padding-left: 0;
}

.flTable tr > * + * {
  padding-left: 15px;
}

.flTable tr > *:first-child {
  padding-left: 15px;
}

.flTable tr > *:last-child {
  padding-right: 15px;
}

.flTable .proccessArrow {
  margin-right: -15px;
}

.flTableColWidth {
  box-sizing: content-box;
}

@media only screen and (min-width: 1054px) {
  .flTableColWidth--title {
    width: 300px;
  }

  .flTableColWidth--session {
    width: 300px;
  }
}

.flTableColWidth--durationTarget {
  width: auto;
}

.smallFieldLabel {
  padding: 0 0 7px;
  font-size: 14px;
  color: #75787B;
}

.tlFiltersHeaderSide {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.numName {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.numName__num {
  opacity: 0.4;
}

.numName__name {
  padding-left: 15px;
}

.numName--light {
  color: #75777A;
}

.openField--medium {
  height: 39px;
}

.selectBar {
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  padding: 9px 15px;
  line-height: 21px;
}

.selectBar.tall {
  padding: 12.5px 15px;
}

.selectBar i {
  display: none;
  padding-left: 5px;
  font-size: 11px;
}

.selectBar.isSelected {
  background: #F4F4F4;
  color: #C7CBCE;
}

.selectBar.isSelected i {
  display: inline;
}

.submenu__numTextWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 13px;
}

.submenu__numTextWrap .num {
  box-sizing: content-box;
  font-weight: 700;
  color: #6C6D6C;
  width: 15px;
  padding-right: 5px;
}

.submenu__numTextWrap .text {
  font-weight: 400;
  text-transform: none;
}

.contentWithProcessArrowWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.contentWithProcessArrowWrap > *:first-child {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.contentWithProcessArrowWrap .proccessArrow {
  text-align: center;
  width: 40px;
  color: #EFF1F2;
  font-size: 15px;
}

@media only screen and (min-width: 1054px) {
  .contentWithProcessArrowWrap .proccessArrow {
    width: 100px;
  }
}

.openFieldSelect__trigger .icon-target {
  font-size: 19px;
  color: #AAABAF;
  padding-right: 8px;
}

.TL-Duration input:invalid {
  border: 1px solid #CC0000;
  border-radius: 4px;
  height: 100%;
  background: #FFCCCC;
}

.backToLink {
  margin: 0 0 20px;
  display: inline-block;
  color: #9768EB;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.backToLink i {
  font-size: 15px;
  display: block;
}

.backToLink .text {
  display: block;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  padding-left: 10px;
}

.compactFormStack > * + * {
  margin-top: 10px;
}

.inlineOverlayWrap {
  position: relative;
}

.inlineOverlay {
  position: absolute;
  z-index: 10;
  top: calc(100% - 15px);
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  width: 377px;
  max-width: calc(100% - 30px);
  padding: 15px;
  border: 1px solid #EEEEEE;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);
  border-radius: 4px;
}

.inlineOverlay__triangle {
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 29px;
  height: 17px;
  background: url(../images/overlay-triangle.png) center center no-repeat;
  background-size: contain;
}

.inlineOverlay__close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 17px;
  color: #9768EB;
  cursor: pointer;
}

.inlineOverlay__title {
  margin: 0 0 20px;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 500;
  color: #75787B;
  text-align: center;
}

.chart-date-header + .dlRow {
  margin: 10px 0 20px;
}

.dlRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.dlRow + .chart-date-header {
  margin-top: 30px;
}

.dlRow + .dlRow {
  margin-top: 20px;
}

.dlItem__label {
  font-weight: 500;
  color: #75777A;
  font-size: 14px;
}

.dlItem__num {
  font-weight: 100;
  font-size: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.dlItem__num .scoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 8px;
}

.menu-pointer {
  cursor: pointer;
}

.weeklyScoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 4px;
  margin-right: 4px;
}

.profileTLChangeIcon {
  font-size: 10px;
  vertical-align: middle;
  padding-right: 1px;
  padding-bottom: 3px;
}

.review-container .review-tabs + div {
  padding-top: 10px;
  border-top: 1px solid #0af;
}

.review-container .review-frame {
  display: flex;
  align-items: center;
  flex: 0.95;
  padding-left: 5px;
  min-height: 40px;
  font-size: 20px;
  border-bottom: solid 1px #c0c0c0;
  cursor: pointer;
}

.review-container .review-frame.error {
  font-size: 18px;
  font-weight: normal;
  color: #222;
  cursor: not-allowed;
}

.review-container .review-frame i.fa.fa-trash {
  color: #c0c0c0;
}

.review-container .review-frame i.fa.fa-trash:hover {
  color: #990000;
}

.review-container .review-frame img {
  max-width: 18px;
}

.review-container input[type=radio] {
  display: none;
}

.review-container input[type=radio]:checked + label {
  color: #0af;
  border: 1px solid #abc;
  border-top: 2px solid #0af;
  border-bottom: 1px solid #fff;
}

.review-container label[for*="Keypoints"],
.review-container label[for*="Reps"],
.review-container label[for*="Compensations"] {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 10px 25px;
  font-size: 16px;
  text-align: center;
  color: #abc;
  border: 1px solid transparent;
}

.review-container label[for*="Keypoints"]:before,
.review-container label[for*="Reps"]:before,
.review-container label[for*="Compensations"]:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}

.review-container label[for*="Keypoints"]:hover,
.review-container label[for*="Reps"]:hover,
.review-container label[for*="Compensations"]:hover {
  color: #789;
  cursor: pointer;
}

.review-container label[for*="Keypoints"]:before {
  content: '\F192';
}

.review-container label[for*="Reps"]:before {
  content: '\F0CB';
}

.review-container label[for*="Compensations"]:before {
  content: '\F1FE';
}

.review-container .comps input {
  display: none;
}

.review-container .comps label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
}

.review-container .comps label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.review-container .comps label.hard {
  background-color: purple;
  border-color: purple;
}

.review-container .comps label.edge {
  background-color: #abc;
  border-color: #abc;
}

.assessment-container {
  margin-bottom: 40px;
}

.assessment-container a {
  text-decoration: none;
  color: #9768EB;
  cursor: pointer;
}

.assessment-container a:hover {
  text-decoration: underline;
}

.assessment-container.more {
  margin-top: 20px;
}

.assessment-container.more > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.assessment-container.info-only {
  margin-top: 60px;
}

.assessment-container.info-only > .list-container > div:not(.scroll-container) {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 20px;
}

.assessment-container.info-only > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  font-size: 16px;
  text-indent: 10px;
  text-transform: uppercase;
  border-bottom: 1px solid #c9c9c9;
}

.assessment-container > .list-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.assessment-container > .list-container > div:not(.scroll-container) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > div:not(.scroll-container) span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info > a > span {
  cursor: pointer;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row {
  min-height: 40px;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container > .list-container > .scroll-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 5px;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > .scroll-container > div span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container > div .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .no-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.assessment-container .info-column {
  margin-right: 25px;
  min-width: 240px;
}

.assessment-container .info-column > .info-container {
  padding: 8px;
  border: 1px solid #c0c0c0;
}

.assessment-container .info-column > .info-container > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 8px 0px;
  min-height: 35px;
  background-color: #dcdcdc;
}

.assessment-container .info-column > .info-container > div:not(.banner) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:first-of-type {
  min-width: 100px;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:last-of-type {
  max-width: 120px;
}

.assessment-container .info-column > .info-container > div:not(.banner).state-info {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.assessment-container .info-column .info-container + .info-container {
  margin-top: 30px;
}

.assessment-container .media-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.assessment-container .video-column {
  position: relative;
  margin-bottom: 25px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.assessment-container .video-column > video,
.assessment-container .video-column > canvas {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 160px);
  width: auto;
  height: auto;
}

.assessment-container .video-column .video-play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  cursor: pointer;
}

.assessment-container .video-column .video-play-overlay.is-hidden {
  display: none;
}

.assessment-container .video-column .video-play-overlay i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  padding-left: 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 38px;
  opacity: 0.9;
}

.assessment-container .detail-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

.assessment-container .detail-column .table-scroll {
  overflow-x: auto;
  padding-bottom: 5px;
}

.assessment-container .detail-column .detail-table {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container .detail-column .detail-table > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 5px;
}

.assessment-container .detail-column .detail-table > div.header {
  font-weight: 600;
}

.assessment-container .detail-column .detail-table > div.items {
  min-height: 50px;
  border-top: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-table {
  min-width: 900px;
}

.assessment-container .detail-column .exercise-list.items {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding: 12px 0;
}

.assessment-container .detail-column .exercise-list > .name {
  -webkit-flex: 0.6;
  -ms-flex: 0.6;
  flex: 0.6;
  min-width: 160px;
  cursor: pointer;
}

.assessment-container .detail-column .exercise-list > .status {
  -webkit-flex: 0.4;
  -ms-flex: 0.4;
  flex: 0.4;
  min-width: 110px;
  text-align: center;
}

.assessment-container .detail-column .exercise-list > .reasoning {
  -webkit-flex: 1.4;
  -ms-flex: 1.4;
  flex: 1.4;
  min-width: 340px;
  padding-right: 15px;
  text-align: left;
}

.assessment-container .detail-column .exercise-list > .action {
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 100px;
}

.assessment-container .detail-column .exercise-list > .action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container .detail-column .exercise-list .reason-entry + .reason-entry {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dotted #cdcdcd;
}

.assessment-container .detail-column .exercise-list .reason-source {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6d6e72;
}

.assessment-container .detail-column .exercise-list .reason-reason {
  font-size: 13px;
  line-height: 1.35;
  word-break: break-word;
}

.assessment-container .detail-column .exercise-list .reason-meta {
  font-size: 12px;
  line-height: 1.35;
  color: #6d6e72;
}

.assessment-container .detail-column .exercise-list .reason-warning {
  font-size: 12px;
  line-height: 1.35;
  color: #7f6a18;
}

.assessment-container .detail-column .exercise-list .reason-muted {
  font-size: 12px;
  font-style: italic;
  color: #808080;
}

.assessment-container .detail-column .measurement-list.header .name ~ div {
  min-width: 80px;
  text-align: center;
}

.assessment-container .detail-column .measurement-list > .name {
  min-width: 300px;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.assessment-container .detail-column .measurement-list .name ~ div {
  margin-left: 5px;
}

.assessment-container .detail-column .measurement-list input[type=checkbox] {
  display: none;
}

.assessment-container .detail-column .measurement-list label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.assessment-container .detail-column .measurement-list label.inactive {
  cursor: not-allowed;
}

.assessment-container .detail-column .measurement-list label.inactive:not(.found) {
  background-color: #c0c0c0;
  border-color: #c0c0c0;
}

.assessment-container .detail-column .measurement-list label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.assessment-container .detail-column .exercise-status {
  margin-top: 20px;
}

.assessment-container .detail-column .exercise-status > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 52px;
  background-color: #c0c0c0;
  border: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-status > div.pending {
  background-color: #00b96d;
}

.assessment-container .detail-column .exercise-status > div .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 10px;
  font-size: 16px;
}

.assessment-container .detail-column .exercise-status > div .text.manual {
  color: #fefefe;
}

.assessment-container .detail-column .exercise-status > div .text.pending {
  color: #efefef;
}

.assessment-container .detail-column .exercise-status > div .text.complete {
  color: #2d6b1d;
}

.assessment-container .detail-column .exercise-status > div .text.aborted {
  color: #2d1818;
}

.assessment-container .detail-column .exercise-status > div .button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.assessment-container .detail-column .exercise-status > div .button > button {
  min-height: 40px;
  max-height: 40px;
}

.assessment-container .detail-column .measurement-save {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 20px 0;
}

.assessment-container .detail-column .measurement-save > button {
  min-width: 130px;
  text-transform: uppercase;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvc3JjL3Nhc3MvZnVzaW9uZXRpY3MtYW5ndWxhci1wcm90b3R5cGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYmFzZS5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9tZW51LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2xpc3Quc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfZ3JpZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZmlsZV9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3JhbV9jYXRhbG9nLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19leGVyY2lzZV9uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2F0YWxvZ19uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWxfYXRobGV0ZV9lZGl0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsX3NlbGVjdF9hdGhsZXRlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlcm1zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9yZXN1bHRzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2xpbmljYWxfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wZXJmb3JtX3Rlc3RzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3Jlc3NfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9hcmNoaXZlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2hlYWRlci5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19yZXNwb25zaXZlbmVzc190d2Vha3Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmFtX2NhbGVuZGFycy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYWRtaW4yX21pc2Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluMl9zaWRlYmFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zMi5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19hZG1pbjJfdGFibGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RlYW0tdGwuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3JlcG9ydHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYXNzZXNzbWVudC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Jhc2VcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2FkaW5nXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9tZW51XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbGlzdFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZGFzaGJvYXJkX2dyaWRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9hdGhsZXRlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9maWxlX2F0aGxldGVcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fY2F0YWxvZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9lZGl0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX3doaXRlYm9hcmRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2NhbGVuZGFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jaGFydGluZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbm90ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3RpbWVfcGlja2VyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90b29sdGlwXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS91cGxvYWRpbmdcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZXhlcmNpc2VfbmF2XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYXRhbG9nX25hdlwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2dpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfcHJvZmlsZV9mb3JtXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9hdGhsZXRlX2VkaXRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX3NlbGVjdF9hdGhsZXRlc1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVybXNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW5fbWFpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVzdF9yZXN1bHRzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jbGluaWNhbF9yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wZXJmb3JtX3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmVzc19yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RfYXJjaGl2ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2hlYWRlclwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXNwb25zaXZlbmVzc190d2Vha3NcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9jYWxlbmRhcnNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW4yX21pc2NcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2FkbWluMl9zaWRlYmFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9hZG1pbjJfdGFibGVcIjtcblxuXG4vLyB0aGlzIGlzIG5ldy4uLlxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVhbS10bFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcmVwb3J0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYXNzZXNzbWVudFwiOyIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcbn1cblxuaHRtbCB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi5kYXJrcm9vbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNyk7XG4gIH1cblxuICAuZGFya3Jvb20tYmFubmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICA+IC5iYW5uZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjgwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAmW3R5cGU9J3RleHQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICZbdHlwZT0ncGFzc3dvcmQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICYucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICYuc2hvcnQge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICB9XG5cbiAgJi5tZWRpdW0ge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTUwcHgpO1xuICB9XG5cbiAgJi5wcmltYXJ5LCAmLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gIFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJi5yZXN1bWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMTQwNEI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuYnV0dG9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLmlucHV0LWNoZWNrYm94IHtcbiAgY29sb3I6ICRibHVlO1xuICBmb250LXNpemU6IDIwcHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjZGNkY2Q7XG4gIH1cbn1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgLypcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAqL1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMUUxRTY7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGNvbG9yOiAjMzIyNTRGO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk3NjhFQjtcbiAgfVxufVxuXG5bbmdcXDpjbG9ha10sIFtuZy1jbG9ha10sIC5uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoaW5pdGlhbCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDkwcHgpO1xuXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE0MHB4KTtcbiAgfVxuXG4gIC53aGl0ZS1maWVsZCB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuXG4gICAgaS5pY29uLXNob3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweCAzMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogLTFweCA4cHggMHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVudS1jb250ZW50IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG4gICYucmVzcC1tZW51IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJvZHktY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJlZC1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI2M0MmEzYjsgIH1cbi55ZWxsb3ctYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNkZmMwM2Y7IH1cbi5ncmVlbi1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzIwYjc2OTsgfVxuLmJsdWUtdGV4dCB7IGNvbG9yOiAjOTc2OEVCOyB9XG4ucmVkLXRleHQgeyBjb2xvcjogI2M0MmEzYjsgfVxuLmdyZXktdGV4dCB7IGNvbG9yOiAjODA4MDgwOyB9XG4ubGlnaHQtZ3JleS10ZXh0IHsgY29sb3I6ICNhN2E3YTc7IH1cbi55ZWxsb3ctdGV4dCB7IGNvbG9yOiAjZGZjMDNmOyB9XG4uZ3JlZW4tdGV4dCB7IGNvbG9yOiAjMjBiNzY5OyB9XG5cbi53aGl0ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmdyZXliZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbi5kcmtncmV5Ymcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYmx1ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbn1cblxuLm1haW4tdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udmlldy1mbGV4IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG59XG5cbi52aWV3LXN0YXRpYyB7XG4gIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xufVxuXG4udmlldy1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctc3RhY2sge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDI0cHgpO1xuXG4gICYuY2VudGVyZWQgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IH1cblxuICAmLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sdW1uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgJi5mdWxsIHsgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7IH1cbiAgJi50b3AgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpOyB9XG4gICYuYm90dG9tIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7IH1cbiAgJi5jZW50ZXIgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5taWRkbGUgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyB9XG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XG4gICYuc3BhY2VkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYXJvdW5kKTsgfVxuICAmLnN0YXJ0IHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG59XG5cbi5yb3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cbiAgJi5ib3R0b20geyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTsgfVxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIHJhbmdlIGlucHV0IGF0dGVtcHRcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzk3NjhFQiksIGNvbG9yLXN0b3AoMCwgI2U4ZThlOCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDE2cHggMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NzY4RUI7XG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjOTc2OEVCO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGJvcmRlcjogMC4ycHggc29saWQgI2U4ZThlODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzk3NjhFQjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLmRhaWx5LWV4ZXJjaXNlIHtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDEwcHg7XG4gIC5kYWlseS1leGVyY2lzZS1hY3Rpb25zIHtcbiAgICBtaW4td2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNTRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pbmZvIC5hdHRyaWJ1dGVzIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAuNyk7XG5cbiAgJi5uZy1lbnRlciwgJi5uZy1sZWF2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgfVxuXG4gICYubmctZW50ZXIsICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsICYubmctbGVhdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1vZGFsLXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5tb2RhbCB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAvLyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuXG4gICAgJi5uZy1sZWF2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cblxuICAgICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlciB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgIC5tb2RhbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3NzBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAubW9kYWwtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG5cbiAgICAmLm5nLWxlYXZlIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICB9XG5cbiAgICAmLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSwgJi5uZy1oaWRlLWFkZCB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlciwgJi5uZy1oaWRlLXJlbW92ZSB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDhweCA4cHggMjBweCAwcHggIzRhNGE0YTtcblxuICAmLmxhcmdlIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuXG4gICAgYnV0dG9uLmxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIGkubGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5jb25maXJtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGkuZmEge1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjY2NjO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIGZvb3RlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuXG4gICAgYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmxvYWRpbmctdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgIFxuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpO1xuXG4gIC5sb2FkaW5nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgLmZhLXNwaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGNvbG9yOiAjY2JjYmNiO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAuc3RhdHVzICB7XG4gICAgICAgIGNvbG9yOiAjOTc2OEVCO1xuICAgICAgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuc3RhdHVzIHtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LnRlYW0tbmF2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG59XG5cblxuLmF0aGxldGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLmF0aGxldGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ4cHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcblxuICAuYXRobGV0ZS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIHdpZHRoOiAxNDBweDtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cblxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS10b2dnbGUtdmlldyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuXG4gICAgJiA+IGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmF0aGxldGUtZmlsdGVyLXNvcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICYgPiAuYXRobGV0ZS1zb3J0LWJveCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDM1JTtcbiAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5vcHRpb25zLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zLWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5zb3J0LWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1jaXJjbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYubm90LWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1zb3J0LWFzYyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZhLXNvcnQtZGVzYyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkge1xuICAgIC5hdGhsZXRlLW1lbnUge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIFxuICAgICAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtc2VhcmNoIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICBcbiAgICAgIC5hdGhsZXRlLXRvZ2dsZS12aWV3IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgXG4gICAgICAuYXRobGV0ZS1maWx0ZXItc29ydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgICYubW9iaWxlLW9wZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJiA+IC5hdGhsZXRlLXNvcnQtYm94IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGRpdi5sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgLmxhYmVsLXBsYWNlaG9sZGVyW2RhdGEtZmllbGQtbmFtZV0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnQWxsJztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5sYWJlbFtkYXRhLXNvcnQtdmFsdWVdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWZpZWxkLW5hbWUpICc6JztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXNvcnQtdmFsdWUpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtcmVzZXQtdmlldyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5hdGhsZXRlLW1lbnUtLWZpbHRlcnMtb3BlbiB7XG4gICAgICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5sYWJlbFtkYXRhLWZpZWxkLW5hbWVdOm5vdCgubGFiZWwtcGxhY2Vob2xkZXIpOm5vdChbZGF0YS1zb3J0LXZhbHVlXSk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG5cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtbGlzdC12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgLmF0aGxldGUtbGlzdC1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmF0aGxldGUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXQge1xuICAgICAgQGluY2x1ZGUgZmxleCguNSk7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdGhsZXRlLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUzcHgpO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBjb2xvcjogIzkzOTQ5NztcbiAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweFxuICAgIH1cblxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjI1cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWxhc3QtYWN0aXZpdHkge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmMGVmO1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQtc2lkZSB7XG4gICAgQGluY2x1ZGUgZmxleCguMSk7XG4gIH1cbn1cblxuLmF0aGxldGUtZGFzaGJvYXJkIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICRkYXNoYm9hcmQtd2lkdGg6IDk5MHB4O1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1tZW51IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBtaW4taGVpZ2h0OiA4NXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB3aWR0aDogJGRhc2hib2FyZC13aWR0aDtcblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG5cbiAgICAgICAgJiA+IGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICRhdGhsZXRlRGFzaGJvYXJkR2FwOiAyMHB4O1xuICAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6ICRhdGhsZXRlRGFzaGJvYXJkR2FwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5hdGhsZXRlLWluZm8tYm94IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uLWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skYXRobGV0ZURhc2hib2FyZEdhcCAqIDJ9KSAvIDMpO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtYWRkLXNsb3Qge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgYnV0dG9uIGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWluZm8tYm94ID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi5hdGhsZXRlLWRhc2hib2FyZC1hY3Rpb25zIHtcbiAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAuYWN0aW9uLWljb24sIC5hY3Rpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbi1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgICAuYWN0aW9uLXRleHQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWluZm8tYm94IHtcblxuICAuYmlvLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojOTc2OEVCOztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciArIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMzgsNzUsLjg1KTtcbiAgICB9XG4gIH1cblxuICAuYmlvLWJvZHkge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xuICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgfVxuICAgIC5hdGhsZXRlLXByb2ZpbGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWF4LXdpZHRoOiAxMjBweDtcblxuICAgICAgLnByb2ZpbGUtcGljLXRodW1iIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXBpYyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIC8vIG1hcmdpbjogNXB4IDEwcHggJGF0aGxldFByb2ZpbGVTdWJQaWNHYXA7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1wb3NpdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGhsZXRlLXdlaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0cyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAuYXRobGV0ZS1zY29yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1zY29yZS10bC1kYXRhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuXG5cbiAgICAgIC50ZXN0LXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICAgIC50ZXN0LXNjb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iaW8tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICYuaWNvbi10ZXN0ICB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2ICsgZGl2IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0U4RThFODtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2ZpbGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbn1cblxuLm1lbnUtaXRlbSArIC5tZW51LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogNDVweDtcbn1cblxuLm1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICBjb2xvcjogI2EwYTRhODtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICB9XG5cbiAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBzcGFuLm1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTMwcHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ucHJvZmlsZS1kZXRhaWwge1xuICAmLnByb2ZpbGUtZGV0YWlsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMjEwcHgpO1xuXG4gIC5kYXRhLWVtcGhhc2lzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnByb2ZpbGUtcGljIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNzVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuaW52aXNpYmxlIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kYXRhLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5wcm9maWxlLWRhdGEgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q5REFEOTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmdyb3VwLWljb24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLXNhdmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZmlsZS1kYXRhLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1kYXRhIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5wcm9maWxlLWdyb3VwLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1ncm91cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yZXNwLW1vbnRoLXZpZXcge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5yZXNwLXNjb3JlLXRvZGF5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGJvZHkgLnByb2ZpbGUtc3VtbWFyeSA+IC5yb3ctY29udGFpbmVyLmRpdmlkZWQucmVzcC1zY29yZS10b2RheSA+IGRpdiArIGRpdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSAucHJvZmlsZS1zdW1tYXJ5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnByb2ZpbGUtc3VtbWFyeSB7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzgwcHgpO1xuXG4gIC5tb2JpbGUtcGljIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyMDAgLyAxNzU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAucHJvZmlsZS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpdml0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgbWFyZ2luOiAwIDlweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsdWUtdGV4dCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnNjb3JlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5zY29yZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIC5wcm9maWxlLXNjb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMzBweCk7XG5cbiAgICAgICYubGFiZWwtb25seSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1zY29yZS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICAucHJvZmlsZS1zY29yZS1uYW1lIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjI1cHg7XG5cblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogI0FFQUVBRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1zY29yZS1kYXRlIHtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGNvbG9yOiAjQUVBRUFFO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXNjb3JlLWdyYXBoLWNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtc2NvcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgLnByb2ZpbGUtdGwtY2hhbmdlIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgXG4gICAgfVxuICB9XG5cbiAgLnRvZGF5LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC50b2RheS1wcm9ncmFtIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pY29uLWNoZWNrYm94LWNoZWNrZWQgIHtcbiAgICAgIGNvbG9yOiAjQUZCMEFFO1xuICAgICAgJi5ibHVlLWNoZWNrIHtcbiAgICAgICAgY29sb3I6ICM5NzY4RUI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyYW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAubGlnaHQtZ3JleS10ZXh0ICB7XG4gICAgICAgIGNvbG9yOiAjQUZCMUIzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2RheS1ub3RpY2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm5vdGljZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgLy8gbW9yZSByZXNwb25zaXZlIHRvIG5vIGZpeCBoZWlnaHRzXG4gICAgICAvLyBhbmQgaW5zdGVhZCB1c2UgcGFkZGluZy9tYXJnaW5zLi5cbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnllbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZjMDNmO1xuXG4gICAgICAubm90aWNlIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtaXNjIHNlY3Rpb24gc3BhY2luZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnNwYWNlZC10b3AtbGFyZ2UgIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbi5zcGFjZWQtYm90dG9tLW1lZGl1bSAge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG5cbi5idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWVudS1tb2JpbGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lbnUtZGVza3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51LW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIC5tZW51LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICBtYXJnaW4tbGVmdDogMDsgLy8g0LLQsNC20LvQuNCy0L5cbiAgfVxufVxuXG4ubWVudS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4vKiBNT0JJTEUgQlJFQUtQT0lOVCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5tZW51LWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tZW51LW1vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAucHJvZmlsZS1tZW51IHtcbiAgICB3aWR0aDogdW5zZXQhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogNTlweDtcbiAgICBoZWlnaHQ6IDU5cHg7XG4gICAgbWluLWhlaWdodDogNTlweDtcbiAgfVxufVxuXG4uYXRobGV0ZS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAwIDRweDtcbiAgfVxuXG4gICZfX2J1cmdlciB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuXG4gICZfX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJcbi5jYXRhbG9nLWZlYXR1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmNmY2Y7XG4gIGhlaWdodDogNDAwcHg7XG5cbiAgLmZlYXR1cmUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYucnVubmluZy1tYW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL3Byb2dyYW1fY2F0YWxvZ19iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgXG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogODBweDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaDIsIC50aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBwLCAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgLm1hcmtlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luOiA2cHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiYWVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCB7XG4gIHBhZGRpbmc6IDM1cHg7XG4gICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgfVxuXG4gIC50aXRsZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuXG4gICAgLnJldHVybi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLXJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbi1yb3cge1xuICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zYW1wbGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuXG4gICAgICAudmlkZW8tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMzlweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjVweDtcbiAgICAgICAgbWluLWhlaWdodDogMjM5cHg7XG4gICAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLy8gfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLXNlbGVjdGVkIHtcbiAgcGFkZGluZzogMzVweDtcblxuICAudGl0bGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAucmV0dXJuLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiArIGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLnZpZGVvLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5leGVyY2lzZS1pbmZvLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgwIDAgNDAwcHgpO1xuICB9XG5cbiAgLnNhbXBsZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDM1MHB4KTtcblxuICAgIC5maWxlLWlucHV0LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1maWVsZHMgIHtcbiAgICBcbiAgICAud2Vlay1zZWxlY3Rpb24ge1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliZDdlYTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCAge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAycHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpbnB1dCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDNweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCArIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWhpc3Rvcnkge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWluLWhlaWdodDogMjc1cHg7XG5cbiAgLmxpbmstY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICBjb2xvcjogI2FhYTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHNwYW4uYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGlmeS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgcGFkZGluZzogNXB4IDQwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndhcm5pbmcge1xuICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2YzZDk1ZTsgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWMyNTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2U5ZDI1ZTsgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYjc0ZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpc3Qge1xuICAgICYuc2Nyb2xsYWJsZS10YWJsZSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gICAgLmxpc3Qtc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDAlKTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgIC5saXN0LXNjcm9sbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE3N3B4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XG5cbiAgICAgICAgLnNjaGVkdWxlLXByb2dyYW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWNvbHVtbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2dyYW0taGVhZGVyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSk7XG59XG5cbi5wcm9ncmFtLWVkaXQtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogODVweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucHJvZ3JhbS10eXBlLXNlbGVjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gID4gLnR5cGUtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnBpbGwge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogI0FGQjFCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuICA+IC50eXBlLWl0ZW0gKyAudHlwZS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuICA+IC5jb3B5LWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cblxuLnByb2dyYW0tc2NoZWR1bGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1lZGl0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5wcm9ncmFtLXN0cmF0ZWd5IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMzBweCk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSBhdXRvKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDE4MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciArIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLXRlY2huaXF1ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIC5jb3VudGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgLm5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBcbiAgICAgIC5pY29uLXBsdXMge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIH1cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tZXhlcmNpc2UtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBtYXJnaW46IDFweCAwO1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5hY3RpdmUtaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3JhbS1ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMFxuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnNvcnQtaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmF0dHJpYnV0ZXMge1xuICAgICAgICAgIGdhcDogNXB4IDI1cHg7XG4gICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxODBweCk7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWVkaXQtZm9vdGVyIHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICBtYXJnaW46IDE1cHggMzBweDtcbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi53aGl0ZWJvYXJkIHtcbiAgbWluLXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiA+IHNlY3Rpb24ge1xuICAgIG1hcmdpbjogMTVweCAzMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXNjaGVkdWxlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLndoaXRlYm9hcmQtcHJvZ3JhbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXByb2dyYW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAxNXB4O1xuXG4gIC5uYW1lIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5vcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlYm9hcmQtZGF0ZSB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHRleHQtaW5kZW50OiA1cHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcblxuICAgICAgaS5mYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZS1kaXNhYmxlZCB7XG4gICAgLmlucHV0LWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLndlZWstbGlzdCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG5cbiAgLndlZWstaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2Vlay1jb3B5IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIH1cbn1cblxuLmRheS1saXN0IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5kYXktaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgMTg3LCAyMzEsIDAuNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLmRheS1saXN0LXNjaGVkdWxlIHtcblxuICAuZGF5LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZGF5LWl0ZW0gKyAuZGF5LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcblxuICAmLmFjY2VwdC1kcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAuYWN0aW9uLXdpdGgtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmFtZSA+IGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTBweCk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24tcGxhY2Vob2xkZXIge1xuXG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3Bhbi50ZXh0IHtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDg2cHg7XG5cbiAgJiA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luOiAycHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYWN0aXZlLWl0ZW0ge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgLmRyYWctaWNvbiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWRkLWV4ZXJjaXNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI0NERDNENztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiAjQ0REM0Q3O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1ub3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1leGVyY2lzZSB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgbWluLXdpZHRoOiAwXG4gICAgfVxuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5hdHRyaWJ1dGVzIHtcbiAgICAgICAgZ2FwOiA1cHggMjVweDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWNjZXB0LWRyb3AtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG5cbiAgPiBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc29ydC1vcmRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjRweDtcblxuICA+IHNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zY2hlZHVsZS1zZWxlY3RlZC1hdGhsZXRlcyB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBzcGFuIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbiAgLmF0aGxldGUtbmFtZXMge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgLmF0aGxldGUtbmFtZXMtbW9yZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnVsay1zY2hlZHVsZS1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDdweDtcbiAgaSB7XG4gICAgY29sb3I6ICNEN0Q5REE7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNhbGVuZGFyLW1lbnUge1xuICBtYXJnaW46IDIwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgXG4gICAgQGluY2x1ZGUgbGFyZ2UtdGFicy1zdHlsZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsYXJnZS10YWJzLXNwYWNpbmc7XG4gIH1cbn1cblxuLmNhbGVuZGFyLXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyLW1vbnRoIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNjkwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDY5MHB4KTtcbiAgbWFyZ2luOiAxcHggMCAwOyBcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgIFxuICAgIC5mYSAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgICAgICBcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnllYXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHNlbGVjdC55ZWFyLXNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UobWVudWxpc3QpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xIDAgMCk7ICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7ICAgICAgICBcbiAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgY29sb3I6ICNEOURCREM7XG4gICAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgIGNvbG9yOiAjYzBjMGMwO1xuXG4gICAgJi5sZWZ0IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgICAgLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoOTcuNXB4KTtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItZGF5cyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cbiAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4OyBcblxuICAgICAgJi5kYXktYWN0aXZpdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMEI5NkQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGJsdWU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYucHJvZ3JhbS1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJi5lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgID4gLm1vbnRoLWFiYnJldiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktY29uY2VybiwgLmNhbGVuZGFyLWRheS1leGlzdGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LWNvbmNlcm4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LXNjaGVkdWxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbnB1dC1jdGwge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDI4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcbiAgICBib3gtc2hhZG93OiA2cHggNnB4IDE4cHggMHB4ICM0YTRhNGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJi5yaWdodCB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAyLjEyNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWRheXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuZW1wdHkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtcmFuZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWY1ZmQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogIzhkOGQ4ZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xuICBcbiAgLmRheS1kYXRlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gLmljb24tY2FsZW5kYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cbiAgfVxuXG4gIC5kYXktcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOTVweCk7XG4gICAgXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC5saWdodC1ncmV5LXRleHQgIHtcbiAgICAgIGNvbG9yOiAjQTdBOEE3O1xuICAgIH1cblxuICAgICYuYWN0aW9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLndlZWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG59XG5cbi53ZWVrLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1pbi1oZWlnaHQ6IDQyNXB4O1xuICAvKiBoZWlnaHQ6IDQyNTsgKi9cblxuICAmLnNtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAyMjVweDtcbiAgICAvKiBoZWlnaHQ6IDIyNXB4OyAqL1xuICB9XG4gIFxuICAud2Vlay1idXR0b24tY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7ICAgICAgICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuICAgICAgJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDogLTI1cHg7XG4gICAgICAuZmEtYW5nbGUtbGVmdCAge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDtcbiAgICAgIH1cbiAgICAgIC5mYS1hbmdsZS1yaWdodCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XG4gICAgICB9IFxuICAgIH0gICBcbiAgfVxuXG4gIC53ZWVrLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gICAgLmRheS1udW1iZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAud2Vlay1kYXktaW5mby1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3Rpb24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgLmRheS1udW1iZXIge1xuICAgICAgICBjb2xvcjogIzgwODA4MDtcbiAgICAgIH1cblxuICAgICAgLndlZWstZGF5LWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndlZWstZGF5LXByb2dyYW0ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAud2Vlay1kYXktcHJvZ3JhbS10aXRsZTpub3QoLmxpZ2h0LWdyZXktdGV4dCkge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC53ZWVrLWRheS1wcm9ncmFtLW5hbWU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY2hhcnQtbWVudSB7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcblxuICAuY2hhcnQtbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ubGluZS1jaGFydCB7XG4gIG1hcmdpbjogMjVweCAwIDAgMDtcblxuICAubGluZS1jaGFydC1jYW52YXMge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjc1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtY2hhcnQtbWVudSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG59XG5cbi5wcm9ncmFtLWNoYXJ0IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcbiAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAucHJvZ3JhbS1jb21wbGV0ZSB7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcblxuICAgIC5wcm9ncmFtLWluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAucHJvZ3JhbS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FudmFzIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiAzMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdGlvbi1jb21wb25lbnQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiAnPic7XG4gICAgZm9udDogNjAwIDEycHggJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDAgM3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoYXJ0LWxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgJiA+IC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAmLmF2ZXJhZ2Uge1xuICAgICAgY29sb3I6IHJnYmEoMjA3LCAyMTgsIDIyMCwgMC41KTtcbiAgICB9XG5cbiAgICAmLnNjb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDE4MiwgMjM1LCAwLjkpO1xuICAgIH1cblxuICAgICYudGVhbS1hdmVyYWdlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNzUpO1xuICAgIH1cblxuICAgICYuY29tcGxldGVkIHtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAxODMsIDEwNSwgMC44KTtcbiAgICB9XG5cbiAgICAmLnNjaGVkdWxlZCB7XG4gICAgICBjb2xvcjogcmdiYSgyMjMsIDIyMywgMjIzLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmNoYXJ0LWRldGFpbHMge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAuY2hhcnQtZGF0ZS1oZWFkZXIgIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgaSAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gXCJzaGFyZVwiIGZlYXR1cmUgd2lsbCBjb21lIGxhdGVyLi4uXG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LWRhdGUge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDIycHgpO1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubWFpbi1zY29yZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLnZhbHVlLWJhZGdlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTZweDtcbiAgfVxuXG4gIC52YWx1ZS1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gIH1cblxuICAudmFsdWUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2UtaWNvbiB7XG4gICAgJi5mYS1zb3J0LWFzYyB7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgICYuZmEtc29ydC1kZXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgJi51bmNoYW5nZWQge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cblxuICAgICYuaW5jcmVhc2Uge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLmRlY3JlYXNlIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG5cbiAgICAmLnVuY2hhbmdlZCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5pbmNyZWFzZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZGVjcmVhc2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmluZm8tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICBcbiAgLnRlc3QtcmVzdWx0cy1idXR0b24tY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGFydC1zdGF0cy1ncmlkIHtcbiAgICAuY2hhcnQtc3RhdHMge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5waWUtY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICB9XG5cbiAgLnBpZS1jaGFydCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLnBpZS1jaGFydC1jYW52YXMge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5ycGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLnJlZC10ZXh0LCAuZ3JlZW4tdGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0td2VlayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cblxuICAudHJvcGhpZXMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIC50cm9waHktaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgJi50cm9waHktaW1hZ2UtLWJhZGdlICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cm9waHktaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBpbWcgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAvLyBAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcbiAgICAgIC8vIEBpbmNsdWRlIGZsZXgoMSlcbiAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG5cbiAgICAudHJvcGh5LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLm5vLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGRheWNvbHdpZHRoICB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwLzcqMSU7XG59XG5cbi5ub3Rlcy1tZW51IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSArIC5ub3Rlcy1tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICB9XG59XG5cbi5ub3Rlcy1jYWxlbmRhciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ5MnB4KTtcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBtYXJnaW46IDFweCAxcHggMCAtMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLmljb24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC53ZWVrLWRheS1sYWJlbHMge1xuICAgIG1hcmdpbjogMCAxcHggMCAwO1xuICAgID4gZGl2IHtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICBAaW5jbHVkZSBkYXljb2x3aWR0aDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhci1kYXlzIHtcbiAgICBtYXJnaW46IDAgMXB4IDVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgLmNhbGVuZGFyLWRheSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM4cHgpO1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGRheWNvbHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBtYXJnaW46IC0xcHggMHB4IDBweCAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcblxuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgJi5jdXJyZW50LWRheSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vICYuZW1wdHkgeyAgICAgICAgXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAvLyB9XG5cbiAgICAgICAmLmRheS1hY3Rpdml0aWVzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDhiMDA7XG4gICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgLy9ib3JkZXItY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvL2NvbG9yOiAjZWZlZmVmO1xuICAgICAgICAgLy9jdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAvLyY6aG92ZXIge1xuICAgICAgICAgLy8gIGJhY2tncm91bmQtY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvLyAgY29sb3I6ICNmZmY7XG4gICAgICAgICAvL31cbiAgICAgICB9XG5cbiAgICAgIC8vICYuY3VycmVudC1kYXkge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJkNDc0O1xuICAgICAgLy8gICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzU0N2I0MjtcbiAgICAgIC8vICAgY29sb3I6ICNmZmY7XG4gICAgICAvLyB9XG5cbiAgICAgICY6bm90KC5lbXB0eSk6bm90KC5kYXktYWN0aXZpdGllcykge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmMtc2VjdGlvbiwgLnRsLXNlY3Rpb24sIC5zb2FwLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uc29hcC1sYWJlbCB7XG4gICYuZmllbGRzLWhlYWRlci5oaWdoLWxldmVsLWZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxufVxuXG4uYmMtYm9keWZhdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJSc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgfVxufVxuXG4uYmMtYWxlcnQge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGwtdG90YWwtbG9hZCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi5iYy1lbnRyeS1oZWFkZXIsIC5iYy1lbnRyeSB7XG4gID4gLmZpZWxkLWxhYmVsICsgLmZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iYy1pbnB1dCB7IFxuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIC5iYy1maWxsZXIge1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDEwcHg7XG4gIH1cbn1cblxuLmJjLWZpbGxlci1yZXNwIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgbWluLXdpZHRoOiAwIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGwtZW50cnktaGVhZGVyLCAudGwtZW50cnkge1xuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAudGwtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDIxNXB4O1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gIH1cblxuICAudGwtaW5wdXQgeyBcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cblxuICAudGwtZmlsbGVyIHtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi5yZXNwLW5vdGVzLWNvbHVtbiB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYmMtZW50cnkge1xuICAuYmMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBwYWRkaW5nOiAwIDI4cHggMCAxM3B4OyBcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG4gIC5iYy1pbnB1dC1iZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgIHBhZGRpbmc6IDAgMjhweCAwIDEzcHg7IFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAuYmMtdW5pdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zNHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5iYy11bml0LWJmIHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLnRsLWVudHJ5IHtcbiAgLnRsLXNlbGVjdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDVweCAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuXG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDM3cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAudGwtaW5wdXQgeyBcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRsLWNhbGN1bGF0ZWQtbG9hZCB7XG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIH1cbiAgfVxuXG4gIC50bC1kZWxldGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5iYy1mcmVlLWZvcm0sIC50bC1mcmVlLWZvcm0ge1xuICB3aWR0aDogNzUlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zb2FwLWRhdGUge1xuICA+ICoge1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gIC5kYXRlLWlucHV0ID4gLmlucHV0LWljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uc29hcC10ZXh0LWNvbnRhaW5lciB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLnNvYXAtdHJlYXRtZW50cyB7XG4gIC5jaGVja2JveC1pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLnNvYXAtdHJlYXRtZW50LW9wdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAuY2hlY2tib3gtaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zb2FwLXRyZWF0bWVudC10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgLmJhc2ljLWlucHV0IHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNvYXAtb2JqZWN0aXZlIHtcbiAgJi5maWVsZCBkaXYgdGV4dGFyZWEge1xuICAgIGhlaWdodDogODVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5mYS1ub3RlcyB7XG4gICAgbWFyZ2luOiAtMTBweCAwcHggMHB4IDEycHg7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xufVxuXG4ucmVzcC1mb3JtLXBvc3QtYnV0dG9ucyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjhweCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgbWFyZ2luOiAyMHB4IDAgNjBweCAwIWltcG9ydGFudDtcbiAgICBnYXA6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRpbWUtc3Bhbi1xdWVzdGlvbiB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xufVxuXG4udGltZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdy1zdGFydDtcblx0bWFyZ2luLXRvcDogMjRweDtcbn1cblxuLnRpbWUtbGFiZWwge1xuICB3aWR0aDogMTAzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMjFweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGNvbG9yOiAjNkM2RDZDO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnV0dG9uLXNlbGVjdCAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0KyAuYnV0dG9uLXNlbGVjdCAge1xuXHRcdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdH1cblx0Ji5zZWNvbmRhcnkgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdGJhY2tncm91bmQ6ICNEOURCREM7XG5cdFx0fVxuXHR9XG5cdCYuc21hbGwgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdHdpZHRoOiA2OXB4O1xuXHRcdH1cblx0fVxuXHQmLmluZGVudGVkICB7XG5cdFx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0fVxuXHR9XG5cdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJhY2tncm91bmQ6ICM5NzY4RUI7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHdpZHRoOiA2OXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuY3VycmVudC1zZWxlY3Rpb24ge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG4gICAgXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0XHRcdHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMTBweDtcblx0XHRcdC5jdXJyZW50ICB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHRcdC5pY29uLWNhcmV0LWRvd24gIHtcblx0XHRcdFx0Zm9udC1zaXplOiA1cHg7XG5cdFx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGltZS1vcHRpb25zLWhpZGRlbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQudGltZS1vcHRpb25zIHtcblx0XHRcdGNvbG9yOiAjOTc2OEVCO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjOTc2OEVCOyBcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE3cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDNweCAzcHg7XG5cdFx0XHR3aWR0aDogNjlweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0Ji5zZWNvbmRhcnkge1xuXHRcdFx0XHRjb2xvcjogI0Q5REJEQztcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjRDlEQkRDO1xuXHRcdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRDlEQkRDO1xuXHRcdFx0XHRcdH1cdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRwYWRkaW5nOiAzcHggMTRweCAzcHggN3B4O1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHR9XHRcdFx0XHRcblx0fVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRvb2x0aXBIaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0bWF4LXdpZHRoOiAzNjBweDtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcblx0bWluLWhlaWdodDogNzJweDtcblx0dG9wOiAtMTMwJTtcblx0bGVmdDogNjVweDtcblx0ei1pbmRleDogMTA7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMjBweCAyNXB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtZmFtaWx5OiBOdWRpc3RhLXdlYjtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDQ2LDQ2LDQ2KTtcblx0Y29sb3I6IHdoaXRlO1xuXHRsaW5lLWhlaWdodDogMjRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGV0dGVyLXNwYWNpbmc6IC4zNXB4O1xuXG5cdC50dENvbnRlbnQge1xuXHRcdGNvbG9yOiAjOTI5MzkyO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdH07XG5cblx0LnR0VGl0bGUge1xuXHRcdGhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0cGFkZGluZzogMTVweCAxOHB4O1xuXHR9XG59XG5cbi50b29sdGlwLXJpZ2h0IHsgLy8gcmlnaHQgaXMgdGhlIGRlZmF1bHRcblx0QGV4dGVuZCAudG9vbHRpcDtcbn1cblxuLnRvb2x0aXAtYm90dG9tIHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0dG9wOiA1NXB4O1xuXHRsZWZ0OiAtMTI1cHg7XG59XG5cbi50b29sdGlwLWF1dG9zY2hlZHVsZSB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IC04NXB4O1xuICB0b3A6IC0yOTBweDtcbn1cblxuLnRvb2x0aXAtbGVmdCB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IGluaGVyaXQ7XG5cdHJpZ2h0OiA0NXB4O1xufVxuXG4udG9vbHRpcDphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTIwcHg7XG5cdHRvcDogMTVweDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2IoNDYsNDYsNDYpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAyMHB4IDBweDtcblx0aGVpZ2h0OiAwcHg7XG5cdHdpZHRoOiAwcHg7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRvb2x0aXAtcmlnaHQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xufVxuXG4udG9vbHRpcC1ib3R0b206YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiAxMzBweDtcblx0dG9wOiAtMjBweDtcblx0Ym9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuXHRib3JkZXItd2lkdGg6IDBweCAyMHB4IDIwcHggMjBweDtcbn1cblxuLnRvb2x0aXAtYXV0b3NjaGVkdWxlOmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcblx0bGVmdDogMTYwcHg7XG4gIHRvcDogMjUwcHg7XG5cdGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMHB4IDIwcHg7XG59XG5cbi50b29sdGlwLWxlZnQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiBpbmhlcml0O1xuXHRyaWdodDogLTIwcHg7XG5cdGJvcmRlci13aWR0aDogMjBweCAwcHggMjBweCAyMHB4O1xufVxuXG4udG9vbHRpcENsb3NlIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nOiAwcHggMTBweCAzcHggMHB4O1xuXHRjb2xvcjogbGlnaHRibHVlO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdGZvbnQtc2l6ZTogMjRweDtcbn1cblxuQG1peGluIGNoYXJ0LXRvb2x0aXAtY2FyZXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAwcHg7XG5cdGhlaWdodDogMHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGNvbnRlbnQ6ICcnO1xufVxuXG4uY2hhcnQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAyNTVweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0bWluLWhlaWdodDogMTAwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG5cdHotaW5kZXg6IDE7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LmhlYWRlciB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICNlZmVmZWY7XG5cdH1cblxuXHQuY29udGVudCB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdG1hcmdpbi10b3A6IDZweDtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LXJvdygpO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRcdFx0bWluLWhlaWdodDogMjBweDtcblx0XHRcdG1heC1oZWlnaHQ6IDIwcHg7XG5cblx0XHRcdD4gaSB7IG1pbi13aWR0aDogMTZweDsgfVxuXHRcdFx0PiBkaXYgeyBtYXJnaW4tbGVmdDogNnB4OyB9XG5cblx0XHRcdCYuY29tcGxldGVkIHsgY29sb3I6ICMxNjg4NGU7IH1cblx0XHR9XG5cdH1cblxuXHQmLmhpZGRlbiB7XG5cdFx0dmlzaWJsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLmJvdHRvbTphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0Ym90dG9tOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG5cdH1cblxuXHQmLnRvcDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG5cdH1cblxuXHQmLmxlZnQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlMmUyZTtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XG5cdH1cblxuXHQmLnJpZ2h0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMmUyZTJlO1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcblx0fVxufVxuXG4uZmEgeyAvLyB0aGlzIGZvbnQgYXdlc29tZSBzdHlsZSAodHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKSkgaXMgYnJlYWtpbmcgei1pbmRleCBiZWhhdmlvciBhbmQgZG9lc24ndCBzZWVtIHRvIGhhdmUgYW55IHZpc3VhbCBlZmZlY3QuICBTbyBJJ20gdHVybmluZyBpdCBvZmYuXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi51cGxvYWQtY29udGFpbmVyIHtcbiAgLnVwbG9hZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0MDBweCk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNkZGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC51cGxvYWQtbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgID4gLnVwbG9hZC1wcmV2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxuXG4gID4gaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9ICBcbn1cblxuZGl2LmltYWdlLWNvbnRyb2xcbntcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjgwcHgpO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICAuaW1hZ2UtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5zaWxlbnQtZmlsZS1pbnB1dCB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICB9ICAgICAgICAgICAgICAgIFxufVxuXG4uaW1hZ2UtYnV0dG9ucyB7XG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLmFjdGl2ZS11cGxvYWQge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1MHB4KTtcbiAgXG4gIC5maWxlLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC5maWxlLWluZm8tc2l6ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuXG4gICAgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB0ZXh0LWluZGVudDogNnB4O1xuXG4gICAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZjBhMmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn0iLCIuZXhlcmNpc2VfY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leGVyY2lzZV9uYXYge1xuICBAaW5jbHVkZSBmbGV4KDEgMCA0MDBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cblxuICAuYWRkIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBpLmZhIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC45NzUpO1xuICAgIH1cbiAgfVxuXG4gIC5saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYgPiBkaXY6bm90KC5maWxsZXIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG5cbiAgICAgIC5kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC52aWV3LWRldGFpbCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGRpdi5maWxsZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZV9zZWxlY3Qge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAubGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xuICAgICAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuICAgICAgLmV4ZXJjaXNlLWl0ZW0ge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaXJjbGVkLWljb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgLnZpZXctZGV0YWlsIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktc2lkZXMge1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICAgJiA+IGRpdiBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBkaXYgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gZGl2LmZpbGxlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5saXN0IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxMDBweCk7XG5cbiAgPiBmdXNpb24tZHJvcC1kb3duLFxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bixcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgLyoqKioqIE5PVEUgKioqKioqXG4gICAgc2luY2UgdGhlIGhlaWdodCBpcyBiZWluZyByZWNhbGN1bGF0ZWRcbiAgICBvbmx5IHNldCB0aGUgbWluLWhlaWdodFxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICoqKioqIEVCRCBOT1RFICoqKioqKi9cbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgLnNlbGVjdC10b2dnbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC45KTtcbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGZ1c2lvbi1kcm9wLWRvd24gPiBkaXYsXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcbiAgfVxuXG4gID4gZnVzaW9uLWRyb3AtZG93bi5yZXF1aXJlZCxcbiAgPiBmdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ucmVxdWlyZWQge1xuICAgIC5zZWxlY3QtdG9nZ2xlID4gc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLWl0ZW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBtYXJnaW46IDEwcHg7XG5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuXG4gICAgJi50b2dnbGUge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAgICYuZG93biB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIEBpbmNsdWRlIGZsZXgoLjkpO1xuXG4gICAgLm5vLXdyYXAtZWxsaXBzZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLWl0ZW0ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAuaWNvbiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnZ2luZy1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgLmljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tbWF0Y2gge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLyogbW9kYWwganVuayAqL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gICYubW9kYWwtZXhlcmNpc2UtZGV0YWlsIHtcbiAgICBoZWFkZXIge1xuICAgICAgLyogQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7ICovXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgICYudmlkZW8tdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2UtdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAmLm1vZGFsLWV4ZXJjaXNlLWZvcm0ge1xuICAgIGhlYWRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gbGFiZWwgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLmZpbHRlcnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAmLm1vZGFsLWVycm9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMTBweCA0MHB4IDEwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYXJnZXIge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDUwJSk7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmICsgaS5mYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNpbmdsZS1saW5lLWZvcm0tZmllbGRzIGxhYmVsIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2luZ2xlLWxpbmUtZm9ybS1maWVsZHMgLmV2ZW4tY29scyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICM3NTc3N2E7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwgKyBsYWJlbCB7XG4gICAgICAgICAgPiBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogI2EwYTRhODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdhO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogZHJhZy1uLWRyb3AganVuayAqL1xuLyogc2hvdWxkIGJlIG1vdmVkIHRvIG93biBmaWxlIChjbGVhcmx5KSAqL1xuLmRyYWctaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufTtcblxuLmRyYWctbW92ZS1zY3JvbGwtYW5jaG9yIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTUsIDE1NSwgMTU1LCAuMjc1KTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxO1xuXG4gICYudG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG59O1xuXG4uZHJvcC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcC10YXJnZXQge1xuXG4gICY6bm90KC5kcm9wLWVtcHR5KSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjZGQzZDc7XG4gIH1cblxuICAmLmRyb3AtdGFyZ2V0LW92ZXIge1xuICAgICY6bm90KC5hZGQtc2VjdGlvbikge1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkICM0Y2JiMTcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmFkZC1zZWN0aW9uID4gZGl2IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYmIxNyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hZGQtZXhlcmNpc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyYWdnaW5nLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4ODg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45MCwgMC45MCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnJlc3AtcHJvZ3JhbS1tZW51IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLmNhdGFsb2dfY29udGFpbmVyID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLm9wZW5lZC1jb250YWluZXIsXG4gICAgLmNsb3NlZC1jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC5jYXRhbG9nLWJhbm5lcixcbiAgICAuY2F0YWxvZy1zZWFyY2gsXG4gICAgLmNhdGFsb2dfbmF2X3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuY2F0YWxvZ19jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICB1bC5jYXRhbG9nX25hdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzNTBweCk7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiBkaXYuY2F0YWxvZy1zY3JvbGxhYmxlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgPiBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICYub3BlbmVkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5jbG9zZWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgNTJweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWJhbm5lciB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xuICBtYXJnaW46IDFweCAwO1xuXG4gIGkuY2lyY2xlZC1pY29uIHtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBjb2xvcjogI2VmZWZlZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLmNhdGFsb2ctc2VhcmNoIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIFxuICBmb3JtIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM5cHg7XG4gICAgICB0ZXh0LWluZGVudDogMTVweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19uYXZfd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhdGFsb2dfbmF2IHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC5jYXRlZ29yeS1pY29uIHtcbiAgICBtYXJnaW46IDAgMThweDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG5cbiAgLmFkZC1pY29uIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgbWluLXdpZHRoOiAxMnB4O1xuICB9XG59XG5cbnVsLmNhdGFsb2dfbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgID4gc3BhbiB7XG4gICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktc3RhdGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgbWluLXdpZHRoOiAxMnB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeS1vcGVuIHtcbiAgICAgIC5jYXRlZ29yeS1zdGF0ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYyMFwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yeS1jbG9zZSB7XG4gICAgICAuY2F0ZWdvcnktc3RhdGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU2MmZcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5leGVyY2lzZS10ZWNobmlxdWUge1xuICAgID4gc3BhbiB7XG4gICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaSA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHRleHQtaW5kZW50OiA1MHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubG9naW4tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAubG9naW4tbW9kYWwge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ3NnB4KTtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZDO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDQ3cHggMCAyMnB4O1xuXG4gICAgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmxvZ2luLWJhbm5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbWFyZ2luOiAyOHB4IDE1cHggMzBweDtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG5cbiAgICAubG9naW4tZm9ybSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgICAgIFxuXG4gICAgICAvLyA+IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICA+IGlucHV0OjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTFweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgXG4gICAgICAgICAgb3BhY2l0eTogMTsgIFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgaW5wdXQgIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2dpbi1idXR0b25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtZXZlbmx5KTtcbiAgICAgICAgbWFyZ2luOiAwcHggMzBweDtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU3cHgpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgIFxuICAgIH1cblxuICAgIC5yZXNldC1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICAgICAgXG5cbiAgICAgID4gaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXQge1xuICAgICAgICBtYXJnaW46IDI4cHggMCAwO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MXB4KTtcblxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIgIHtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBcbiAgICAgICAgICBvcGFjaXR5OiAxOyAgICAgICBcbiAgICAgICAgfVxuICAgICAgICArIGlucHV0ICB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2Vjb25kUGFzc3dvcmQge1xuICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIG1hcmdpbjogMjhweCAwIDA7XG4gICAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIG1hcmdpbjogMTFweCAxNXB4OyAvLyB3aGVuIGEgbWVzc2FnZSBpcyBoZXJlIGlzIHNob3VsZCBiZSB2ZXJpdGNhbGx5IHNwYWNlZCBhIGJpdFxuICAgIH1cblxuICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDcwcHgpO1xuICAgICAgbWFyZ2luOiAxMXB4IDE1cHg7IC8vIHdoZW4gYSBtZXNzYWdlIGlzIGhlcmUgaXMgc2hvdWxkIGJlIHZlcml0Y2FsbHkgc3BhY2VkIGEgYml0XG4gICAgfVxuXG4gICAgLmxvZ2luLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxvZ2luUmVtZW1iZXJNZSAge1xuICBtYXJnaW46IDI4cHggMCAwO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC5jaGVja2JveC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBpICB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuICAgIHNwYW4gIHtcbiAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIH0gXG4gIH0gIFxufVxuLmxvZ2luRm9yZ290UGFzc0xpbmsgIHtcbiAgbWFyZ2luOiAzMXB4IDAgMDtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjQUFCMEI3O1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGEgIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIlxuLm1vZGFsLWNvbnRhaW5lciBzZWN0aW9uLnByb2ZpbGUtZm9ybSB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW46IDEwcHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIFxuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgIG1hcmdpbjogNXB4IDlweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtYXRobGV0ZS1mb3JtIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogNzQwcHg7XG5cbiAgICBoZWFkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuc21hbGxlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgZGl2LnNlY3Rpb24tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBkaXYub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgfVxuICAgICAgZGl2Lm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgICAgIGRpdi5vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExNXB4KTtcbiAgICAgICAgfVxuICAgICAgICBkaXYuY2hvaWNlcy1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnJhZGlvLWlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gVGhlIGZvcm0ncyBzZWxlY3Qgc3R5bGluZyAoYW5kIGl0cyBjYXJldCkgaXMgc2NvcGVkIHRvIHNlY3Rpb24gbGFiZWwsXG4gICAgICAgICAgLy8gc28gdGhlIHJlZ2lzdHJhdGlvbiB0ZXN0IHBpY2tlciBjYXJyaWVzIGl0cyBvd24gaW5zaWRlIHRoaXMgb3B0aW9ucyBibG9jay5cbiAgICAgICAgICAuc2VsZWN0LWlucHV0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDI4cHggMCAxMHB4O1xuXG4gICAgICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICAgICAgIGNvbG9yOiAjRDlEQkRDO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJvdy1jb250YWluZXJcbiAgICAgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgfVxuICAgICAgICAmIC5zcGFjZS1iZXR3ZWVuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICYubW9kYWwtZXJyb3Ige1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZG9iLWZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZlZXQtZmllbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoLjYgMSAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluY2hlcy1maWVsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCguMzk1IDEgMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsNDYsNDYpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDQ2LDQ2LDQ2KTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweCAxMHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICAgICAgICAmLm1lYXN1cmVtZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZS1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltcGVyaWFsLWhlaWdodCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NSU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC8vICYuZmVldCB7XG4gICAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH0gICAgICAgICAgXG5cbiAgICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAmLmZlZXQge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmltcGVyaWFsIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWNvbnRhaW5lci5tb2RhbC1hdGhsZXRlLWZvcm0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIGZvb3RlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgLy8gb25seSBkaXJlY3QgY2hpbGQgcm93LWNvbnRhaW5lcnMgKGZvcm0gcm93cykgZ28gdG8gY29sdW1uLCBleGNlcHQgaGVpZ2h0IHJvd1xuICAgICAgLy8gbmVzdGVkIHJvdy1jb250YWluZXJzIChlLmcuIGluc2lkZSBmdXNpb24tY2FsZW5kYXIgLmRhdGUtaW5wdXQpIHN0YXkgYXMtaXNcbiAgICAgID4gLnJvdy1jb250YWluZXI6bm90KC5oZWlnaHQtZmllbGRzLXJvdykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuXG4gICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLmRvYi1maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgfVxuXG4gICAgICA+IC5yb3ctY29udGFpbmVyLnNwYWNlLWJldHdlZW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICAub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtY29udHJvbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHggNDBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5zZWxlY3QtYWxsIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnNlbGVjdC1hdGhsZXRlLWxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogNDVweCA2NXB4IDQ1cHggNjVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAuYXRobGV0ZXMge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAmLmFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtdGVybXMge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiA3NDBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJcbi5hZG1pbi1tZW51IHtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi5tYXJrZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgfVxufVxuXG4uYWRtaW4tc3ViLW1lbnUge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgY29sb3I6ICNhMGE0YTg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi50YWItbWVudSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ1cHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAgMTBweDtcblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxufVxuXG4udGFiLW1lbnU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi50YWItdmlldyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLnRhYi12aWV3LWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi50ZXN0LWNvbnRhaW5lci1oZWFkZXIgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdG1hcmdpbi10b3A6IDI1cHg7XHRcblx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblx0fVxuXHQudGl0bGUgIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAzNC41cHg7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdCO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyO1x0XG5cdFx0bWluLWhlaWdodDogNDZweDtcblx0fSBcblx0Lm1haW4tY29sICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcdFx0XG5cdH1cblx0LnNpZGUtY29sICB7XHRcdFxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1x0XG5cdFx0fVxuXHRcdD4gZGl2Om5vdChbY2xhc3NdKSAge1xuXHRcdFx0Zm9udC1zaXplOiAxNi41OXB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcdFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0fVxuXHR9XG59XG5cbi50ZXN0LXJlc3VsdC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ZXN0LXJlc3VsdC1oZWFkZXIge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMzQuNXB4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcdFxuXHRcdG1pbi1oZWlnaHQ6IDQ2cHg7ICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4OyAgICAgICAgXG4gICAgfTtcbn1cblxuLmlucHV0LXJlc3VsdHMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICBcbn1cblxuLnJlc3VsdHMtY29sdW1uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29sdW1uLWNvdW50KDIpO1xuICAgIEBpbmNsdWRlIGNvbHVtbi1nYXAoNGVtKTsgIFxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDEpO1xuXHRcdH0gXG59XG5cbi5leGVyY2lzZS1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBjb2x1bW4tbm8tYnJlYWsoKTsgIFxufVxuXG4ubGlua2VkLXJlc3VsdHMtaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNC41cHg7XG4gIGNvbG9yOiAjNzU3ODdCO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDsgIFxufVxuXG4udGVzdGVkLWJ5IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogIzc1Nzc3QTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnBlcmZvcm0tYWRkaXRpb25hbC1yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4ucGVyZm9ybWFuY2UtcmVzdWx0cyAgeyAgXG5cdHBhZGRpbmc6IDgwcHggMCA4MHB4O1xuXHRtYXgtd2lkdGg6IDc3OHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0LmgyICB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0fVxuXHRzZWN0aW9uICB7XG4gICAgcGFnZS1icmVhay1pbnNpZGUgOiBhdm9pZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgICAgXG5cdFx0KyBzZWN0aW9uICB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcblx0XHR9XG5cdH1cbn1cblxuLnBlcmZvcm0tbm90ZXMtc2VjdGlvbiB7XG4gIG1heC13aWR0aDogNzc4cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMTIwcHggMDtcbiAgLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMnB4O1xuICB9XG4gIC5wcm9zZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5MjkzOTI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4uc3RyZXNzLWluZGV4LWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcblx0Y2FudmFzIHtcblx0XHR3aWR0aDogMTEyNHB4O1xuXHRcdGhlaWdodDogODBweDtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuICA+IC5oZWFkZXIgIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0LnRpdGxlICB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Y29sb3I6ICM3NTc4N0I7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMThweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhdC1oZWFkZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzc1Nzg3QjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNDBweCAwIDE4cHg7XG59XG4uY2F0LXNjb3JlICB7XG5cdGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcblx0Ji5ncmVlbiAge1xuXHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHR9XG5cdH1cblx0Ji55ZWxsb3cgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUteWVsbG93O1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcblx0XHR9XG5cdH1cblx0Ji5yZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtcmVkO1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcblx0XHR9XG5cdH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jbGluaWNhbC1maWVsZCB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgICAmLmNsaW5pY2FsLW5vdGVzIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uY2xpbmljYWwtc3ViLW5vdGUge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgICAgXG59XG5cbi50cmVlLWxpbmUge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG59XG5cbi5jbGluaWNhbC1ub3Rlcy1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDM4cHggMCA2MHB4O1xuICAgIG1heC13aWR0aDogNTYwcHg7XG59XG5cbmxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQgIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgNDBweDtcbn1cblxuaHIuY2xpbmljYWwtcmVwb3J0LWxpbmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnNwYW4uY2xpbmljYWwtbGFiZWwgIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG5mdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ge1xuICAgICYuY2xpbmljYWwtZHJvcC1kb3duIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjZweDtcbiAgICAgICAgd2lkdGg6IDYyNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgPiBkaXYuY29sdW1uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgICAgICAgIHNwYW4uZmlsdGVyZWQge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsaW5pY2FsLXNpZ25hdHVyZSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjOTI5MzkyO1xuXHRsaW5lLWhlaWdodDogMS41O1xuICA+IGRpdiB7XG4gICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gIH1cbn1cblxuLnByaW50LW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRlc3QtYXRobGV0ZS1uYW1lIHtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG59XG5cbi5wZXJmb3JtLXNlbGVjdCB7XG4gIG1pbi13aWR0aDogMTMzcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNEOEQ4RDg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiAzOHB4O1xufVxuXG4ucmVjb21tZW5kZWQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICRyZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUitSIERhaWx5IFRlc3QgdjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDMge1xuICBzcGFuIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuLnJyLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuY3VzdG9tIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgJjpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucnIta2V5IHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5O1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICRibHVlO1xuICBsYWJlbCB7XG4gICAgd2lkdGg6IDMzLjMlO1xuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHJlcGVhdGVkIHNoaWZ0IHRlc3Rcbi5yZXBlYXRlZC1zaGlmdC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC5kcm9wLW9mZiB7XG4gICAgICBjb2xvcjogIzk3NjhFQjsgXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgfVxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4OXB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG4gIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDsgXG4gICAgd2lkdGg6MTBweFxuICB9XG59XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHktYmFsYW5jZSB0ZXN0c1xuLnktYmFsYW5jZS1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnN1Yi1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgfVxuICAgIC5kaWZmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MXB4O1xuICAgICAgY29sb3I6ICM5NzY4RUI7IFxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgIH1cbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcbiAgICAgIH1cbiAgICAgIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXG4gICAgICAgIHdpZHRoOjEwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVzIGZvciBtZWFzdXJlbWVudCBncm91cHNcbi5tZWFzdXJlbWVudC1ncm91cCB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIC50ZXN0LXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAuc3ViLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9ICAgIFxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI3NXB4O1xuICAgICAgfVxuICAgICAgLm1lYXN1cmVtZW50LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyBcbiAgICAgICAgd2lkdGg6MTBweFxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGNoYW5nZS1pbmRpY2F0b3Ige1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIG1hcmdpbjogMCAxMHB4O1xuXG4gICYuaW5jcmVhc2UgeyBcbiAgICBjb2xvcjogIzIwYjc2OTsgXG4gICAgaS5mYSB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi5kZWNyZWFzZSB7IFxuICAgIGNvbG9yOiAjYzQyYTNiOyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0taW5jcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0tZGVjcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICBpLmZhIHtcbiAgICBtaW4td2lkdGg6IDEycHg7XG4gIH1cbn1cblxuLnRlc3QtcmVzdWx0cy1idXR0b24ge1xuICB3aWR0aDogMTAwJTsgIFxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgXG59XG5cbi5yZXBvcnRzLXJlc3AtaGVhZGVyIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KGNvbHVtbik7XG4gICAgLnJlc3AtaGVhZGVyLWFjdGlvbnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW9wdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBtYXJnaW46IDMwcHggMCA1cHg7XG4gIGdhcDogMTBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW5vZGF0YSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlcG9ydC1jaGFydC1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuXG4gIC5yZXBvcnQtY2hhcnQtZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgLnJlcG9ydC1jaGFydC1kZXRhaWwge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAgICAgJi50ZWFtLCAmLnRvdGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIDE4cHgpO1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAxOHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmVwb3J0LWRldGFpbC1jaGFydC1saW5lIHtcbiAgICAgICAgPiBjYW52YXMge1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHghaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaGVhZGVyIHtcblxuICAgICAgfVxuXG4gICAgICAuc2NvcmUtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgIC5zY29yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJvcGhpZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXG4gID4gZGl2IHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHggMTBweCAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICB9XG4gIH1cblxuICAuc3VtbWFyeS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnN1bW1hcnktaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAwIDhweDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlciB7XG5cbiAgICAgIH1cblxuICAgICAgLnNjb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cbiAgICAgICAgLnNjb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VtbWFyeS1jaGFydCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG5cbiAgICAgID4gY2FudmFzIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtZGV0YWlscy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgXG5cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAyNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4ucmVwb3J0LWRldGFpbHMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICA+IGRpdiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2hhbmdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIG1pbi13aWR0aDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIFxuICAubmFtZXMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIG1pbi13aWR0aDogMjUwcHg7ICAgIFxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJi5zdWItdG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICYgKyAuc3ViLXRvdGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmRldGFpbC1yb3ctcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDoxNXB4OyBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mby1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNjb3Jlcy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIG92ZXJmbG93LXg6IHVuc2V0O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIC5oZWFkZXItcm93IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuZGV0YWlsLXJvdyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgJi5yaWdodC1sZWZ0IHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgICAmLnJpZ2h0LWxlZnQge1xuICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGFuZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXJlcG9ydC1ib2R5bWFwIHtcbiAgbWF4LWhlaWdodDogMjEzcHg7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAtY29udGFpbmVyIHtcbiAgLy8gbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3JhbS1ncm91cC1kcm9wZG93bi1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDI0cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDBweCAxMHB4IDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBcbiAgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLnByb2dyYW0tdHlwZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnJlcG9ydC1wcm9ncmFtcy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cblxuICAuaGVhZGVyLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcblxuICAgIHNwYW4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5wcm9ncmFtLWRhdGEtY2hhcnQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgfVxuICB9XG5cbiAgLmRhdGEtcm93IHtcbiAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRvdGFsXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucG9zaXRpb24tdG90YWwgXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMUUzRTU7XG4gICAgICAgIGNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tbmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiAzNDZweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLWRhdGEge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICYucmlnaHQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1kYXRhLWNoYXJ0IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1maWxsZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wYWdlLWhlYWRlci1iYWNrLW5hdiB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgbWluLWhlaWdodDogNDBweDtcblxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBpLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cbn1cblxuLnRlc3QtYXJjaGl2ZXMtb3B0aW9ucyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAzMHB4IDAgNXB4O1xuICByb3ctZ2FwOiAxMHB4O1xuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXJjaGl2ZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBtYXJnaW46IDMwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgaS5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1uYW1lLFxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaW5mbyB7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAmLmhlYWRlci1yb3cge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvL3ZlcnNpb24gMiBvZiBoZWFkZXIgKHNlZSBuZXctaGVhZGVyLmh0bWwgZm9yIHRlbXBsYXRlIChzd2l0Y2hlZCB2MikpXG4uaGVhZGVyLWNvbnRlbnQge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChpbml0aWFsKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gIC5oZWFkZXItbG9nby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItcHJhYy1idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLXByYWMtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMxYzFjMWM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgLmhlYWRlci1wcmFjLW1lbnVfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xuICAgICAgY29sb3I6ICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1wcmFjLXVzZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICAuaGVhZGVyLWxvZ28gIHtcbiAgICBtYXJnaW46IDEwcHggMzVweDtcbiAgXHRpbWcgIHtcbiAgXHRcdG1heC13aWR0aDogMTgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICBcdH1cbiAgfVxuICAucmVzcC1jZW50ZXIge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnVzZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmhlYWRlci10ZWFtLW5hbWUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzhDOTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmc6IDBweCAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIFxuICB9XG4gIC5oZWFkZXItdGVhbS1uYW1lLXJlc3Age1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgPiBoMyB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItdGVhbS1uYW1lLWxpbmsge1xuICAgIEBleHRlbmQgLmhlYWRlci10ZWFtLW5hbWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudGVhbS1zd2l0Y2hlciAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogODAlO1xuICAgICAgbGVmdDogOTAlO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgIH1cbiAgfVxuICAudGVhbS1vcHRpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDIlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjFmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIFxuICAgID5kaXYge1xuICAgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE0cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGZkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2hpdGUtZmllbGQge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblxuICAgIGkuaWNvbi1zaG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1hdGhsZXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmLnNpZ25vdXQge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zaG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWNvbnRlbnQtLXByYWMge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyLXRlYW0tbmFtZSxcbiAgICAuaGVhZGVyLXRlYW0tbmFtZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyByZXNwb25zaXZlIHR3ZWFrcywgc2hvdWxkIGp1c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCB0aGUgcmVzdFxuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgLmhlYWRlci1jb250ZW50LXYyIHtcbiAgICAud2hpdGUtZmllbGQgIHtcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpLmljb24tc2hvcCAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuJGd1dHRlci13aWR0aDogMTVweDtcbi8vICRjb2wtZ2FwOiAzMHB4O1xuJGNvbC1nYXA6IDE1cHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgcmVzcG9uc2l2ZW5lc3MgYWRqdXN0bWVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi53aGl0ZWJvYXJkICB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxudWwuY2F0YWxvZ19uYXYgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgbGkgPiBzcGFuICB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG51bC5jYXRhbG9nX25hdiBsaSA+IHVsIGxpID4gdWwgbGkgIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIEBpbmNsdWRlIHlwYWQoNnB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IC8vIHRoaXMgd2F5LCB3aGVuIGl0IHdyYXBzLCBpdCBkb2Vzbid0IGxvb2sgc3RyYW5nZVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCAudGl0bGUtY29udGFpbmVyIC5yZXR1cm4tbGluayAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXRobGV0ZSBncmlkIHVuaXZlcnNhbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtaW5mby1ib3ggIHtcbiAgICAuYmlvLWhlYWRlciAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIC5hdGhsZXRlLW51bWJlciAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmlvLWJvZHkgIHtcbiAgICAgICAgLmF0aGxldGUtcHJvZmlsZSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXRobGV0ZS1zdGF0cyAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAgICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYW52YXMgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgPiBhdGhsZXRlIGxpc3QgdmlldyA+IGxvY2tlZC93cmFwcGVkIGF0aGxldGUgbnVtYmVyLi4uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1saXN0LXZpZXcudmlldy1sYXlvdXQgIHtcbiAgICAuYXRobGV0ZS1udW1iZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1M3B4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1uYW1lICB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb2ZpbGUtc3VtbWFyeSAge1xuICAgIC50b2RheS1wcm9ncmFtLFxuICAgIC50b2RheS1ub3RpY2UgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNnB4O1xuICAgIH1cbn1cbi5jb2x1bW4tY29udGFpbmVyLnByb2ZpbGUtc2NvcmUgKyBkaXYge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHVuaXZlcnNhbCBicmVha3BvaW50IGRyb3Bkb3duXG4vLyBvbmNlIGJyb3dzZXIgd2lkdGggZ29lcyBiZWxvdyAxMDU0IChzZWUgbWl4aW4gcmVzcG9uZChzbSkpXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGJvZHkgICB7XG5cbiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gLy8gc2VjdGlvbiA+IHVuaXZlcnNhbFxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuIC52aWV3LWNvbnRhaW5lciAge1xuICAgIHdpZHRoOiAkY29tcHJlc3NlZENvbnRlbnRXaWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBAaW5jbHVkZSB4cGFkKCRndXR0ZXItd2lkdGgpO1xuICAgIC52aWV3LWNvbnRhaW5lciAge1xuICAgICAgICBAaW5jbHVkZSB4cGFkKDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi53ZWVrLXdyYXBwZXIgLndlZWstZGF5LWNvbHVtbiAge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgIHtcbiAgICBtYXJnaW46IDBweCAyMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlIHBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5wcm9maWxlLWRldGFpbCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDIwMCAvIDE3NTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlLWFjdGlvbiAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9maWxlLXN1bW1hcnkgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCg0KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xuICAgID4gLnJvdy1jb250YWluZXIuZGl2aWRlZCAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLWdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUtY29udGFpbmVyICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLnByb2ZpbGUtc2NvcmUgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LW1lbnUtaXRlbSAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgfVxufVxuLnByb2dyYW0tY2hhcnQsXG4ubGluZS1jaGFydCAge1xuICAgIEBpbmNsdWRlIGZsZXgoMik7XG59XG4ucHJvZ3JhbS1jaGFydCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLnZpZXctbGF5b3V0IC52aWV3LWNvbnRhaW5lciAubGluZS1jaGFydCAge1xuICAgIC5saW5lLWNoYXJ0LWNhbnZhcyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5jaGFydC1kZXRhaWxzICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgKGJhc2VkIG9mZiBvZiBwcm9maWxlID0+IHByb2dyYW1zID0+IHZlcnRpY2FsIGJhciBjaGFydClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmNhbnZhcyAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcHJvZmlsZSA+IGNhbGVuZGFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY2FsZW5kYXItbW9udGggIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYWxlbmRhci1kYXlzICB7XG4gICAgICAgIC5jYWxlbmRhci1kYXkgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwLzcpKjElO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm90ZXMtY2FsZW5kYXIgIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTJweDtcbiAgICB9XG59XG4uY2FsZW5kYXItZGF5LWluZm8gIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2NoZWR1bGUtY2FsZW5kYXItbGF5b3V0IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLmNhbGVuZGFyLW1vbnRoIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IGF0aGxldGUgZ3JpZCA+IGxpc3Qgdmlld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0ICB7XG4gICAgLmF0aGxldGUtc3RhdCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcuNSUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG4gICAgLmF0aGxldGUtcHJvZ3JhbXMgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxOCUpO1xuICAgIH1cbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5ICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93ICB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbW9kYWxzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubW9kYWwgIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLm1vZGFsLWNvbnRhaW5lciAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbm90ZXMgPiB0cmFpbmluZyBsb2FkID4gbWlzY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnRsLWVudHJ5LWhlYWRlciAudGwtc2VsZWN0LFxuLnRsLWVudHJ5IC50bC1zZWxlY3QgIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbn1cbi50bC1lbnRyeS1oZWFkZXIgLnRsLWlucHV0LFxuLnRsLWVudHJ5IC50bC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODZweCk7XG59XG4udGwtZW50cnkgLnRsLWlucHV0ID4gLmJhc2ljLWlucHV0LnNtYWxsICB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGwtZW50cnktaGVhZGVyICB7XG4gICAgLmZpZWxkLWxhYmVsICB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHVuaXZlcnNhbCBpbnB1dCBzaXplIHJlZHVjdGlvbi4uLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dC5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dC1yZWFkb25seSB7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4vLyBjdXJyZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIG5hdiBmaWx0ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLW1lbnUgIHtcbiAgICAuYXRobGV0ZS1zZWFyY2ggIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5hdGhsZXRlLWZpbHRlci1zb3J0ICB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgPiAuYXRobGV0ZS1zb3J0LWJveCAge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgLmxhYmVsICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTdweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXRobGV0ZS1yZXNldC12aWV3ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLmF0aGxldGUtdG9nZ2xlLXZpZXcgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaGVhZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5oZWFkZXItY29udGVudCAge1xuICAgIC53aGl0ZS1maWVsZCAge1xuICAgICAgICA+IGRpdiA+IGRpdiAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbi1zaG9wICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24gIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG4gICAgLmxvZ28gIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItd2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgIH1cbiAgICAud2hpdGUtZmllbGQgPiBidXR0b246bGFzdC1jaGlsZCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4gICAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gZ3JhcGgga2V5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubGluZS1jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LWxlZ2VuZCAge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE2cHg7XG4gICAgICAgID4gLmZhICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gdGVzdGluZyBwcm9tcHRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvbXB0LWJveCAge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4udGVzdC1sYW5kaW5nICB7XG4gICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk2cHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgIHtcbiAgICAudGVzdC1sYW5kaW5nICB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IG1pc2MgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWNoYXJ0LWNvbnRhaW5lciAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5saW5lLWNoYXJ0ICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAucmVwb3J0LWNoYXJ0LWRldGFpbHMgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLnJlcG9ydC1jaGFydC1kZXRhaWwgIHtcbiAgICAgICAgICAgID4gZGl2ICB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHN1bW1hcnkgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LXN1bW1hcnkgIHtcbiAgICA+IGRpdiAge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxMHB4KTtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyICB7XG4gICAgLnRpdGxlICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICB9XG59XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gc2VjdGlvbiA+IG1kID4gZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xufVxufVxuXG5AaW5jbHVkZSByZXNwb25kKHNtKSAgeyBib2R5ICB7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc20gPiBhdGhsZXRlIGdyaWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gY2F0YWxvZyBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hZG1pbi1tZW51ID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGNhdGFsb2cgc2lkZSBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5jYXRhbG9nX2NvbnRhaW5lciAge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDIwMHB4KTtcbn1cbi5jYXRhbG9nLXNlYXJjaCAge1xuICAgIGZvcm0gIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10gIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b25bdHlwZT0ncmVzZXQnXSAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRhbG9nLWZlYXR1cmUgLmZlYXR1cmUtY29udGFpbmVyIC5mZWF0dXJlLWNvbnRlbnQgIHtcbiAgICBsZWZ0OiA0MHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdGVhbXMgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnByYWN0aXRpb25lcnNUYWJsZSxcbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgPiBzcGFuICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcmFjdGl0aW9uZXJzVGFibGUgIHtcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDExMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleElubGluZU92ZXJyaWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDg4cHgpO1xuICAgICAgICAgICAgICAgIGJ1dHRvbiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg5NnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSAge1xuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDE2MHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4SW5saW5lT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDcwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgyMTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHNtYWxsZXIgc2NyZWVucyB1cGRhdGVzXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHQvLyBtYWtlIHRoZSBsb2dvIGEgbGl0dGxlIHNtYWxsZXJcblx0LmhlYWRlci1sb2dvICB7XG5cdFx0bWFyZ2luOiAwIDE1cHg7XG5cdFx0aW1nICB7XG5cdFx0XHR3aWR0aDogMTAwJTsgLy8gZG9uJ3Qgd29ycnksIHRoZXJlJ3MgYWxyZWFkeSBhIG1heC13aWR0aCBhcHBsaWVkIHRvIHRoaXNcblx0XHR9XG5cdH1cblxuXHQvLyBoaWRlIHRoZSBuYXYgaWNvbnMgdG8gc2F2ZSBzb21lIHNwYWNlXG5cdC5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgPiBkaXYgIHtcblx0XHRpICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIGZvciBzY3JlZW4gc2l6ZXMgYXJvdW5kIDc2OHB4LCAyIHRlYW0gbWVtYmVycyBwZXIgcm93IGxvb2tzIGJldHRlciB0aGFuIDNcblx0LmF0aGxldGUtZGFzaGJvYXJkIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIge1xuXHRcdC5hdGhsZXRlLWluZm8tYm94LFxuXHRcdC5hdGhsZXRlLWFkZC1ib3ggIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC0gMjBweCkgLyAyKTtcblx0XHR9XG5cdFx0LmF0aGxldGUtaW5mby1ib3ggLmJpby1ib2R5IC5hdGhsZXRlLXByb2ZpbGUgLnByb2ZpbGUtcGljICB7XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lOyAvLyBvdGhlcndpc2UgaXQgd2lsbCBzdHJldGNoIHdoZW4gbWl4ZWQgd2l0aCB3aWR0aDogMTAwJVxuXHRcdH1cblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG59IH0gLy8gZW5kIHJlc3BvbmQoc20pXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBib2R5IC5hdGhsZXRlLWRhc2hib2FyZCAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICAuYXRobGV0ZS1pbmZvLWJveCxcbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbGlzdCB2aWV3ID4gc21hbGwgc2NyZWVuc1xuLy8gb3ZlcnJpZGUgcmVzcG9uZChtZCkgcGVyY2VudGFnZSBsb2NrLXdpZHRocyBzbyB0aGUgdGFibGUgc2Nyb2xsc1xuLy8gaW5zdGVhZCBvZiBjcnVzaGluZyBjb2x1bW5zIHRvIDcuNSUvMTglIG9mIGEgdGlueSB2aWV3cG9ydFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1ldGVzdCBwYWdlID4gc21hbGwgc2NyZWVuc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC8vIFVubG9jayB0aGUgNzcwcHggbG9jayBvbiB0aGUgQW5ndWxhclVJIG1vZGFsIGFuaW1hdGUgY29udGFpbmVyXG4gIC5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIEJvb3RzdHJhcCBtb2RhbCBkaWFsb2cgZmFsbGJhY2tcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgLy8gUmVtb3ZlIDMwMHB4IG1pbi13aWR0aCBhbmQgc3RyZXRjaCBjaGlsZHJlbiBzbyB0ZXh0YXJlYSBmaWxscyBmdWxsIHdpZHRoXG4gIC5tb2RhbC1jb250YWluZXIgc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIC8vIENsaW5pY2FsIHJlcG9ydCBtb2RhbDogZHJvcGRvd24gZml0cyBzY3JlZW4sIHNlbGVjdGVkIHZhbHVlIHRydW5jYXRlcyB3aXRoIGVsbGlwc2lzXG4gIGxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICB9XG4gIGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bi5jbGluaWNhbC1kcm9wLWRvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICA+IGRpdi5jb2x1bW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICAuc2VsZWN0LXRvZ2dsZSBzcGFuLmZpbHRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZ3JhbSBlZGl0IHBhZ2UgcmVzcG9uc2l2ZSBydWxlcyBhcmUgaW4gZnVzaW9uZXRpY3MtbWFyay1hZGRpdGlvbnMuc2Nzc1xuLy8gKG11c3QgYmUgaW4gdGhlIHNlY29uZC1sb2FkZWQgYnVuZGxlIHRvIHdpbiB0aGUgY2FzY2FkZSlcblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkgLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0IHtcbiAgICAuYXRobGV0ZS1oZWFkZXIsXG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIG1pbi13aWR0aDogNjgwcHg7XG4gICAgfVxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB9XG4gICAgLmF0aGxldGUtc3RhdCB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1wcm9ncmFtcyB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLmFycm93VGFicyAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgQGluY2x1ZGUgZ3JpZHhnYXAoMnB4KTtcbiAgICA+IHNwYW4gIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7ICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE2cHggNnB4LCAkYmx1ZSwgZG93bik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YyRjRGNTtcbiAgICAgICAgICAgIGNvbG9yOiAjQUJCMEIzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7ICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgIHtcbiAgICAgICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwcm9ncmFtIHNjaGVkdWxlIHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKCRsZWZ0UHVsbCwgJGlubmVyU3BhY2luZykgIHsgIFxuICAgICRwcm9ncmFtYnJlYWtwb2ludDogJGxhcmdlQnJlYWtwb2ludCArICRsZWZ0UHVsbCArIDQwcHg7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHByb2dyYW1icmVha3BvaW50KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRsZWZ0UHVsbH0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnRQdWxsKi0xO1xuICAgIH1cbiAgICB0ciAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxlZnRQdWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArICogIHsgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwLzcqMSUpIC0gI3skbGVmdFB1bGwvN30pO1xuICAgICAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lclNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgdHIgIHtcbiAgICAgICAgICAgID4gKiAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5uZXJTcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRoZWFkICB7XG4gICAgICAgIHRoICB7XG4gICAgICAgICAgICBjb2xvcjogI0JEQzFDNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSAge1xuICAgICAgICB0aCAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogIzg0ODk5MDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH0gICAgXG4gICAgfVxufVxuLnByb2dyYW1TY2hlZHVsZVRhYmxlICB7XG4gICAgQGluY2x1ZGUgcHJvZ3JhbVNjaGVkdWxlVGFibGVBdHRycyg3MHB4LCA1cHgpO1xufVxuXG5AbWl4aW4gYWN0aXZpdHlQaWxsR3JvdXBBdHRzKCRwaWxsR2FwKSAge1xuICAgICRwaWxsSGVpZ2h0OiAkcGlsbEdhcCoyLzM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGMkY0RjU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbjsgIFxuICAgIGhlaWdodDogMTE3LjNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYWN0aXZpdHlQaWxsICB7XG4gICAgICAgIGhlaWdodDogY2FsYygzMy4zMzMlIC0gI3skcGlsbEhlaWdodH0pO1xuICAgICAgICArIC5hY3Rpdml0eVBpbGwgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwaWxsR2FwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjQ0REM0Q3OyAgICBcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbig0MHB4KTtcbiAgICB9ICBcbn1cblxuLmFjdGl2aXR5UGlsbEdyb3VwICB7XG4gICAgQGluY2x1ZGUgYWN0aXZpdHlQaWxsR3JvdXBBdHRzKDNweCk7XG59XG4uYWN0aXZpdHlQaWxsICB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWN0aXZpdHlQaWxsLS1wcm9tcHQgIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTRFOUVDO1xuICAgIGNvbG9yOiAjQkRDMUM1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjdGl2aXR5UGlsbC0tYWN0aXZlICB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7ICBcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIC5jbG9zZUljb24gIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbl95KDEwcHgpO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfSAgIFxufVxuXG4uYWN0aXZpdHlQaWxsR3JvdXAtLWVtcHR5ICB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHNlbGVjdCArIGFkZCBwaWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuLnNlbGVjdEFkZFBpbGwgIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QsXG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QtaW5wdXQgLnNlbGVjdC10b2dnbGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgYnV0dG9uLnByaW1hcnkgIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgICArICogIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHZhcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtSW5wdXRfaDogNDZweDtcbiRmbGV4Rm9ybV9wYWQ6IDEycHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0eXBvZ3JhcGh5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi50X3BhZ2VDb250ZW50VGl0bGUgIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogJGJsdWU7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ji50b3AgIHtcblx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi55Y2VudGVyLWl0ZW1zICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLnhnYXBDaGlsZHJlbiAge1xuXHQ+ICogKyAqICB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi5pbmxpbmVTcGFjZWQgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQtYmFzZTtcdFxufVxuLmlubGluZVNwYWNlZC0tYWxpZ24tLXRvcCAge1xuXHQ+ICogIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG59XG4uaW5saW5lU3BhY2VkLS1hbGlnbi0tbWlkZGxlICB7XG5cdD4gKiAge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5pbmxpbmVTcGFjZWQtLWNvbXBhY3QgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteHkoMnB4KTtcbn1cbi5pbmxpbmVTcGFjZWQtLXNwYWNlZCAge1xuXHRAaW5jbHVkZSBpbmxpbmUtZ3JpZC14eSg4cHgpO1xufVxuLmlubGluZVNwYWNlZC0tc3BhY2VkTWVkICB7XG5cdEBpbmNsdWRlIGlubGluZS1ncmlkLXh5KDRweCk7XG59XG4uaW5saW5lU3BhY2VkLS1vcHRpb25JbnB1dHMgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteCgxMHB4KTtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteSg0cHgpO1xufVxuLmlubGluZVNwYWNlZF9fY2hpbGQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG4uY29sb3ItLWJhZCAge1xuXHRjb2xvcjogJHJlZDtcbn1cbi5jb2xvci0tZ29vZCAge1xuXHRjb2xvcjogJGdyZWVuO1xufVxuLmNvbG9yLS1vayAge1xuXHRjb2xvcjogJHllbGxvdztcbn1cbi5jb2xvci0tbmV1dHJhbCAge1xuXHRjb2xvcjogJGdyZXk7XG59XG4uY29sb3ItLW5ldXRyYWxCbHVlLCBcbi5jb2xvci0tbGluayAge1xuXHRjb2xvcjogIzRBQjNEQSAhaW1wb3J0YW50OyAvLyBuZWVkcyB0byBvdmVycmlkZSBkZWZhdWx0IHN0eWxlcyBzaW5jZSBpdCBpcyBhIGhlbHBlciBjbGFzc1xufVxuXG4uZmxleFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdygpO1x0XG59XG4uZmxleFJvd19fZmxleCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG5idXR0b24ud2lkZSAge1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXBwLXNwZWNpZmljIG1peGluc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5AbWl4aW4gYmxvY2tTaGFkb3cgIHtcblx0Ym94LXNoYWRvdzogMCAwIDNweCByZ2JhKCMwMDAsIDAuMik7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzY3JvbGwgc2VjdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5zY3JvbGxTaWRlV3JhcCAge1x0XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQtdXApICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0fVx0XG59XG4kc2Nyb2xsU2lkZVdyYXBfX3NpZGVfZGFya0M6ICMyOTMwNDA7XG4uc2Nyb2xsU2lkZVdyYXBfX3NpZGUgIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6ICMzNjNBNDY7XHRcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtaW4td2lkdGg6IDI3NXB4O1xuXHRcdG1heC13aWR0aDogMzQ3cHg7XG5cdFx0d2lkdGg6IDI2LjclO1xuXHR9XHRcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRAaW5jbHVkZSBmbGV4LXJvdztcdFxuXHRcdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQztcblx0XHQubG9nZ2VkSW5CbG9jayAge1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdH1cdFxuXHRcdC5zaWRlQmFyTWFpbkNvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVxuXHRcdC5zaWRlQmFyU2VjdGlvbiAge1x0XHRcdFxuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0XHQrIC5zaWRlQmFyU2VjdGlvbiAge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XHRcdFx0XHRcblx0XHQuc2lkZUJhclNlY3Rpb25fX2NvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVx0XHRcblx0fVx0XG59XG4uc2lkZUJhckZpbHRlckZpZWxkcyAge1xuXHRAaW5jbHVkZSByZXNwb25kKG1kLXVwKSAge1xuXHRcdD4gKiArICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDExcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0QGluY2x1ZGUgZ3JpZHhnYXAoJGZsZXhGb3JtX3BhZC8yKTtcblx0XHQ+ICogIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4uc2Nyb2xsU2lkZVdyYXBfX21haW4gIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZDogI0VGRjFGMjtcbn1cblxuQG1peGluIHNjcm9sbFNpZGVXcmFwWHBhZCAge1xuXHRAaW5jbHVkZSB4cGFkKDIycHgpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRtaW4yIHNpZGViYXIgbG9nZ2VkIGluIGJsb2NrIGhpZ2ggbGV2ZWxcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmxvZ2dlZEluQmxvY2sgIHtcblx0YmFja2dyb3VuZDogIzk3NjhFQjtcdFxuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdHBhZGRpbmctdG9wOiAxMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjFweDtcbn1cbi5sb2dnZWRJbkJsb2NrX19uYW1lICB7XG5cdG1hcmdpbjogMCAwIDdweDtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMjZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5sb2dnZWRJbkJsb2NrX19tZW51ICB7XG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFydCBvZiBsb2dnZWQgaW4gcHJvZmlsZSB0aGF0J3MganVzdCB0aGUgbWVudVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nZ2VkSW5NZW51ICB7XG5cdFxufVxuLmxvZ2dlZEluTWVudV9fZHJvcERvd24gIHtcblx0XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX2ltZyAge1x0XG5cdGltZyAge1xuXHRcdHdpZHRoOiAzMnB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX25hbWUgIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmctbGVmdDogMTBweDtcdFxuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyX19pY29uICB7XHRcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiAjZmZmO1xuXHRmb250LXNpemU6IDZweDtcblx0cGFkZGluZzogNnB4IDAgMCA1cHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzaWRiZSBzZWN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaWRlQmFyU2VjdGlvbiAge1xuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdEBpbmNsdWRlIHlwYWQoMjBweCk7XG5cdGNvbG9yOiAjZmZmO1xufVxuLnNpZGVCYXJTZWN0aW9uLS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQ1xufVxuLnNpZGVCYXJTZWN0aW9uX19jb250ZW50ICB7XG5cdFxufVxuLnNpZGVCYXJTZWN0aW9uX19oZWFkZXIgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHR9XG59XG4uc2lkZUJhclNlY3Rpb25fX2hlYWRlcl9fdGl0bGUgIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG59XG5cbi5ibG9ja0NvbnRlbnQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZmllbGQgcGlsbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuQG1peGluIG9wZW5GaWVsZF94cGFkKCRwYWQpICB7XG5cdD4gKiAge1xuXHRcdCY6Zmlyc3QtY2hpbGQgIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkICB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZCAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMzZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRmb250LXNpemU6IDE0cHg7XHRcblx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMTJweCk7XHRcblx0aW5wdXQgIHtcblx0XHRwYWRkaW5nOiA1cHggMDtcblx0fVxufVxuLm9wZW5GaWVsZFRhbGxfYnRuICB7XG5cdG1heC1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdG1pbi1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdGhlaWdodDogJGZsZXhGb3JtSW5wdXRfaDtcbn1cbi5vcGVuRmllbGQtLXJvdW5kZWQgIHtcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMjBweCk7XG59XG5cbkBtaXhpbiBvcGVuRmllbGRfY29sb3IoJHBsYWNlaG9sZGVyLCAkYWN0aXZlKSAge1xuXHRpbnB1dCAge1xuXHRcdGNvbG9yOiAjNzU3ODdCO1xuXHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG5cdFx0XHRjb2xvcjogI0FBQUJBRjtcblx0XHR9XG5cdH1cblx0Lm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRcdC50ZXh0ICB7XG5cdFx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0XHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5vcGVuRmllbGQtLWRhcmtlciAge1xuXHRAaW5jbHVkZSBvcGVuRmllbGRfY29sb3IoI0FBQUJBRiwgIzc1Nzg3Qik7XHRcbn1cbi5vcGVuRmllbGQtLXRhbGwgIHtcblx0aGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQub3BlbkZpZWxkU2VsZWN0X190cmlnZ2VyIGkgIHtcblx0XHRmb250LXNpemU6IDhweDtcblx0XHRwYWRkaW5nLXRvcDogNHB4O1xuXHR9XG59XG5cbi5vcGVuRmllbGRTZWxlY3QgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG59XG4kZGFya0lucHV0UGxhY2Vob2xkZXJPcGFjaXR5OiAwLjM4O1xuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0LnRleHQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdG9wYWNpdHk6ICRkYXJrSW5wdXRQbGFjZWhvbGRlck9wYWNpdHk7XG5cdFx0fVxuXHR9XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDZweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0b3BhY2l0eTogMC4yNjtcblx0fVx0XG59XG5cbi5vcGVuRmllbGRJbnB1dCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0PiAqICB7XG5cdFx0KyAqICB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblx0aW5wdXQgIHtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcdFx0XG5cdH1cblx0LnN1Ym1pdFdyYXAgIHtcdFx0XG5cdFx0b3BhY2l0eTogMC4zNjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XHRcblx0Lmljb24tc2VhcmNoICB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG4ub3BlbkZpZWxkU2VsZWN0LS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICM1MTU5NkY7XHRcbn1cblxuLm9wZW5GaWVsZElucHV0LS1saWdodCAge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ub3BlbkZpZWxkSW5wdXQtLWRhcmsgIHtcblx0YmFja2dyb3VuZDogIzQxNDk1Qztcblx0aW5wdXQgIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xuXHRcdFx0b3BhY2l0eTogJGRhcmtJbnB1dFBsYWNlaG9sZGVyT3BhY2l0eTtcblx0XHR9XHRcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZGFyayBzaWRlIGxpbmtzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5kYXJrU2lkZUxpbmtzICB7XG5cdG1hcmdpbjogNTBweCAtMTBweDsgLy8gdGhlc2Ugc2hvdWxkIHRha2UgdXAgYSBiaXQgbW9yZSBvZiB0aGUgYXZhaWxhYmxlIHNwYWNlIGluIHRoZSBzaWRlYmFyIHNlY3Rpb25cblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1x0XHRcblx0PiBsaSAge1xuXHRcdCsgbGkgIHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cdH1cblx0YSAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdGJhY2tncm91bmQ6ICM0MTQ5NUM7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0cGFkZGluZzogMTBweCAxN3B4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdFxuXHRcdH1cblx0XHQmLmFjdGl2ZSAge1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRibHVlO1xuXHRcdFx0YmFja2dyb3VuZDogIzUxNTk2Rjtcblx0XHRcdC5udW0gIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50ZXh0ICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0Lm51bSAge1xuXHRcdGNvbG9yOiAjNzA3Qzk3O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2VjdGlvbiBIZWFkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLnBhZ2VTZWN0aW9uQmxvY2sgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGJhY2tncm91bmQ6ICNmZmY7XHRcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdGJvcmRlci10b3A6IDVweCBzb2xpZCAkYmx1ZTtcbn1cbi5wYWdlU2VjdGlvbkJsb2NrX19oZWFkZXIgIHtcblx0cGFkZGluZzogMTBweCAxNXB4IDMwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR9XG5cdH1cdFx0XG59XG4ucGFnZVNlY3Rpb25CbG9ja19wcmVIZWFkZXIgIHtcblx0bWFyZ2luOiAwIDAgMTBweDtcbn1cbi5hY3Rpb25zQmFyICB7XG5cdHBhZGRpbmc6IDhweCAxNXB4IDhweCA4cHg7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJ1dHRvbiBhZGp1c3RtZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5idXR0b24ucHJpbWFyeSAge1xuXHQmLnNtYWxsICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogNDFweDtcblx0XHRwYWRkaW5nOiAwIDE0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBidG4gaWNvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmJ0bkljb24gIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdCYuaWNvbi1hZGQtdGVhbSAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXBlcnNvbiAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXByYWN0aXRpb25lciAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuLmJ0bkljb24tLWxlZnQgIHtcblx0cGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGljb25UZXh0TGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvblRleHRMaW5rICB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aSAge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFnZSBzZWN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ucGFnZVNlY3Rpb24gIHtcblx0KyAucGFnZVNlY3Rpb24gIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGZpbHRlcnMgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLnRhYmxlRmlsdGVyc1dyYXAgIHtcblx0QGluY2x1ZGUgZmxleC1yb3coKTtcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG5cdG1hcmdpbjogMCAwIDEwcHg7XG59XG4udGFibGVGaWx0ZXJzV3JhcF9fbWFpbiAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuLnRhYmxlRmlsdGVyc1dyYXBfX3NpZGUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR3aWR0aDogMjUlO1xuXHRtaW4td2lkdGg6IDE4MHB4O1x0XG59XG5cbi5wYWdpbmF0aW9uSW5mbyAge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cblxuLmNvbXBhY3RQYWdpbmF0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdD4gZGl2ICB7XHRcdFxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHdpZHRoOiAzMXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcdFxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRvcGFjaXR5OiAwLjQ7XHRcdFx0XHRcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcHg7XG5cdFx0fVx0XHRcblx0XHQmOmhvdmVyICB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cdFxuXHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVx0XG5cdH1cblx0aSAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcdFxuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1x0XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuXG5cbi5kcm9wZG93bi13cmFwcGVyLmRyb3Bkb3duLXdyYXBwZXItLWlubGluZSAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcblx0LnRyaWdnZXIgIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Lmljb24tY2FyZXQtZHJvcGRvd24gIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNHB4O1x0XG5cdFx0fVxuXHR9XG5cdD4gLnN1Ym1lbnUtd3JhcHBlciAge1xuXHRcdD4gLnN1Ym1lbnUtY29udGVudCAge1xuXHRcdFx0PiAuc3VibWVudSAge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRsaSAge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdFx0PiBzcGFuID4gc3BhbiAge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmljb24tLWZsaXAgIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc29ydCBJY29uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zb3J0ZWRUYWJsZUhlYWRlciAge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdCYuc29ydGVkLCBcblx0Jjpob3ZlciAge1xuXHRcdGJhY2tncm91bmQ6ICNGN0Y3Rjc7XG5cdH1cbn1cbiRzb3J0SWNvbldyYXBfY19kZWZhdWx0OiAjRDhEOEQ4O1xuJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTogIzc4N0I3RTtcbi5zb3J0SWNvbldyYXAgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogOXB4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xuXHQmOmJlZm9yZSwgJjphZnRlciAge1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogNnB4O1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDZweDtcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xuXHRcdGJvcmRlci1yaWdodC13aWR0aDogNHB4O1xuXHR9XG5cdCY6YmVmb3JlICB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2RlZmF1bHQ7XG5cdFx0dG9wOiAtNXB4O1xuXHR9XG5cdCY6YWZ0ZXIgIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfZGVmYXVsdDtcblx0XHRib3R0b206IC01cHg7XG5cdH1cblx0LnNvcnRlZFRhYmxlSGVhZGVyLS1kZXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcblx0XHQmOmFmdGVyICB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfYWN0aXZlO1xuXHRcdH1cdFxuXHR9XG5cdC5zb3J0ZWRUYWJsZUhlYWRlci0tYXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTtcblx0XHR9XG5cdFx0JjphZnRlciAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcdFxuXHR9XHRcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWN0aW9uIGljb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuXG4uYWN0aW9uSWNvbiAge1xuXHRmb250LXNpemU6IDE0MCU7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQmLmljb24tbGV0dGVyICB7XG5cdFx0Zm9udC1zaXplOiAxMDAlO1x0XHRcblx0fVxuXHQmLmljb24tbGF1bmNoICB7XG5cdFx0Zm9udC1zaXplOiAxOTIlO1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uQWN0aXZlQ2hlY2tcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmljb25BY3RpdmVDaGVjayAge1xuXHRmb250LXNpemU6IDExMCU7XG5cdGNvbG9yOiAjREJEQkRCO1xufVxuLmljb25BY3RpdmVDaGVjay0tYWN0aXZlICB7XG5cdGNvbG9yOiAkZ3JlZW47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbmxpbmUgcGVyc29uIGJhZGdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pbmxpbmVQZXJzb25CYWRnZSAge1xuXHRmb250LXNpemU6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogMXB4O1x0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbkBtaXhpbiBhbHRUYWJsZVhwYWQoJHBhZCkgIHtcdFxuXHQuYWx0VGFibGUgIHtcblx0XHR0ciAge1x0XHRcdFxuXHRcdFx0PiAqICB7XG5cdFx0XHRcdEBpbmNsdWRlIHhwYWQoJHBhZC8yKTtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQgIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hbHRUYWJsZV9fcm93ICB7XG5cdFx0QGluY2x1ZGUgeHBhZCgkcGFkKTtcblx0fVx0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlIHggcGFkZGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdEBpbmNsdWRlIGFsdFRhYmxlWHBhZCgyMHB4KTtcdFxufVx0XG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHRAaW5jbHVkZSBhbHRUYWJsZVhwYWQoOHB4KTtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbHQgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmFsdFRhYmxlX19pbm5lcldyYXAgIHtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9ICBcbn1cblxuLmFsdFRhYmxlICB7XHRcdCBcblx0dGFibGUgIHtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0fVxuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcdFx0XHRcdFxuXHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aCAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRkNGQ0Y7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxNHB4KTtcblx0XHR9XG5cdFx0dGQgIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxMnB4KTtcdFxuXHRcdH1cblx0fVx0XG59XG5cbi5hbHRUYWJsZV9fc2ltcGxlSGVhZGVyICB7XG5cdG1hcmdpbjogMCAwIDE1cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDEzcHg7XHRcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYWx0VGFibGVfX2Zvb3RlckJhciAge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIHlwYWQoMTBweCk7XG59XG4uYnRuICB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2hvcnRXaWRlQnRuICB7XG5cdG1pbi13aWR0aDogMTY3cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcblx0cGFkZGluZzogMCAxNXB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4udGQtLW5hbWUgIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2l0ZSBoZWFkZXIgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaXRlSGVhZGVyQmFyICB7XG5cdFxufVxuXG4uc2l0ZUhlYWRlckJhcl9fbG9nb0dyb3VwICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuXHQ+IGRpdiAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0KyBkaXYgIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzlDOTtcblx0XHR9XG5cdH1cbn1cblxuLnNpdGVIZWFkZXJCYXJfX2FjdGlvbnMgIHtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGxvZ29zIFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nby0tZnVzU21hbGwgIHtcblx0d2lkdGg6IDExOXB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gIHRleHQgbGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udGV4dExpbmsgIHtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTNweDtcdFxufVxuLnRleHRMaW5rLS1idW1wICB7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJhY2sgYnRuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmJhY2tCdG4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2lkdGg6IDQ1cHg7XG5cdGhlaWdodDogMzlweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBmbGV4IGZvcm1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtX2hyOiAjRUZFRkYwO1xuLmZsZXhGb3JtICB7XG5cdGZpZWxkc2V0ICB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAkZmxleEZvcm1fcGFkIDA7XG5cdFx0KyBmaWVsZHNldCAge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmbGV4Rm9ybV9ocjtcblx0XHR9XG5cdH1cbn1cbi5mbGV4Rm9ybUZvb3RlciAge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGZsZXhGb3JtX2hyO1xuXHRwYWRkaW5nOiAyMHB4ICRmbGV4Rm9ybV9wYWQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZXhGb3JtUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0cGFkZGluZzogMCAkZmxleEZvcm1fcGFkO1xuXHRtaW4taGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQrIC5mbGV4Rm9ybVJvdyAge1xuXHRcdG1hcmdpbi10b3A6ICRmbGV4Rm9ybV9wYWQ7XG5cdH1cbn1cbi5mbGV4Rm9ybVJvdy0tbGFyZ2VTZWN0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdEBpbmNsdWRlIHlwYWQoMTJweCk7XHRcblx0LmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHR9XG59XG5cblxuLmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRtaW4taGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxODJweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6ICM2QzZENkM7XG5cdHBhZGRpbmctcmlnaHQ6IDI3cHg7XG59XG4uZmxleEZvcm1Sb3dfX2ZpZWxkc0NvbCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG4uZmllbGRzUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBncmlkeGdhcCgkZmxleEZvcm1fcGFkLzIpO1xufVxuLmZpZWxkc1Jvdy0tY29tcHJlc3NlZCAge1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xufVxuLmZpZWxkc1Jvdy0tdHdvQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLXRocmVlQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiAzMy4zMyU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLWZvdXJDb2wgIHtcblx0PiAqICB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaWNvbiBsYWJlbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvbkxhYmVsICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Y29sb3I6ICNBQzlFQTU7XG5cdH1cblx0c3BhbiAge1xuXHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi51cGxvYWRCbG9jayAge1xuXHRtYXgtd2lkdGg6IDM5MHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDIwcHggMTVweCAyMHB4IDIwcHg7XG59XG5cbi5pbnB1dElubmVyTGFiZWwgIHtcblx0Y29sb3I6ICNBQUFCQUY7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBjb2xsYXBzZWQgcmV1c2FibGUgZWxlbWVudHMgXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5jb2xsYXBzZWRfX2RlZmF1bHRFbGVtZW50ICB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdC5jb2xsYXBzZWQgJiAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5jb2xsYXBzZWRfX2FsdEVsZW1lbnQgIHtcblx0LmNvbGxhcHNlZCAmICB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdG9nZ2xlckJhclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udG9nZ2xlckJhciAge1xuXHRwYWRkaW5nOiAxMnB4IDE3cHg7XG5cdGJhY2tncm91bmQ6ICNGNEY0RjQ7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0KyAudG9nZ2xlckJhciAge1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQmLmNvbGxhcHNlZCAge1xuXHRcdC50b2dnbGVyQmFyX19jb250ZW50ICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4udG9nZ2xlckJhcl9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1x0XG59XG4udG9nZ2xlckJhcl9fdHJpZ2dlcl9fYWxsVG9nZ2xlSW5wdXQgIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcbn1cbi50b2dnbGVyQmFyX190cmlnZ2VyX19pY29uICB7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDVweDtcbn1cblxuLnRvZ2dsZXJCYXJfX2NvbnRlbnQgIHtcblx0cGFkZGluZzogMjRweCAwIDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbnB1dCBvcHRpb25zIHRyZWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmlucHV0T3B0aW9uc1RyZWUgIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1x0XG5cdHVsICB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMCAwIDMwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHRsaSArIGxpLCBcblx0bGFiZWwgKyB1bCB7XHRcdFxuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQ+IGxpICB7XG5cdFx0PiBsYWJlbCBzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdD4gdWwgIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0XHQ+IGxpICB7XG5cdFx0XHRcdD4gdWwgIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb2x1bW5zTGlzdCAge1xuXHRsaXN0LXN0eWxlOiBub25lO1x0XG5cdG1hcmdpbjogMzBweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHQ+IGxpICB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTFweDtcblx0fVxufVxuXG4uY29sdW1uc0xpc3QtLTQgIHtcblx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDQpO1xufVxuXG4uY2xvc2FibGVCdXR0b24gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0YmFja2dyb3VuZDogI0U5RjBGMjtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdHNwYW4gIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1x0XHRcblx0XHRmb250LXNpemU6IDEycHg7XHRcdFxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOXB4O1xuXHR9XG5cdGkgIHtcblx0XHRtYXJnaW4tbGVmdDogN3B4O1xuXHRcdHBhZGRpbmc6IDNweCAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE4cHg7XHRcdFxuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgcmFkaW8vY2hlY2tib3ggdGV4dCBzdHlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5sYWJlbC5jaGVja2JveC1pbnB1dCwgXG5sYWJlbC5yYWRpby1pbnB1dCAge1xuXHRzcGFuICB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGNvbG9yOiAjNzU3NzdBO1xuXHR9XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbnNpdmUgc2hvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5yZXNwb25zaXZlU2hvdyAge1xuXHRkaXNwbGF5OiBub25lO1x0XG59XG4ucmVzcG9uc2l2ZVNob3ctLW1kVXAgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuLnJlc3BvbnNpdmVTaG93LS1zbURvd24gIHtcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uIGNvbCBjZWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pY29uQ29sQ2VsbCAge1xuXHR3aWR0aDogMjBweDtcblx0Lmljb24tZWRpdCAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0ycHg7XG5cdH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIHRoaXMgaXMgYW4gdXBkYXRlZCBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcblxuQG1peGluIGV2ZW4tY29scyAge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAmLmNvbXBhY3QgIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNwYWNlZC1vdXQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tLWFsaWduICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgICB9XG4gICAgJi5ldmVuLWNvbHMtLXN0cmlwSW5uZXJNYXJnaW5zICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiAqICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgZXZlcnl0aGluZyBiZWxvdyB0aGlzIGlzIG5ld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRyaWFuZ2xlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gZ3JpZHhnYXAoJGdhcCkgIHtcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcbiAgICA+ICogIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gaW5saW5lLWdyaWQtYmFzZSAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICogIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteCgkZ2FwKSAge1xuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB4bWFyZ2luKCRnYXApO1xuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteSgkZ2FwKSAge1xuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB5bWFyZ2luKCRnYXApO1xuICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xuICBtYXJnaW46ICRnYXAqLTE7XG4gID4gKiAge1xuICAgIG1hcmdpbjogJGdhcDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1peGluczJcIjsiLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgdGhpcyBpcyBhbiB1cGRhdGVkIG1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuXG5AbWl4aW4gZXZlbi1jb2xzICB7XG4gIEBpbmNsdWRlIGZsZXgtcm93O1xuICAgICYuY29tcGFjdCAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc3BhY2VkLW91dCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5kZWZhdWx0LXNwYWNlZCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ib3R0b20tYWxpZ24gIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICAgIH1cbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcbiAgICAgID4gKiAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiBncmlkeGdhcCgkZ2FwKSAge1xuICAgIG1hcmdpbjogMCAkZ2FwKi0xO1xuICAgID4gKiAge1xuICAgICAgICBwYWRkaW5nOiAwICRnYXA7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gKiAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgXG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC14KCRnYXApICB7XG4gIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCk7XG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC15KCRnYXApICB7XG4gIEBpbmNsdWRlIHltYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHltYXJnaW4oJGdhcCk7XG4gIH1cbn1cblxuQG1peGluIGlubGluZS1ncmlkLXh5KCRnYXApICB7XG4gIG1hcmdpbjogJGdhcCotMTtcbiAgPiAqICB7XG4gICAgbWFyZ2luOiAkZ2FwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibWl4aW5zMlwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRkaXRpb25hbCBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLy8gZmllbGQgd2lkdGhzXG4ub3BlbkZpZWxkV2lkdGgtLW1heDEwMCAge1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8vIG1ha2Ugc3VyZSBpdCBpcyBzdGlsbCBmbGV4aWJsZS4uLlxufVxuLm9wZW5GaWVsZFdpZHRoLS1zbWFsbCAge1xuXHR3aWR0aDogNTJweDtcbn1cbi5vcGVuRmllbGRXaWR0aC0tbWVkaXVtICB7XG5cdHdpZHRoOiAxNDhweDtcbn1cblxuLm9wZW5GaWVsZFdpZHRoLS1ycGUgIHtcblx0d2lkdGg6IDIwMHB4O1xufVxuXG4vLyBjZWxsIHdpZHRoc1xuLmNlbGxXaWR0aC0tdHJhaW5pbmdMb2FkICB7XG5cdHdpZHRoOiAxMzJweDtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bmlxdWUgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuXG4uc2NvcmVOdW0gIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3BlbkZpZWxkLS1jZW50ZXJlZCAge1xuXHRpbnB1dCAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4kdGxGaWx0ZXJzLXhnYXA6IDE1cHg7XG4kdGxGaWx0ZXJzLVhlZGdlR2FwOiAxNXB4O1xuXG4udGxGaWx0ZXJzSGVhZGVyICB7XG5cdHBhZGRpbmc6IDE1cHggJHRsRmlsdGVycy1YZWRnZUdhcDtcbn1cblxuLnRsRmlsdGVyc0hlYWRlck1haW4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdD4gKiArICogIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMteGdhcDtcblx0fVxufVxuXG4uZmxUYWJsZSAge1xuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHQrICogIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XG5cdFx0XHR9XG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRsRmlsdGVycy1YZWRnZUdhcDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkdGxGaWx0ZXJzLVhlZGdlR2FwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucHJvY2Nlc3NBcnJvdyAge1x0XHRcblx0XHRtYXJnaW4tcmlnaHQ6ICR0bEZpbHRlcnMteGdhcCotMTtcblx0fVxufVxuLmZsVGFibGVDb2xXaWR0aCAge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXRpdGxlICB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXNlc3Npb24gIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuLmZsVGFibGVDb2xXaWR0aC0tZHVyYXRpb25UYXJnZXQgIHtcblx0d2lkdGg6IGF1dG87XG59XG5cbi5zbWFsbEZpZWxkTGFiZWwgIHtcdFxuXHRwYWRkaW5nOiAwIDAgN3B4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cbi50bEZpbHRlcnNIZWFkZXJTaWRlICB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xuXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLm51bU5hbWUgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5udW1OYW1lX19udW0gIHtcblx0b3BhY2l0eTogMC40O1xufVxuLm51bU5hbWVfX25hbWUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ubnVtTmFtZS0tbGlnaHQgIHtcblx0Y29sb3I6ICM3NTc3N0E7XG59XG4kb3BlbkZpZWxkTWVkSGVpZ2h0OiAzOXB4O1xuJG9wZW5GaWVsZFRhbGxIZWlnaHQ6IDQ2cHg7XG4ub3BlbkZpZWxkLS1tZWRpdW0gIHtcblx0aGVpZ2h0OiAkb3BlbkZpZWxkTWVkSGVpZ2h0O1xufVxuXG4kc2VsZWN0QmFybGg6IDIxcHg7XG4kc2VsZWN0QmFyeXBhZDogKCRvcGVuRmllbGRNZWRIZWlnaHQgLSAkc2VsZWN0QmFybGgpLzI7XG4kc2VsZWN0QmFyeXBhZEJpZzogKCRvcGVuRmllbGRUYWxsSGVpZ2h0IC0gJHNlbGVjdEJhcmxoKS8yO1xuLnNlbGVjdEJhciAge1xuXHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6ICN7JHNlbGVjdEJhcnlwYWR9IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAkc2VsZWN0QmFybGg7XG5cdCYudGFsbCAge1xuXHRcdHBhZGRpbmc6ICRzZWxlY3RCYXJ5cGFkQmlnIDE1cHg7XG5cdH1cblx0aSAge1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8vIG9ubHkgc2hvdyB0aGUgY2hlY2ttYXJrIGljb24gd2hlbiBcImlzU2VsZWN0ZWRcIiBjbGFzcyBpcyBwcmVzZW50Li4uLlxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQmLmlzU2VsZWN0ZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRcdGNvbG9yOiAjQzdDQkNFO1xuXHRcdGkgIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cbn1cbi5zdWJtZW51X19udW1UZXh0V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0Zm9udC1zaXplOiAxM3B4O1xuXHQubnVtICB7XG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzZDNkQ2Qztcblx0XHR3aWR0aDogMTVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdH1cblx0LnRleHQgIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9XG59XG5cblxuLmNvbnRlbnRXaXRoUHJvY2Vzc0Fycm93V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICo6Zmlyc3QtY2hpbGQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHR9XG5cdC5wcm9jY2Vzc0Fycm93ICB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGNvbG9yOiAjRUZGMUYyO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHQuaWNvbi10YXJnZXQgIHtcblx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHR9XHRcbn1cblxuXG4uVEwtRHVyYXRpb24ge1xuICBpbnB1dDppbnZhbGlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MwMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGQ0NDQztcbiAgfVxufVxuXG5cbi5iYWNrVG9MaW5rICB7XG5cdG1hcmdpbjogIDAgMCAyMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbG9yOiAjOTc2OEVCO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblxuXHRpICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC50ZXh0ICB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdH1cbn1cblxuXG4uY29tcGFjdEZvcm1TdGFjayAge1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGlubGluZSBvdmVybGF5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmlubGluZU92ZXJsYXlXcmFwICB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlubGluZU92ZXJsYXkgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcdFxuXHR0b3A6IGNhbGMoMTAwJSAtIDE1cHgpO1xuXHRsZWZ0OiA1MCU7XHRcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHdpZHRoOiAzNzdweDtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoIzAwMDAwMCwgMC4xMyk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pbmxpbmVPdmVybGF5X190cmlhbmdsZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogM3B4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcblx0d2lkdGg6IDI5cHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9vdmVybGF5LXRyaWFuZ2xlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5pbmxpbmVPdmVybGF5X19jbG9zZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTdweDtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5saW5lT3ZlcmxheV9fdGl0bGUgIHtcblx0bWFyZ2luOiAwIDAgMjBweDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBkbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uY2hhcnQtZGF0ZS1oZWFkZXIgKyAuZGxSb3cgIHtcblx0bWFyZ2luOiAxMHB4IDAgMjBweDtcbn1cbi5kbFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdCsgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXHQrIC5kbFJvdyAge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLmRsSXRlbSAge1xuXHRcbn1cbi5kbEl0ZW1fX2xhYmVsICB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3NzdBO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5kbEl0ZW1fX251bSAge1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblx0LnNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdFx0Zm9udC1zaXplOiA3cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdH1cbn1cblxuLm1lbnUtcG9pbnRlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndlZWtseVNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogN3B4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4ucHJvZmlsZVRMQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZy1yaWdodDogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIlxuLnJldmlldy1jb250YWluZXIge1xuICAgIC5yZXZpZXctdGFicyArIGRpdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhZjtcbiAgICB9XG5cbiAgICAucmV2aWV3LWZyYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICBmbGV4OiAwLjk1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2MwYzBjMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaS5mYS5mYS10cmFzaCB7XG4gICAgICAgICAgICBjb2xvcjogI2MwYzBjMDtcbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTkwMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwYWY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWJjO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwYWY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIlJlcHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIkNvbXBlbnNhdGlvbnNcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjYWJjO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzc4OTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjE5Mic7XG4gICAgfVxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwY2InO1xuICAgIH1cbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMWZlJztcbiAgICB9XG5cbiAgICAuY29tcHMge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYuZm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9yZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5lZGdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJjO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2FiYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYXNzZXNzbWVudC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgID5kaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mby1vbmx5IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgICA+ZGl2Om5vdCguc2Nyb2xsLWNvbnRhaW5lcikge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4uYmFubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgfVxuICB9XG5cbiAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgID5kaXY6bm90KC5zY3JvbGwtY29udGFpbmVyKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgID5hIHtcbiAgICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXJvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4uc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gIFxuICAgICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4ubm8tZGF0YSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuaW5mby1jb2x1bW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuXG4gICAgPi5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4cHg7IFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcblxuICAgICAgPi5iYW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1hcmdpbjogOHB4IDBweDsgXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICAgICAgfVxuXG4gICAgICA+ZGl2Om5vdCguYmFubmVyKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgPmRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgID5kaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc3RhdGUtaW5mbyB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLWNvbnRhaW5lciArIC5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgfVxuXG4gIC52aWRlby1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICA+dmlkZW8sXG4gICAgPmNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIENhcCBieSB2aWV3cG9ydCBoZWlnaHQgc28gdGFsbC9wb3J0cmFpdCB2aWRlb3Mgc3RheSBpbnNpZGUgdGhlIHZpc2libGVcbiAgICAgIC8vIGFyZWE7IGF1dG8gd2lkdGgvaGVpZ2h0IHByZXNlcnZlcyB0aGUgaW50cmluc2ljIGFzcGVjdCByYXRpby5cbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjBweCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudmlkZW8tcGxheS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvLyBMZXQgdGhlIGNsaWNrIGZhbGwgdGhyb3VnaCB0byB0aGUgY2FudmFzLCB3aGljaCBvd25zIHBsYXkvcGF1c2UuXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICBoZWlnaHQ6IDg0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAudGFibGUtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5kZXRhaWwtdGFibGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAmLmhlYWRlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXRlbXMge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhlcmNpc2UtdGFibGUge1xuICAgICAgbWluLXdpZHRoOiA5MDBweDtcbiAgICB9XG5cbiAgICAuZXhlcmNpc2UtbGlzdCB7XG4gICAgICAmLml0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgcGFkZGluZzogMTJweCAwO1xuICAgICAgfVxuXG4gICAgICA+Lm5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC42KTtcbiAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICA+LnN0YXR1cyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjQpO1xuICAgICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4ucmVhc29uaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxLjQpO1xuICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICA+LmFjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgID5idXR0b24ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yZWFzb24tZW50cnkgKyAucmVhc29uLWVudHJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICRsaWdodF9ncmV5O1xuICAgICAgfVxuXG4gICAgICAucmVhc29uLXNvdXJjZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIH1cblxuICAgICAgLnJlYXNvbi1yZWFzb24ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgfVxuXG4gICAgICAucmVhc29uLW1ldGEge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIH1cblxuICAgICAgLnJlYXNvbi13YXJuaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkeWVsbG93LCAyMiUpO1xuICAgICAgfVxuXG4gICAgICAucmVhc29uLW11dGVkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVhc3VyZW1lbnQtbGlzdCB7XG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIC5uYW1lIH4gZGl2IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4ubmFtZSB7XG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9ncmVlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbmFjdGl2ZTpub3QoLmZvdW5kKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvdW5kIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNjb3JlX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVyY2lzZS1zdGF0dXMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG5cbiAgICAgICAgJi5wZW5kaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiOTZkXG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgJi5tYW51YWwgeyBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAgICYucGVuZGluZyB7IGNvbG9yOiAjZWZlZmVmOyB9XG4gICAgICAgICAgJi5jb21wbGV0ZSB7IGNvbG9yOiAjMmQ2YjFkOyB9XG4gICAgICAgICAgJi5hYm9ydGVkIHsgY29sb3I6ICMyZDE4MTg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWFzdXJlbWVudC1zYXZlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgID5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNHQSxBQUFBLENBQUMsRUFBRSxDQUFDLEFBQUEsT0FBTyxFQUFFLENBQUMsQUFBQSxNQUFNLENBQUM7RUV5Qm5CLGtCQUFrQixFRnhCRSxPQUFPO0VFeUJ4QixlQUFlLEVGekJFLE9BQU87RUUwQm5CLFVBQVUsRUYxQkUsT0FBTztFRThCN0IscUJBQXFCLEVGN0JFLElBQUk7RUU4QnRCLGdCQUFnQixFRjlCRSxJQUFJO0VFK0J0QixnQkFBZ0IsRUYvQkUsSUFBSTtFRWdDckIsZUFBZSxFRmhDRSxJQUFJO0VFaUNqQixXQUFXLEVGakNFLElBQUksR0FDMUI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUVvQkgsa0JBQWtCLEVGbkJFLFVBQVU7RUVvQjNCLGVBQWUsRUZwQkUsVUFBVTtFRXFCdEIsVUFBVSxFRnJCRSxVQUFVO0VBQzlCLFdBQVcsRUFBRSw4Q0FBOEM7RUFDM0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLDhDQUE4QztFQUMzRCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FzQ1g7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 */