.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #201d1d;
}
.table th,
.table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #dee2e6;
}
.table tbody + tbody {
  border-top: 2px solid #dee2e6;
}

.table-sm th,
.table-sm td {
  padding: 0.3rem;
}

.table-bordered {
  border: 1px solid #dee2e6;
}
.table-bordered th,
.table-bordered td {
  border: 1px solid #dee2e6;
}
.table-bordered thead th,
.table-bordered thead td {
  border-bottom-width: 2px;
}

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0;
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.table-hover tbody tr:hover {
  color: #201d1d;
  background-color: rgba(0, 0, 0, 0.075);
}

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8e8fb;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7ad5f7;
}

.table-hover .table-primary:hover {
  background-color: #a0e0fa;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
  background-color: #a0e0fa;
}

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db;
}
.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb;
}

.table-hover .table-secondary:hover {
  background-color: #c8cbcf;
}
.table-hover .table-secondary:hover > td,
.table-hover .table-secondary:hover > th {
  background-color: #c8cbcf;
}

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb;
}
.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e;
}

.table-hover .table-success:hover {
  background-color: #b1dfbb;
}
.table-hover .table-success:hover > td,
.table-hover .table-success:hover > th {
  background-color: #b1dfbb;
}

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb;
}
.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda;
}

.table-hover .table-info:hover {
  background-color: #abdde5;
}
.table-hover .table-info:hover > td,
.table-hover .table-info:hover > th {
  background-color: #abdde5;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba;
}
.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e;
}

.table-hover .table-warning:hover {
  background-color: #ffe8a1;
}
.table-hover .table-warning:hover > td,
.table-hover .table-warning:hover > th {
  background-color: #ffe8a1;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb;
}
.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e;
}

.table-hover .table-danger:hover {
  background-color: #f1b0b7;
}
.table-hover .table-danger:hover > td,
.table-hover .table-danger:hover > th {
  background-color: #f1b0b7;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe;
}
.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc;
}

.table-hover .table-light:hover {
  background-color: #ececf6;
}
.table-hover .table-light:hover > td,
.table-hover .table-light:hover > th {
  background-color: #ececf6;
}

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca;
}
.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c;
}

.table-hover .table-dark:hover {
  background-color: #b9bbbe;
}
.table-hover .table-dark:hover > td,
.table-hover .table-dark:hover > th {
  background-color: #b9bbbe;
}

.table-active,
.table-active > th,
.table-active > td {
  background-color: rgba(0, 0, 0, 0.075);
}

.table-hover .table-active:hover {
  background-color: rgba(0, 0, 0, 0.075);
}
.table-hover .table-active:hover > td,
.table-hover .table-active:hover > th {
  background-color: rgba(0, 0, 0, 0.075);
}

.table .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6;
}

.table-dark {
  color: #fff;
  background-color: #343a40;
}
.table-dark th,
.table-dark td,
.table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.075);
}

@media (max-width: 479.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1419.98px) {
  .table-responsive-hg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-hg > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}
@media (max-width: 1200px) {
  .close {
    font-size: calc(1.275rem + 0.3vw);
  }
}
.close:hover {
  color: #000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}

.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #6c757d;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}

.toast-body {
  padding: 0.75rem;
}

.mdc-touch-target-wrapper {
  display: inline;
}

@keyframes mdc-checkbox-unchecked-checked-checkmark-path {
  0%, 50% {
    stroke-dashoffset: 29.7833385;
  }
  50% {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark {
  0%, 68.2% {
    transform: scaleX(0);
  }
  68.2% {
    animation-timing-function: cubic-bezier(0, 0, 0, 1);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes mdc-checkbox-checked-unchecked-checkmark-path {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    opacity: 1;
    stroke-dashoffset: 0;
  }
  to {
    opacity: 0;
    stroke-dashoffset: -29.7833385;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-checkmark {
  from {
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(45deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-checkmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(45deg);
    opacity: 0;
  }
  to {
    transform: rotate(360deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-checked-indeterminate-mixedmark {
  from {
    animation-timing-function: mdc-animation-deceleration-curve-timing-function;
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform: rotate(0deg);
    opacity: 1;
  }
}
@keyframes mdc-checkbox-indeterminate-checked-mixedmark {
  from {
    animation-timing-function: cubic-bezier(0.14, 0, 0, 1);
    transform: rotate(0deg);
    opacity: 1;
  }
  to {
    transform: rotate(315deg);
    opacity: 0;
  }
}
@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark {
  0% {
    animation-timing-function: linear;
    transform: scaleX(1);
    opacity: 1;
  }
  32.8%, 100% {
    transform: scaleX(0);
    opacity: 0;
  }
}
.mdc-checkbox {
  display: inline-block;
  position: relative;
  flex: 0 0 18px;
  box-sizing: content-box;
  width: 18px;
  height: 18px;
  line-height: 0;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: bottom;
  padding: 11px;
}

.mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

.mdc-checkbox .mdc-checkbox__background {
  top: 11px;
  left: 11px;
}

.mdc-checkbox .mdc-checkbox__background::before {
  top: -13px;
  left: -13px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox .mdc-checkbox__native-control {
  top: 0px;
  right: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.54);
  background-color: transparent;
}

.mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #018786;
  /* @alternate */
  border-color: var(--mdc-theme-secondary, #018786);
  background-color: #018786;
  /* @alternate */
  background-color: var(--mdc-theme-secondary, #018786);
}

@keyframes mdc-checkbox-fade-in-background-8A000000secondary00000000secondary {
  0% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
  50% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
}
@keyframes mdc-checkbox-fade-out-background-8A000000secondary00000000secondary {
  0%, 80% {
    border-color: #018786;
    /* @alternate */
    border-color: var(--mdc-theme-secondary, #018786);
    background-color: #018786;
    /* @alternate */
    background-color: var(--mdc-theme-secondary, #018786);
  }
  100% {
    border-color: rgba(0, 0, 0, 0.54);
    background-color: transparent;
  }
}
.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-8A000000secondary00000000secondary;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-8A000000secondary00000000secondary;
}

.mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: rgba(0, 0, 0, 0.38);
  background-color: transparent;
}

.mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
  border-color: transparent;
  background-color: rgba(0, 0, 0, 0.38);
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}

.mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}

@media screen and (-ms-high-contrast: active) {
  .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control[disabled]:checked ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[disabled]:indeterminate ~ .mdc-checkbox__background,
  .mdc-checkbox__native-control[data-indeterminate=true][disabled] ~ .mdc-checkbox__background {
    border-color: GrayText;
    background-color: transparent;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
    color: GrayText;
  }
  .mdc-checkbox__native-control:disabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
    border-color: GrayText;
  }
  .mdc-checkbox__mixedmark {
    margin: 0 1px;
  }
}
.mdc-checkbox--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox__background {
  display: inline-flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 2px;
  background-color: transparent;
  pointer-events: none;
  will-change: background-color, border-color;
  transition: background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__background .mdc-checkbox__background::before {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox__checkmark {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__checkmark {
  opacity: 1;
}

.mdc-checkbox__checkmark-path {
  transition: stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
  stroke: currentColor;
  stroke-width: 3.12px;
  stroke-dashoffset: 29.7833385;
  stroke-dasharray: 29.7833385;
}

.mdc-checkbox__mixedmark {
  width: 100%;
  height: 0;
  transform: scaleX(0) rotate(0deg);
  border-width: 1px;
  border-style: solid;
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox--upgraded .mdc-checkbox__background,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark,
.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,
.mdc-checkbox--upgraded .mdc-checkbox__mixedmark {
  transition: none !important;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background, .mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background, .mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background, .mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background {
  animation-duration: 180ms;
  animation-timing-function: linear;
}

.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path {
  animation: mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark {
  animation: mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark {
  animation: mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;
  transition: none;
}

.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark {
  animation: mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;
  transition: none;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background {
  transition: border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
  stroke-dashoffset: 0;
}

.mdc-checkbox__background::before {
  position: absolute;
  transform: scale(0, 0);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
  will-change: opacity, transform;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before {
  transform: scale(1);
  opacity: 0.12;
  transition: opacity 80ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 80ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-checkbox__native-control {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: inherit;
}

.mdc-checkbox__native-control:disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-checkbox--touch {
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 4px;
  margin-left: 4px;
}

.mdc-checkbox--touch .mdc-checkbox__native-control {
  top: -4px;
  right: -4px;
  left: -4px;
  width: 48px;
  height: 48px;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transition: opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1), transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);
  opacity: 1;
}

.mdc-checkbox__native-control:checked ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(-45deg);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__checkmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1), transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
}

.mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background .mdc-checkbox__mixedmark,
.mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  transform: scaleX(1) rotate(0deg);
  opacity: 1;
}

@keyframes mdc-ripple-fg-radius-in {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transform: translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1);
  }
  to {
    transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
  }
}
@keyframes mdc-ripple-fg-opacity-in {
  from {
    animation-timing-function: linear;
    opacity: 0;
  }
  to {
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
}
@keyframes mdc-ripple-fg-opacity-out {
  from {
    animation-timing-function: linear;
    opacity: var(--mdc-ripple-fg-opacity, 0);
  }
  to {
    opacity: 0;
  }
}
.mdc-checkbox {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-checkbox .mdc-checkbox__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-checkbox.mdc-ripple-upgraded--unbounded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-activation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-checkbox.mdc-ripple-upgraded--foreground-deactivation .mdc-checkbox__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-checkbox .mdc-checkbox__ripple::before, .mdc-checkbox .mdc-checkbox__ripple::after {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-checkbox:hover .mdc-checkbox__ripple::before {
  opacity: 0.04;
}

.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}

.mdc-checkbox:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-checkbox.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-checkbox .mdc-checkbox__ripple::before,
.mdc-checkbox .mdc-checkbox__ripple::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::before,
.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox.mdc-ripple-upgraded .mdc-checkbox__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-checkbox__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-ripple-upgraded--background-focused .mdc-checkbox__background::before {
  content: none;
}

.mdc-elevation-overlay {
  position: absolute;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #fff;
}

.mdc-dialog,
.mdc-dialog__scrim {
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.mdc-dialog {
  display: none;
  z-index: 7;
}

.mdc-dialog .mdc-dialog__surface {
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
}

.mdc-dialog .mdc-dialog__scrim {
  background-color: rgba(0, 0, 0, 0.32);
}

.mdc-dialog .mdc-dialog__title {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-dialog .mdc-dialog__content {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-dialog.mdc-dialog--scrollable .mdc-dialog__title, .mdc-dialog.mdc-dialog--scrollable .mdc-dialog__actions {
  border-color: rgba(0, 0, 0, 0.12);
}

.mdc-dialog .mdc-dialog__surface {
  min-width: 280px;
}

@media (max-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: calc(100vw - 32px);
  }
}
@media (min-width: 592px) {
  .mdc-dialog .mdc-dialog__surface {
    max-width: 560px;
  }
}
.mdc-dialog .mdc-dialog__surface {
  max-height: calc(100% - 32px);
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .mdc-dialog .mdc-dialog__container {
    /* stylelint-disable */
    /* stylelint-enable*/
  }
}
.mdc-dialog .mdc-dialog__surface {
  border-radius: 4px;
}

.mdc-dialog__scrim {
  opacity: 0;
  z-index: -1;
}

.mdc-dialog__container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
  box-sizing: border-box;
  height: 100%;
  transform: scale(0.8);
  opacity: 0;
  pointer-events: none;
}

.mdc-dialog__surface {
  /* @alternate */
  position: relative;
  /* @alternate */
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  max-width: 100%;
  max-height: 100%;
  pointer-events: auto;
  overflow-y: auto;
}

.mdc-dialog__surface .mdc-elevation-overlay {
  width: 100%;
  height: 100%;
  top: 0;
  /* @noflip */
  left: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__surface, [dir=rtl] .mdc-dialog .mdc-dialog__surface {
  /* @noflip */
  text-align: right;
}

.mdc-dialog__title {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1.25rem;
  /* @alternate */
  font-size: var(--mdc-typography-headline6-font-size, 1.25rem);
  line-height: 2rem;
  /* @alternate */
  line-height: var(--mdc-typography-headline6-line-height, 2rem);
  font-weight: 500;
  /* @alternate */
  font-weight: var(--mdc-typography-headline6-font-weight, 500);
  letter-spacing: 0.0125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-headline6-letter-spacing, 0.0125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-headline6-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-headline6-text-transform, inherit);
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0 24px 9px;
  border-bottom: 1px solid transparent;
}

.mdc-dialog__title::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__title, [dir=rtl] .mdc-dialog .mdc-dialog__title {
  /* @noflip */
  text-align: right;
}

.mdc-dialog--scrollable .mdc-dialog__title {
  padding-bottom: 15px;
}

.mdc-dialog__content {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-body1-font-size, 1rem);
  line-height: 1.5rem;
  /* @alternate */
  line-height: var(--mdc-typography-body1-line-height, 1.5rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body1-font-weight, 400);
  letter-spacing: 0.03125em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body1-letter-spacing, 0.03125em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body1-text-transform, inherit);
  flex-grow: 1;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 24px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.mdc-dialog__content > :first-child {
  margin-top: 0;
}

.mdc-dialog__content > :last-child {
  margin-bottom: 0;
}

.mdc-dialog__title + .mdc-dialog__content {
  padding-top: 0;
}

.mdc-dialog--scrollable .mdc-dialog__content {
  padding-top: 8px;
  padding-bottom: 8px;
}

.mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 6px 0 0;
}

.mdc-dialog--scrollable .mdc-dialog__content .mdc-list:first-child:last-child {
  padding: 0;
}

.mdc-dialog__actions {
  display: flex;
  position: relative;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  min-height: 52px;
  margin: 0;
  padding: 8px;
  border-top: 1px solid transparent;
}

.mdc-dialog--stacked .mdc-dialog__actions {
  flex-direction: column;
  align-items: flex-end;
}

.mdc-dialog__button {
  /* @noflip */
  margin-left: 8px;
  /* @noflip */
  margin-right: 0;
  max-width: 100%;
  /* @noflip */
  text-align: right;
}

[dir=rtl] .mdc-dialog__button, .mdc-dialog__button[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 8px;
}

.mdc-dialog__button:first-child {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

[dir=rtl] .mdc-dialog__button:first-child, .mdc-dialog__button:first-child[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 0;
}

.mdc-dialog[dir=rtl] .mdc-dialog__button, [dir=rtl] .mdc-dialog .mdc-dialog__button {
  /* @noflip */
  text-align: left;
}

.mdc-dialog--stacked .mdc-dialog__button:not(:first-child) {
  margin-top: 12px;
}

.mdc-dialog--open,
.mdc-dialog--opening,
.mdc-dialog--closing {
  display: flex;
}

.mdc-dialog--opening .mdc-dialog__scrim {
  transition: opacity 150ms linear;
}

.mdc-dialog--opening .mdc-dialog__container {
  transition: opacity 75ms linear, transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1);
}

.mdc-dialog--closing .mdc-dialog__scrim,
.mdc-dialog--closing .mdc-dialog__container {
  transition: opacity 75ms linear;
}

.mdc-dialog--closing .mdc-dialog__container {
  transform: scale(1);
}

.mdc-dialog--open .mdc-dialog__scrim {
  opacity: 1;
}

.mdc-dialog--open .mdc-dialog__container {
  transform: scale(1);
  opacity: 1;
}

.mdc-dialog-scroll-lock {
  overflow: hidden;
}

.mdc-floating-label {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  transform-origin: left top;
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  /* @alternate */
  will-change: transform;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-floating-label, .mdc-floating-label[dir=rtl] {
  /* @noflip */
  right: 0;
  /* @noflip */
  left: auto;
  /* @noflip */
  transform-origin: right top;
  /* @noflip */
  text-align: right;
}

.mdc-floating-label--float-above {
  cursor: auto;
}

.mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-standard 250ms 1;
}

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 0%)) translateY(-106%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
}
.mdc-form-field {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.875rem;
  /* @alternate */
  font-size: var(--mdc-typography-body2-font-size, 0.875rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-body2-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body2-font-weight, 400);
  letter-spacing: 0.0178571429em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.mdc-form-field > label {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
  order: 0;
}

[dir=rtl] .mdc-form-field > label, .mdc-form-field > label[dir=rtl] {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

[dir=rtl] .mdc-form-field > label, .mdc-form-field > label[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
}

.mdc-form-field--nowrap > label {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.mdc-form-field--align-end > label {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 4px;
  order: -1;
}

[dir=rtl] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir=rtl] {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

[dir=rtl] .mdc-form-field--align-end > label, .mdc-form-field--align-end > label[dir=rtl] {
  /* @noflip */
  padding-left: 4px;
  /* @noflip */
  padding-right: 0;
}

.mdc-form-field--space-between {
  justify-content: space-between;
}

.mdc-form-field--space-between > label {
  margin: 0;
}

[dir=rtl] .mdc-form-field--space-between > label, .mdc-form-field--space-between > label[dir=rtl] {
  margin: 0;
}

.mdc-list {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  /* @alternate */
  line-height: 1.5rem;
  margin: 0;
  padding: 8px 0;
  list-style-type: none;
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list:focus {
  outline: none;
}

.mdc-list-item {
  height: 48px;
}

.mdc-list-item__secondary-text {
  color: rgba(0, 0, 0, 0.54);
  /* @alternate */
  color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54));
}

.mdc-list-item__graphic {
  background-color: transparent;
}

.mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.38);
  /* @alternate */
  color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38));
}

.mdc-list-group__subheader {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87));
}

.mdc-list-item--disabled .mdc-list-item__text {
  opacity: 0.38;
}

.mdc-list-item--disabled .mdc-list-item__text,
.mdc-list-item--disabled .mdc-list-item__primary-text,
.mdc-list-item--disabled .mdc-list-item__secondary-text {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-list--dense {
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 0.812rem;
}

.mdc-list-item {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: flex-start;
  padding: 0 16px;
  overflow: hidden;
}

.mdc-list-item:focus {
  outline: none;
}

.mdc-list-item--selected,
.mdc-list-item--activated {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item--selected .mdc-list-item__graphic,
.mdc-list-item--activated .mdc-list-item__graphic {
  color: #00AEEF;
  /* @alternate */
  color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 32px;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  fill: currentColor;
}

.mdc-list-item[dir=rtl] .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 32px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list .mdc-list-item__graphic {
  display: inline-flex;
}

.mdc-list-item__meta {
  /* @noflip */
  margin-left: auto;
  /* @noflip */
  margin-right: 0;
}

.mdc-list-item__meta:not(.material-icons) {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.75rem;
  /* @alternate */
  font-size: var(--mdc-typography-caption-font-size, 0.75rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-caption-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-caption-font-weight, 400);
  letter-spacing: 0.0333333333em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-caption-text-transform, inherit);
}

.mdc-list-item[dir=rtl] .mdc-list-item__meta, [dir=rtl] .mdc-list-item .mdc-list-item__meta {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: auto;
}

.mdc-list-item__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.mdc-list-item__text[for] {
  pointer-events: none;
}

.mdc-list-item__primary-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 32px;
  content: "";
  vertical-align: 0;
}

.mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text {
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin-bottom: -20px;
}

.mdc-list--dense .mdc-list-item__primary-text::before {
  display: inline-block;
  width: 0;
  height: 24px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__primary-text::after {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: -20px;
}

.mdc-list-item__secondary-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.875rem;
  /* @alternate */
  font-size: var(--mdc-typography-body2-font-size, 0.875rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-body2-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-body2-font-weight, 400);
  letter-spacing: 0.0178571429em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
}

.mdc-list-item__secondary-text::before {
  display: inline-block;
  width: 0;
  height: 20px;
  content: "";
  vertical-align: 0;
}

.mdc-list--dense .mdc-list-item__secondary-text {
  font-size: inherit;
}

.mdc-list--dense .mdc-list-item {
  height: 40px;
}

.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 36px;
  width: 20px;
  height: 20px;
}

.mdc-list-item[dir=rtl] .mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 36px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--avatar-list .mdc-list-item {
  height: 56px;
}

.mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 16px;
  /* @noflip */
  margin-right: 0;
}

.mdc-list--two-line .mdc-list-item__text {
  align-self: flex-start;
}

.mdc-list--two-line .mdc-list-item {
  height: 72px;
}

.mdc-list--two-line.mdc-list--dense .mdc-list-item,
.mdc-list--avatar-list.mdc-list--dense .mdc-list-item {
  height: 60px;
}

.mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 20px;
  width: 36px;
  height: 36px;
}

.mdc-list-item[dir=rtl] .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic, [dir=rtl] .mdc-list-item .mdc-list--avatar-list.mdc-list--dense .mdc-list-item__graphic {
  /* @noflip */
  margin-left: 20px;
  /* @noflip */
  margin-right: 0;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  cursor: pointer;
}

a.mdc-list-item {
  color: inherit;
  text-decoration: none;
}

.mdc-list-divider {
  height: 0;
  margin: 0;
  border: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.mdc-list-divider {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}

.mdc-list-divider--padded {
  margin: 0 16px;
}

.mdc-list-divider--inset {
  /* @noflip */
  margin-left: 72px;
  /* @noflip */
  margin-right: 0;
  width: calc(100% - 72px);
}

.mdc-list-group[dir=rtl] .mdc-list-divider--inset, [dir=rtl] .mdc-list-group .mdc-list-divider--inset {
  /* @noflip */
  margin-left: 0;
  /* @noflip */
  margin-right: 72px;
}

.mdc-list-divider--inset.mdc-list-divider--padded {
  width: calc(100% - 72px - 16px);
}

.mdc-list-group .mdc-list {
  padding: 0;
}

.mdc-list-group__subheader {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  margin: calc((3rem - 1.5rem) / 2) 16px;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:hover::before {
  opacity: 0.04;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:hover::before {
  opacity: 0.32;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--activated.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.48;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before {
  opacity: 0.16;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected::after {
  background-color: #00AEEF;
  /* @alternate */
  background-color: var(--mdc-theme-primary, #00AEEF);
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:hover::before {
  opacity: 0.24;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.4;
}

:not(.mdc-list--non-interactive) > :not(.mdc-list-item--disabled).mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.4;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled::after {
  background-color: #000;
}

:not(.mdc-list--non-interactive) > .mdc-list-item--disabled.mdc-ripple-upgraded--background-focused::before, :not(.mdc-list--non-interactive) > .mdc-list-item--disabled:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.24;
}

.mdc-menu {
  min-width: 112px;
}

.mdc-menu .mdc-list-item__meta {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list-item__graphic {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-menu .mdc-list {
  color: rgba(0, 0, 0, 0.87);
  /* @alternate */
  position: relative;
}

.mdc-menu .mdc-list .mdc-elevation-overlay {
  width: 100%;
  height: 100%;
  top: 0;
  /* @noflip */
  left: 0;
}

.mdc-menu .mdc-list-divider {
  margin: 8px 0;
}

.mdc-menu .mdc-list-item {
  user-select: none;
}

.mdc-menu .mdc-list-item--disabled {
  cursor: auto;
}

.mdc-menu a.mdc-list-item .mdc-list-item__text,
.mdc-menu a.mdc-list-item .mdc-list-item__graphic {
  pointer-events: none;
}

.mdc-menu__selection-group {
  padding: 0;
  fill: currentColor;
}

.mdc-menu__selection-group .mdc-list-item {
  /* @noflip */
  padding-left: 56px;
  /* @noflip */
  padding-right: 16px;
}

[dir=rtl] .mdc-menu__selection-group .mdc-list-item, .mdc-menu__selection-group .mdc-list-item[dir=rtl] {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 56px;
}

.mdc-menu__selection-group .mdc-menu__selection-group-icon {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

[dir=rtl] .mdc-menu__selection-group .mdc-menu__selection-group-icon, .mdc-menu__selection-group .mdc-menu__selection-group-icon[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-menu-item--selected .mdc-menu__selection-group-icon {
  display: inline;
}

.mdc-menu-surface {
  display: none;
  position: absolute;
  box-sizing: border-box;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  margin: 0;
  padding: 0;
  transform: scale(1);
  transform-origin: top left;
  opacity: 0;
  overflow: auto;
  will-change: transform, opacity;
  z-index: 8;
  transition: opacity 0.03s linear, transform 0.12s cubic-bezier(0, 0, 0.2, 1);
  /* @alternate */
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
  background-color: #fff;
  /* @alternate */
  background-color: var(--mdc-theme-surface, #fff);
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
  border-radius: 4px;
  /* @noflip */
  transform-origin-left: top left;
  /* @noflip */
  transform-origin-right: top right;
}

.mdc-menu-surface:focus {
  outline: none;
}

.mdc-menu-surface--open {
  display: inline-block;
  transform: scale(1);
  opacity: 1;
}

.mdc-menu-surface--animating-open {
  display: inline-block;
  transform: scale(0.8);
  opacity: 0;
}

.mdc-menu-surface--animating-closed {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.075s linear;
}

[dir=rtl] .mdc-menu-surface, .mdc-menu-surface[dir=rtl] {
  /* @noflip */
  transform-origin-left: top right;
  /* @noflip */
  transform-origin-right: top left;
}

.mdc-menu-surface--anchor {
  position: relative;
  overflow: visible;
}

.mdc-menu-surface--fixed {
  position: fixed;
}

.mdc-select-helper-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 0.75rem;
  /* @alternate */
  font-size: var(--mdc-typography-caption-font-size, 0.75rem);
  line-height: 1.25rem;
  /* @alternate */
  line-height: var(--mdc-typography-caption-line-height, 1.25rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-caption-font-weight, 400);
  letter-spacing: 0.0333333333em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-caption-text-transform, inherit);
  display: block;
  margin-top: 0;
  /* @alternate */
  line-height: normal;
  margin: 0;
  opacity: 0;
  will-change: opacity;
  transition: opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-select-helper-text::before {
  display: inline-block;
  width: 0;
  height: 16px;
  content: "";
  vertical-align: 0;
}

.mdc-select-helper-text--persistent {
  transition: none;
  opacity: 1;
  will-change: initial;
}

.mdc-select--with-leading-icon .mdc-select__icon {
  display: inline-block;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  border: none;
  opacity: 0.54;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
  align-self: center;
  background-color: transparent;
  fill: currentColor;
}

.mdc-select--with-leading-icon .mdc-select__icon {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

[dir=rtl] .mdc-select--with-leading-icon .mdc-select__icon, .mdc-select--with-leading-icon .mdc-select__icon[dir=rtl] {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

.mdc-select--with-leading-icon:not(.mdc-select--disabled) .mdc-select__icon {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

.mdc-select__icon:not([tabindex]),
.mdc-select__icon[tabindex="-1"] {
  cursor: default;
  pointer-events: none;
}

.mdc-floating-label {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  position: absolute;
  /* @noflip */
  left: 0;
  /* @noflip */
  transform-origin: left top;
  line-height: 1.15rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: text;
  overflow: hidden;
  /* @alternate */
  will-change: transform;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-floating-label, .mdc-floating-label[dir=rtl] {
  /* @noflip */
  right: 0;
  /* @noflip */
  left: auto;
  /* @noflip */
  transform-origin: right top;
  /* @noflip */
  text-align: right;
}

.mdc-floating-label--float-above {
  cursor: auto;
}

.mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-standard 250ms 1;
}

@keyframes mdc-floating-label-shake-float-above-standard {
  0% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 0%)) translateY(-106%) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 0%)) translateY(-106%) scale(0.75);
  }
}
.mdc-line-ripple::before, .mdc-line-ripple::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom-style: solid;
  content: "";
}

.mdc-line-ripple::before {
  border-bottom-width: 1px;
  z-index: 1;
}

.mdc-line-ripple::after {
  transform: scaleX(0);
  border-bottom-width: 2px;
  opacity: 0;
  z-index: 2;
}

.mdc-line-ripple::after {
  transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1), opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-line-ripple--active::after {
  transform: scaleX(1);
  opacity: 1;
}

.mdc-line-ripple--deactivating::after {
  opacity: 0;
}

.mdc-notched-outline {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 100%;
  /* @noflip */
  text-align: left;
  pointer-events: none;
}

[dir=rtl] .mdc-notched-outline, .mdc-notched-outline[dir=rtl] {
  /* @noflip */
  text-align: right;
}

.mdc-notched-outline__leading, .mdc-notched-outline__notch, .mdc-notched-outline__trailing {
  box-sizing: border-box;
  height: 100%;
  border-top: 1px solid;
  border-bottom: 1px solid;
  pointer-events: none;
}

.mdc-notched-outline__leading {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
  width: 12px;
}

[dir=rtl] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
}

.mdc-notched-outline__trailing {
  /* @noflip */
  border-left: none;
  /* @noflip */
  border-right: 1px solid;
  flex-grow: 1;
}

[dir=rtl] .mdc-notched-outline__trailing, .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-left: 1px solid;
  /* @noflip */
  border-right: none;
}

.mdc-notched-outline__notch {
  flex: 0 0 auto;
  width: auto;
  max-width: calc(100% - 12px * 2);
}

.mdc-notched-outline .mdc-floating-label {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.mdc-notched-outline .mdc-floating-label--float-above {
  text-overflow: clip;
}

.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  max-width: 133.3333333333%;
}

.mdc-notched-outline--notched .mdc-notched-outline__notch {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 8px;
  border-top: none;
}

[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch, .mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl] {
  /* @noflip */
  padding-left: 8px;
  /* @noflip */
  padding-right: 0;
}

.mdc-notched-outline--no-label .mdc-notched-outline__notch {
  padding: 0;
}

.mdc-select__anchor {
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}

.mdc-select__anchor .mdc-select__ripple::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}

.mdc-select__anchor.mdc-ripple-upgraded--unbounded .mdc-select__ripple::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}

.mdc-select__anchor.mdc-ripple-upgraded--foreground-activation .mdc-select__ripple::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}

.mdc-select__anchor.mdc-ripple-upgraded--foreground-deactivation .mdc-select__ripple::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}

.mdc-select__anchor.mdc-ripple-upgraded .mdc-select__ripple::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}

.mdc-select__anchor .mdc-select__ripple::before,
.mdc-select__anchor .mdc-select__ripple::after {
  background-color: rgba(0, 0, 0, 0.87);
}

.mdc-select__anchor:hover .mdc-select__ripple::before {
  opacity: 0.04;
}

.mdc-select__anchor.mdc-ripple-upgraded--background-focused .mdc-select__ripple::before, .mdc-select__anchor:not(.mdc-ripple-upgraded):focus .mdc-select__ripple::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__anchor .mdc-select__ripple {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected::before, .mdc-select__menu .mdc-list .mdc-list-item--selected::after {
  background-color: #000;
  /* @alternate */
  background-color: var(--mdc-theme-on-surface, #000);
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:hover::before {
  opacity: 0.04;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded--background-focused::before, .mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}

.mdc-select {
  position: relative;
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: whitesmoke;
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.87);
}

.mdc-select:not(.mdc-select--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select:not(.mdc-select--disabled) .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.42);
}

.mdc-select:not(.mdc-select--disabled) .mdc-select__anchor + .mdc-select-helper-text {
  color: rgba(0, 0, 0, 0.6);
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple::after {
  border-bottom-color: #00AEEF;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-select:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: rgba(0, 174, 239, 0.87);
}

.mdc-select:not(.mdc-select--disabled):hover .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.87);
}

.mdc-select .mdc-floating-label {
  /* @noflip */
  left: 16px;
  /* @noflip */
  right: initial;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

[dir=rtl] .mdc-select .mdc-floating-label, .mdc-select .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 16px;
}

.mdc-select.mdc-select--outlined .mdc-floating-label {
  /* @noflip */
  left: 4px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select.mdc-select--outlined .mdc-floating-label, .mdc-select.mdc-select--outlined .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 4px;
}

.mdc-select .mdc-select__anchor {
  border-radius: 4px 4px 0 0;
}

.mdc-select .mdc-select__anchor {
  /* @noflip */
  padding-left: 16px;
  /* @noflip */
  padding-right: 0;
}

[dir=rtl] .mdc-select .mdc-select__anchor, .mdc-select .mdc-select__anchor[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 16px;
}

.mdc-select.mdc-select--with-leading-icon .mdc-select__anchor {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 0;
}

[dir=rtl] .mdc-select.mdc-select--with-leading-icon .mdc-select__anchor, .mdc-select.mdc-select--with-leading-icon .mdc-select__anchor[dir=rtl] {
  /* @noflip */
  padding-left: 0;
  /* @noflip */
  padding-right: 0;
}

.mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.54%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
  width: 24px;
  height: 24px;
  align-self: center;
  flex-shrink: 0;
  pointer-events: none;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

[dir=rtl] .mdc-select__dropdown-icon, .mdc-select__dropdown-icon[dir=rtl] {
  /* @noflip */
  margin-left: 12px;
  /* @noflip */
  margin-right: 12px;
}

.mdc-select--focused .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%2300AEEF%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--activated .mdc-select__dropdown-icon {
  transform: rotate(180deg) translateY(-5px);
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

.mdc-select__anchor {
  height: 56px;
  display: inline-flex;
  align-items: baseline;
  display: inline-flex;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  outline: none;
  cursor: pointer;
  min-width: 200px;
}

.mdc-select__anchor::before {
  display: inline-block;
  width: 0;
  height: 40px;
  content: "";
  vertical-align: 0;
}

.mdc-select--outlined .mdc-select__anchor .mdc-select__selected-text, .mdc-select--no-label .mdc-select__anchor .mdc-select__selected-text {
  height: 100%;
}

.mdc-select--outlined .mdc-select__anchor::before, .mdc-select--no-label .mdc-select__anchor::before {
  display: none;
}

.mdc-select__anchor .mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
}

.mdc-select__anchor.mdc-select--focused .mdc-line-ripple::after {
  transform: scale(1, 2);
  opacity: 1;
}

.mdc-select__anchor + .mdc-select-helper-text {
  margin-right: 16px;
  margin-left: 16px;
}

.mdc-select--focused .mdc-select__anchor + .mdc-select-helper-text:not(.mdc-select-helper-text--validation-msg) {
  opacity: 1;
}

.mdc-select__selected-text {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: Roboto, sans-serif;
  /* @alternate */
  font-family: var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
  font-size: 1rem;
  /* @alternate */
  font-size: var(--mdc-typography-subtitle1-font-size, 1rem);
  line-height: 1.75rem;
  /* @alternate */
  line-height: var(--mdc-typography-subtitle1-line-height, 1.75rem);
  font-weight: 400;
  /* @alternate */
  font-weight: var(--mdc-typography-subtitle1-font-weight, 400);
  letter-spacing: 0.009375em;
  /* @alternate */
  letter-spacing: var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);
  text-decoration: inherit;
  /* @alternate */
  text-decoration: var(--mdc-typography-subtitle1-text-decoration, inherit);
  text-transform: inherit;
  /* @alternate */
  text-transform: var(--mdc-typography-subtitle1-text-transform, inherit);
  box-sizing: border-box;
  width: 0;
  flex-grow: 1;
  height: 28px;
  border: none;
  outline: none;
  padding: 0;
  white-space: nowrap;
  appearance: none;
  pointer-events: none;
  text-overflow: ellipsis;
  background-color: transparent;
  color: inherit;
}

.mdc-select__selected-text::-ms-expand {
  display: none;
}

.mdc-select__selected-text::-ms-value {
  background-color: transparent;
  color: inherit;
}

.mdc-select--outlined {
  border: none;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.38);
}

.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.87);
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00AEEF;
  /* @alternate */
  border-color: var(--mdc-theme-primary, #00AEEF);
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

.mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 4px 4px 0;
}

[dir=rtl] .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-radius: 4px 0 0 4px;
}

.mdc-select--outlined .mdc-select__selected-text {
  border-radius: 4px;
}

.mdc-select--outlined:not(.mdc-select--disabled) .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--outlined .mdc-select__anchor {
  overflow: visible;
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined 250ms 1;
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above {
  transform: translateY(-37.25px) scale(1);
}

.mdc-select--outlined .mdc-select__anchor .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-34.75px) scale(0.75);
}

.mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--notched .mdc-notched-outline__notch {
  padding-top: 1px;
}

.mdc-select--outlined .mdc-select__selected-text {
  display: flex;
  border: none;
  z-index: 1;
  background-color: transparent;
}

.mdc-select--outlined .mdc-select__icon {
  z-index: 2;
}

.mdc-select--outlined .mdc-floating-label {
  line-height: 1.15rem;
  pointer-events: auto;
}

.mdc-select--outlined.mdc-select--focused .mdc-notched-outline--notched .mdc-notched-outline__notch {
  padding-top: 2px;
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-floating-label {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled) .mdc-line-ripple::before {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-line-ripple::after {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #b00020;
}

.mdc-select--invalid:not(.mdc-select--disabled).mdc-select--invalid .mdc-select__anchor + .mdc-select-helper-text--validation-msg {
  color: #b00020;
  /* @alternate */
  color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid:not(.mdc-select--disabled):hover .mdc-line-ripple::before {
  border-bottom-color: #b00020;
  /* @alternate */
  border-bottom-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}

.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.mdc-select--invalid.mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #b00020;
  /* @alternate */
  border-color: var(--mdc-theme-error, #b00020);
}

.mdc-select--invalid .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23b00020%22%20fill-rule%3D%22evenodd%22%20opacity%3D%221%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--invalid + .mdc-select-helper-text--validation-msg {
  opacity: 1;
}

.mdc-select--required .mdc-floating-label::after {
  content: "*";
}

.mdc-select--disabled {
  cursor: default;
  pointer-events: none;
}

.mdc-select--disabled .mdc-select__anchor {
  background-color: #fafafa;
}

.mdc-select--disabled .mdc-floating-label {
  color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-select__dropdown-icon {
  background: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%22%20height%3D%225px%22%20viewBox%3D%227%2010%2010%205%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0A%20%20%20%20%3Cpolygon%20id%3D%22Shape%22%20stroke%3D%22none%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%20opacity%3D%220.38%22%20points%3D%227%2010%2012%2015%2017%2010%22%3E%3C%2Fpolygon%3E%0A%3C%2Fsvg%3E") no-repeat center;
}

.mdc-select--disabled .mdc-line-ripple::before {
  border-bottom-color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-line-ripple::before {
  border-bottom-style: dotted;
}

.mdc-select--disabled .mdc-select__icon {
  color: rgba(0, 0, 0, 0.38);
}

.mdc-select--disabled .mdc-select__selected-text {
  color: rgba(0, 0, 0, 0.38);
  pointer-events: none;
}

.mdc-select--disabled.mdc-select--outlined .mdc-select__anchor {
  background-color: transparent;
}

.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__leading,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__notch,
.mdc-select--disabled.mdc-select--outlined .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.16);
}

.mdc-select--with-leading-icon .mdc-floating-label {
  /* @noflip */
  left: 48px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon .mdc-floating-label, .mdc-select--with-leading-icon .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 48px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  /* @noflip */
  left: 36px;
  /* @noflip */
  right: initial;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl] {
  /* @noflip */
  left: initial;
  /* @noflip */
  right: 36px;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  transform: translateY(-37.25px) translateX(-32px) scale(1);
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above[dir=rtl] {
  transform: translateY(-37.25px) translateX(32px) scale(1);
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--float-above {
  font-size: 0.75rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-34.75px) translateX(-32px) scale(0.75);
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above, .mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],
[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl] {
  transform: translateY(-34.75px) translateX(32px) scale(0.75);
}

.mdc-select--with-leading-icon.mdc-select--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.mdc-select--with-leading-icon.mdc-select--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  font-size: 1rem;
}

.mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon 250ms 1;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select--outlined .mdc-floating-label--shake, .mdc-select--with-leading-icon.mdc-select--outlined[dir=rtl] .mdc-floating-label--shake {
  animation: mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl 250ms 1;
}

.mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

[dir=rtl] .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text, .mdc-select--with-leading-icon.mdc-select__menu .mdc-list-item__text[dir=rtl] {
  /* @noflip */
  padding-left: 32px;
  /* @noflip */
  padding-right: 32px;
}

.mdc-select__menu .mdc-list .mdc-list-item--selected {
  color: #000;
  /* @alternate */
  color: var(--mdc-theme-on-surface, #000);
}

@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon {
  0% {
    transform: translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75);
  }
}
@keyframes mdc-floating-label-shake-float-above-select-outlined-leading-icon-rtl {
  0% {
    transform: translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75);
  }
  33% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.701732, 0.495819);
    transform: translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75);
  }
  66% {
    animation-timing-function: cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);
    transform: translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75);
  }
  100% {
    transform: translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75);
  }
}
.mdc-list-item--disabled {
  pointer-events: none;
  color: rgba(32, 29, 29, 0.3);
}

.mdc-menu-surface {
  scrollbar-width: thin;
  scrollbar-color: #d6d8da #fff;
  z-index: 20;
}
.mdc-menu-surface::-webkit-scrollbar {
  width: 8px;
  background-color: #fff;
}
.mdc-menu-surface::-webkit-scrollbar-thumb {
  outline: none;
  width: 7px;
  border-radius: 7px;
  background-color: #d6d8da;
  border: 1px solid #fff;
}
.mdc-menu-surface--anchor > button {
  display: block;
  text-align: left;
  text-overflow: ellipsis;
}

.mdc-icon-button.material-icons {
  width: 48px;
  font-family: materialIconsRoundWeb, sans-serif;
}

.mdc-radio {
  overflow: hidden;
}

.mdc-radio__ripple {
  overflow: hidden;
  border-radius: 100px;
}

.mdc-menu .mdc-list-item {
  height: auto;
  display: block;
  text-align: left;
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .mdc-menu .mdc-list-item {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.hero-page {
  display: block;
  order: 0;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .hero-page {
    margin-bottom: 0;
  }
}
.hero-page:before {
  display: none;
}
@media (min-width: 992px) {
  .hero-page:before {
    content: "";
    display: block;
    width: 100%;
    height: 546px;
    position: relative;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.2) 23%, rgba(0, 0, 0, 0) 42%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
    pointer-events: none;
    margin-bottom: -546px;
  }
}
.hero-page__figure {
  margin: 0;
}
.hero-page__canvas--mobile {
  display: block;
  background-color: #D8D1C9;
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
@media (min-width: 768px) {
  .hero-page__canvas--mobile {
    display: none;
  }
}
.hero-page__canvas--desktop {
  display: none;
}
@media (min-width: 768px) {
  .hero-page__canvas--desktop {
    display: block;
    background-color: #D8D1C9;
    margin: 0;
    width: 100%;
    max-width: 100%;
    user-select: none;
  }
}
.hero-page__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .hero-page__img {
  position: absolute;
  left: 0;
  top: 0;
}
.hero-page__teaser {
  position: relative;
  top: -65px;
  width: calc(100% - 36px);
  margin: 0 auto -65px auto;
  padding: 16px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .hero-page__teaser {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    margin: 0 auto;
    background-color: transparent;
    position: absolute;
    text-align: right;
    top: 0;
    bottom: 0;
    left: -100%;
    right: -100%;
    width: 78.33%;
    padding: 0;
    max-width: 1254px;
  }
}
@media (min-width: 992px) {
  .hero-page__teaser {
    padding: 161px 0 0 0;
  }
}
@media (min-width: 768px) {
  .hero-page--left .hero-page__teaser {
    align-items: flex-start;
    text-align: left;
  }
}
.hero-page__headline {
  background-color: #00AEEF;
  color: #fff;
  display: inline-flex;
  vertical-align: top;
  text-transform: uppercase;
  font-weight: 400;
  margin: 0;
  font-size: 15px;
  padding: 2px 10px;
  letter-spacing: 0;
}
@media (min-width: 992px) {
  .hero-page__headline {
    letter-spacing: 0.2px;
    padding: 0.2595vw 0.986vw;
    font-size: 0.986vw;
    margin-bottom: 1.4vw;
  }
}
.hero-page__description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 15px 0 0 0;
  color: #201d1d;
  font-weight: 700;
  margin-top: 7px;
  padding: 0;
  letter-spacing: 0;
  line-height: 1.4;
  font-size: 28px;
}
.hero-page__description-part {
  display: inline-block;
}
@media (min-width: 768px) {
  .hero-page__description {
    align-items: flex-end;
    width: 60%;
    line-height: 1.2;
    color: #fff;
    text-transform: none;
    font-weight: 700;
    text-shadow: 0.5vw 0.5vw 1.5vw rgba(0, 0, 0, 0.23);
  }
}
@media (min-width: 992px) {
  .hero-page__description {
    margin: 0 0 0.2vw 0;
    font-size: 2.906vw;
    letter-spacing: 0.2px;
  }
}
.hero-page__description br {
  display: none;
}
@media (min-width: 768px) {
  .hero-page__description br {
    display: block;
  }
}
.hero-page__action {
  margin-top: 12px;
}
@media (min-width: 768px) {
  .hero-page__action {
    margin-bottom: 0;
    display: inline-flex;
  }
}
@media (min-width: 1200px) {
  .hero-page__action {
    margin-top: 1.557vw;
  }
}
@media (min-width: 768px) {
  .school-action-view .hero-page__action, .school-list-view .hero-page__action {
    display: none;
  }
}

.breadcrumb {
  display: none;
}
@media (min-width: 992px) {
  .breadcrumb {
    display: block;
    list-style: none;
    margin: 30px auto 15px auto;
    font-size: 0;
    font-weight: 300;
    width: 100%;
    padding: 0 15px;
    max-width: 1284px;
    letter-spacing: 0.4px;
  }
}
@media (min-width: 1200px) {
  .breadcrumb {
    margin: 35px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .breadcrumb {
    margin: 75px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-365 + .breadcrumb {
    margin: 15px auto 16px auto;
  }
}
@media (min-width: 1200px) {
  .hero-365 + .breadcrumb {
    margin: 25px auto 26px auto;
  }
}
@media (min-width: 1400px) {
  .hero-365 + .breadcrumb {
    margin: 36px auto 35px auto;
  }
}
@media (min-width: 992px) {
  .hero-page + .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-page + .breadcrumb {
    margin: 25px auto 20px auto;
  }
}
@media (min-width: 1400px) {
  .hero-page + .breadcrumb {
    margin: 36px auto 20px auto;
  }
}
@media (min-width: 992px) {
  .hero-section + .breadcrumb {
    margin: 30px auto 15px auto;
  }
}
@media (min-width: 1200px) {
  .hero-section + .breadcrumb {
    margin: 25px auto 45px auto;
  }
}
@media (min-width: 1400px) {
  .hero-section + .breadcrumb {
    margin: 36px auto 95px auto;
  }
}
@media (min-width: 992px) {
  .landingpage-view .breadcrumb {
    margin: 15px auto;
  }
}
@media (min-width: 1200px) {
  .landingpage-view .breadcrumb {
    max-width: 1080px;
    margin: 25px auto 23px auto;
  }
}
@media (min-width: 1400px) {
  .landingpage-view .breadcrumb {
    margin: 36px auto 34px auto;
    max-width: 1284px;
  }
}
.breadcrumb__list {
  padding: 0;
  margin: 0;
}
.breadcrumb__item {
  font-size: 14px;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.breadcrumb__item:after {
  content: ">";
  margin: 0 5px 0 4px;
}
.breadcrumb__item:last-of-type {
  font-weight: 500;
}
.breadcrumb__item:last-of-type a {
  color: #00AEEF;
}
.breadcrumb__item:last-of-type:after {
  display: none;
}
.breadcrumb__link {
  color: #201d1d;
}
.breadcrumb__link:hover, .breadcrumb__link:focus {
  text-decoration: underline;
}

.aside-section {
  padding-bottom: 10px;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  .aside-section {
    margin-bottom: 80px;
  }
}
.aside-section__title {
  font-size: 16.5px;
  line-height: 1.3;
  font-weight: 500;
  padding-bottom: 15px;
  border-bottom: 1px solid #d6d8da;
  letter-spacing: 0.8px;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .aside-section__title {
    font-size: 21px;
    padding-bottom: 18px;
    margin-bottom: 8px;
  }
}

.file-download {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.aside-header-button {
  text-align: center;
  padding: 24px 42px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .aside-header-button {
    padding: 36px 42px;
  }
}
.aside-header-button__title {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 38px;
}
@media (min-width: 992px) {
  .aside-header-button__title {
    font-size: 28px;
  }
}
.aside-header-button__action {
  text-transform: none;
}
@media (min-width: 992px) {
  .aside-header-button__action {
    width: 100%;
  }
}

.read-too {
  margin-bottom: 40px;
}
.read-too__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  letter-spacing: 0.6px;
}
@media (min-width: 768px) {
  .read-too__title {
    font-size: 21px;
    margin-bottom: 15px;
  }
}
@media (min-width: 992px) {
  .read-too__title {
    font-weight: 500;
    text-transform: none;
    margin-bottom: 10px;
    color: inherit;
  }
}

.school-list {
  padding: 0 23px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .school-list {
    padding: 0 15px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media (min-width: 1200px) {
  .school-list {
    margin-bottom: 50px;
  }
}
@media (min-width: 1656px) {
  .school-list {
    margin-bottom: 80px;
  }
}
.school-list__join-aside {
  margin-bottom: 70px;
}
@media (min-width: 992px) {
  .school-list__join-aside {
    margin-bottom: 95px;
  }
}
@media (min-width: 992px) {
  .school-list__join-aside .mdc-button {
    width: 100%;
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 0.8px;
  }
}
.school-list__content {
  margin: 0 auto;
  flex: 0 0 100%;
  max-width: 100%;
}
@media (min-width: 992px) {
  .school-list__content {
    flex: 0 0 calc(100% - 414px);
    max-width: calc(100% - 414px);
    margin: 0;
  }
}
@media (min-width: 1400px) {
  .school-list__content {
    flex: 0 0 800px;
    max-width: 800px;
  }
}
@media (min-width: 1200px) {
  .school-list__content:last-child {
    margin: 0 auto;
  }
}
.school-list__aside {
  flex: 0 0 100%;
  max-width: 100%;
  padding-top: 35px;
}
@media (min-width: 992px) {
  .school-list__aside {
    flex: 0 0 384px;
    max-width: 384px;
    padding-top: 18px;
  }
}
@media (min-width: 992px) {
  .school-list__aside .newsletter {
    margin: 0 0 45px 0;
  }
}
@media (min-width: 1400px) {
  .school-list__aside .newsletter__header {
    height: 100px;
  }
}
@media (min-width: 992px) {
  .school-list__aside .teaser {
    margin: 0 0 45px 0;
  }
}
.school-list__title {
  font-size: 28px;
  line-height: 1.3;
  margin-bottom: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
}
@media (min-width: 992px) {
  .school-list__title {
    margin-top: 5px;
  }
}
@media (min-width: 1200px) {
  .school-list__title {
    font-size: 48px;
    line-height: 1.4;
    margin-bottom: 40px;
  }
}

.see-also {
  margin-bottom: -30px;
}
@media (min-width: 992px) {
  .see-also {
    margin-bottom: -40px;
  }
}
@media (min-width: 1200px) {
  .see-also {
    margin-bottom: -50px;
  }
}
@media (min-width: 1400px) {
  .see-also {
    margin-bottom: -100px;
  }
}
.see-also__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  text-align: center;
  margin-top: 35px;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .see-also__title {
    letter-spacing: 0.5px;
    text-align: left;
    font-size: 48px;
    margin-top: 20px;
    margin-bottom: 25px;
    margin-left: 40px;
  }
}
@media (min-width: 1200px) {
  .see-also__title {
    margin-bottom: 28px;
  }
}
@media (min-width: 1656px) {
  .see-also__title {
    margin-top: 35px;
    margin-bottom: 58px;
  }
}
.accordion3__section .see-also__title {
  margin-top: 0;
}
@media (min-width: 992px) {
  .accordion3__section .see-also__title {
    margin-top: 0;
    margin-left: 28px;
  }
}
.see-also__row {
  margin: 0 -23px;
  border-bottom: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 992px) {
  .see-also__row {
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    border-bottom: none;
  }
}
@media (min-width: 992px) {
  .see-also__item {
    width: calc(33% - 17px);
    margin-right: 30px;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .see-also__item {
    width: calc(33% - 17px);
    margin-bottom: 50px;
  }
}
@media (min-width: 1400px) {
  .see-also__item {
    width: calc(33% - 15.666px);
    margin-bottom: 100px;
  }
}
@media (min-width: 992px) {
  .see-also__item:nth-of-type(3n) {
    margin-right: 0;
  }
}

.card-2 {
  position: relative;
  overflow: hidden;
  display: flex;
  border-top: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 992px) {
  .card-2 {
    border: none;
    display: block;
    overflow: visible;
  }
}
.card-2__header {
  width: calc(100% - 112px);
  display: flex;
  flex-direction: column;
  padding: 17px 33px 17px 22px;
}
@media (min-width: 992px) {
  .card-2__header {
    padding: 0;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .card-2__header {
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .card-2__header {
    margin-bottom: 40px;
  }
}
@media (min-width: 1656px) {
  .card-2__header {
    margin-bottom: 50px;
  }
}
@media (min-width: 992px) {
  .card-2__header:after {
    content: "";
    display: block;
    width: 73px;
    height: 0;
    border-bottom: 2px solid #d6d8da;
    position: absolute;
    bottom: -10px;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .card-2__header:after {
    bottom: -15px;
  }
}
@media (min-width: 1400px) {
  .card-2__header:after {
    bottom: -20px;
  }
}
@media (min-width: 1656px) {
  .card-2__header:after {
    bottom: -25px;
  }
}
.card-2__headline {
  color: #201d1d;
  margin: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  width: 100%;
  letter-spacing: 0.4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  order: 2;
  height: 76px;
}
.show .card-2__headline {
  height: 75px;
}
@media (min-width: 992px) {
  .card-2__headline {
    margin: 0 0 8px 0;
    order: 1;
    font-size: 18px;
    line-height: 26px;
    height: 52px;
    font-weight: 400;
    letter-spacing: 0.6px;
    padding: 0;
    position: static;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .card-2__headline {
    font-size: 20px;
    line-height: 28px;
    height: 56px;
  }
}
@media (min-width: 1400px) {
  .card-2__headline {
    font-size: 22px;
    line-height: 30px;
    height: 60px;
  }
}
@media (min-width: 1656px) {
  .card-2__headline {
    font-size: 24px;
    line-height: 1.25;
    height: 60px;
  }
}
.card-2__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  .card-2__info {
    margin-bottom: 16px;
  }
}
.card-2__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 992px) {
  .card-2__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.card-2__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 992px) {
  .card-2__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.card-2__description {
  display: none;
}
@media (min-width: 992px) {
  .card-2__description {
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: 0.3px;
    hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .card-2__description {
    font-size: 16px;
    line-height: 22px;
  }
}
@media (min-width: 1400px) {
  .card-2__description {
    line-height: 26px;
  }
}
@media (min-width: 1656px) {
  .card-2__description {
    line-height: 1.476;
  }
}
.card-2__figure {
  margin: 0;
  position: relative;
  display: block;
  order: 0;
  width: 112px;
}
@media (min-width: 992px) {
  .card-2__figure {
    order: unset;
    width: auto;
    margin-bottom: 20px;
  }
}
.card-2__canvas--desktop, .card-2__canvas--mobile {
  background-color: #D8D1C9;
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.card-2__canvas--desktop {
  display: none;
}
@media (min-width: 992px) {
  .card-2__canvas--desktop {
    display: block;
  }
}
.card-2__canvas--mobile {
  display: block;
}
@media (min-width: 992px) {
  .card-2__canvas--mobile {
    display: none;
  }
}
.card-2__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .card-2__img {
  position: absolute;
  left: 0;
  top: 0;
}
.card-2__overlink {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s, border-color 0.2s;
  border-top: none;
  border-bottom: none;
}
.card-2__overlink::before, .card-2__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.card-2__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.card-2__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.card-2__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.card-2__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.card-2__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.card-2__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.card-2__overlink::before, .card-2__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.card-2__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.card-2__overlink:hover::before {
  opacity: 0;
}
.card-2__overlink.mdc-ripple-upgraded--background-focused::before, .card-2__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.card-2__overlink::before, .card-2__overlink::after {
  background-color: #201d1d;
}
.card-2__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.card-2__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.card-2__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .card-2__overlink:focus {
  outline: none;
}
.tab-navigation .card-2__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .card-2__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
@media (min-width: 992px) {
  .card-2__overlink {
    border-top: 4px solid rgba(0, 174, 239, 0);
    border-bottom: 4px solid rgba(0, 174, 239, 0);
    top: -15px;
    left: -15px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
  }
}
.card-2__overlink:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
@media (min-width: 992px) {
  .card-2:hover .card-2__overlink {
    border-top: 4px solid #00AEEF;
    border-bottom: 4px solid #00AEEF;
  }
}
.card-2--vertical {
  border-top: 0;
  flex-direction: column;
}
.card-2--vertical .card-2__header {
  padding: 0;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
.card-2--vertical .card-2__figure {
  width: 100%;
}
.card-2--vertical .card-2__description {
  display: block;
}

.slider__item .card-2 {
  position: relative;
  overflow: hidden;
  display: flex;
  border-top: 1px solid rgba(0, 174, 239, 0.3);
}
@media (min-width: 768px) {
  .slider__item .card-2 {
    border: none;
    display: block;
    overflow: visible;
  }
}
.slider__item .card-2__header {
  width: calc(100% - 112px);
  display: flex;
  flex-direction: column;
  padding: 17px 33px 17px 22px;
}
@media (min-width: 768px) {
  .slider__item .card-2__header {
    padding: 0;
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__header {
    margin-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__header {
    margin-bottom: 40px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__header {
    margin-bottom: 50px;
  }
}
@media (min-width: 768px) {
  .slider__item .card-2__header:after {
    content: "";
    display: block;
    width: 73px;
    height: 0;
    border-bottom: 2px solid #d6d8da;
    position: absolute;
    bottom: -10px;
    left: 0;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__header:after {
    bottom: -15px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__header:after {
    bottom: -20px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__header:after {
    bottom: -25px;
  }
}
.slider__item .card-2__headline {
  color: #201d1d;
  margin: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  width: 100%;
  letter-spacing: 0.4px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  order: 2;
  height: 76px;
}
.show .slider__item .card-2__headline {
  height: 75px;
}
@media (min-width: 768px) {
  .slider__item .card-2__headline {
    margin: 0 0 8px 0;
    order: 1;
    font-size: 18px;
    line-height: 26px;
    height: 52px;
    font-weight: 400;
    letter-spacing: 0.6px;
    padding: 0;
    position: static;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__headline {
    font-size: 20px;
    line-height: 28px;
    height: 56px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__headline {
    font-size: 22px;
    line-height: 30px;
    height: 60px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__headline {
    font-size: 24px;
    line-height: 1.25;
    height: 60px;
  }
}
.slider__item .card-2__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 768px) {
  .slider__item .card-2__info {
    margin-bottom: 16px;
  }
}
.slider__item .card-2__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 768px) {
  .slider__item .card-2__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.slider__item .card-2__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 768px) {
  .slider__item .card-2__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.slider__item .card-2__description {
  display: none;
}
@media (min-width: 768px) {
  .slider__item .card-2__description {
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: 0.3px;
    hyphens: auto;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
  }
}
@media (min-width: 1200px) {
  .slider__item .card-2__description {
    font-size: 16px;
    line-height: 22px;
  }
}
@media (min-width: 1400px) {
  .slider__item .card-2__description {
    line-height: 26px;
  }
}
@media (min-width: 1656px) {
  .slider__item .card-2__description {
    line-height: 1.476;
  }
}
.slider__item .card-2__figure {
  margin: 0;
  position: relative;
  display: block;
  order: 0;
  width: 112px;
}
@media (min-width: 768px) {
  .slider__item .card-2__figure {
    order: unset;
    width: auto;
    margin-bottom: 20px;
  }
}
.slider__item .card-2__canvas--desktop, .slider__item .card-2__canvas--mobile {
  background-color: #D8D1C9;
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.slider__item .card-2__canvas--desktop {
  display: none;
}
@media (min-width: 768px) {
  .slider__item .card-2__canvas--desktop {
    display: block;
  }
}
.slider__item .card-2__canvas--mobile {
  display: block;
}
@media (min-width: 768px) {
  .slider__item .card-2__canvas--mobile {
    display: none;
  }
}
.slider__item .card-2__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .slider__item .card-2__img {
  position: absolute;
  left: 0;
  top: 0;
}
.slider__item .card-2__overlink {
  position: absolute;
  overflow: hidden;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s, border-color 0.2s;
  border-top: none;
  border-bottom: none;
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.slider__item .card-2__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.slider__item .card-2__overlink:hover::before {
  opacity: 0;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded--background-focused::before, .slider__item .card-2__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.slider__item .card-2__overlink::before, .slider__item .card-2__overlink::after {
  background-color: #201d1d;
}
.slider__item .card-2__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.slider__item .card-2__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.slider__item .card-2__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .slider__item .card-2__overlink:focus {
  outline: none;
}
.tab-navigation .slider__item .card-2__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .slider__item .card-2__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
@media (min-width: 768px) {
  .slider__item .card-2__overlink {
    border-top: 4px solid rgba(0, 174, 239, 0);
    border-bottom: 4px solid rgba(0, 174, 239, 0);
    top: -15px;
    left: -15px;
    width: calc(100% + 30px);
    height: calc(100% + 30px);
  }
}
.slider__item .card-2__overlink:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
@media (min-width: 768px) {
  .card-2:hover .slider__item .card-2__overlink {
    border-top: 4px solid #00AEEF;
    border-bottom: 4px solid #00AEEF;
  }
}
.slider__item .card-2--vertical {
  border-top: 0;
  flex-direction: column;
}
.slider__item .card-2--vertical .card-2__header {
  padding: 0;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
}
.slider__item .card-2--vertical .card-2__figure {
  width: 100%;
}
.slider__item .card-2--vertical .card-2__description {
  display: block;
  padding-top: 0px;
}
@media (max-width: 768px) {
  .slider__item .card-2--vertical .card-2__description {
    padding-top: 16px;
  }
}

.newsletter {
  background-color: #2653B9;
  color: #fff;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 1200px) {
  .newsletter {
    padding: 0 35px;
  }
}
.newsletter__figure {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
}
.newsletter__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.newsletter__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .newsletter__img {
  position: absolute;
  left: 0;
  top: 0;
}
.newsletter__content {
  height: 100%;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
@media (min-width: 992px) {
  .newsletter__content {
    max-width: none;
  }
}
.newsletter__spacer {
  flex-grow: 1;
}
.newsletter__button {
  text-transform: none;
}
@media (max-width: 1199px) {
  .newsletter__button {
    position: absolute;
    top: 0;
    right: -0.2px;
    width: 48.2px;
    height: 48.2px;
    border-radius: 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M9,33.87a1.13,1.13,0,0,1,.33-.8L24.28,18,9.33,2.93a1.13,1.13,0,0,1,0-1.6,1.12,1.12,0,0,1,1.59,0L26.67,17.2a1.13,1.13,0,0,1,0,1.6L10.92,34.67A1.13,1.13,0,0,1,9,33.87Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    min-width: 0;
    min-height: 0;
    padding: 0;
  }
}
@media (min-width: 1200px) {
  .newsletter__button {
    position: relative;
    width: 100%;
    margin-bottom: 14px;
  }
}
@media (max-width: 1199px) {
  .newsletter__button .mdc-button__label {
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}
.newsletter__header {
  color: #fff;
  margin: 0;
  height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5px 0;
}
@media (min-width: 1200px) {
  .newsletter__header {
    height: 68px;
  }
}
@media (min-width: 1400px) {
  .newsletter__header {
    height: 110px;
  }
}
.newsletter__title {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}
@media (min-width: 1200px) {
  .newsletter__title {
    font-size: 21px;
  }
}
.newsletter__description {
  font-size: 13px;
  color: #fff;
  margin: 0;
}
@media (min-width: 1200px) {
  .newsletter__description {
    display: none;
  }
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #a3adec;
  background-color: rgba(0, 0, 0, 0);
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.newsletter__checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.newsletter__checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #a3adec;
  background-color: rgba(0, 0, 0, 0);
}
@keyframes mdc-checkbox-fade-in-background-FFA3ADECFFA3ADEC0000000000000000 {
  0% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
}
@keyframes mdc-checkbox-fade-out-background-FFA3ADECFFA3ADEC0000000000000000 {
  0%, 80% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
  100% {
    border-color: #a3adec;
    background-color: rgba(0, 0, 0, 0);
  }
}
.newsletter__checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .newsletter__checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FFA3ADECFFA3ADEC0000000000000000;
}
.newsletter__checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .newsletter__checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FFA3ADECFFA3ADEC0000000000000000;
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #a3adec;
}
.newsletter__checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #a3adec;
}
.newsletter__checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.newsletter__checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.newsletter__checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #fff;
}
.newsletter__checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .newsletter__checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.newsletter__checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.newsletter__checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.newsletter__checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.newsletter__checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.newsletter__checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.newsletter__checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #fff;
}
.newsletter .was-validated .mdc-checkbox__native-control[required]:invalid ~ .mdc-checkbox__background {
  border-color: #F26A21 !important;
}
.newsletter .mdc-text-field--focused .mdc-text-field__input:required ~ .mdc-floating-label:after {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #7a7a7a;
}
.newsletter .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #00AEEF;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple {
  background-color: #F26A21;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label,
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label {
  color: #F26A21;
}
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-floating-label:after,
.newsletter .was-validated .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #F26A21;
}
.newsletter .mdc-form-field {
  color: #a3adec;
  align-items: flex-start;
  margin-bottom: 2px;
  font-weight: 300;
  position: relative;
}
.newsletter .mdc-form-field label {
  margin-top: 11px;
}
.newsletter .mdc-text-field {
  border-radius: 0;
  width: 100%;
  margin-bottom: 23px;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__input {
  color: #201d1d;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: #7a7a7a;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled) {
  background-color: #fff;
}
@media (max-width: 1199px) {
  .newsletter .mdc-text-field {
    margin-bottom: 10px;
    height: 48px;
  }
}
.newsletter .mdc-text-field:before {
  display: none;
}
.newsletter .mdc-text-field:not(.mdc-text-field--disabled):not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mdc-text-field__input {
  border-bottom-color: rgba(0, 0, 0, 0) !important;
}
.newsletter .mdc-line-ripple {
  height: 3px;
}
.newsletter .mdc-form-field > label a:hover, .newsletter .mdc-form-field > label a:focus {
  text-decoration: underline;
  color: #fff;
}
.newsletter .mdc-checkbox:before {
  background-color: transparent !important;
}
.newsletter .mdc-floating-label {
  font-weight: 300;
  font-size: 18px;
  overflow: visible;
}
.newsletter .mdc-floating-label--float-above {
  transform: translateY(-110%) scale(0.7);
}
.newsletter .mdc-text-field-helper-text {
  font-size: 13px;
}
.newsletter__more {
  margin: 16px 0 0 0;
  border-top: 1px solid #00AEEF;
  padding: 14px 0;
  font-size: 16px;
  line-height: 1.4;
  color: #00AEEF;
  font-weight: 300;
}
@media (min-width: 1200px) {
  .newsletter__more {
    font-size: 19px;
    margin: 24px 0 0 0;
    padding: 15px 0;
  }
}
.newsletter__more a {
  color: #fff;
  font-weight: 500;
}
.newsletter__more a:hover, .newsletter__more a:focus {
  text-decoration: underline;
}
@media (min-width: 1200px) {
  .article-view .newsletter__more {
    padding: 18px 0;
  }
}
.newsletter__group {
  position: relative;
  max-width: 400px;
  margin-bottom: 2rem;
}
.newsletter .mdc-text-field--invalid {
  overflow: visible;
}
.newsletter .site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: -2px;
  color: #F26A21;
  background-color: transparent;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .newsletter .site-form__validation-text {
    font-size: 12px;
  }
}
input:valid ~ .newsletter .site-form__validation-text {
  display: none !important;
}
.newsletter .was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.newsletter .was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.newsletter .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .newsletter .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.newsletter .site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -10px;
  transform: translateY(50%);
  left: -2px;
  color: #F26A21;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 400;
  user-select: none;
}
@media (min-width: 375px) {
  .newsletter .site-form__server-validation-text {
    font-size: 12px;
  }
}
.newsletter .server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.newsletter .was-validated .mdc-checkbox--invalid ~ .site-form__validation-text {
  display: block;
  bottom: 0;
  left: 41px;
}
.newsletter .mdc-checkbox__ripple:before {
  background-color: #fff !important;
}
.newsletter .mdc-checkbox__ripple:after {
  background-color: rgba(255, 255, 255, 0.3) !important;
}

.teaser {
  flex: 1 0 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 480px) {
  .teaser {
    margin-right: 24px;
    flex: 1 0 calc(50% - 12px);
  }
}
@media (min-width: 992px) {
  .teaser {
    margin-right: 30px;
    flex: 1 0 calc(33.333% - 30px);
  }
  .teaser .glide--swipeable {
    cursor: auto !important;
  }
}
.teaser:last-child {
  margin-right: 0;
}
.teaser--mobile {
  margin: 0 20px 50px;
  flex: 1 0 auto;
}
.teaser--mobile:last-child {
  margin-right: 20px;
}
@media (min-width: 992px) {
  .teaser--mobile {
    margin: 0 30px 0 0;
    flex: 1 0 calc(33.333% - 30px);
  }
  .teaser--mobile:last-child {
    margin-right: 0;
  }
}
.teaser__canvas {
  background-color: #D8D1C9;
  margin: 0;
  display: block;
  width: 100%;
  max-width: 100%;
  user-select: none;
}
.ie .teaser__canvas {
  display: none;
}
.teaser__headline {
  background-color: #00AEEF;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  padding: 12px 20px;
  letter-spacing: 0.6px;
  height: 89px;
}
@media (min-width: 992px) {
  .teaser__headline {
    height: 110px;
    padding: 5px 40px;
    font-size: 21px;
  }
}
.teaser__headline-text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.teaser__figure {
  margin: 0;
  position: relative;
  display: block;
}
.teaser__figure--gradient:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0) 20%, #2653B9 100%);
}
.teaser__figure figure {
  margin: 0;
}
.teaser__content {
  position: absolute;
  right: 20px;
  text-align: right;
  z-index: 2;
  color: #fff;
  line-height: 1.2;
  font-weight: 500;
  font-size: 20px;
  bottom: 80px;
}
@media (min-width: 768px) {
  .teaser__content {
    font-size: 25px;
    bottom: 100px;
  }
}
.teaser__button {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  border: none;
  background-color: #FFFF00 !important;
  color: #201d1d !important;
  font-size: 16px;
  padding: 20px 26px;
}
@media (min-width: 768px) {
  .teaser__button {
    font-size: 19px;
    padding: 30px 36px;
  }
}
.teaser__button--yellow {
  background-color: #f9c412 !important;
  color: #201d1d !important;
  bottom: 28px;
  font-size: 16px;
  padding: 20px 26px;
}
@media (min-width: 768px) {
  .teaser__button--yellow {
    font-size: 19px;
    padding: 24px 24px;
  }
}
.teaser__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .teaser__img {
  position: absolute;
  left: 0;
  top: 0;
}
.teaser__overlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s;
}
.teaser__overlink::before, .teaser__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.teaser__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.teaser__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.teaser__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.teaser__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.teaser__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser__overlink::before, .teaser__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.teaser__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.teaser__overlink::before, .teaser__overlink::after {
  background-color: #fff;
}
.teaser__overlink:hover::before {
  opacity: 0;
}
.teaser__overlink.mdc-ripple-upgraded--background-focused::before, .teaser__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.teaser__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.teaser__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.15;
}
.teaser__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.15;
}
.tab-navigation .teaser__overlink:focus {
  outline: none;
}
.tab-navigation .teaser__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .teaser__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.teaser__overlink:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

.deco-365 {
  width: 100px;
  margin: 0 auto;
  height: auto;
  padding: 0;
  overflow: hidden;
  display: block;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20   xmlns:xlink%3D%22http://www.w3.org/1999/xlink%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%20231%20248%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22e62ac7d4-1afd-466e-be04-cef89021af9a%22%20x1%3D%22115.5%22%20y1%3D%221%22%20x2%3D%22115.5%22%20y2%3D%22247%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23009fe3%22/%3E%3Cstop%20offset%3D%220.45%22%20stop-color%3D%22%23008dca%22/%3E%3Cstop%20offset%3D%220.64%22%20stop-color%3D%22%23009fe3%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23008eca%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22af33fb87-471e-41da-a6b7-ed3bbdddb214%22%20x1%3D%22115.5%22%20y1%3D%2291%22%20x2%3D%22115.5%22%20y2%3D%22143%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%23fff%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23cccbcb%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22ea2772c5-5f80-4cb9-9196-ef7b1f049876%22%20x1%3D%22115.5%22%20y1%3D%22145%22%20x2%3D%22115.5%22%20y2%3D%22197%22%20xlink:href%3D%22%23af33fb87-471e-41da-a6b7-ed3bbdddb214%22/%3E%3ClinearGradient%20id%3D%22b804de10-04a7-49d6-8293-b61a3162ae7b%22%20x1%3D%22114.99%22%20y1%3D%22101.94%22%20x2%3D%22114.99%22%20y2%3D%22143%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%2318a8e1%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23008dca%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id%3D%22fb46bc1a-c6d2-4bad-9800-737f4de55d26%22%20x1%3D%22115.74%22%20y1%3D%22145%22%20x2%3D%22115.74%22%20y2%3D%22186.66%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220.23%22%20stop-color%3D%22%231a9dd9%22/%3E%3Cstop%20offset%3D%220.79%22%20stop-color%3D%22%23008fcc%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20id%3D%22fcd517f9-c52b-44c2-970c-05b23dbcd5c1%22%20data-name%3D%22365body%22%20d%3D%22M201,247H30A29,29,0,0,1,1,218V30A29,29,0,0,1,30,1H201a29,29,0,0,1,29,29V218A29,29,0,0,1,201,247Z%22%20fill%3D%22url(%23e62ac7d4-1afd-466e-be04-cef89021af9a)%22/%3E%3Cpath%20id%3D%22af27a7fd-3961-48ef-9128-9d8a635ee970%22%20data-name%3D%22365ct%22%20d%3D%22M14,143V96.51A5.51,5.51,0,0,1,19.51,91h54A5.51,5.51,0,0,1,79,96.51V143Zm134,0V96.51A5.51,5.51,0,0,0,142.49,91h-54A5.51,5.51,0,0,0,83,96.51V143Zm69,0V96.51A5.51,5.51,0,0,0,211.49,91h-54A5.51,5.51,0,0,0,152,96.51V143Z%22%20fill%3D%22url(%23af33fb87-471e-41da-a6b7-ed3bbdddb214)%22/%3E%3Cpath%20id%3D%22adef16bf-22ce-433b-9cc7-61532705090b%22%20data-name%3D%22365cb%22%20d%3D%22M79,145v46.49A5.51,5.51,0,0,1,73.49,197h-54A5.51,5.51,0,0,1,14,191.49V145Zm4,0v46.49A5.51,5.51,0,0,0,88.51,197h54a5.51,5.51,0,0,0,5.51-5.51V145Zm69,0v46.49a5.51,5.51,0,0,0,5.51,5.51h54a5.51,5.51,0,0,0,5.51-5.51V145Z%22%20fill%3D%22url(%23ea2772c5-5f80-4cb9-9196-ef7b1f049876)%22/%3E%3Cpath%20id%3D%22ae60a111-9801-4773-bacb-1335e60cc7dc%22%20data-name%3D%22365texts%22%20d%3D%22M217.5,89H14V87H217.5Zm0,110H14v2H217.5ZM41,82V76h-.16a17.1,17.1,0,0,1-5.15,5.41,13.4,13.4,0,0,1-7.34,1.86q-6.83,0-10.59-4.08T14,68.08V38H24V66a8.38,8.38,0,0,0,2,6,7.58,7.58,0,0,0,5.77,2.13,8.27,8.27,0,0,0,6.7-3A11.36,11.36,0,0,0,41,63.58V38H51V82ZM66,45h.24a14.48,14.48,0,0,1,5.35-5.56,15.34,15.34,0,0,1,7.81-1.9q6.91,0,10.75,4T94,52.63V82H83V54.13A8.72,8.72,0,0,0,81,48a7.43,7.43,0,0,0-5.76-2.21,8.74,8.74,0,0,0-3.73.78,8.34,8.34,0,0,0-2.9,2.21,10.36,10.36,0,0,0-1.9,3.39A12.71,12.71,0,0,0,66,56.42V82H56V38H66ZM99,21h10V31H99Zm0,17h10V82H99Zm33.86,44.85a18.46,18.46,0,0,1-14.47-6.58,21.37,21.37,0,0,1-4-7.18,29.25,29.25,0,0,1,0-17.82,22,22,0,0,1,4-7.18,18.32,18.32,0,0,1,6.19-4.77,18.84,18.84,0,0,1,8.18-1.73,19.44,19.44,0,0,1,6.78,1.13,16.24,16.24,0,0,1,5.27,3.13,16.06,16.06,0,0,1,3.67,4.85,20.79,20.79,0,0,1,1.94,6.3h-9.09a10,10,0,0,0-2.82-5.58,7.93,7.93,0,0,0-5.68-2,9.15,9.15,0,0,0-4.51,1.08,9,9,0,0,0-3.22,3.09,15.2,15.2,0,0,0-1.94,4.73,25.25,25.25,0,0,0-.66,5.94,24.34,24.34,0,0,0,.66,5.82,14.63,14.63,0,0,0,1.94,4.65,9.31,9.31,0,0,0,3.22,3.09,8.86,8.86,0,0,0,4.51,1.13,8.09,8.09,0,0,0,6.12-2.33,10.44,10.44,0,0,0,2.6-6.58h9.09a20.46,20.46,0,0,1-1.54,6.86,15.83,15.83,0,0,1-3.63,5.3A16.7,16.7,0,0,1,140,81.61,19.21,19.21,0,0,1,132.86,82.85Zm40.26,1.07a20.78,20.78,0,0,1-8.89-1.84,19.44,19.44,0,0,1-6.64-5,21.87,21.87,0,0,1-4.15-7.46,28.7,28.7,0,0,1-1.44-9.2,28.19,28.19,0,0,1,1.48-9.29,22.46,22.46,0,0,1,4.19-7.46,19.27,19.27,0,0,1,6.52-5,19.51,19.51,0,0,1,8.39-1.79,19.28,19.28,0,0,1,8.11,1.62,18.43,18.43,0,0,1,6.17,4.63,22.58,22.58,0,0,1,4.51,8.54A38.59,38.59,0,0,1,192.77,63h-31a17.16,17.16,0,0,0,3.38,9.29,9.71,9.71,0,0,0,8,3.54,10.28,10.28,0,0,0,5.86-1.54,8.57,8.57,0,0,0,3.3-4.29H192a19.69,19.69,0,0,1-2.37,5.54,16.82,16.82,0,0,1-4,4.42,18.11,18.11,0,0,1-5.55,2.91A21.85,21.85,0,0,1,173.12,83.92Zm-.55-38.44a8.76,8.76,0,0,0-7.31,3.18A16.4,16.4,0,0,0,162.14,57H182.4q-.32-5.4-2.86-8.46A8.59,8.59,0,0,0,172.57,45.48ZM192,38h6V33q0-6.63,3.27-9.74a11,11,0,0,1,4.67-2.43,23.26,23.26,0,0,1,6.51-.68,43.11,43.11,0,0,1,4.55.26v7.76a39.26,39.26,0,0,0-4.3,0,7,7,0,0,0-2.75.68,3.09,3.09,0,0,0-1.5,1.66,8,8,0,0,0-.45,3V38h9v7h-9V82H198V45h-6ZM14.13,205.33h7.08a6.73,6.73,0,0,1,2.43.4,4.36,4.36,0,0,1,1.73,1.14,5.15,5.15,0,0,1,1,1.59,5.32,5.32,0,0,1,.36,2,5.86,5.86,0,0,1-.36,2.1,4.33,4.33,0,0,1-1.05,1.59,4.82,4.82,0,0,1-1.7,1,6.53,6.53,0,0,1-2.3.37H17.21v6.16H14.13Zm3.08,7.77h3.65a2.9,2.9,0,0,0,2.12-.71,2.52,2.52,0,0,0,.72-1.89,2.42,2.42,0,0,0-.73-1.9A3,3,0,0,0,20.9,208H17.21Zm16.21,9a6.15,6.15,0,0,1-2.47-.48,5.78,5.78,0,0,1-1.9-1.32,6.09,6.09,0,0,1-1.21-2,7,7,0,0,1-.43-2.43,7.06,7.06,0,0,1,.43-2.46,6.09,6.09,0,0,1,1.21-2,5.45,5.45,0,0,1,1.9-1.3,6.15,6.15,0,0,1,2.47-.48,6.07,6.07,0,0,1,2.46.48,5.6,5.6,0,0,1,1.89,1.3,5.71,5.71,0,0,1,1.19,2,7.06,7.06,0,0,1,.42,2.46,7,7,0,0,1-.42,2.43,5.71,5.71,0,0,1-1.19,2,6,6,0,0,1-1.89,1.32A6.07,6.07,0,0,1,33.42,222.05Zm0-2.11a2.75,2.75,0,0,0,2.33-1.17,4.11,4.11,0,0,0,.61-1.3,6.36,6.36,0,0,0,.2-1.62,6.52,6.52,0,0,0-.2-1.64,4.23,4.23,0,0,0-.61-1.32,2.63,2.63,0,0,0-1-.87,2.8,2.8,0,0,0-1.35-.31A2.88,2.88,0,0,0,32,212a2.74,2.74,0,0,0-1,.87,4,4,0,0,0-.59,1.32,6.52,6.52,0,0,0-.2,1.64,6.36,6.36,0,0,0,.2,1.62,3.88,3.88,0,0,0,.59,1.3,2.78,2.78,0,0,0,2.36,1.17Zm7.83-10h2.71v1.78H44a4.37,4.37,0,0,1,1.44-1.54,3.89,3.89,0,0,1,2.08-.55,3.4,3.4,0,0,1,1.93.55,3.36,3.36,0,0,1,1.2,1.65h0a4.63,4.63,0,0,1,1.65-1.67,4.15,4.15,0,0,1,2-.53,3.6,3.6,0,0,1,2.8,1.09,4.27,4.27,0,0,1,1,3v8H55.4v-7.59a2.28,2.28,0,0,0-.53-1.59,1.79,1.79,0,0,0-1.39-.57,2.17,2.17,0,0,0-1.7.77,3,3,0,0,0-.67,2v6.95h-2.8v-7.59a2.41,2.41,0,0,0-.48-1.59,1.69,1.69,0,0,0-1.36-.57,2.14,2.14,0,0,0-.93.21,2.58,2.58,0,0,0-1.32,1.45,3.25,3.25,0,0,0-.2,1.14v6.95H41.23ZM68.16,221.7a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29A4.41,4.41,0,0,1,64,222a5.41,5.41,0,0,1-1.59-.22,3.34,3.34,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.24,5.24,0,0,1,1.52-.6,18.46,18.46,0,0,1,1.94-.34,7.91,7.91,0,0,0,2.17-.5,1.12,1.12,0,0,0,.73-1.11,1.57,1.57,0,0,0-.53-1.23,2.33,2.33,0,0,0-1.58-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39H60.59a3.62,3.62,0,0,1,.34-1.44,3.46,3.46,0,0,1,1-1.22,4.79,4.79,0,0,1,1.55-.85,6.73,6.73,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,3.88,3.88,0,0,1,1.35.52,3.6,3.6,0,0,1,1.67,3.35v6.18a3.64,3.64,0,0,0,.13,1.12.94.94,0,0,0,.31.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45c-.41.13-.83.23-1.25.32a6.73,6.73,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.29,1.29,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,64.84,220.07Zm13.26,5.72a6.75,6.75,0,0,1-3.76-.91,3.53,3.53,0,0,1-1.61-2.59h2.69c.19,1,1.07,1.45,2.64,1.45,1.89,0,2.84-.85,2.84-2.57v-.29c0-.32,0-.62,0-.9s0-.52,0-.72h-.07a3.57,3.57,0,0,1-3.32,1.8,5,5,0,0,1-2-.4,4.71,4.71,0,0,1-1.63-1.12,5.24,5.24,0,0,1-1.09-1.77,6.67,6.67,0,0,1-.39-2.36,6.93,6.93,0,0,1,.38-2.39,5.68,5.68,0,0,1,1-1.82,4.59,4.59,0,0,1,1.57-1.15,4.79,4.79,0,0,1,2-.41,3.66,3.66,0,0,1,3.47,1.83h0V210h2.7v11a5.4,5.4,0,0,1-.38,2.15,4.11,4.11,0,0,1-1.09,1.52,4.52,4.52,0,0,1-1.76.9A8.59,8.59,0,0,1,78.1,225.79Zm0-6.89a3.07,3.07,0,0,0,1.35-.27,2.32,2.32,0,0,0,.91-.75,3,3,0,0,0,.52-1.13,5.9,5.9,0,0,0,.17-1.43,4.12,4.12,0,0,0-.73-2.54,2.62,2.62,0,0,0-2.24-1,2.5,2.5,0,0,0-2.12,1,4.2,4.2,0,0,0-.72,2.58,4.09,4.09,0,0,0,.74,2.59A2.52,2.52,0,0,0,78.06,218.9Zm15.64,2.8a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29,4.41,4.41,0,0,1-2.27.51,5.41,5.41,0,0,1-1.59-.22,3.42,3.42,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.36,5.36,0,0,1,1.52-.6,18.46,18.46,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.54,1.54,0,0,0-.53-1.23,2.33,2.33,0,0,0-1.58-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39H86.13a3.8,3.8,0,0,1,.34-1.44,3.58,3.58,0,0,1,1-1.22A4.79,4.79,0,0,1,89,210a6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,3.88,3.88,0,0,1,1.35.52A3.61,3.61,0,0,1,96,213.67v6.18a4,4,0,0,0,.12,1.12.89.89,0,0,0,.32.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45,12.7,12.7,0,0,1-1.25.32,6.73,6.73,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,90.38,220.07ZM98.43,210h2.71v1.78h.06a4.37,4.37,0,0,1,1.44-1.54,3.89,3.89,0,0,1,2.08-.55,3.4,3.4,0,0,1,1.93.55,3.36,3.36,0,0,1,1.2,1.65h0a4.63,4.63,0,0,1,1.65-1.67,4.15,4.15,0,0,1,2-.53,3.6,3.6,0,0,1,2.8,1.09,4.27,4.27,0,0,1,1,3v8H112.6v-7.59a2.28,2.28,0,0,0-.53-1.59,1.79,1.79,0,0,0-1.39-.57,2.17,2.17,0,0,0-1.7.77,3,3,0,0,0-.67,2v6.95h-2.8v-7.59a2.41,2.41,0,0,0-.48-1.59,1.69,1.69,0,0,0-1.36-.57,2.14,2.14,0,0,0-.93.21,2.58,2.58,0,0,0-1.32,1.45,3.25,3.25,0,0,0-.2,1.14v6.95H98.43Zm30.14,12.1a6.07,6.07,0,0,1-2.46-.48,6,6,0,0,1-1.89-1.32,5.71,5.71,0,0,1-1.19-2,7,7,0,0,1-.42-2.43,7.06,7.06,0,0,1,.42-2.46,5.85,5.85,0,0,1,1.18-2,5.57,5.57,0,0,1,1.86-1.3,6.07,6.07,0,0,1,2.46-.48,6.5,6.5,0,0,1,2,.31,4.9,4.9,0,0,1,1.58.86,4.48,4.48,0,0,1,1.11,1.33,5.69,5.69,0,0,1,.58,1.73H131.1a2.58,2.58,0,0,0-.85-1.53,2.47,2.47,0,0,0-1.7-.56,3.06,3.06,0,0,0-1.36.29,2.61,2.61,0,0,0-1,.85,4.19,4.19,0,0,0-.59,1.3,6.45,6.45,0,0,0-.19,1.63,6.19,6.19,0,0,0,.19,1.59,4.08,4.08,0,0,0,.59,1.28,2.67,2.67,0,0,0,1,.84,2.81,2.81,0,0,0,1.36.31,2.5,2.5,0,0,0,1.83-.64,2.74,2.74,0,0,0,.79-1.8h2.72a5,5,0,0,1-.46,1.88,4.24,4.24,0,0,1-1.09,1.45,5,5,0,0,1-1.64,1A6.18,6.18,0,0,1,128.57,222.05Zm14.87-.35a1.54,1.54,0,0,1-.25-.56,4.85,4.85,0,0,1-.15-1h0a5.07,5.07,0,0,1-1.43,1.29,4.41,4.41,0,0,1-2.27.51,5.41,5.41,0,0,1-1.59-.22,3.42,3.42,0,0,1-1.27-.66,3.07,3.07,0,0,1-.83-1.08,3.45,3.45,0,0,1-.31-1.51,3.35,3.35,0,0,1,.36-1.64,3,3,0,0,1,1-1.05,5.18,5.18,0,0,1,1.51-.6,18.93,18.93,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.56,1.56,0,0,0-.52-1.23,2.38,2.38,0,0,0-1.59-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39h-2.64a3.8,3.8,0,0,1,.34-1.44,3.58,3.58,0,0,1,.95-1.22,4.79,4.79,0,0,1,1.55-.85,6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,4,4,0,0,1,1.36.52,3.62,3.62,0,0,1,1.67,3.35v6.18a4,4,0,0,0,.12,1.12.89.89,0,0,0,.32.53v.2Zm-3.32-1.63a3.31,3.31,0,0,0,1.27-.23,2.9,2.9,0,0,0,.93-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a4,4,0,0,1-1,.45,12.7,12.7,0,0,1-1.25.32,6.83,6.83,0,0,0-2,.63,1.42,1.42,0,0,0-.71,1.35,1.67,1.67,0,0,0,.17.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.87,3.87,0,0,0,140.12,220.07Zm7-5.41,1.61-1.21v-8.12h2.82v6l1.8-1.36v2.22l-1.8,1.37v8.16H148.7v-6l-1.61,1.21Zm9.44,11h-.44l-.64,0-.61,0a2.19,2.19,0,0,1-.35,0V223.3h.15a.68.68,0,0,0,.19,0l.33,0,.36,0h.29a1.9,1.9,0,0,0,1.12-.29,1.67,1.67,0,0,0,.59-1c0-.06,0-.16,0-.31s0-.32,0-.51,0-.39,0-.59a2.13,2.13,0,0,0-.12-.55l-4-10.21h3l1.94,5.46c.11.36.24.76.36,1.18s.23.83.32,1.19.2.85.31,1.28h0c.1-.44.21-.87.33-1.3s.21-.76.33-1.18l.35-1.17,1.87-5.46H165l-4.55,12.41a12.59,12.59,0,0,1-.75,1.62,3.84,3.84,0,0,1-.84,1,2.65,2.65,0,0,1-1,.54A5,5,0,0,1,156.53,225.7Zm20.55-3.65a6.15,6.15,0,0,1-2.47-.48,5.63,5.63,0,0,1-3.08-3.29,7.21,7.21,0,0,1-.41-2.43,7.3,7.3,0,0,1,.41-2.46,6,6,0,0,1,1.19-2,5.57,5.57,0,0,1,1.86-1.3,6.05,6.05,0,0,1,2.45-.48,6.52,6.52,0,0,1,2,.31,4.9,4.9,0,0,1,1.58.86,4.31,4.31,0,0,1,1.1,1.33,5.45,5.45,0,0,1,.59,1.73h-2.73a2.63,2.63,0,0,0-.85-1.53,2.47,2.47,0,0,0-1.7-.56,3.06,3.06,0,0,0-1.36.29,2.53,2.53,0,0,0-1,.85,4,4,0,0,0-.59,1.3,6.44,6.44,0,0,0-.2,1.63,6.18,6.18,0,0,0,.2,1.59,3.87,3.87,0,0,0,.59,1.28,2.59,2.59,0,0,0,1,.84,2.81,2.81,0,0,0,1.36.31,2.52,2.52,0,0,0,1.83-.64,2.69,2.69,0,0,0,.78-1.8h2.73a5.15,5.15,0,0,1-.46,1.88,4.24,4.24,0,0,1-1.09,1.45,5,5,0,0,1-1.64,1A6.18,6.18,0,0,1,177.08,222.05Zm6.64-2.46,4.69-5.75.51-.55.57-.57.61-.59v-.07l-.86.07a6.53,6.53,0,0,1-.78.05h-4.3V210h9.22v1.91l-4.66,5.72a8,8,0,0,1-.58.61l-.61.6c-.24.22-.46.44-.68.66v.07l.9,0,.82,0,.83,0h4.27v2.29h-9.95Zm19.47,2.11a1.54,1.54,0,0,1-.25-.56,5,5,0,0,1-.14-1h-.05a5.07,5.07,0,0,1-1.43,1.29,4.4,4.4,0,0,1-2.26.51,5.43,5.43,0,0,1-1.6-.22,3.3,3.3,0,0,1-1.26-.66,3,3,0,0,1-.84-1.08,3.45,3.45,0,0,1-.31-1.51,3.24,3.24,0,0,1,.37-1.64,2.87,2.87,0,0,1,1-1.05,5.18,5.18,0,0,1,1.51-.6,18.93,18.93,0,0,1,1.94-.34,8,8,0,0,0,2.18-.5,1.12,1.12,0,0,0,.72-1.11,1.56,1.56,0,0,0-.52-1.23,2.36,2.36,0,0,0-1.59-.46,2.69,2.69,0,0,0-1.77.5,1.88,1.88,0,0,0-.63,1.39h-2.64A3.8,3.8,0,0,1,196,212a3.58,3.58,0,0,1,.95-1.22,4.9,4.9,0,0,1,1.55-.85,6.77,6.77,0,0,1,2.18-.32,8.75,8.75,0,0,1,1.79.16,4,4,0,0,1,1.36.52,3.62,3.62,0,0,1,1.67,3.35v6.18a4,4,0,0,0,.12,1.12.94.94,0,0,0,.32.53v.2Zm-3.32-1.63a3.4,3.4,0,0,0,1.28-.23,3,3,0,0,0,.92-.59,2.61,2.61,0,0,0,.57-.84,2.56,2.56,0,0,0,.2-1v-1.74a3.94,3.94,0,0,1-1,.45c-.42.13-.83.23-1.26.32a6.83,6.83,0,0,0-2,.63,1.41,1.41,0,0,0-.7,1.35,1.67,1.67,0,0,0,.16.78,1.37,1.37,0,0,0,.44.51,1.81,1.81,0,0,0,.65.26A3.94,3.94,0,0,0,199.87,220.07Zm12.76,2a6.17,6.17,0,0,1-3.93-1.1,3.88,3.88,0,0,1-1.53-2.88h2.69a2.1,2.1,0,0,0,.92,1.53,3.48,3.48,0,0,0,1.87.47,2.7,2.7,0,0,0,1.72-.45,1.44,1.44,0,0,0,.55-1.15,1.16,1.16,0,0,0-.22-.72,1.68,1.68,0,0,0-.62-.46,4,4,0,0,0-1-.31l-1.24-.25a15,15,0,0,1-1.6-.38,4.74,4.74,0,0,1-1.37-.6,3.2,3.2,0,0,1-1-1,3.24,3.24,0,0,1-.36-1.62,3.2,3.2,0,0,1,.34-1.48,3.13,3.13,0,0,1,.95-1.1,4.21,4.21,0,0,1,1.46-.69,7.41,7.41,0,0,1,1.89-.23,5.62,5.62,0,0,1,3.56,1,3.78,3.78,0,0,1,1.42,2.5h-2.67c-.2-1-1-1.57-2.33-1.57a2.35,2.35,0,0,0-1.48.4,1.24,1.24,0,0,0-.5,1,.89.89,0,0,0,.22.64,1.72,1.72,0,0,0,.62.41,4.82,4.82,0,0,0,.94.27l1.21.24c.56.11,1.1.23,1.63.37a4.92,4.92,0,0,1,1.42.61,3,3,0,0,1,1,1.08,3.57,3.57,0,0,1,.38,1.75,3.41,3.41,0,0,1-.38,1.63,3.46,3.46,0,0,1-1,1.18,5,5,0,0,1-1.6.71A7.89,7.89,0,0,1,212.63,222.07Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20id%3D%22ae5dd1ce-a641-412a-9e57-45f658cab4d5%22%20data-name%3D%22365t%22%20d%3D%22M159.2,143l6.55-39H210v15H177.34L174,137h.25a18.58,18.58,0,0,1,6-4.79,19.89,19.89,0,0,1,8.88-1.74,23.72,23.72,0,0,1,17.31,7.37,24.1,24.1,0,0,1,3.72,5.16Zm-17.8,0a26.11,26.11,0,0,0-3.7-5.1,24.89,24.89,0,0,0-8-5.68,23.44,23.44,0,0,0-9.65-2,18.88,18.88,0,0,0-10.15,2.59,23,23,0,0,0-7.16,7.23h-.2q1.2-23.39,15.32-23.39c3,0,5.22.77,6.72,2.31a12.16,12.16,0,0,1,3,5.08h15.52a26.39,26.39,0,0,0-2.84-8,23.63,23.63,0,0,0-5.22-6.46,23.24,23.24,0,0,0-7.61-4.3,29.9,29.9,0,0,0-9.9-1.54,29.49,29.49,0,0,0-12.93,2.59,25.16,25.16,0,0,0-9.15,7.56,35.49,35.49,0,0,0-6.42,13.68A69,69,0,0,0,87.22,143ZM36.18,124.24a13.06,13.06,0,0,1,2.3-4.06,11,11,0,0,1,3.78-2.88,12,12,0,0,1,5.35-1.12A9.7,9.7,0,0,1,58,126.53q0,5.17-3.21,7.82T46,137H42v6H65.72A27.22,27.22,0,0,0,63,141.88,21.21,21.21,0,0,0,71,136.06q3.31-4,3.32-10.59a24.52,24.52,0,0,0-1.94-9.94A20.28,20.28,0,0,0,67,108.12a24.57,24.57,0,0,0-8.37-4.59,34,34,0,0,0-10.66-1.59A31.11,31.11,0,0,0,36,104.06a26.3,26.3,0,0,0-8.78,5.77,24.46,24.46,0,0,0-5.51,8.58,31.07,31.07,0,0,0-2,10.59H35.27A15.94,15.94,0,0,1,36.18,124.24Z%22%20fill%3D%22url(%23b804de10-04a7-49d6-8293-b61a3162ae7b)%22/%3E%3Cpath%20id%3D%22f69ea227-0803-4aab-a586-efb026778fc8%22%20data-name%3D%22365b%22%20d%3D%22M173.23,149h-15l.67-4h19.31l-.33.15A12.93,12.93,0,0,0,173.23,149Zm38-4H190.7a12.72,12.72,0,0,1,3.11,2.33q3.69,3.75,3.69,10.41,0,6.45-3.63,10.41a12.21,12.21,0,0,1-9.44,4,13.2,13.2,0,0,1-8.66-2.76,11.86,11.86,0,0,1-4.2-7.36H155.5a25.89,25.89,0,0,0,2.79,10.3,24.9,24.9,0,0,0,6.29,7.77,27.5,27.5,0,0,0,9.14,4.9A36.54,36.54,0,0,0,185,186.66a32.51,32.51,0,0,0,11.63-2,26,26,0,0,0,9.13-5.81,26.43,26.43,0,0,0,5.94-9.06,33.92,33.92,0,0,0,.15-23.25C211.69,146,211.46,145.5,211.23,145Zm-68.79,0h-19.9a12.74,12.74,0,0,1,6.47,7.45,17.67,17.67,0,0,1,1,5.87,16,16,0,0,1-1,5.76,15,15,0,0,1-2.72,4.58,11.78,11.78,0,0,1-4.08,3,12.28,12.28,0,0,1-5.09,1.06,13.51,13.51,0,0,1-5.4-1.06,12.53,12.53,0,0,1-4.28-3,14,14,0,0,1-2.82-4.58,16.32,16.32,0,0,1-1-5.87,14.87,14.87,0,0,1,3.73-10.45A12.23,12.23,0,0,1,111,145H87.21v.08A68.26,68.26,0,0,0,89.15,162a35.11,35.11,0,0,0,6.12,13,26.93,26.93,0,0,0,9.35,8,28.12,28.12,0,0,0,13,2.86,29,29,0,0,0,11-2,26,26,0,0,0,8.7-5.73,26.62,26.62,0,0,0,5.77-8.83,31.87,31.87,0,0,0,0-22.57C142.94,146.06,142.69,145.53,142.44,145Zm-73.35,0H42v4h4.39q6.42,0,9.9,2.78t3.47,8.33c0,3.71-1.08,6.59-3.22,8.67s-5.15,3.11-9,3.11a16,16,0,0,1-6.28-1.11,11.87,11.87,0,0,1-4.28-3,12.89,12.89,0,0,1-2.55-4.39A20.54,20.54,0,0,1,33.33,158H17.61a33.4,33.4,0,0,0,2.25,11.78A23.16,23.16,0,0,0,26.39,179a28.25,28.25,0,0,0,9.28,5.11,39.14,39.14,0,0,0,12.45,1.78A38.73,38.73,0,0,0,59,184.39a27.49,27.49,0,0,0,9.08-4.5,21.48,21.48,0,0,0,6.23-7.61,24.3,24.3,0,0,0,2.29-10.95q0-8-3.82-12.83A18.83,18.83,0,0,0,69.09,145Z%22%20fill%3D%22url(%23fb46bc1a-c6d2-4bad-9800-737f4de55d26)%22/%3E%3Cpath%20d%3D%22M231,248H0V0H231Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
.deco-365:before {
  display: block;
  content: "";
  padding-top: 107.36%;
}

.teaser-365 {
  border: 1px solid #d6d8da;
  text-align: center;
  padding: 38px 25px 47px 25px;
  margin-bottom: 54px;
}
.teaser-365__title {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.6px;
  line-height: 1.35;
  color: #414042;
  margin-bottom: 30px;
}
.teaser-365__deco {
  width: 159px;
  margin-bottom: 38px;
}

.teaser-short {
  border-top: 1px solid #d6d8da;
  position: relative;
  overflow: hidden;
  padding: 15px 15px 28px 15px;
}
@media (min-width: 992px) {
  .teaser-short {
    padding: 15px 15px 34px 15px;
  }
}
.teaser-short:last-of-type {
  border-bottom: 1px solid #d6d8da;
}
.teaser-short__headline {
  font-size: 16.5px;
  line-height: 1.3;
  font-weight: 300;
  margin: 0;
}
@media (min-width: 992px) {
  .teaser-short__headline {
    font-size: 21px;
  }
}
.teaser-short__info {
  order: 0;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  .teaser-short__info {
    margin-bottom: 26px;
  }
}
.teaser-short__label {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  background-color: #00AEEF;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
  padding: 0 6px;
  margin: 0;
}
@media (min-width: 992px) {
  .teaser-short__label {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.teaser-short__time {
  display: inline-block;
  vertical-align: top;
  color: #201d1d;
  padding: 0;
  font-weight: 500;
  font-size: 10.5px;
  line-height: 17px;
  height: 17px;
}
@media (min-width: 992px) {
  .teaser-short__time {
    font-size: 12px;
    line-height: 27px;
    height: 27px;
  }
}
.teaser-short__overlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.2s;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.teaser-short__overlink::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.teaser-short__overlink.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser-short__overlink.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.teaser-short__overlink.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.teaser-short__overlink.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.teaser-short__overlink.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.teaser-short__overlink.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.teaser-short__overlink::before, .teaser-short__overlink::after {
  background-color: #201d1d;
}
.teaser-short__overlink:hover::before {
  opacity: 0;
}
.teaser-short__overlink.mdc-ripple-upgraded--background-focused::before, .teaser-short__overlink:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.teaser-short__overlink:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.teaser-short__overlink:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.teaser-short__overlink.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.tab-navigation .teaser-short__overlink:focus {
  outline: none;
}
.tab-navigation .teaser-short__overlink:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .teaser-short__overlink:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.teaser-short__overlink:hover {
  background-color: rgba(0, 0, 0, 0.02);
}

.read-too {
  margin-bottom: 40px;
}
.read-too__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  letter-spacing: 0.6px;
}
@media (min-width: 768px) {
  .read-too__title {
    font-size: 21px;
    margin-bottom: 15px;
  }
}
@media (min-width: 992px) {
  .read-too__title {
    font-weight: 500;
    text-transform: none;
    margin-bottom: 10px;
    color: inherit;
  }
}

@font-face {
  font-family: "file-types";
  src: url(/assets/unicef/build/fonts/file-types.197fb674.woff) format("woff");
  font-weight: 400;
  font-style: normal;
}
[class^=icon-file], [class*=" icon-file"] {
  font-family: "file-types", sans-serif;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-file-spreadsheet:before {
  content: "\e600";
}

.icon-file-empty:before {
  content: "\e924";
}

.icon-file-text:before {
  content: "\e926";
}

.icon-file-picture:before {
  content: "\e927";
}

.icon-file-music:before {
  content: "\e928";
}

.icon-file-video:before {
  content: "\e92a";
}

.icon-file-archive:before {
  content: "\e92b";
}

.icon-file-pdf:before {
  content: "\eada";
}

.ico-link {
  vertical-align: middle;
}
.ico-link:before {
  content: "\e924";
  font-family: "file-types", sans-serif;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 10px;
  margin-right: 7px;
  margin-left: 7px;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  user-select: none;
}

[href*=".pdf"] .ico-link:before,
[href*=".PDF"] .ico-link:before {
  content: "\eada";
}

[href*=".doc"] .ico-link:before, [href*=".DOC"] .ico-link:before, [href*=".txt"] .ico-link:before, [href*=".TXT"] .ico-link:before, [href*=".rtf"] .ico-link:before, [href*=".RTF"] .ico-link:before, [href*=".docx"] .ico-link:before, [href*=".DOCX"] .ico-link:before, [href*=".odt"] .ico-link:before, [href*=".ODT"] .ico-link:before {
  content: "\e926";
}

[href*=".mp3"] .ico-link:before, [href*=".wav"] .ico-link:before, [href*=".aac"] .ico-link:before,
[href*=".MP3"] .ico-link:before, [href*=".WAV"] .ico-link:before, [href*=".AAC"] .ico-link:before {
  content: "\e928";
}

[href*=".avi"] .ico-link:before, [href*=".mp4"] .ico-link:before, [href*=".mpg"] .ico-link:before, [href*=".mov"] .ico-link:before, [href*=".mpeg"] .ico-link:before, [href*=".ppt"] .ico-link:before, [href*=".pptx"] .ico-link:before, [href*=".ogg"] .ico-link:before,
[href*=".AVI"] .ico-link:before, [href*=".MP4"] .ico-link:before, [href*=".MPG"] .ico-link:before, [href*=".MOV"] .ico-link:before, [href*=".MPEG"] .ico-link:before, [href*=".PPT"] .ico-link:before, [href*=".PPTX"] .ico-link:before, [href*=".OGG"] .ico-link:before {
  content: "\e92a";
}

[href*=".zip"] .ico-link:before, [href*=".rar"] .ico-link:before, [href*=".7z"] .ico-link:before, [href*=".tar"] .ico-link:before, [href*=".gz"] .ico-link:before,
[href*=".ZIP"] .ico-link:before, [href*=".RAR"] .ico-link:before, [href*=".7Z"] .ico-link:before, [href*=".TAR"] .ico-link:before, [href*=".GZ"] .ico-link:before {
  content: "\e92b";
}

[href*=".csv"] .ico-link:before, [href*=".xls"] .ico-link:before, [href*=".xlsx"] .ico-link:before, [href*=".sxc"] .ico-link:before,
[href*=".CSV"] .ico-link:before, [href*=".XLS"] .ico-link:before, [href*=".XLSX"] .ico-link:before, [href*=".SXC"] .ico-link:before, [href*=".ods"] .ico-link:before, [href*=".ODS"] .ico-link:before {
  content: "\e600";
}

.content_type_pdf:before {
  content: "\eada";
}

.content_type_vnd_ms-excel:before {
  content: "\e600";
}

.content_type_zip:before,
.content_type_rar:before,
.content_type_x-gzip:before {
  content: "\e92b";
}

.content_type_video:before {
  content: "\e92a";
}

.content_type_image:before {
  content: "\e927";
}

.content_type_vnd_oasis_opendocument_spreadsheet:before {
  content: "\e600";
}

.content_type_pdf2:before {
  content: "\eada";
}

.content_type_vnd_ms-powerpoint:before {
  content: "\e92a";
}

.content_type_plain:before {
  content: "\e924";
}

.content_type_audio:before {
  content: "\e928";
}

.content_type_msword:before,
.content_type_rtf:before {
  content: "\e926";
}

.pagination {
  text-align: center;
  margin-top: 30px;
  user-select: none;
  margin-left: -23px;
  margin-right: -23px;
}
@media (min-width: 992px) {
  .pagination {
    margin-left: 0;
    margin-right: 0;
  }
}
.pagination__list {
  list-style: none;
  font-size: 0;
  margin: 0;
  padding: 0;
}
.pagination__item {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
}
@media (min-width: 992px) {
  .pagination__item {
    font-size: 19px;
  }
}
.pagination__action {
  color: #201d1d;
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  border-radius: 48px;
  overflow: hidden;
  position: relative;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s;
}
.pagination__action::before, .pagination__action::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.pagination__action::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.pagination__action.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__action.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.pagination__action.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.pagination__action.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.pagination__action.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__action::before, .pagination__action::after {
  top: calc(50% - 100%);
  /* @noflip */
  left: calc(50% - 100%);
  width: 200%;
  height: 200%;
}
.pagination__action.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.pagination__action::before, .pagination__action::after {
  background-color: #201d1d;
}
.pagination__action:hover::before {
  opacity: 0;
}
.pagination__action.mdc-ripple-upgraded--background-focused::before, .pagination__action:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.pagination__action:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.pagination__action:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.pagination__action.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.pagination__action:hover, .pagination__action:focus {
  color: #201d1d;
}
.pagination__action:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__action.active {
  color: #00AEEF;
  font-size: 15px;
}
@media (min-width: 992px) {
  .pagination__action.active {
    font-size: 24px;
  }
}
.tab-navigation .pagination__action:focus {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__dots {
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  user-select: none;
}
.pagination__prev, .pagination__next {
  display: block;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  border-radius: 48px;
  overflow: hidden;
  position: relative;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: background-color 0.2s;
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.pagination__prev::before, .pagination__next::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.pagination__prev.mdc-ripple-upgraded::before, .pagination__next.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.pagination__prev.mdc-ripple-upgraded--unbounded::after, .pagination__next.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.pagination__prev.mdc-ripple-upgraded--foreground-activation::after, .pagination__next.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.pagination__prev.mdc-ripple-upgraded--foreground-deactivation::after, .pagination__next.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}
.pagination__prev.mdc-ripple-upgraded::before, .pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::before, .pagination__next.mdc-ripple-upgraded::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.pagination__prev.mdc-ripple-upgraded::after, .pagination__next.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.pagination__prev::before, .pagination__prev::after, .pagination__next::before, .pagination__next::after {
  background-color: #201d1d;
}
.pagination__prev:hover::before, .pagination__next:hover::before {
  opacity: 0;
}
.pagination__prev.mdc-ripple-upgraded--background-focused::before, .pagination__prev:not(.mdc-ripple-upgraded):focus::before, .pagination__next.mdc-ripple-upgraded--background-focused::before, .pagination__next:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.pagination__prev:not(.mdc-ripple-upgraded)::after, .pagination__next:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.pagination__prev:not(.mdc-ripple-upgraded):active::after, .pagination__next:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.04;
}
.pagination__prev.mdc-ripple-upgraded, .pagination__next.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.04;
}
.pagination__prev:hover, .pagination__next:hover {
  background-color: rgba(32, 29, 29, 0.03);
}
.tab-navigation .pagination__prev:focus, .tab-navigation .pagination__next:focus {
  background-color: rgba(32, 29, 29, 0.03);
}
.pagination__prev {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M27,2.13a1.13,1.13,0,0,1-.33.8L11.72,18l15,15.07a1.13,1.13,0,0,1,0,1.6,1.12,1.12,0,0,1-1.59,0L9.33,18.8a1.13,1.13,0,0,1,0-1.6L25.08,1.33a1.13,1.13,0,0,1,1.92.8Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .pagination__prev {
    background-size: 26px 26px;
    margin-right: 10px;
  }
}
.pagination__next {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M9,33.87a1.13,1.13,0,0,1,.33-.8L24.28,18,9.33,2.93a1.13,1.13,0,0,1,0-1.6,1.12,1.12,0,0,1,1.59,0L26.67,17.2a1.13,1.13,0,0,1,0,1.6L10.92,34.67A1.13,1.13,0,0,1,9,33.87Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .pagination__next {
    background-size: 26px 26px;
    margin-left: 10px;
  }
}

.search-select__well {
  margin-bottom: 12px;
}
.search-select__well .mdc-select {
  width: calc(100% - 55px);
}
@media (min-width: 768px) {
  .search-select__well .mdc-select {
    width: 285px;
    margin-left: 19px;
  }
}
.search-select__well .mdc-text-field {
  width: calc(100% - 55px);
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .search-select__well .mdc-text-field {
    width: 100%;
    margin-bottom: 0;
  }
}
.search-select__well .mdc-select__menu {
  width: 100%;
}
.search-select__title {
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  color: #00AEEF;
  margin-bottom: 35px;
  text-align: center;
  margin-top: 35px;
  padding-right: 0;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .search-select__title {
    letter-spacing: 0.5px;
    text-align: left;
    font-size: 48px;
    margin-top: 20px;
    margin-bottom: 25px;
  }
}
@media (min-width: 1200px) {
  .search-select__title {
    margin-bottom: 28px;
  }
}
@media (min-width: 1656px) {
  .search-select__title {
    letter-spacing: 1px;
    margin-top: 45px;
    margin-bottom: 54px;
  }
}
.search-select__form-title {
  font-size: 19px;
  font-weight: 400;
  margin-bottom: 20px;
}
.search-select__input-group {
  display: flex;
}
.search-select__inputs {
  display: flex;
  flex-direction: column;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .search-select__inputs {
    flex-direction: row;
    padding-bottom: 0;
  }
}
.search-select__button {
  display: flex;
  padding: 0;
  color: #fff;
  background-color: transparent;
  border: none;
  border-radius: 55px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M27.1,25l-6.33-6.33a11,11,0,1,0-2.13,2.13L25,27.1A1.51,1.51,0,0,0,27.1,25ZM4,12a8,8,0,1,1,8,8A8,8,0,0,1,4,12Z%22/%3E%3Cpath%20d%3D%22M29,29H0V0H29Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 29px 29px;
  width: 48px;
  min-width: 0;
  height: 48px;
  position: relative;
  overflow: hidden;
  margin-left: 5px;
  transition: background-color 0.2s;
  --mdc-ripple-fg-size: 0;
  --mdc-ripple-left: 0;
  --mdc-ripple-top: 0;
  --mdc-ripple-fg-scale: 1;
  --mdc-ripple-fg-translate-end: 0;
  --mdc-ripple-fg-translate-start: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.search-select__button::before, .search-select__button::after {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  content: "";
}
.search-select__button::before {
  transition: opacity 15ms linear, background-color 15ms linear;
  z-index: 1;
}
.search-select__button.mdc-ripple-upgraded::before {
  transform: scale(var(--mdc-ripple-fg-scale, 1));
}
.search-select__button.mdc-ripple-upgraded::after {
  top: 0;
  /* @noflip */
  left: 0;
  transform: scale(0);
  transform-origin: center center;
}
.search-select__button.mdc-ripple-upgraded--unbounded::after {
  top: var(--mdc-ripple-top, 0);
  /* @noflip */
  left: var(--mdc-ripple-left, 0);
}
.search-select__button.mdc-ripple-upgraded--foreground-activation::after {
  animation: mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards;
}
.search-select__button.mdc-ripple-upgraded--foreground-deactivation::after {
  animation: mdc-ripple-fg-opacity-out 150ms;
  transform: translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1));
}
.search-select__button::before, .search-select__button::after {
  top: calc(50% - 50%);
  /* @noflip */
  left: calc(50% - 50%);
  width: 100%;
  height: 100%;
}
.search-select__button.mdc-ripple-upgraded::before, .search-select__button.mdc-ripple-upgraded::after {
  top: var(--mdc-ripple-top, calc(50% - 50%));
  /* @noflip */
  left: var(--mdc-ripple-left, calc(50% - 50%));
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.search-select__button.mdc-ripple-upgraded::after {
  width: var(--mdc-ripple-fg-size, 100%);
  height: var(--mdc-ripple-fg-size, 100%);
}
.search-select__button::before, .search-select__button::after {
  background-color: #201d1d;
}
.search-select__button:hover::before {
  opacity: 0;
}
.search-select__button.mdc-ripple-upgraded--background-focused::before, .search-select__button:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0;
}
.search-select__button:not(.mdc-ripple-upgraded)::after {
  transition: opacity 150ms linear;
}
.search-select__button:not(.mdc-ripple-upgraded):active::after {
  transition-duration: 75ms;
  opacity: 0.12;
}
.search-select__button.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.12;
}
@media (min-width: 1656px) {
  .search-select__button {
    width: 64px;
    height: 64px;
    margin-left: 12px;
  }
}
.search-select__button:not(:disabled) {
  background-color: transparent;
  color: #fff;
}
.tab-navigation .search-select__button:focus.mdc-ripple-upgraded--background-focused::before, .tab-navigation .search-select__button:focus:not(.mdc-ripple-upgraded):focus::before {
  transition-duration: 75ms;
  opacity: 0.2;
}
.search-select__button:hover {
  background-color: rgba(32, 29, 29, 0.03);
}

.site-form .mdc-text-field--outlined:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled) input:-webkit-autofill {
  -webkit-text-fill-color: #00AEEF !important;
  -webkit-box-shadow: 0 0 0 60px #f5fcfe inset !important;
}
.site-form__checkbox--readonly {
  pointer-events: none;
  user-select: none;
  opacity: 0.3;
}
.site-form__checkbox--readonly ~ label {
  pointer-events: none;
  user-select: none;
}
.site-form__checkbox--readonly ~ label a {
  pointer-events: auto;
}
.site-form .mdc-floating-label {
  user-select: none;
  margin-bottom: 0;
  font-weight: 300;
  letter-spacing: -0.2px;
  line-height: 1.15;
  display: block;
}
@media (min-width: 768px) {
  .site-form .mdc-floating-label {
    letter-spacing: 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-floating-label {
    font-size: 19px;
  }
}
.site-form .mdc-floating-label.mdc-floating-label--float-above {
  text-overflow: clip;
  display: inline-block;
  vertical-align: top;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__leading,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__notch,
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-notched-outline__trailing {
  border-width: 1px;
}
.site-form input[readonly] + .mdc-notched-outline--notched .mdc-floating-label {
  user-select: none;
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  min-width: 0;
  max-width: none;
}
.site-form .mdc-checkbox {
  margin-left: -11px;
  margin-bottom: -8px;
  overflow: hidden;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true]) ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: rgba(0, 0, 0, 0);
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled ~ .mdc-checkbox__background {
  border-color: #00a5e3;
  background-color: #00a5e3;
}
@keyframes mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
  50% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
}
@keyframes mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3 {
  0%, 80% {
    border-color: #00a5e3;
    background-color: #00a5e3;
  }
  100% {
    border-color: #00a5e3;
    background-color: rgba(0, 0, 0, 0);
  }
}
.site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-in-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background, .site-form .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background {
  animation-name: mdc-checkbox-fade-out-background-FF00A5E3FF00A5E300000000FF00A5E3;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__mixedmark {
  border-color: #fff;
}
.site-form .mdc-checkbox .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before,
.site-form .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true] ~ .mdc-checkbox__background::before {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:hover .mdc-checkbox__ripple::before {
  opacity: 0.08;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded--background-focused .mdc-checkbox__ripple::before, .site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):focus .mdc-checkbox__ripple::before {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded) .mdc-checkbox__ripple::after {
  transition: opacity 150ms linear;
}
.site-form .mdc-checkbox.mdc-checkbox--selected:not(.mdc-ripple-upgraded):active .mdc-checkbox__ripple::after {
  transition-duration: 75ms;
  opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-checkbox--selected.mdc-ripple-upgraded {
  --mdc-ripple-fg-opacity: 0.24;
}
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::before,
.site-form .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--selected .mdc-checkbox__ripple::after {
  background-color: #00a5e3;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:before {
  opacity: 0.08;
  background-color: #00AEEF;
}
.site-form .mdc-checkbox:hover .mdc-checkbox__ripple:after {
  background-color: #00AEEF;
}
.site-form .mdc-radio {
  margin-left: -11px;
  overflow: hidden;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:not(:checked) + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled:checked + .mdc-radio__background .mdc-radio__outer-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__native-control:enabled + .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #00a5e3;
}
.site-form .mdc-radio .mdc-radio__background::before {
  background-color: #00AEEF;
}
.site-form .mdc-radio + label {
  font-size: 12.5px;
  cursor: pointer;
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .site-form .mdc-radio + label {
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-radio + label {
    font-size: 19px;
  }
}
.site-form .mdc-radio .mdc-radio__ripple {
  border-radius: 100px;
  overflow: hidden;
  transform: translateZ(0);
}
.site-form .mdc-radio .mdc-radio__ripple:before {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio .mdc-radio__ripple:after {
  background-color: #00AEEF;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.site-form .mdc-radio:hover .mdc-radio__ripple:before {
  background-color: #00AEEF;
  opacity: 0.08;
}
.site-form .mdc-radio-field {
  position: relative;
  padding-bottom: 15px;
}
.site-form .mdc-form-field .mdc-radio + label {
  margin-top: 11.5px;
}
@media (min-width: 768px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 8px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field .mdc-radio + label {
    margin-top: 6px;
    padding-left: 5px;
  }
}
.site-form .mdc-text-field .mdc-text-field__input {
  caret-color: #201d1d !important;
}
.site-form .mdc-text-field:not(.mdc-text-field--disabled) .mdc-floating-label.mdc-floating-label--float-above {
  color: #00a5e3;
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:after {
  color: rgba(0, 0, 0, 0.6);
}
.site-form .mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label.mdc-floating-label--float-above:after {
  color: #00a5e3;
}
.was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
  margin-bottom: 6px;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-text-field--invalid, .site-form.was-validated .mdc-text-field--invalid {
    margin-bottom: 0;
  }
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ .mdc-checkbox__background {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label, .site-form.was-validated .mdc-checkbox .mdc-checkbox__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__outer-circle, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ .mdc-radio__background .mdc-radio__inner-circle {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-radio .mdc-radio__native-control:invalid ~ label, .site-form.was-validated .mdc-radio .mdc-radio__native-control:invalid ~ label {
  color: #ff0000;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after, .site-form.was-validated .mdc-text-field__input:invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a, .site-form.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label:after, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label:after {
  color: #ff0000;
}
.was-validated .site-form .site-form__radio--required.site-form__radio--unchecked ~ label a, .site-form.was-validated .site-form__radio--required.site-form__radio--unchecked ~ label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .was-validated .site-form .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:hover .mdc-select__anchor, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__leading,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__notch,
.site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .mdc-floating-label, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.was-validated .site-form .mdc-select--outlined.mdc-select--invalid .site-form__validation-text, .site-form.was-validated .mdc-select--outlined.mdc-select--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-radio-field .site-form__validation-text, .site-form.was-validated .mdc-radio-field .site-form__validation-text {
  left: 35px;
  bottom: 10px;
}
.was-validated .site-form .mdc-radio-field--invalid .site-form__validation-text, .site-form.was-validated .mdc-radio-field--invalid .site-form__validation-text {
  display: table;
}
.was-validated .site-form .mdc-form-field--invalid label, .site-form.was-validated .mdc-form-field--invalid label {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label:after, .site-form.was-validated .mdc-form-field--invalid label:after {
  color: #ff0000;
}
.was-validated .site-form .mdc-form-field--invalid label a, .site-form.was-validated .mdc-form-field--invalid label a {
  color: #ff0000;
  text-decoration: underline;
}
.was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form .mdc-form-field--invalid ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.was-validated .site-form .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text, .site-form.was-validated .mdc-form-field--invalid ~ .newsletter-agreements__info ~ .site-form__validation-text {
  margin-top: -10px;
  margin-bottom: 18px;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .server-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid:hover .mdc-select__anchor, .site-form.server-side-validated .mdc-select--outlined.server-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__leading,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__notch,
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.server-side-validated .mdc-select--outlined.server-side--invalid .site-form__validation-text {
  display: table;
}
.site-form.server-side-validated .fileinput-container.fileinput-container--invalid .fileinput:not(.fileinput-exists) ~ .site-form__server-validation-text {
  display: block;
  bottom: -5px;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__leading:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__notch:after,
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-notched-outline__trailing:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .js-side--invalid ~ .mdc-notched-outline .mdc-floating-label:after {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-select__anchor {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23ff0000%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid:hover .mdc-select__anchor, .site-form.js-side-validated .mdc-select--outlined.js-side--invalid:focus .mdc-select__anchor {
  background-color: rgba(255, 0, 0, 0);
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__leading,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__notch,
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-notched-outline__trailing {
  border-color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .mdc-floating-label {
  color: #ff0000 !important;
}
.site-form.js-side-validated .mdc-select--outlined.js-side--invalid .site-form__validation-text {
  display: table;
}
.site-form .mdc-form-field {
  display: flex;
  align-items: flex-start;
}
.site-form .mdc-form-field--checkbox {
  font-weight: 300;
  color: #414042;
  font-size: 15px;
  margin-bottom: 10px;
  position: relative;
  flex-wrap: wrap;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field--checkbox {
    font-size: 19px;
    margin-bottom: 14px;
  }
}
.site-form .mdc-form-field--checkbox label {
  cursor: pointer;
  max-width: calc(100% - 40px);
  margin-top: 6px !important;
  line-height: 1.52;
}
@media (min-width: 1400px) {
  .site-form .mdc-form-field--checkbox label {
    line-height: 1.578;
  }
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field p:last-of-type {
  display: inline;
}
.site-form .mdc-form-field--checkbox label .ezrichtext-field:after {
  content: none;
  display: none;
}
.site-form .mdc-form-field label {
  margin: 9px 0 0 0;
  padding-left: 2px;
}
@media (min-width: 375px) {
  .site-form .mdc-form-field label {
    padding-left: 5px;
    margin: 8px 0 0 0;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-form-field label {
    margin: 6px 0 0 0;
    padding-left: 14px;
  }
}
.site-form .mdc-form-field label a:hover, .site-form .mdc-form-field label a:focus {
  text-decoration: underline;
  color: #2653B9;
}
.site-form .mdc-text-field {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field {
    line-height: 1.55;
    height: 64px;
    font-size: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field__input {
    font-size: 19px;
  }
}
.site-form .text-field-row {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.site-form .text-field-helper {
  font-size: 0.9rem;
  margin-bottom: 1rem;
}
.site-form .text-field-description {
  display: block;
  margin-top: 10px;
  font-size: 12px;
}
.site-form .text-field-container {
  margin-bottom: 13px;
  width: 100%;
  position: relative;
}
@media (min-width: 1656px) {
  .site-form .text-field-container {
    margin-bottom: 28px;
  }
}
.site-form .text-field-container .mdc-text-field {
  width: 100%;
}
.site-form .text-field-container .text-field-container {
  margin-bottom: 0;
}
.site-form .text-field-container--full {
  width: 100%;
}
.site-form .text-field-container--half {
  width: calc(50% - 6px);
  margin-right: 12px;
}
@media (min-width: 768px) {
  .site-form .text-field-container--half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
.site-form .text-field-container--half + .text-field-container--half {
  margin-right: 0;
}
.site-form .text-field-container--half-slash {
  width: calc(50% - 16px);
  margin-right: 0;
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half {
    width: calc(50% - 10px);
    margin-right: 20px;
  }
}
@media (min-width: 768px) {
  .site-form .text-field-container--desktop-half + .text-field-container--desktop-half {
    margin-right: 0;
  }
}
@media (max-width: 767.9px) {
  .site-form .text-field-container--mobile-full {
    width: 100%;
    margin-right: 0;
  }
}
.site-form .text-field-container--row-slash {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: nowrap;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%237a7a7a%22%20viewBox%3D%220%200%2019%2033%22%3E%3Cpath%20d%3D%22M17.55,1.54,3.89,31.78a.38.38,0,0,1-.34.22H1.38A.38.38,0,0,1,1,31.46L14.69,1.22A.39.39,0,0,1,15,1H17.2A.38.38,0,0,1,17.55,1.54Z%22/%3E%3Cpath%20d%3D%22M19,33H0V0H19Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-position: top 16px center;
  background-repeat: no-repeat;
  background-size: 9px 18px;
}
@media (min-width: 1656px) {
  .site-form .text-field-container--row-slash {
    background-position: top 21px center;
    background-size: 10px 20px;
  }
}
.site-form .mdc-button {
  min-height: 48px;
  font-size: 16px;
}
@media (min-width: 1656px) {
  .site-form .mdc-button {
    min-height: 64px;
    font-size: 24px;
  }
}
.site-form .mdc-text-field--outlined .mdc-floating-label,
.site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 14px;
  transform: none;
}
.firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
.firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-floating-label,
  .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 19px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-floating-label,
  .firefox .site-form .mdc-text-field--textarea .mdc-floating-label {
    top: 18px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 21px;
}
.firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 24px;
  }
  .firefox .site-form .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
  }
}
.site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-150%) scale(0.75);
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    font-size: 19px;
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 20px;
}
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 19px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 23px;
  }
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .firefox .site-form .mdc-text-field--outlined.mdc-text-field--focused.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 23px;
}
.firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  top: 22px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 25px;
  }
  .firefox .site-form .mdc-text-field--textarea.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 21px;
  }
}
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,
.site-form .mdc-text-field--textarea .mdc-notched-outline .mdc-notched-outline__trailing {
  border-radius: 0;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled):not(.mdc-text-field--invalid) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__leading,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__notch,
.site-form .mdc-text-field--textarea:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-text-field:not(.mdc-text-field--focused).mdc-text-field--invalid .mdc-text-field__input:hover ~ .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form__validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__validation-text {
    font-size: 13px;
  }
}
input:valid ~ .site-form__validation-text {
  display: none !important;
}
.was-validated input:invalid ~ .site-form__validation-text {
  display: block !important;
}
.was-validated .mdc-text-field--invalid .site-form__validation-text {
  display: block;
}
.was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  display: block;
  position: static;
  padding-left: 0;
  padding-right: 0;
  background-color: transparent;
  margin: 6px 0 0 0;
  width: 100%;
  max-width: none;
  transform: none;
}
@media (min-width: 1656px) {
  .was-validated .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}
.site-form__server-error {
  color: #ff0000;
  font-weight: 300;
  margin-bottom: 20px;
}
.site-form__server-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__server-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__server-validation-text {
    font-size: 13px;
  }
}
.server-side-validated .server-side--invalid ~ .site-form__server-validation-text {
  display: block;
}
.site-form__js-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: 0;
  transform: translateY(50%);
  left: 13px;
  color: #ff0000;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  background-color: #fff;
  font-weight: 300;
  user-select: none;
}
@media (min-width: 375px) {
  .site-form__js-validation-text {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__js-validation-text {
    font-size: 13px;
  }
}
.js-side-validated .js-side--invalid ~ .site-form__js-validation-text {
  display: block;
}
.site-form .mdc-menu {
  z-index: 2000;
}
@media (min-width: 992px) {
  .site-form .mdc-menu {
    z-index: 10;
  }
}
.site-form .mdc-list-item {
  height: auto;
  min-height: 48px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: block;
  text-overflow: ellipsis;
  width: 100%;
}
.site-form .mdc-select--outlined {
  border-radius: 0;
  letter-spacing: 0;
  line-height: 1.15;
  height: 48px;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing {
  /* @noflip */
  border-radius: 0 0 0 0;
}
[dir=rtl] .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing, .site-form .mdc-select--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl] {
  /* @noflip */
  border-radius: 0 0 0 0;
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  border-radius: 0;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-width: 2px;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__leading,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__notch,
.site-form .mdc-select--outlined:not(.mdc-select--disabled):not(.mdc-select--focused) .mdc-select__anchor:hover .mdc-notched-outline .mdc-notched-outline__trailing {
  border-color: #00a5e3;
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled).mdc-select--focused .mdc-floating-label {
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 64px;
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined .mdc-menu {
  width: 100%;
}
.site-form .mdc-select--outlined .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2016%2032%22%3E%3Cpath%20d%3D%22M14,11.1H3L8.5,2ZM3,21H14L8.5,30.1Z%22/%3E%3Cpath%20d%3D%22M16,32H0V0H16Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-color: #fff;
  transition: background-color 0.2s;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor {
    height: 64px;
  }
}
.site-form .mdc-select--outlined .mdc-select__selected-text {
  line-height: 47px;
  padding-top: 0;
  padding-bottom: 0;
  height: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
  display: block;
  padding-right: 28px;
  min-width: 0;
  user-select: none;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__selected-text {
    line-height: 62px;
    font-size: 19px;
    padding-right: 52px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label {
  top: 22px;
  cursor: pointer;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label {
    top: 30px;
  }
}
.site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 24px;
  }
}
.firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
  top: 12px;
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-select--outlined .mdc-floating-label.mdc-floating-label--float-above {
    top: 22px;
  }
}
.site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-106%) scale(0.75);
  color: #00a5e3;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--outlined .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--outlined .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 19px;
  }
}
.site-form .mdc-select--outlined:hover .mdc-select__anchor, .site-form .mdc-select--outlined:focus .mdc-select__anchor {
  background-color: rgba(0, 174, 239, 0.06);
}
.site-form .mdc-select--outlined:not(.mdc-select--disabled) .mdc-floating-label {
  color: #00a5e3;
}
.site-form .mdc-select--outlined .mdc-select-input-hidden {
  position: absolute;
  top: -100px;
  left: 0;
  z-index: -1;
  user-select: none;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact {
    background-size: 15px 31px;
    background-position: right 14px center;
    line-height: 1.4;
    height: 54px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor {
  width: 100%;
  height: 48px;
  background-position: right 12px center;
  background-size: 12px 25px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor {
    height: 54px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__selected-text {
    line-height: 53px;
    font-size: 16px;
  }
}
.site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
  top: 13px;
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-floating-label.mdc-floating-label--float-above {
    top: 19px;
  }
}
.site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
.site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
  transform: translateY(-104%) scale(0.75);
}
@media (min-width: 1656px) {
  .site-form .mdc-select--compact .mdc-select__anchor .mdc-notched-outline--upgraded .mdc-floating-label--float-above,
  .site-form .mdc-select--compact .mdc-select__anchor.mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    transform: translateY(-147%) scale(0.75);
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact {
    line-height: 1.55;
    height: 54px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 17px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-floating-label {
    top: 16px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 20px;
    font-size: 16px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 19px;
  }
}
@media (min-width: 1656px) {
  .firefox .site-form .mdc-text-field--compact.mdc-text-field--focused .mdc-notched-outline--upgraded .mdc-floating-label--float-above {
    top: 18px;
  }
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--compact .mdc-text-field__input {
    font-size: 16px;
  }
}
.site-form .mdc-text-field--textarea {
  height: auto;
  width: 100%;
}
.site-form .mdc-text-field--textarea .mdc-text-field__input {
  resize: none;
  margin-top: 10px;
}
@media (min-width: 1656px) {
  .site-form .mdc-text-field--textarea .mdc-text-field__input {
    margin-top: 17px;
  }
}
.site-form__help-text {
  margin-top: 10px;
}
.mdc-form-field--checkbox > .site-form__help-text {
  padding-left: 45px;
}
.site-form__help-text--small {
  font-size: 10.5px;
  font-weight: 300;
}
@media (min-width: 375px) {
  .site-form__help-text--small {
    font-size: 12px;
  }
}
@media (min-width: 1656px) {
  .site-form__help-text--small {
    font-size: 13px;
  }
}
.site-form__info {
  text-align: left;
  font-weight: 300;
  font-size: 12.5px;
  margin-top: 15px;
  margin-bottom: 5px;
  padding: 0;
  line-height: 1.43;
}
.site-form__info--center {
  text-align: center;
}
.site-form__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .site-form__info {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.7;
    font-size: 14px;
  }
}
.site-form__info a:hover, .site-form__info a:focus {
  text-decoration: underline;
}
.site-form .mdc-text-field__input:required ~ .mdc-floating-label:not(.required)::after, .site-form .mdc-text-field__input:required ~ .mdc-notched-outline .mdc-floating-label:not(.required)::after {
  display: none;
}

.kaliopcustomforms-form--default {
  max-width: 620px;
  margin: 0 auto;
}
.kaliopcustomforms-form--default button[type=submit] {
  margin: 0 auto;
  display: block;
}
.kaliopcustomforms-form--default .btn--blue:disabled {
  background-color: #2653B9;
}
.kaliopcustomforms-form__message-container {
  padding-bottom: 10px;
  font-size: 16px;
}
.kaliopcustomforms-form__message-container--error {
  color: #ff0000;
}
.kaliopcustomforms-form__message-container--warning {
  color: #F26A21;
}
.kaliopcustomforms-form__message-container--success {
  color: #6ec01e;
}

.custom-field--indented {
  margin-left: 35px;
}

.static_text-field {
  display: inline-block;
}
.static_text-field--small {
  font-size: 12px;
}
.static_text-field--normal {
  font-size: 14px;
}
.static_text-field--large {
  font-size: 19px;
  font-weight: 400;
}

.timeless-form {
  max-width: 682px;
  margin: 0 auto;
}
.timeless-form__actions {
  text-align: center;
}

.annual-form {
  max-width: 400px;
}

.newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements .ezrichtext-field, .newsletter-agreements .ngl-rich_text {
    font-size: 19px;
  }
}
.newsletter-agreements .ezrichtext-field p:not([class]), .newsletter-agreements .ngl-rich_text p:not([class]) {
  margin-bottom: 0;
}
.newsletter-agreements__title {
  font-weight: 300;
  padding-top: 8px;
  margin-bottom: 0.8rem;
  text-align: left;
}
.newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__title .ezrichtext-field, .newsletter-agreements__title .ngl-rich_text, .newsletter-agreements__title {
    font-size: 19px;
    letter-spacing: 0.4px;
  }
}
.newsletter-agreements__title--bold {
  font-weight: 500;
}
.newsletter-agreements__choices {
  /*padding-left: 48px;
  .newsletter-agreements--collapsable & {
      padding-left: 0;
  }*/
}
.client-settings .newsletter-agreements__choices {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
  width: 100%;
}
@media (min-width: 1200px) {
  .client-settings .newsletter-agreements__choices .newsletter-agreements__choice {
    width: 47%;
  }
}
.newsletter-agreements__choice {
  position: relative;
}
.newsletter-agreements__toggle {
  border: none;
  overflow: hidden;
  font-family: inherit;
  outline: none;
  margin: 0;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: right 0 center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M33.87,27a1.13,1.13,0,0,1-.8-.33L18,11.72l-15.07,15a1.13,1.13,0,0,1-1.6,0,1.12,1.12,0,0,1,0-1.59L17.2,9.33a1.13,1.13,0,0,1,1.6,0L34.67,25.08a1.13,1.13,0,0,1-.8,1.92Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-color: transparent;
  font-weight: 300;
  line-height: 1.25;
  user-select: none;
  position: absolute;
  top: 7px;
  right: 0;
  padding-right: 30px;
  color: #00AEEF;
  font-size: 15px;
}
@media (min-width: 375px) {
  .newsletter-agreements__toggle {
    font-size: 17px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__toggle {
    font-size: 19px;
  }
}
.newsletter-agreements__toggle:focus {
  outline: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--collapsed {
  display: none;
}
.newsletter-agreements__toggle .newsletter-agreements__toggle--shown {
  display: inline;
}
.newsletter-agreements__toggle.collapsed {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.13,9a1.13,1.13,0,0,1,.8.33L18,24.28,33.07,9.33a1.13,1.13,0,0,1,1.6,0,1.12,1.12,0,0,1,0,1.59L18.8,26.67a1.13,1.13,0,0,1-1.6,0L1.33,10.92A1.13,1.13,0,0,1,2.13,9Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--collapsed {
  display: inline;
}
.newsletter-agreements__toggle.collapsed .newsletter-agreements__toggle--shown {
  display: none;
}
.newsletter-agreements__panel .newsletter-agreements__info {
  margin: 0;
  padding-bottom: 28px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__panel .newsletter-agreements__info {
    padding-bottom: 16px;
  }
}
.newsletter-agreements__info {
  text-align: left;
  font-weight: 300;
  margin-top: 22px;
  margin-bottom: 28px;
  padding: 0;
  line-height: 1.43;
}
.newsletter-agreements__info--spaced {
  margin-top: 32px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--spaced {
    margin-top: 22px;
  }
}
.newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info--indented, .newsletter-agreements__choice .newsletter-agreements__info {
    padding-left: 45px;
  }
}
.newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
  font-size: 12.5px;
}
@media (min-width: 1656px) {
  .newsletter-agreements__info .ezrichtext-field, .newsletter-agreements__info .ngl-rich_text, .newsletter-agreements__info {
    line-height: 1.7;
    font-size: 14px;
  }
}
@media (min-width: 1656px) {
  .newsletter-agreements__info {
    margin-bottom: 16px;
  }
}
.newsletter-agreements__info a:hover, .newsletter-agreements__info a:focus {
  text-decoration: underline;
}

.mdc-checkbox-multiple .site-form__validation-text {
  left: 0;
  bottom: 0;
  position: relative;
  margin-bottom: 14px;
  max-width: unset;
}

.server-side--invalid .site-form__validation-text {
  display: block;
}

.was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
  padding-left: 35px;
}
@media (min-width: 1656px) {
  .was-validated .newsletter-agreements .site-form__checkbox--required.site-form__checkbox--unchecked ~ .site-form__validation-text {
    padding-left: 44px;
  }
}

.toasts {
  position: fixed;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 1912;
  width: 100%;
  pointer-events: none;
  user-select: none;
}
@media (min-width: 992px) {
  .toasts {
    z-index: 1912;
    width: 0;
    left: auto;
    right: 0;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
  }
}

.toast {
  color: #fff;
  font-weight: 300;
  box-shadow: none;
  border: none;
  width: 100%;
  margin: 0;
  pointer-events: none;
  user-select: none;
  background-color: transparent;
  border-radius: 0;
  max-width: none;
  line-height: 1.4;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  flex-basis: auto;
}
@media (min-width: 992px) {
  .toast {
    width: 240px;
    margin: 20px 20px 10px 0;
    background-color: #6ec01e;
    border-radius: 5px;
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.12);
    border-bottom: none;
  }
}
@media (min-width: 992px) {
  .toast.toast--warning {
    background-color: #F26A21;
  }
}
@media (min-width: 992px) {
  .toast.toast--alert {
    background-color: #ff0000;
  }
}
.toast a {
  color: #fff;
}
.toast-header {
  justify-content: center;
  background-color: #00AEEF;
  color: #fff;
  font-weight: 300;
  font-size: 16.5px;
  border: none;
  pointer-events: auto;
  width: 100%;
  height: 58px;
  line-height: 58px;
  padding: 0 55px 0 50px;
  text-align: center;
  margin-bottom: -3px;
}
@media (min-width: 992px) {
  .toast-header {
    padding: 15px 25px 0 15px;
    font-size: 19px;
    height: auto;
    line-height: inherit;
    background-color: transparent;
  }
}
.toast--warning .toast-header {
  background-color: #F26A21;
}
@media (min-width: 992px) {
  .toast--warning .toast-header {
    background-color: transparent;
  }
}
.toast--alert .toast-header {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast--alert .toast-header {
    background-color: transparent;
  }
}
.toast-header:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%2300AEEF%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%2300AEEF%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  margin-right: 5px;
}
@media (min-width: 992px) {
  .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%236ec01e%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M25,13A12,12,0,1,1,13,1,12,12,0,0,1,25,13Z%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M11.3,18.66,5.65,13l2.26-2.26,3.39,3.39,6.79-6.79,2.26,2.27Z%22%20fill%3D%22%236ec01e%22/%3E%3Cpath%20d%3D%22M26,26H0V0H26Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  }
}
.toast--warning .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--warning .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M1%2021h22L12%202%201%2021zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z%22/%3E%3C/svg%3E");
  }
}
.toast--alert .toast-header:before {
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .toast--alert .toast-header:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202C6.48%202%202%206.48%202%2012s4.48%2010%2010%2010%2010-4.48%2010-10S17.52%202%2012%202zm1%2015h-2v-2h2v2zm0-4h-2V7h2v6z%22/%3E%3C/svg%3E");
  }
}
.toast-body {
  background-color: #00AEEF;
  pointer-events: auto;
  font-size: 16.5px;
  text-align: center;
  padding: 5px 23px 23px 23px;
}
.toast--warning .toast-body {
  background-color: #F26A21;
}
.toast--alert .toast-body {
  background-color: #ff0000;
}
@media (min-width: 992px) {
  .toast-body {
    padding: 15px;
    font-size: 19px;
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--warning .toast-body {
    background-color: transparent;
  }
}
@media (min-width: 992px) {
  .toast--alert .toast-body {
    background-color: transparent;
  }
}
.toast .close {
  color: #fff;
  opacity: 1;
}

.modal-full .mdc-dialog__scrim {
  background-color: rgba(38, 83, 185, 0.5);
}
.modal-full .mdc-dialog__surface {
  max-width: calc(100% - 40px);
  position: relative;
}
@media (min-width: 768px) {
  .modal-full .mdc-dialog__surface {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .modal-full .mdc-dialog__surface {
    max-width: 880px;
  }
}
@media (min-width: 1200px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1080px;
  }
}
@media (min-width: 1400px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1280px;
  }
}
@media (min-width: 1656px) {
  .modal-full .mdc-dialog__surface {
    max-width: 1500px;
  }
}
.mdc-dialog .modal-full__content {
  letter-spacing: 0.2px;
  padding: 5px;
}
@media (min-width: 768px) {
  .mdc-dialog .modal-full__content {
    padding: 10px;
  }
}
@media (min-width: 1200px) {
  .mdc-dialog .modal-full__content {
    padding: 20px;
  }
}
.modal-full__close {
  border: 0;
  margin: 0;
  padding: 0;
  background-color: transparent;
  position: absolute;
  z-index: 50;
  top: 2px;
  right: 2px;
  width: 48px;
  height: 48px;
  outline: none;
  user-select: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23201d1d%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: center;
}
@media (min-width: 768px) {
  .modal-full__close {
    top: 24px;
    right: 24px;
    background-size: 22px 22px;
  }
}
.modal-full__close:hover, .modal-full__close:focus {
  cursor: pointer;
  outline: none;
}

body:before {
  display: none;
}

.main {
  opacity: 1;
}

.slick-slider {
  display: block;
}
.slick-slider.product-card__control {
  display: none;
}
@media (min-width: 992px) {
  .slick-slider.product-card__control {
    display: block;
  }
}

.modal-full--newsletter .modal-full__content {
  padding: 0;
}
.modal-full--newsletter .modal-full__close {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2036%2036%22%3E%3Cpath%20d%3D%22M2.54,1.17h0a1.08,1.08,0,0,1,.86.39L18,16.12,32.52,1.56a1.13,1.13,0,0,1,.92-.39,1.24,1.24,0,0,1,1,.39,1.32,1.32,0,0,1,.36.92,1.28,1.28,0,0,1-.39.92L19.79,18,34.36,32.52a1.26,1.26,0,0,1,.39.92,1.33,1.33,0,0,1-.36.92,1.2,1.2,0,0,1-.92.39,1.3,1.3,0,0,1-.95-.39L18,19.79,3.4,34.36a1.28,1.28,0,0,1-.92.39,1.26,1.26,0,0,1-.92-.39,1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92L16.12,18,1.56,3.4a1.28,1.28,0,0,1-.39-.92,1.26,1.26,0,0,1,.39-.92,1.26,1.26,0,0,1,.92-.39Z%22/%3E%3Cpath%20d%3D%22M36,36H0V0H36Z%22%20fill%3D%22none%22/%3E%3C/svg%3E");
}
@media (min-width: 992px) {
  .modal-full--newsletter .mdc-dialog__surface {
    max-width: 750px;
  }
}

.modal-newsletter__row {
  margin-bottom: 20px;
  position: relative;
}
.modal-newsletter__row--center {
  align-items: center;
  display: flex;
}
.modal-newsletter__form {
  padding: 0 50px;
  margin-top: -45px;
}
.modal-newsletter__form .mdc-text-field {
  border: 1px solid #00AEEF;
  border-radius: 0;
  background-color: #fff;
  width: 100%;
}
.modal-newsletter__form .custom-validation-text {
  position: absolute;
  margin: auto;
  max-width: calc(100% - 26px);
  bottom: -14px;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  left: 0;
  font-size: 10.5px;
  line-height: 1;
  display: none;
  padding-left: 2px;
  padding-right: 2px;
  font-weight: 500;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid {
  border-color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-checkbox--invalid ~ label {
  color: #ff0000 !important;
}
.modal-newsletter__form .mdc-text-field--invalid ~ .custom-validation-text,
.modal-newsletter__form .mdc-checkbox--invalid ~ .custom-validation-text {
  display: block;
}
.modal-newsletter__send {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
.modal-newsletter__info {
  font-weight: 300;
  font-size: 12px;
  line-height: 16px;
  margin-top: 10px;
}
.modal-newsletter .site-form .mdc-form-field--checkbox label {
  font-size: 14px !important;
}
.modal-newsletter__figure {
  position: relative;
  display: block;
}
.modal-newsletter__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter__img {
  position: absolute;
  left: 0;
  top: 0;
}

.modal-newsletter-thanks__figure {
  position: relative;
  display: block;
}
.modal-newsletter-thanks__canvas {
  margin: 0;
  width: 100%;
  max-width: 100%;
  user-select: none;
  display: block;
}
.modal-newsletter-thanks__img {
  width: 100%;
  display: block;
  user-select: none;
}
canvas + picture .modal-newsletter-thanks__img {
  position: absolute;
  left: 0;
  top: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nob29sLWxpc3QuY3NzIiwibWFwcGluZ3MiOiJBQUlBO0VBQ0U7RUFDQSxtQkNrSU87RURqSVAsY0NTUztBQ1pYO0FGTUU7O0VBRUUsZ0JDd1YwQjtFRHZWMUI7RUFDQTtBRUpKO0FGT0U7RUFDRTtFQUNBO0FFTEo7QUZRRTtFQUNFO0FFTko7O0FGZ0JFOztFQUVFLGVDa1UwQjtBQy9VOUI7O0FGc0JBO0VBQ0U7QUVuQkY7QUZxQkU7O0VBRUU7QUVuQko7QUZ1Qkk7O0VBRUU7QUVyQk47O0FGMkJFOzs7O0VBSUU7QUV4Qko7O0FGaUNFO0VBQ0UscUNDOFIwQjtBQzVUOUI7O0FDakNFO0VIMkVJLGNDdkVLO0VEd0VMLHNDQ21Sd0I7QUN6VDlCOztBRTVDSTs7O0VBR0UseUJKMkYrQjtBRTVDckM7QUUzQ007Ozs7RUFJRSxxQkptRnlFO0FFdENqRjs7QUNsREU7RUNpQk0seUJBSmU7QUZ5Q3ZCO0FFbkNROztFQUVFLHlCQVJhO0FGNkN2Qjs7QUVoRUk7OztFQUdFLHlCSjJGK0I7QUV4QnJDO0FFL0RNOzs7O0VBSUUscUJKbUZ5RTtBRWxCakY7O0FDdEVFO0VDaUJNLHlCQUplO0FGNkR2QjtBRXZEUTs7RUFFRSx5QkFSYTtBRmlFdkI7O0FFcEZJOzs7RUFHRSx5QkoyRitCO0FFSnJDO0FFbkZNOzs7O0VBSUUscUJKbUZ5RTtBRUVqRjs7QUMxRkU7RUNpQk0seUJBSmU7QUZpRnZCO0FFM0VROztFQUVFLHlCQVJhO0FGcUZ2Qjs7QUV4R0k7OztFQUdFLHlCSjJGK0I7QUVnQnJDO0FFdkdNOzs7O0VBSUUscUJKbUZ5RTtBRXNCakY7O0FDOUdFO0VDaUJNLHlCQUplO0FGcUd2QjtBRS9GUTs7RUFFRSx5QkFSYTtBRnlHdkI7O0FFNUhJOzs7RUFHRSx5QkoyRitCO0FFb0NyQztBRTNITTs7OztFQUlFLHFCSm1GeUU7QUUwQ2pGOztBQ2xJRTtFQ2lCTSx5QkFKZTtBRnlIdkI7QUVuSFE7O0VBRUUseUJBUmE7QUY2SHZCOztBRWhKSTs7O0VBR0UseUJKMkYrQjtBRXdEckM7QUUvSU07Ozs7RUFJRSxxQkptRnlFO0FFOERqRjs7QUN0SkU7RUNpQk0seUJBSmU7QUY2SXZCO0FFdklROztFQUVFLHlCQVJhO0FGaUp2Qjs7QUVwS0k7OztFQUdFLHlCSjJGK0I7QUU0RXJDO0FFbktNOzs7O0VBSUUscUJKbUZ5RTtBRWtGakY7O0FDMUtFO0VDaUJNLHlCQUplO0FGaUt2QjtBRTNKUTs7RUFFRSx5QkFSYTtBRnFLdkI7O0FFeExJOzs7RUFHRSx5QkoyRitCO0FFZ0dyQztBRXZMTTs7OztFQUlFLHFCSm1GeUU7QUVzR2pGOztBQzlMRTtFQ2lCTSx5QkFKZTtBRnFMdkI7QUUvS1E7O0VBRUUseUJBUmE7QUZ5THZCOztBRTVNSTs7O0VBR0Usc0NIa1d3QjtBQ25KOUI7O0FDNU1FO0VDaUJNLHNDQUplO0FGbU12QjtBRTdMUTs7RUFFRSxzQ0FSYTtBRnVNdkI7O0FGL0dJO0VBQ0UsV0MzR0s7RUQ0R0wseUJDcEdLO0VEcUdMLHFCQ3FRd0I7QUNuSjlCO0FGN0dJO0VBQ0UsY0M1R0s7RUQ2R0wseUJDbEhLO0VEbUhMLHFCQ2xISztBQ2lPWDs7QUYxR0E7RUFDRSxXQzNIUztFRDRIVCx5QkNwSFM7QUNpT1g7QUYzR0U7OztFQUdFLHFCQ2lQMEI7QUNwSTlCO0FGMUdFO0VBQ0U7QUU0R0o7QUZ4R0k7RUFDRSwyQ0NxT3dCO0FDM0g5QjtBQy9PRTtFSDRJTSxXQ2pKRztFRGtKSCw0Q0MrTnNCO0FDekg5Qjs7QUd0TEk7RUxpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFRXdGTjtFRnJGTTtJQUNFO0VFdUZSO0FBQ0Y7QUdsTUk7RUxpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFRW1HTjtFRmhHTTtJQUNFO0VFa0dSO0FBQ0Y7QUc3TUk7RUxpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFRThHTjtFRjNHTTtJQUNFO0VFNkdSO0FBQ0Y7QUd4Tkk7RUxpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFRXlITjtFRnRITTtJQUNFO0VFd0hSO0FBQ0Y7QUduT0k7RUxpR0E7SUFFSTtJQUNBO0lBQ0E7SUFDQTtFRW9JTjtFRmpJTTtJQUNFO0VFbUlSO0FBQ0Y7QUY3SUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBRThJUjtBRjNJUTtFQUNFO0FFNklWOztBSWhVQTtFQUNFO0VDNE1NO0VEMU1OLGdCTG1TNEI7RUtsUzVCO0VBQ0EsV0xZUztFS1hULHlCTHNsQ2tDO0VLcmxDbEM7QUptVUY7QUt0TEk7RURwSko7SUNrTlUsaUNBWFE7RUx1SWhCO0FBQ0Y7QUNuVUU7RUdERSxXTE1PO0VLTFA7QUp1VUo7QUNuVUU7RUdDSTtBSnFVTjs7QUkxVEE7RUFDRTtFQUNBO0VBQ0E7QUo2VEY7O0FJdlRBO0VBQ0U7QUowVEY7O0FNaFdBO0VBR0UsaUJQeTRCa0M7RU94NEJsQyxnQlB3NEJrQztFTXh0QjlCO0VDN0tKLDJDUDA0QmtDO0VPejRCbEM7RUFDQTtFQUNBLGdEUDI0QmtDO0VPMTRCbEM7RUNPRTtBUDBWSjtBTTlWRTtFQUNFLHNCUDgzQmdDO0FDOWhCcEM7QU03VkU7RUFDRTtBTitWSjtBTTVWRTtFQUNFO0VBQ0E7QU44Vko7QU0zVkU7RUFDRTtBTjZWSjs7QU16VkE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjUHZCUztFT3dCVCwyQ1BtM0JrQztFT2wzQmxDO0VBQ0E7RUNaRTtFQUNBO0FQeVdKOztBTTFWQTtFQUNFLGdCUGkyQmtDO0FDcGdCcEM7O0FRMVdFO0VBT007QVJ1V1I7O0FTbFZFO0VBQ0U7SUFFRSw2QkNWYztFVjhWbEI7RVNqVkU7SUFDRSxxREU1QytCO0VYK1huQztFU2hWRTtJQUNFO0VUa1ZKO0FBQ0Y7QVMvVUU7RUFDRTtJQUVFO0VUZ1ZKO0VTN1VFO0lBQ0U7RVQrVUo7RVM1VUU7SUFDRTtFVDhVSjtBQUNGO0FTM1VFO0VBQ0U7SUFDRSxxREVuRStCO0lGb0UvQjtJQUNBO0VUNlVKO0VTMVVFO0lBQ0U7SUFDQTtFVDRVSjtBQUNGO0FTelVFO0VBQ0U7SUFDRSxxREVsRitCO0lGbUYvQjtJQUNBO0VUMlVKO0VTeFVFO0lBQ0U7SUFDQTtFVDBVSjtBQUNGO0FTdlVFO0VBQ0U7SUFDRSxzRENoRW1DO0lEaUVuQztJQUNBO0VUeVVKO0VTdFVFO0lBQ0U7SUFDQTtFVHdVSjtBQUNGO0FTclVFO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RVR1VUo7RVNwVUU7SUFDRTtJQUNBO0VUc1VKO0FBQ0Y7QVNuVUU7RUFDRTtJQUNFLHNEQzFGbUM7SUQyRm5DO0lBQ0E7RVRxVUo7RVNsVUU7SUFDRTtJQUNBO0VUb1VKO0FBQ0Y7QVNqVUU7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFVG1VSjtFU2hVRTtJQUVFO0lBQ0E7RVRpVUo7QUFDRjtBWXJhRTtFQTRYQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdGaGFVO0VFaWFWLFlGamFVO0VFa2FWO0VBQ0E7RUFDQTtFQUNBO0VBdE1FLGFBSGlCO0Fac1ByQjs7QVlyR0U7OztFQzNURTtFQUNBO0VBQ0E7QWJzYUo7O0FjclVFO0VEbkdFO0VBQ0E7RUFDQTtBYjRhSjs7QWNsU0k7RUFHSSxhQXJCMEI7QWR3VGxDOztBY2pRTTtFQWVGO0VBSUEsYUF0RThCO0FkeVRsQzs7QWN2T0k7RUFFSTtBZHlPUjs7QWNwT007RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FkOFRsQzs7QWM1TkU7RUFFSTtBZDhOTjs7QWNqV0U7O0VEbkdFO0VBQ0E7RUFDQTtBYnljSjs7QVkzUkU7RUFFSSxTQVJlO0VBU2YsVUFUZTtBWnNTckI7O0FZelJFO0VBRUk7RUFDQTtFQUNBLFdBaENHO0VBaUNILFlBakNHO0FaNFRUOztBWTVISTtFQUNFLFFBSks7RUFLTCxVQUxLO0VBTUwsU0FOSztFQU9MLFdBcE1HO0VBcU1ILFlBck1HO0Fab1VUOztBWW9IRTtFQzFsQkU7RUFBQTtBYjJlSjs7QVkrR0U7OztFQ25sQkU7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0FiNmVKOztBU2xpQkU7RUFDRTtJSTJDQTtJQUFBO0ViNGZGO0VTbGlCRTtJSTZDQTtJQUNBO0lBQ0E7SUFGQTtJQUNBO0lBQ0E7RWIyZkY7QUFDRjtBU3JpQkU7RUFDRTtJSXNDQTtJQUNBO0lBQ0E7SUFGQTtJQUNBO0lBQ0E7RWJxZ0JGO0VTdmlCRTtJSXlCQTtJQUFBO0Via2hCRjtBQUNGO0FZdFJRO0VBRUk7QVp1Ulo7O0FZaFJRO0VBRUk7QVprUlo7O0FZZ0VFO0VDMWxCRTtFQUFBO0FiK2hCSjs7QVkyREU7OztFQzFsQkU7RUFBQTtBYnNpQko7O0FZaUxJO0VDdnRCQTtBYjBpQko7O0FZbUxJO0VDN3RCQTtBYjhpQko7O0FZeUtJO0VDdnRCQTtBYmtqQko7O0FZMktJO0VDN3RCQTtBYnNqQko7O0FZbmpCRTtFQXVsQkE7SUMxbEJFO0lBQUE7RWI0akJGO0VZOEJBOzs7SUMxbEJFO0lBQUE7RWJra0JGO0VZcUpFO0lDdnRCQTtFYnFrQkY7RVl3SkU7SUM3dEJBO0Vid2tCRjtFWTNqQkU7SUFFSTtFWjRqQk47QUFDRjtBWXZqQkU7RUF5V0E7RUFDQTtBWmlORjs7QVlyakJFO0VBb2hCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0YvbEJRO0VFZ21CUixZRmhtQlE7RUVrbUJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFVQSxzSEFDRTtBWjBCTjs7QVlsQ0U7RUN2akJFO0VBQ0E7RUFDQTtBYjZsQko7O0FZdmtCRTtFQTJuQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtBWm5ESjs7QVlzREU7RUFFSTtBWnBETjs7QVlsbEJFO0VBeXNCRTtFQUlBO0VBQ0E7RUFDQSw2QkYxd0JnQjtFRTJ3QmhCLDRCRjN3QmdCO0FWcXBCcEI7O0FZdGxCRTtFQTJ0QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUEsMEdBQ0U7QVpySU47O0FZMWxCSTs7OztFQTBWRjtBWnVRRjs7QVl6UEk7RUFDRTtFQUNBO0FaNFBOOztBWXZQSTtFQUlFO0VBQ0E7QVp1UE47O0FZbFBJO0VBQ0U7RUFDQTtBWnFQTjs7QVloUEk7RUFDRTtFQUNBO0FabVBOOztBWTlPSTtFQUNFO0VBQ0E7QVppUE47O0FZOU9JO0VBQ0U7RUFDQTtBWmlQTjs7QVk1T0k7RUFDRTtFQUNBO0FaK09OOztBWTVPSTtFQUNFO0VBQ0E7QVorT047O0FZMU9JO0VBRUUseUVBQ0U7RUFDRjtBWjJPTjs7QVk5bkJFOzs7RUErZ0JBLGtIQUNFO0Fab0hKOztBWTduQkk7OztFQW9yQkY7QVpqREY7O0FZM25CRTtFQTZoQkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQSwwR0FDRTtBWjhGTjs7QVlsb0JFO0VBOGlCRTtFQUNBLGFGcnFCc0I7RUV5cUJ0QixzR0FDRTtBWm9GTjs7QVlwb0JFO0VBd2pCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaZ0ZGOztBWXZvQkk7RUFxU0Y7RUFDQTtBWnNXRjs7QVlyb0JFO0VKMUZFLGVBSHNCO0VBSXRCLGtCQUpzQjtFQVdwQixpQkFId0I7RUFJeEIsZ0JBSndCO0FSaXVCOUI7O0FZMVlJO0VBQ0UsU0FKSztFQUtMLFdBTEs7RUFNTCxVQU5LO0VBT0wsV0k1Wkc7RUo2WkgsWUk3Wkc7QWhCMHlCVDs7QVkzb0JJO0VBMGtCQSx3R0FDRTtFQUtGO0FaZ0VKOztBWTVvQkk7RUFxcUJGO0FackJGOztBWXhvQkk7O0VBNmtCQTtFQUNBO0VBSUEsMEdBQ0U7QVo0RE47O0FZM29CSTs7RUE2cEJGO0VBQ0E7QVpiRjs7QWlCMXpCRTtFQUNFO0lBQ0UsdUROUDJCO0lNWTNCO0VqQnl6Qko7RWlCdHpCRTtJQUNFO0VqQnd6Qko7QUFDRjtBaUJyekJFO0VBQ0U7SUFDRTtJQUNBO0VqQnV6Qko7RWlCcHpCRTtJQUNFO0VqQnN6Qko7QUFDRjtBaUJuekJFO0VBQ0U7SUFDRTtJQUNBO0VqQnF6Qko7RWlCbHpCRTtJQUNFO0VqQm96Qko7QUFDRjtBWTVwQkU7RUU3SEU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWQyeEJKOztBY3Z4QkU7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHl4Qk47O0FjcnhCRTtFQUdJLDZEQUNFO0VBS0Y7QWRpeEJOOztBYzF3Qkk7RUFFSTtBZDR3QlI7O0FjeHdCSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQwd0JSOztBY3B3Qkk7RUFFSTtFQUNBO0VBQ0E7QWRzd0JSOztBY2h3Qkk7RUFFSSx5RkFDRTtBZGl3QlY7O0FjMXZCSTtFQUVJO0VBS0E7QWR3dkJSOztBYzl1QkU7RURuR0U7RUFDQTtFQUNBO0FicTFCSjs7QWMzc0JJO0VBR0ksYUFyQjBCO0FkaXVCbEM7O0FjMXFCTTtFQWVGO0VBSUEsYUF0RThCO0Fka3VCbEM7O0FjaHBCSTtFQUVJO0Fka3BCUjs7QWM3b0JNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZHV1QmxDOztBY3JvQkU7RUFFSTtBZHVvQk47O0FjaGlCRTs7RUFHSTtFQUNBO0VBQ0E7RUFDQSxXQVRLO0VBVUwsWUFWSztBZDRpQlg7O0FjN2hCSTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkK2hCUjs7QWMzaEJJO0VBRUk7RUFDQTtBZDZoQlI7O0FZM3ZCRTtFRXlRRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWRvZko7O0FZaHdCRTtFQUVJO0Faa3dCTjs7QWtCL3dCRTtFQXJKTTtFQUNBO0VBQ0E7RUFDQTtFQU1BO0VMR0o7QWJpNkJKOztBbUJqOEJFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CbThCTjs7QW1CLzdCRTtFQWFJO0VBQ0EsVUNsQ0k7QXBCdzlCVjs7QW1CanJCRTtFTjFQRTtFQUNBO0VBQ0E7QWIrNkJKOztBbUI3cUJFO0VBRUk7QW5CK3FCTjs7QW1CdnFCRTtFQUVJO0FuQnlxQk47O0FtQmpxQkU7RUFFSTtBbkJtcUJOOztBbUJ2cEJFO0VBR0k7QW5Cd3BCTjs7QW1CeG9CRTtFQUVJLGdCQzlXTTtBcEJ3L0JaOztBbUIzbkJRO0VBTk47SUFPUSw2QkFUYTtFbkJ3b0JyQjtBQUNGO0FtQjVuQlE7RUFYTjtJQVlRLGdCQ2xZRTtFcEJpZ0NWO0FBQ0Y7QW1Cbm5CRTtFQWVNLDZCQWpCZTtBbkJ3bkJ2Qjs7QW1Cam1CRTtFQUlFO0lBRUk7SUFXQTtFbkJzbEJOO0FBQ0Y7QW1CenFCRTtFRTVWRTtBckJ3Z0NKOztBbUJwK0JFO0VBRUk7RUFDQTtBbkJzK0JOOztBbUJoK0JFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0FuQmcrQk47O0FtQjU5QkU7RURHRTtFQUNBO0VBYkE7RUFDQSw4SEFvR1c7RUN0RlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FuQjY5Qk47O0FrQjUzQkU7RUE1RkksV0NsQjJDO0VEbUIzQyxZQ25CMkM7RURzQnpDO0VBQ0E7RUFDQTtBbEIwOUJSOztBc0I5Z0NRO0VINENBO0VBQ0E7QW5CcytCUjs7QW1CaitCRTtFSUtFLGNKSitEO0VJd0Q3RDtFQUNBO0VBQ0E7RUE3RkY7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RU13REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjIvQk47O0F1Qno3QkU7RUEyQkE7RUFDQTtFQUNBLFlKeEdpRDtFSXlHakQ7RUExQkk7QXZCNjdCTjs7QXNCL2pDUTtFSCtEQTtFQUNBO0FuQm9nQ1I7O0FtQjkvQkU7RUFJSTtBbkI4L0JOOztBbUIxL0JFO0VJOURFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VNbUZFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJpaENOOztBbUI3Z0NJO0VBRUk7QW5CK2dDUjs7QW1CMWdDSTtFQUVJO0FuQjRnQ1I7O0FtQnRnQ0U7RUFJSTtBbkJzZ0NOOztBbUJqZ0NFO0VBSUk7RUFDQTtBbkJpZ0NOOztBbUI1L0JFO0VBR0k7QW5CNi9CTjs7QW1CeC9CRTtFQUdJO0FuQnkvQk47O0FtQnIvQkU7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQzlMWTtFRCtMWjtBbkJ1L0JOOztBbUJwL0JJO0VBRUk7RUFDQTtBbkJzL0JSOztBbUJqL0JFO0VHMkNFO0VBR0Y7RUFIRTtFQUdGO0VIbENJO0VBQ0E7RUFDQTtBbkI2K0JOOztBc0J4cENNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0Qm85QkY7O0FtQjcvQkk7RUdzQ0E7RUFHRjtFQUhFO0VBR0Y7QXRCMjlCRjs7QXNCdHFDTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJrK0JGOztBc0JuckNRO0VIb0xBO0VBQ0E7QW5CbWdDUjs7QW1CLy9CSTtFQUVJO0FuQmlnQ1I7O0FtQjUvQkU7OztFQUlJO0FuQjgvQk47O0FtQnovQkk7RUFFSTtBbkIyL0JSOztBbUJ2L0JJO0VBRUk7QW5CeS9CUjs7QW1Cbi9CSTs7RUFHSTtBbkJxL0JSOztBbUJqL0JJO0VBR0k7QW5Cay9CUjs7QW1CNStCSTtFQUVJO0FuQjgrQlI7O0FtQjErQkk7RUFFSTtFQUNBO0FuQjQrQlI7O0FtQnArQkU7RUFFSTtBbkJzK0JOOztBd0J2d0NFO0VEdURFO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VXbENFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUdBO0VBZUEsa0dBQ0U7QXhCeXdDUjs7QXNCL3ZDTTtFRXZCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QjB4Q1I7O0F3Qi93Q0U7RUFFSTtBeEJpeENOOztBd0J0dENFO0VBU007QXhCaXRDUjs7QXdCeHNDRTtFQUVJO0F4QjBzQ047O0F3QnZ2Q0k7RUFDRTtJQUNFO0V4QjB2Q047RXdCdnZDSTtJQUNFO0lBQ0E7RXhCeXZDTjtFd0J0dkNJO0lBQ0U7SUFDQTtFeEJ3dkNOO0V3QnJ2Q0k7SUFDRTtFeEJ1dkNOO0FBQ0Y7QXlCdjFDRTtFRjBERTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQVNBO0VBQ0E7RUFDQTtFWTVDRTtFQUNBO0VBQ0E7QXpCNDJDTjs7QXlCeDJDSTtFSDBPQTtFQUdGO0VBSEU7RUFHRjtFQUhFO0VBR0Y7RUFIRTtFQUdGO0VHeE9NO0F6QisyQ1I7O0FzQmwxQ007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCOG9DRjs7QXNCejFDTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEJxcENGOztBeUJ2M0NJO0VBRUk7RUFDQTtFQUNBO0F6QnkzQ1I7O0F5QmwzQ0k7RUhvTkE7RUFHRjtFQUhFO0VBR0Y7RUFIRTtFQUdGO0VBSEU7RUFHRjtFR2xOTTtBekJ5M0NSOztBc0JsM0NNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QjhxQ0Y7O0FzQnozQ007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCcXJDRjs7QXlCbDRDRTtFQUVJO0F6Qm80Q047O0F5Qmg0Q0k7RUFFSTtBekJrNENSOztBc0J4NENNO0VHVUk7QXpCazRDVjs7QTBCaDZDRTtFSDhCRTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFYXNhQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VicGFBO0VBQ0E7RUFDQTtBYjA2Q0o7O0EwQnRnQ0k7RUFDRTtBMUJ5Z0NOOztBMEJyakNFO0VBZ0JFLFlBdEJPO0ExQitqQ1g7O0EwQnRyQ0U7RWI5UEU7RUFDQTtFQUNBO0FidzdDSjs7QTBCbHJDRTtFYi9RRTtBYnE4Q0o7O0EwQjVxQ0U7RWJsUkU7RUFDQTtFQUNBO0FiazhDSjs7QTBCeHFDRTtFYjVSRTtFQUNBO0VBQ0E7QWJ3OENKOztBMEI1bkNFO0ViOVVFO0VBQ0E7RUFDQTtBYjg4Q0o7O0EwQnhuQ0U7RUFFSSxhQ2xaa0I7QTNCNGdEeEI7O0EwQmpuQ0k7OztFYm5XQTtFQUNBO0VBQ0E7QWIwOUNKOztBMEJyK0NFO0VBRUk7RUFDQTtFQUNBO0ExQnUrQ047O0EwQm4rQ0U7RUFnYkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQnVqQ0Y7O0EwQnJqQ0U7RUFDRTtBMUJ3akNKOztBMEJ4K0NFOztFYlBFO0VBQ0E7RUFDQTtBYm8vQ0o7O0EwQnB1Q0U7O0VibFJFO0VBQ0E7RUFDQTtBYjIvQ0o7O0EwQmgvQ0U7RUp5TEU7RUFHRjtFQUhFO0VBR0Y7RUlxUUEsV0EvYjJCO0VBZ2MzQixZQWhjMkI7RUFFdkI7RUFDQTtFQUNBO0VBQ0E7QTFCcy9DTjs7QXNCbGhEUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBdEJ3MENGOztBMEJ0L0NFO0VBRUk7QTFCdy9DTjs7QTBCbi9DRTtFSm9LRTtFQUdGO0VBSEU7RUFHRjtBdEJtMUNGOztBMEJ4L0NJO0VINUJBO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0FiK2pESjs7QXNCOWpEUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBdEJvM0NGOztBMEIvZ0RFO0VINUJFO0VBQ0E7RUFDQTtBdkIraURKOztBMEIvZ0RFO0VBRUk7QTFCaWhETjs7QTBCN2dERTtFSHhDRTtFQUNBO0VBQ0E7RUEyQkEsY0dnQlk7RUhvQ1Y7RUFDQTtFQUNBO0VBSUE7QXZCeStDTjs7QXVCNTlDRTtFQTJCQTtFQUNBO0VBQ0EsWUdsTG9DO0VIbUxwQztFQTFCSTtBdkJnK0NOOztBdUJuOUNFO0VBVUE7RUFDQTtFQUNBLFlHakxzQztFSGtMdEM7RUFUSTtBdkJ1OUNOOztBMEI5aERJO0VIckJBLGNBd0NnRDtFQVk5QztFQUNBO0VBQ0E7RUFJQTtBdkJpZ0ROOztBdUJwL0NFO0VBMkJBO0VBQ0E7RUFDQSxZR2hMMEM7RUhpTDFDO0VBMUJJO0F2QncvQ047O0F1QjMrQ0U7RUFVQTtFQUNBO0VBQ0EsWUdqTHNDO0VIa0x0QztFQVRJO0F2QisrQ047O0EwQjVpREU7RUh0RUU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RVUyQkE7RUFDQTtFQUNBO0VBMkJBLGNHb0NZO0VIZ0JWO0VBQ0E7RUFDQTtBdkJzakROOztBdUJyaURFO0VBMkJBO0VBQ0E7RUFDQSxZR2pMc0M7RUhrTHRDO0VBMUJJO0F2QnlpRE47O0EwQjNrREk7RUFFSTtBMUI2a0RSOztBMEJ0a0RFO0VBRUk7QTFCd2tETjs7QTBCcGtERTtFSitGRTtFQUdGO0VBSEU7RUFHRjtFSXFRQSxXQXJXMkI7RUFzVzNCLFlBdFcyQjtBMUIya0Q3Qjs7QXNCNXJEUTtFQThNSjtFQUdGO0VBSEU7RUFHRjtBdEJrL0NGOztBMEI5a0RFO0VBRUk7QTFCZ2xETjs7QTBCNWtERTtFSm1GRTtFQUdGO0VBSEU7RUFHRjtFSXFRQSxXQXpWMkI7RUEwVjNCLFlBMVYyQjtFQUV2QjtBMUJrbEROOztBc0JqdERRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0F0QnVnREY7O0EwQnJsREU7RUFFSTtBMUJ1bEROOztBMEJubERFO0VBRUk7QTFCcWxETjs7QTBCamxERTs7RUFHSTtBMUJtbEROOztBMEIva0RFO0VKd0RFO0VBR0Y7RUFIRTtFQUdGO0VJcVFBLFdBOVQyQjtFQStUM0IsWUEvVDJCO0ExQnNsRDdCOztBc0I5dURRO0VBOE1KO0VBR0Y7RUFIRTtFQUdGO0F0Qm9pREY7O0EwQnhsREU7RUFFSTtBMUIwbEROOztBMEJwbERFO0VBRUk7RUFDQTtBMUJzbEROOztBMEJqbERFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJtbEROOztBMEIxN0NFO0ViM1VFO0FieXdESjs7QTBCL2tERTtFQUdJO0ExQmdsRE47O0EwQjVrREU7RUpZRTtFQUdGO0VBSEU7RUFHRjtFSVhJO0ExQmdsRE47O0FzQnR4RFE7RUE4TUo7RUFHRjtFQUhFO0VBR0Y7QXRCNGtERjs7QTBCbmxERTtFQUVJO0ExQnFsRE47O0EwQjlrRE07RUFDRTtBMUJpbERSOztBMEI1a0RFO0VIek1FO0VBQ0E7RVZwQkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0VBRkE7RUFDQTtFQUNBO0Vha09FO0ExQitsRE47O0EwQmxsREU7RVpoT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWRxekRKOztBY2p6REU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fka3pETjs7QWM5eURFO0VBR0ksNkRBQ0U7RUFLRjtBZDB5RE47O0FjbnlESTtFQUVJO0FkcXlEUjs7QWNqeURJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG15RFI7O0FjN3hESTtFQUVJO0VBQ0E7RUFDQTtBZCt4RFI7O0FjenhESTtFQUVJLHlGQUNFO0FkMHhEVjs7QWNueERJO0VBRUk7RUFLQTtBZGl4RFI7O0FjdGpERTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR1akROOztBY2xqREk7RUFFSTtFQUNBO0Fkb2pEUjs7QWNweERFO0VEMUdFO0FiazRESjs7QWMvdURJO0VBR0ksYUFyQjBCO0FkcXdEbEM7O0FjOXNETTtFQWVGO0VBSUEsYUF0RThCO0Fkc3dEbEM7O0FjcHJESTtFQUVJO0Fkc3JEUjs7QWNqckRNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZDJ3RGxDOztBY3pxREU7RUFFSTtBZDJxRE47O0FjN29ESTtFQUdJLGFBUmM7QWRzcER0Qjs7QWNsekRFO0VEbkdFO0VBQ0E7RUFDQTtBYnk1REo7O0FjL3dESTtFQUdJLGFBckIwQjtBZHF5RGxDOztBYzl1RE07RUFlRjtFQUlBLGFBdEU4QjtBZHN5RGxDOztBY3B0REk7RUFFSTtBZHN0RFI7O0FjanRETTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QWQyeURsQzs7QWN6c0RFO0VBRUk7QWQyc0ROOztBY2pwREk7RUFHSSxhQVBhO0FkeXBEckI7O0FjbDFERTtFRG5HRTtFQUNBO0VBQ0E7QWJ5N0RKOztBYy95REk7RUFHSSxhQXJCMEI7QWRxMERsQzs7QWM5d0RNO0VBZUY7RUFJQSxZQXRFOEI7QWRzMERsQzs7QWNwdkRJO0VBRUk7QWRzdkRSOztBY2p2RE07RUFFSSx5QkN0UlM7RUQyUlQsWUE1RndCO0FkMjBEbEM7O0FjenVERTtFQUVJO0FkMnVETjs7QTBCdHVERTtFWnJPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBZDg4REo7O0FjMThERTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQyOEROOztBY3Y4REU7RUFHSSw2REFDRTtFQUtGO0FkbThETjs7QWM1N0RJO0VBRUk7QWQ4N0RSOztBYzE3REk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkNDdEUjs7QWN0N0RJO0VBRUk7RUFDQTtFQUNBO0FkdzdEUjs7QWNsN0RJO0VBRUkseUZBQ0U7QWRtN0RWOztBYzU2REk7RUFFSTtFQUtBO0FkMDZEUjs7QWMvc0RFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZGd0RE47O0FjM3NESTtFQUVJO0VBQ0E7QWQ2c0RSOztBYzc2REU7RUQxR0U7QWIyaEVKOztBY24yRE07RUFlRjtFQUlBLGFZMkM0QztBMUIweURoRDs7QTRCcGtFRTtFQUtJLGdCQ2pCTTtBN0JvbEVaOztBMEJqd0RFO0ViblNFO0Fid2lFSjs7QTBCL3dERTtFYnpSRTtBYjRpRUo7O0E0QnZrRUk7RWYyQkE7RUs0QkE7RUFDQTtBbEJxaEVKOztBa0J6NkRFO0VBNUZJLFdVckU2QztFVnNFN0MsWVV0RTZDO0VWeUUzQztFQUNBO0VBQ0E7QWxCdWdFUjs7QTRCL2tFSTtFQUVJO0E1QmlsRVI7O0E0QjdrRUk7RUFFSTtBNUIra0VSOztBNEIza0VJO0VBRUk7QTVCNmtFUjs7QTRCeGtFSTs7RUFHSTtBNUIwa0VSOztBNEJua0VFO0VBRUk7RUFDQTtBNUJxa0VOOztBNEJsa0VJO0VOK0xBO0VBR0Y7RUFIRTtFQUdGO0F0QnU0REY7O0FzQmxsRU07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCODRERjs7QTRCemtFSTtFTndMQTtFQUdGO0VBSEU7RUFHRjtFTXZMTTtFQUNBO0VBRUE7RUFDQTtBNUI0a0VSOztBc0JwbUVNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0Qmc2REY7O0E0QjVrRUU7RUFFSTtBNUI4a0VOOztBOEJ6cEVFO0VBaUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFVDMUZNO0VEOEZOLDRFQUNFO0VaN0JGO0VBQ0EsMkhBb0dXO0VMOUdYO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFUTdDQTtFQ2lQQTtFQUdGO0VBSEU7RUFHRjtBdEJrOERGOztBOEJqbUVFO0VBRUk7QTlCbW1FTjs7QThCOWxFRTtFQUVJO0VBQ0E7RUFDQTtBOUJnbUVOOztBOEI1bEVFO0VBRUk7RUFDQTtFQUNBO0E5QjhsRU47O0E4QjFsRUU7RUFFSTtFQUNBO0VBSUE7QTlCeWxFTjs7QXNCbnFFTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEIrOURGOztBOEJ4c0VFO0VBRUk7RUFDQTtBOUIwc0VOOztBOEJ0c0VFO0VBRUk7QTlCd3NFTjs7QWdDbnVFRTtFVDBERTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFVXdEQSxjQXdDZ0Q7RUFZOUM7RUFDQTtFQUNBO0VTbEpBO0VBQ0E7RUFDQTtFQUlBO0FoQzB2RU47O0F1QjdsRUU7RUEyQkE7RUFDQTtFQUNBLFlTbk0yQztFVG9NM0M7RUExQkk7QXZCaW1FTjs7QWdDOXZFRTtFQUVJO0VBSUE7RUFDQTtBaEM2dkVOOztBaUN0dkVFO0VBRUk7RUFDQTtFQUNBLFdDN0NNO0VEOENOLFlDOUNNO0VEK0NOO0VBQ0EsYUMvQ1M7RURnRFQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7QWpDcXZFTjs7QWlDcHVFRTtFWHlMRTtFQUdGO0VBSEU7RUFHRjtBdEIraUVGOztBc0IxdkVNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QnNqRUY7O0FpQzN2RUU7RXBCSkU7RUFDQTtFQUNBO0FibXdFSjs7QWlDL3lFRTs7RUFHSTtFQUNBO0FqQ2l6RU47O0F3QjF6RUU7RUR1REU7RUFDQTtFVnBCQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RUFGQTtFQUNBO0VBQ0E7RVdsQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBR0E7RUFlQSxrR0FDRTtBeEI0ekVSOztBc0JsekVNO0VFdkJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCNjBFUjs7QXdCbDBFRTtFQUVJO0F4Qm8wRU47O0F3Qnp3RUU7RUFTTTtBeEJvd0VSOztBd0IzdkVFO0VBRUk7QXhCNnZFTjs7QXdCMXlFSTtFQUNFO0lBQ0U7RXhCNnlFTjtFd0IxeUVJO0lBQ0U7SUFDQTtFeEI0eUVOO0V3Qnp5RUk7SUFDRTtJQUNBO0V4QjJ5RU47RXdCeHlFSTtJQUNFO0V4QjB5RU47QUFDRjtBbUN2NEVNO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQ3c0RVI7O0FtQ3I0RU07RUFDRTtFQUNBO0FuQ3c0RVI7O0FtQ3I0RU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkN3NEVSOztBbUNuNEVNO0VBQ0U7QW5DczRFUjs7QW1DajRFRTtFQUVJO0VBQ0E7QW5DbTRFTjs7QW1DLzNFRTtFQUVJO0FuQ2k0RU47O0FvQ3o2RUU7RUErT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQzhyRUo7O0FzQjE0RU07RWMrTUE7RUFDQTtBcEMrckVOOztBb0MxN0VJO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEMwN0VSOztBb0N0N0VJO0VkdU9BO0VBR0Y7RUFIRTtFQUdGO0VjdE9NLFdDMUJRO0FyQ285RWhCOztBc0IvNUVNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QjJ0RUY7O0FvQzc3RUk7RWQrTkE7RUFHRjtFQUhFO0VBR0Y7RWM5Tk07QXBDaThFUjs7QXNCOTZFTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEIwdUVGOztBb0NwOEVJO0VBRUk7RUFDQTtFQUNBO0FwQ3M4RVI7O0FvQ2w4RUk7RUFFSTtFQUNBO0VBQ0E7QXBDbzhFUjs7QW9DaDhFSTtFQUVJO0FwQ2s4RVI7O0FvQzk3RUk7RUFFSTtBcENnOEVSOztBb0MxN0VJO0VkeUxBO0VBR0Y7RUFIRTtFQUdGO0VjeExNO0FwQzg3RVI7O0FzQmo5RU07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCNndFRjs7QW9DLzdFSTtFQUVJO0FwQ2k4RVI7O0FzQ3YxRUU7RXhCN0hFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FkdTlFSjs7QWNuOUVFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRxOUVOOztBY2o5RUU7RUFHSSw2REFDRTtFQUtGO0FkNjhFTjs7QWN0OEVJO0VBRUk7QWR3OEVSOztBY3A4RUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkczhFUjs7QWNoOEVJO0VBRUk7RUFDQTtFQUNBO0FkazhFUjs7QWM1N0VJO0VBRUkseUZBQ0U7QWQ2N0VWOztBY3Q3RUk7RUFFSTtFQUtBO0FkbzdFUjs7QWN6dEVFOztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQydEVOOztBY3R0RUk7RUFFSTtFQUNBO0Fkd3RFUjs7QWN4N0VFOztFRDFHRTtBYnVpRko7O0FjcDVFSTtFQUdJLGFBckIwQjtBZDA2RWxDOztBY24zRU07RUFlRjtFQUlBLGFBdEU4QjtBZDI2RWxDOztBc0N6NUVJO0V4QmtRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QWR5cEVKOztBYy84RUU7RURuR0U7RUFDQTtFQUNBO0Fic2pGSjs7QWM1NkVJO0VBR0ksYUFyQjBCO0FkazhFbEM7O0FjMzRFTTtFQWVGO0VBSUEsYUF0RThCO0FkbThFbEM7O0FjajNFSTtFQUVJO0FkbTNFUjs7QWM5MkVNO0VBRUkseUJDdFJTO0VEMlJULGFBNUZ3QjtBZHc4RWxDOztBY3QyRUU7RUFFSTtBZHcyRU47O0FzQzVtRkU7RUEyQkk7QXRDcWxGTjs7QXNDcnlFRTtFekJwVEU7QWI2bEZKOztBc0NuekVFO0V6QjFTRTtBYmltRko7O0FzQ3o1RUU7RXpCeE1FO0FicW1GSjs7QW1DbmxGSTtFdEJsQkE7QWJ5bUZKOztBZ0N4bUZFO0VuQkRFO0FiNm1GSjs7QW1Dcm1GSTtFdEJEQTtFQUNBO0VBQ0E7QWIwbUZKOztBc0NwOEVJO0V6Qi9LQTtBYnVuRko7O0FtQ3JtRkk7RXRCbEJBO0FiMm5GSjs7QXNDOXdFRTtFaEJoS0U7RUFHRjtFQUhFO0VBR0Y7RWdCaUtJO0VBQ0E7RUFDQTtBdENreEVOOztBc0Job0ZNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QjQ3RUY7O0FzQ3B4RUk7RWhCM0tBO0VBR0Y7RUFIRTtFQUdGO0F0Qm04RUY7O0FzQjlvRk07RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCMDhFRjs7QXNDcDdFRTtFakIxUUU7QXJCa3NGSjs7QXNDaGtFRTtFaEJqWkU7RUFHRjtFQUhFO0VBR0Y7QXRCcTlFRjs7QXNCaHFGTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEI0OUVGOztBc0Nwa0VFO0VoQjNaRTtFQUdGO0VBSEU7RUFHRjtBdEJtK0VGOztBc0I5cUZNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QjArRUY7O0FzQ25yRkk7RUF5VUE7RWhCbklBO0VBR0Y7RUFIRTtFQUdGO0VnQmxNTTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7QXRDa3JGUjs7QXNCbnNGTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEIrL0VGOztBc0N0ckZNO0VBdVRGO0F0Q200RUo7O0FzQ3RyRk07RUFFSTtFQUlBO0F0Q3FyRlY7O0FzQy9xRkU7RUE0bEJFLFlDanJCSztFaEJrR0wsb0JlbWxCd0U7RWZobEJ0RTtFZVhBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q2lyRk47O0F1QnhtRkU7RUEyQkE7RUFDQTtFQUNBLFlnQnBNb0I7RWhCcU1wQjtFQTFCSTtBdkI0bUZOOztBc0NqakVJO0VBQ0U7QXRDb2pFTjs7QXNDampFSTtFQUNFO0F0Q29qRU47O0F3QnhyRkU7RUFTTTtBeEJtckZSOztBc0Nqc0ZNO0VBRUk7RUFDQTtBdENtc0ZWOztBc0M5ckVJO0VBRUk7RUFDQTtBdENnc0VSOztBc0MzckVFO0VBRUk7QXRDNnJFTjs7QXNDeDFFRTtFZmhhRTtFQUNBO0VWcEJBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFQUZBO0VBQ0E7RUFDQTtFeUI4YkU7RUFDQTtFQUNBO0VBQ0EsWUN4ZWlCO0VEeWVqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7QXRDbTJFTjs7QXNDMzNFTTtFQUNFO0F0QzgzRVI7O0FzQzMzRU07RUFDRTtFQUNBO0F0QzgzRVI7O0FzQ252RkU7RUE0Y0U7QXRDMnlFSjs7QXNDdmdGRTtFekJwVEU7QWIrekZKOztBb0N0eEZFOzs7RXZCekNFO0FicTBGSjs7QW9DNXhGRTs7O0V2QnpDRTtBYjIwRko7O0FvQ3R4RkU7OztFQUlJLGlCRzlGa0I7QXZDczNGeEI7O0FvQ3h5RkU7OztFdkJsQ0U7RUFDQTtFQUNBO0FiZzFGSjs7QW9DandGRTtFZi9ISTtFQUdGO0FyQms0Rko7O0FzQnoxRk07RURyQ0U7RUFDQTtBckJrNEZSOztBb0N6dkZFO0VmakpJO0VBR0Y7QXJCNDRGSjs7QXNCbjJGTTtFRHJDRTtFQUNBO0FyQjQ0RlI7O0FzQ3BuRkU7RWpCN1JFO0FyQnE1Rko7O0FzQzdqRkU7RXpCcFRFO0FicTNGSjs7QXNDbDJFRTtFQU1JO0F0Q2cyRU47O0F3QjF5RkU7RUFFSTtBeEI0eUZOOztBd0JoMEZFO0VBU007QXhCMnpGUjs7QW9DdHVGRTtFQUVJO0FwQ3d1Rk47O0F3QngwRkU7O0VBU007QXhCbzBGUjs7QW9DbHVGSTs7RUFFSTtBcENxdUZSOztBb0N6MEZFO0VBRUksZ0JDekhTO0FyQ284RmY7O0FzQ3QzRUU7RUFFSTtFQUNBO0VBQ0E7RUFJQTtBdENxM0VOOztBc0NqM0VFO0VBRUk7QXRDbTNFTjs7QXNDLzJFRTtFQUVJO0VBQ0E7QXRDaTNFTjs7QW9DNzFGRTtFQUVJLGdCRzdHa0I7QXZDNDhGeEI7O0FzQy90RkU7RXpCak1FO0VBQ0E7RUFDQTtBYm82Rko7O0FtQzM1Rkk7RXRCWEE7RUFDQTtFQUNBO0FiMDZGSjs7QW1DMzZGSTtFdEJEQTtFQUNBO0VBQ0E7QWJnN0ZKOztBc0Mxd0ZJO0V6Qi9LQTtBYjY3Rko7O0FnQ2w3RkU7RW5CSkU7RUFDQTtFQUNBO0FiMDdGSjs7QW1DajdGSTtFdEJYQTtFQUNBO0VBQ0E7QWJnOEZKOztBb0NoNkZFOzs7RXZCbENFO0VBQ0E7RUFDQTtBYnc4Rko7O0FvQ3g2RkU7OztFdkJsQ0U7RUFDQTtFQUNBO0FiZzlGSjs7QW9DcDZGRTs7O0VBSUksaUJHOUZrQjtBdkNvZ0d4Qjs7QW9DdDdGRTs7O0V2QmxDRTtFQUNBO0VBQ0E7QWI4OUZKOztBc0MvNEZJO0VBd1BBO0F0QzJwRko7O0FzQzk0Rkk7RUFFSTtBdENnNUZSOztBc0N6NEZJO0VBRUk7QXRDMjRGUjs7QXNDdDRGRTtFQWtaRTtFQUNBO0F0Q3cvRUo7O0FzQ3BzRkU7RXpCcFRFO0FiNC9GSjs7QXNDdGlGRTtFekJ0ZEU7QWJnZ0dKOztBc0N0aUZFO0VBMUlFO0F0Q29yRko7O0FtQ2wvRkk7RXRCbEJBO0Fid2dHSjs7QXNDdmlGSTtFQUdJO0F0Q3dpRlI7O0FzQ25pRkU7RXpCemVFO0FiZ2hHSjs7QXNDamlGRTtFekIvZUU7RXlCcWZFO0F0Q2dpRk47O0FzQ2p1RkU7RXpCcFRFO0FieWhHSjs7QW9DaC9GRTs7O0V2QnpDRTtBYitoR0o7O0FzQzFwRkU7RWhCeExFO0VBR0Y7RUFIRTtFQUdGO0F0QnMxRkY7O0FzQmppR007RUF3TUY7RUFHRjtFQUhFO0VBR0Y7QXRCNjFGRjs7QXNDanFGSTtFaEIvTEE7RUFHRjtFQUhFO0VBR0Y7QXRCbzJGRjs7QXNCL2lHTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEIyMkZGOztBc0MxcUZNO0VoQnBNRjtFQUdGO0VBSEU7RUFHRjtBdEJrM0ZGOztBc0I3akdNO0VBd01GO0VBR0Y7RUFIRTtFQUdGO0F0QnkzRkY7O0F3QjVnR0U7RUFHTTtBeEI2Z0dSOztBc0J4a0dNO0VFOERJO0F4QjhnR1Y7O0FvQ3Q3RkU7RUFFSTtBcEN3N0ZOOztBd0J4aEdFOztFQUdNO0F4QjBoR1I7O0FzQnJsR007OztFRThESTtBeEI2aEdWOztBb0N4N0ZJOztFQUVJO0FwQzI3RlI7O0F3QnRoR0U7RUFFSTtBeEJ3aEdOOztBd0IxaEdFO0VBRUk7QXhCNGhHTjs7QXNDenNGRTtFaEJ2TkU7RUFHRjtFQUhFO0VBR0Y7QXRCbzZGRjs7QXNCL21HTTtFQXdNRjtFQUdGO0VBSEU7RUFHRjtBdEIyNkZGOztBc0N0Z0dFO0V6QjlHRTtFQUNBO0VBQ0E7QWJ3bkdKOztBd0I3bEdJO0VBQ0U7SUFDRTtFeEJnbUdOO0V3QjdsR0k7SUFDRTtJQUNBO0V4QitsR047RXdCNWxHSTtJQUNFO0lBQ0E7RXhCOGxHTjtFd0IzbEdJO0lBQ0U7RXhCNmxHTjtBQUNGO0F3QjltR0k7RUFDRTtJQUNFO0V4QmduR047RXdCN21HSTtJQUNFO0lBQ0E7RXhCK21HTjtFd0I1bUdJO0lBQ0U7SUFDQTtFeEI4bUdOO0V3QjNtR0k7SUFDRTtFeEI2bUdOO0FBQ0Y7QXdDOXVHQTtFQUNJO0VBQ0E7QXhDZ3ZHSjs7QXdDN3VHQTtFQUNJO0VBQ0E7RUFDQTtBeENndkdKO0F3Qzl1R0k7RUFDSTtFQUNBLHNCQ0tRO0F6QzJ1R2hCO0F3Qzd1R0k7RUFDSTtFQUNBO0VBQ0E7RUFDQSx5QkNhWTtFRFpaO0F4Qyt1R1I7QXdDM3VHUTtFQUNJO0VBQ0E7RUFDQTtBeEM2dUdaOztBd0N2dUdJO0VBQ0k7RUFDQTtBeEMwdUdSOztBd0N0dUdBO0VBQ0k7QXhDeXVHSjs7QXdDdHVHQTtFQUNJO0VBQ0E7QXhDeXVHSjs7QXdDcnVHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEN3dUdSO0F3Q3R1R1E7RUFSSjtJQVNRO0lBQ0E7RXhDeXVHVjtBQUNGOztBMENyeUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUN3eUdKO0EwQ3R5R0k7RUFQSjtJQVFRO0UxQ3l5R047QUFDRjtBMEN2eUdJO0VBQ0k7QTFDeXlHUjtBMEN2eUdRO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQzB5R1Y7QUFDRjtBMEN2eUdJO0VBQ0k7QTFDeXlHUjtBMENyeUdRO0VBQ0k7RUFDQSx5QkR6QmtCO0VDMEJsQjtFQUNBO0VBQ0E7RUFDQTtBMUN1eUdaO0EwQ3J5R1k7RUFSSjtJQVNRO0UxQ3d5R2Q7QUFDRjtBMENyeUdRO0VBQ0k7QTFDdXlHWjtBMENyeUdZO0VBSEo7SUFJUTtJQUNBLHlCRHpDYztJQzBDZDtJQUNBO0lBQ0E7SUFDQTtFMUN3eUdkO0FBQ0Y7QTBDcHlHSTtFQUNJO0VBQ0E7RUFDQTtBMUNzeUdSO0EwQ3B5R1E7RUFDSTtFQUNBO0VBQ0E7QTFDc3lHWjtBMENseUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCRDlEUTtBekNrMkdoQjtBMENseUdRO0VBUko7SUFTUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFDcXlHVjtBQUNGO0EwQ255R1E7RUExQko7SUEyQlE7RTFDc3lHVjtBQUNGO0EwQ255R1k7RUFESjtJQUVRO0lBQ0E7RTFDc3lHZDtBQUNGO0EwQ2x5R0k7RUFDSSx5QkQ3R1M7RUM4R1QsV0RoR1E7RUNpR1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUNveUdSO0EwQ2x5R1E7RUFaSjtJQWFRO0lBQ0E7SUFDQTtJQUNBO0UxQ3F5R1Y7QUFDRjtBMENseUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjRDNHUTtFQzRHUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFDb3lHUjtBMENseUdRO0VBQ0k7QTFDb3lHWjtBMENqeUdRO0VBakJKO0lBa0JRO0lBQ0E7SUFDQTtJQUNBLFdEdklJO0lDd0lKO0lBQ0E7SUFDQTtFMUNveUdWO0FBQ0Y7QTBDbHlHUTtFQTNCSjtJQTRCUTtJQUNBO0lBQ0E7RTFDcXlHVjtBQUNGO0EwQ255R1E7RUFDSTtBMUNxeUdaO0EwQ255R1k7RUFISjtJQUlRO0UxQ3N5R2Q7QUFDRjtBMENseUdJO0VBQ0k7QTFDb3lHUjtBMENseUdRO0VBSEo7SUFJUTtJQUNBO0UxQ3F5R1Y7QUFDRjtBMENueUdRO0VBUko7SUFTUTtFMUNzeUdWO0FBQ0Y7QTBDbHlHWTtFQUZKO0lBR1E7RTFDcXlHZDtBQUNGOztBMkNsK0dBO0VBQ0k7QTNDcStHSjtBMkNuK0dJO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBLGlCRjZEZ0I7SUU1RGhCO0UzQ3MrR047QUFDRjtBMkNwK0dJO0VBZko7SUFnQlE7RTNDdStHTjtBQUNGO0EyQ3IrR0k7RUFuQko7SUFvQlE7RTNDdytHTjtBQUNGO0EyQ3IrR1E7RUFESjtJQUVRO0UzQ3crR1Y7QUFDRjtBMkN2K0dRO0VBSko7SUFLUTtFM0MwK0dWO0FBQ0Y7QTJDeCtHUTtFQVJKO0lBU1E7RTNDMitHVjtBQUNGO0EyQ3YrR1E7RUFESjtJQUVRO0UzQzArR1Y7QUFDRjtBMkN6K0dRO0VBSko7SUFLUTtFM0M0K0dWO0FBQ0Y7QTJDMStHUTtFQVJKO0lBU1E7RTNDNitHVjtBQUNGO0EyQ3orR1E7RUFESjtJQUVRO0UzQzQrR1Y7QUFDRjtBMkMxK0dRO0VBTEo7SUFNUTtFM0M2K0dWO0FBQ0Y7QTJDMytHUTtFQVRKO0lBVVE7RTNDOCtHVjtBQUNGO0EyQzErR1E7RUFESjtJQUVRO0UzQzYrR1Y7QUFDRjtBMkMzK0dRO0VBTEo7SUFNUTtJQUNBO0UzQzgrR1Y7QUFDRjtBMkM1K0dRO0VBVko7SUFXUTtJQUNBLGlCRkhZO0V6Q2svR3RCO0FBQ0Y7QTJDNStHSTtFQUNJO0VBQ0E7QTNDOCtHUjtBMkMzK0dJO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7QTNDNCtHUjtBMkMxK0dRO0VBQ0k7RUFDQTtBM0M0K0daO0EyQ3orR1E7RUFDSTtBM0MyK0daO0EyQ3orR1k7RUFDSSxjRmpHQztBekM0a0hqQjtBMkN4K0dZO0VBQ0k7QTNDMCtHaEI7QTJDcitHSTtFQUNJLGNGakZRO0F6Q3dqSGhCO0EyQ3IrR1E7RUFFSTtBM0NzK0daOztBNEN4bEhBO0VBQ0k7RUFDQTtBNUMybEhKO0E0Q3hsSEk7RUFMSjtJQU1RO0U1QzJsSE47QUFDRjtBNEN6bEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDMmxIUjtBNEN6bEhRO0VBVEo7SUFVUTtJQUNBO0lBQ0E7RTVDNGxIVjtBQUNGOztBNkNsbkhBO0VBQ0k7RUFDQTtFQUNBO0E3Q3FuSEo7O0E4Q3huSEE7RUFDSTtFQUNBO0VBQ0E7QTlDMm5ISjtBOEN6bkhJO0VBTEo7SUFNUTtFOUM0bkhOO0FBQ0Y7QThDMW5ISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E5QzRuSFI7QThDMW5IUTtFQU5KO0lBT1E7RTlDNm5IVjtBQUNGO0E4QzFuSEk7RUFDSTtBOUM0bkhSO0E4QzFuSFE7RUFISjtJQUlRO0U5QzZuSFY7QUFDRjs7QStDdHBIQTtFQUNJO0EvQ3lwSEo7QStDdnBISTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGNOSlM7RU1LVDtFQUNBO0EvQ3lwSFI7QStDdnBIUTtFQVJKO0lBU1E7SUFDQTtFL0MwcEhWO0FBQ0Y7QStDeHBIUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7RS9DMnBIVjtBQUNGOztBZ0RockhBO0VBQ0k7RUFDQTtBaERtckhKO0FnRGpySEk7RUFKSjtJQUtRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWhEb3JITjtBQUNGO0FnRGxySEk7RUFaSjtJQWFRO0VoRHFySE47QUFDRjtBZ0RuckhJO0VBaEJKO0lBaUJRO0VoRHNySE47QUFDRjtBZ0RwckhJO0VBQ0k7QWhEc3JIUjtBZ0RwckhRO0VBSEo7SUFJUTtFaER1ckhWO0FBQ0Y7QWdEcHJIWTtFQURKO0lBRVE7SUFDQTtJQUNBO0lBQ0E7RWhEdXJIZDtBQUNGO0FnRG5ySEk7RUFDSTtFQUNBO0VBQ0E7QWhEcXJIUjtBZ0RuckhRO0VBTEo7SUFNUTtJQUNBO0lBQ0E7RWhEc3JIVjtBQUNGO0FnRHBySFE7RUFYSjtJQVlRO0lBQ0E7RWhEdXJIVjtBQUNGO0FnRHBySFk7RUFESjtJQUVRO0VoRHVySGQ7QUFDRjtBZ0RuckhJO0VBQ0k7RUFDQTtFQUNBO0FoRHFySFI7QWdEbnJIUTtFQUxKO0lBTVE7SUFDQTtJQUNBO0VoRHNySFY7QUFDRjtBZ0QvcUhZO0VBREo7SUFFUTtFaERrckhkO0FBQ0Y7QWdEOXFIWTtFQURKO0lBRVE7RWhEaXJIZDtBQUNGO0FnRDdxSFk7RUFESjtJQUVRO0VoRGdySGQ7QUFDRjtBZ0Q1cUhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNQakdTO0F6Qyt3SGpCO0FnRDVxSFE7RUFSSjtJQVNRO0VoRCtxSFY7QUFDRjtBZ0Q3cUhRO0VBWko7SUFhUTtJQUNBO0lBQ0E7RWhEZ3JIVjtBQUNGOztBaUQ5eEhBO0VBQ0k7QWpEaXlISjtBaUQveEhJO0VBSEo7SUFJUTtFakRreUhOO0FBQ0Y7QWlEaHlISTtFQVBKO0lBUVE7RWpEbXlITjtBQUNGO0FpRGp5SEk7RUFYSjtJQVlRO0VqRG95SE47QUFDRjtBaURseUhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY1JoQlM7RVFpQlQ7RUFDQTtFQUNBO0VBQ0E7QWpEb3lIUjtBaURseUhRO0VBVko7SUFXUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpEcXlIVjtBQUNGO0FpRGx5SFE7RUFwQko7SUFxQlE7RWpEcXlIVjtBQUNGO0FpRG55SFE7RUF4Qko7SUF5QlE7SUFDQTtFakRzeUhWO0FBQ0Y7QWlEcHlIUTtFQUNJO0FqRHN5SFo7QWlEcHlIWTtFQUhKO0lBSVE7SUFDQTtFakR1eUhkO0FBQ0Y7QWlEbHlISTtFQUNJO0VBQ0E7QWpEb3lIUjtBaURseUhRO0VBSko7SUFLUTtJQUNBO0lBQ0E7SUFDQTtFakRxeUhWO0FBQ0Y7QWlEanlIUTtFQURKO0lBRVE7SUFDQTtJQUNBO0VqRG95SFY7QUFDRjtBaURseUhRO0VBUEo7SUFRUTtJQUNBO0VqRHF5SFY7QUFDRjtBaURueUhRO0VBWko7SUFhUTtJQUNBO0VqRHN5SFY7QUFDRjtBaURueUhZO0VBREo7SUFFUTtFakRzeUhkO0FBQ0Y7O0FrRDczSEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbERnNEhKO0FrRDkzSEk7RUFOSjtJQU9RO0lBQ0E7SUFDQTtFbERpNEhOO0FBQ0Y7QWtELzNISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRGk0SFI7QWtELzNIUTtFQU5KO0lBT1E7SUFDQTtJQUNBO0lBQ0E7RWxEazRIVjtBQUNGO0FrRGg0SFE7RUFiSjtJQWNRO0VsRG00SFY7QUFDRjtBa0RqNEhRO0VBakJKO0lBa0JRO0VsRG80SFY7QUFDRjtBa0RsNEhRO0VBckJKO0lBc0JRO0VsRHE0SFY7QUFDRjtBa0RsNEhZO0VBREo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRHE0SGQ7QUFDRjtBa0RuNEhZO0VBWko7SUFhUTtFbERzNEhkO0FBQ0Y7QWtEcDRIWTtFQWhCSjtJQWlCUTtFbER1NEhkO0FBQ0Y7QWtEcjRIWTtFQXBCSjtJQXFCUTtFbER3NEhkO0FBQ0Y7QWtEcDRISTtFQUNJLGNUbkNRO0VTb0NSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHM0SFI7QWtEcDRIUTtFQUNJO0FsRHM0SFo7QWtEbDRIUTtFQXJCSjtJQXNCUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbERxNEhWO0FBQ0Y7QWtEbjRIUTtFQXJDSjtJQXNDUTtJQUNBO0lBQ0E7RWxEczRIVjtBQUNGO0FrRHA0SFE7RUEzQ0o7SUE0Q1E7SUFDQTtJQUNBO0VsRHU0SFY7QUFDRjtBa0RyNEhRO0VBakRKO0lBa0RRO0lBQ0E7SUFDQTtFbER3NEhWO0FBQ0Y7QWtEcjRISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRHU0SFI7QWtEcjRIUTtFQU5KO0lBT1E7RWxEdzRIVjtBQUNGO0FrRHI0SEk7RUFDSTtFQUNBO0VBQ0EsV1RwSFE7RVNxSFIseUJUbklTO0VTb0lUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEdTRIUjtBa0RyNEhRO0VBWEo7SUFZUTtJQUNBO0lBQ0E7RWxEdzRIVjtBQUNGO0FrRHI0SEk7RUFDSTtFQUNBO0VBQ0EsY1QxSFE7RVMySFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbER1NEhSO0FrRHI0SFE7RUFWSjtJQVdRO0lBQ0E7SUFDQTtFbER3NEhWO0FBQ0Y7QWtEcjRISTtFQUNJO0FsRHU0SFI7QWtEcjRIUTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxEdzRIVjtBQUNGO0FrRHQ0SFE7RUFoQko7SUFpQlE7SUFDQTtFbER5NEhWO0FBQ0Y7QWtEdjRIUTtFQXJCSjtJQXNCUTtFbEQwNEhWO0FBQ0Y7QWtEeDRIUTtFQXpCSjtJQTBCUTtFbEQyNEhWO0FBQ0Y7QWtEeDRISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEMDRIUjtBa0R4NEhRO0VBUEo7SUFRUTtJQUNBO0lBQ0E7RWxEMjRIVjtBQUNGO0FrRHY0SFE7RUFFSSx5QlR6TWtCO0VTME1sQjtFQUNBO0VBQ0E7RUFDQTtBbER3NEhaO0FrRHI0SFE7RUFDSTtBbER1NEhaO0FrRHI0SFk7RUFISjtJQUlRO0VsRHc0SGQ7QUFDRjtBa0RyNEhRO0VBQ0k7QWxEdTRIWjtBa0RyNEhZO0VBSEo7SUFJUTtFbER3NEhkO0FBQ0Y7QWtEcDRISTtFQUNJO0VBQ0E7RUFDQTtBbERzNEhSO0FrRHA0SFE7RUFDSTtFQUNBO0VBQ0E7QWxEczRIWjtBa0RsNEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RXBDdEtKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VvQ3NLSTtFQUVBO0VBQ0E7QWxEbzRIUjtBY3ppSUU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkeWlJTjtBY3JpSUU7RUFHSSw2REFDRTtFQUtGO0FkZ2lJTjtBY3poSUk7RUFFSTtBZDBoSVI7QWN0aElJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHVoSVI7QWNqaElJO0VBRUk7RUFDQTtFQUNBO0Fka2hJUjtBYzVnSUk7RUFFSSx5RkFDRTtBZDRnSVY7QWNyZ0lJO0VBRUk7RUFLQTtBZGtnSVI7QWN2eUhFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHV5SE47QWNseUhJO0VBRUk7RUFDQTtBZG15SFI7QWMxOUhJO0VBR0ksVW9DZ0NrQztBbEQwN0gxQztBY3g3SE07RUFlRjtFQUlBLFVvQ3BCc0M7QWxENjdIMUM7QWMxZ0lFO0VEMUdFO0FidW5JSjtBY2g2SEk7RUFFSTtBZGk2SFI7QWM1NUhNO0VBRUkseUJDdFJTO0VEMlJULGFvQzVDZ0M7QWxEcThIMUM7QWNuNUhFO0VBRUk7QWRvNUhOO0FtRHp5SFE7RUFDSTtBbkQyeUhaO0FjNThITTtFQWVGO0VBSUEsWXFDK0kwQztBbkQ4eUg5QztBa0R6OEhRO0VBbkJKO0lBb0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEQ0OEhWO0FBQ0Y7QWtEMThIUTtFQUNJO0FsRDQ4SFo7QWtEeDhIWTtFQURKO0lBRVE7SUFDQTtFbEQyOEhkO0FBQ0Y7QWtEdjhISTtFQUNJO0VBQ0E7QWxEeThIUjtBa0R2OEhRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxEeThIWjtBa0R0OEhRO0VBQ0k7QWxEdzhIWjtBa0RyOEhRO0VBQ0k7QWxEdThIWjs7QWtEbDhIQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsRHE4SEo7QWtEbjhISTtFQU5KO0lBT1E7SUFDQTtJQUNBO0VsRHM4SE47QUFDRjtBa0RwOEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxEczhIUjtBa0RwOEhRO0VBTko7SUFPUTtJQUNBO0lBQ0E7SUFDQTtFbER1OEhWO0FBQ0Y7QWtEcjhIUTtFQWJKO0lBY1E7RWxEdzhIVjtBQUNGO0FrRHQ4SFE7RUFqQko7SUFrQlE7RWxEeThIVjtBQUNGO0FrRHY4SFE7RUFyQko7SUFzQlE7RWxEMDhIVjtBQUNGO0FrRHY4SFk7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxEMDhIZDtBQUNGO0FrRHg4SFk7RUFaSjtJQWFRO0VsRDI4SGQ7QUFDRjtBa0R6OEhZO0VBaEJKO0lBaUJRO0VsRDQ4SGQ7QUFDRjtBa0QxOEhZO0VBcEJKO0lBcUJRO0VsRDY4SGQ7QUFDRjtBa0R6OEhJO0VBQ0ksY1R4VlE7RVN5VlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEMjhIUjtBa0R6OEhRO0VBQ0k7QWxEMjhIWjtBa0R2OEhRO0VBckJKO0lBc0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRDA4SFY7QUFDRjtBa0R4OEhRO0VBckNKO0lBc0NRO0lBQ0E7SUFDQTtFbEQyOEhWO0FBQ0Y7QWtEejhIUTtFQTNDSjtJQTRDUTtJQUNBO0lBQ0E7RWxENDhIVjtBQUNGO0FrRDE4SFE7RUFqREo7SUFrRFE7SUFDQTtJQUNBO0VsRDY4SFY7QUFDRjtBa0QxOEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxENDhIUjtBa0QxOEhRO0VBTko7SUFPUTtFbEQ2OEhWO0FBQ0Y7QWtEMThISTtFQUNJO0VBQ0E7RUFDQSxXVHphUTtFUzBhUix5QlR4YlM7RVN5YlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEQ0OEhSO0FrRDE4SFE7RUFYSjtJQVlRO0lBQ0E7SUFDQTtFbEQ2OEhWO0FBQ0Y7QWtEMThISTtFQUNJO0VBQ0E7RUFDQSxjVC9hUTtFU2diUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRDQ4SFI7QWtEMThIUTtFQVZKO0lBV1E7SUFDQTtJQUNBO0VsRDY4SFY7QUFDRjtBa0QxOEhJO0VBQ0k7QWxENDhIUjtBa0QxOEhRO0VBSEo7SUFJUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEQ2OEhWO0FBQ0Y7QWtEMzhIUTtFQWhCSjtJQWlCUTtJQUNBO0VsRDg4SFY7QUFDRjtBa0Q1OEhRO0VBckJKO0lBc0JRO0VsRCs4SFY7QUFDRjtBa0Q3OEhRO0VBekJKO0lBMEJRO0VsRGc5SFY7QUFDRjtBa0Q3OEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEQrOEhSO0FrRDc4SFE7RUFQSjtJQVFRO0lBQ0E7SUFDQTtFbERnOUhWO0FBQ0Y7QWtENThIUTtFQUVJLHlCVDlma0I7RVMrZmxCO0VBQ0E7RUFDQTtFQUNBO0FsRDY4SFo7QWtEMThIUTtFQUNJO0FsRDQ4SFo7QWtEMThIWTtFQUhKO0lBSVE7RWxENjhIZDtBQUNGO0FrRDE4SFE7RUFDSTtBbEQ0OEhaO0FrRDE4SFk7RUFISjtJQUlRO0VsRDY4SGQ7QUFDRjtBa0R6OEhJO0VBQ0k7RUFDQTtFQUNBO0FsRDI4SFI7QWtEejhIUTtFQUNJO0VBQ0E7RUFDQTtBbEQyOEhaO0FrRHY4SEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFcEMzZEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RW9DMmRJO0VBRUE7RUFDQTtBbER5OEhSO0FjbjZJRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRtNklOO0FjLzVJRTtFQUdJLDZEQUNFO0VBS0Y7QWQwNUlOO0FjbjVJSTtFQUVJO0FkbzVJUjtBY2g1SUk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkaTVJUjtBYzM0SUk7RUFFSTtFQUNBO0VBQ0E7QWQ0NElSO0FjdDRJSTtFQUVJLHlGQUNFO0FkczRJVjtBYy8zSUk7RUFFSTtFQUtBO0FkNDNJUjtBY2pxSUU7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkaXFJTjtBYzVwSUk7RUFFSTtFQUNBO0FkNnBJUjtBY3AxSUk7RUFHSSxVb0NxVmtDO0FsRCsvSDFDO0FjbHpJTTtFQWVGO0VBSUEsVW9DaVNzQztBbERrZ0kxQztBY3A0SUU7RUQxR0U7QWJpL0lKO0FjMXhJSTtFQUVJO0FkMnhJUjtBY3R4SU07RUFFSSx5QkN0UlM7RUQyUlQsYW9DeVFnQztBbEQwZ0kxQztBYzd3SUU7RUFFSTtBZDh3SU47QW1EbnFJUTtFQUNJO0FuRHFxSVo7QWN0MElNO0VBZUY7RUFJQSxZcUMrSTBDO0FuRHdxSTlDO0FrRDlnSVE7RUFuQko7SUFvQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRGloSVY7QUFDRjtBa0QvZ0lRO0VBQ0k7QWxEaWhJWjtBa0Q3Z0lZO0VBREo7SUFFUTtJQUNBO0VsRGdoSWQ7QUFDRjtBa0Q1Z0lJO0VBQ0k7RUFDQTtBbEQ4Z0lSO0FrRDVnSVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBbEQ4Z0laO0FrRDNnSVE7RUFDSTtBbEQ2Z0laO0FrRDFnSVE7RUFDSTtFQUNBO0FsRDRnSVo7QWtEM2dJWTtFQUhKO0lBSVE7RWxEOGdJZDtBQUNGOztBb0R2bkpBO0VBQ0kseUJYdUNlO0VXdENmLFdYZVk7RVdkWjtFQUNBO0VBQ0E7RUFDQTtBcEQwbkpKO0FvRHhuSkk7RUFSSjtJQVNRO0VwRDJuSk47QUFDRjtBb0R6bkpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQybkpSO0FvRHhuSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRDBuSlI7QW9Edm5KSTtFQUNJO0VBQ0E7RUFDQTtBcER5bkpSO0FvRHZuSlE7RUFDSTtFQUNBO0VBQ0E7QXBEeW5KWjtBb0RybkpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEdW5KUjtBb0RybkpRO0VBVEo7SUFVUTtFcER3bkpWO0FBQ0Y7QW9Ecm5KSTtFQUNJO0FwRHVuSlI7QW9EcG5KSTtFQUNJO0FwRHNuSlI7QW9EcG5KUTtFQUhKO0lBSVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXBEdW5KVjtBQUNGO0FvRHJuSlE7RUFuQko7SUFvQlE7SUFDQTtJQUNBO0VwRHduSlY7QUFDRjtBb0RybkpZO0VBREo7SUFFUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwRHduSmQ7QUFDRjtBb0RwbkpJO0VBQ0ksV1hwRlE7RVdxRlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRHNuSlI7QW9EcG5KUTtFQVRKO0lBVVE7RXBEdW5KVjtBQUNGO0FvRHJuSlE7RUFiSjtJQWNRO0VwRHduSlY7QUFDRjtBb0RybkpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXBEdW5KUjtBb0RybkpRO0VBTko7SUFPUTtFcER3bkpWO0FBQ0Y7QW9Ecm5KSTtFQUNJO0VBQ0EsV1hsSFE7RVdtSFI7QXBEdW5KUjtBb0RybkpRO0VBTEo7SUFNUTtFcER3bkpWO0FBQ0Y7QVkxbElFO0VDMWxCRTtFQUFBO0Fid3JKSjtBWTlsSUU7OztFQzFsQkU7RUFBQTtBYjhySko7QVMxdUpFO0VBQ0U7SUkyQ0E7SUFBQTtFYm1zSkY7RVN6dUpFO0lJc0NBO0lBQUE7RWJ1c0pGO0FBQ0Y7QVN4dUpFO0VBQ0U7SUkrQkE7SUFBQTtFYjZzSkY7RVN0dUpFO0lJeUJBO0lBQUE7RWJpdEpGO0FBQ0Y7QVlyOUlRO0VBRUk7QVpzOUlaO0FZLzhJUTtFQUVJO0FaZzlJWjtBWWpnSUk7RUN2dEJBO0FiMnRKSjtBWTkvSEk7RUM3dEJBO0FiOHRKSjtBWTU1SUU7OztFQ2xVRTtBYm11Sko7QWN6bkpFO0VEMUdFO0Fic3VKSjtBY25sSkk7RUFHSSxhQXJCMEI7QWR3bUpsQztBY2pqSk07RUFlRjtFQUlBLGFBdEU4QjtBZHdtSmxDO0FjdGhKSTtFQUVJO0FkdWhKUjtBY2xoSk07RUFFSSx5QkN0UlM7RUQyUlQsYUE1RndCO0FkMm1KbEM7QWN6Z0pFO0VBRUk7QWQwZ0pOO0FjN29KRTs7RUQxR0U7QWIydkpKO0FvRGxySlk7RUFDSTtBcERvckpoQjtBb0QvcUpJO0VBQ0ksY1h6SFk7QXpDMHlKcEI7QW9EOXFKSTs7RUFFSSxjWDlIWTtBekM4eUpwQjtBb0Q5cUpROztFQUNJLGNYaklRO0F6Q2t6SnBCO0FvRDdxSkk7RUFDSSx5Qlh0S1M7QXpDcTFKakI7QW9ENXFKSTtFQUNJLHlCWHRLZTtBekNvMUp2QjtBb0QzcUpJOztFQUVJLGNYM0tlO0F6Q3cxSnZCO0FvRDNxSlE7O0VBQ0ksY1g5S1c7QXpDNDFKdkI7QW9EenFKSTtFQUNJLGNYOUlnQjtFVytJaEI7RUFDQTtFQUNBO0VBQ0E7QXBEMnFKUjtBb0R6cUpRO0VBQ0k7QXBEMnFKWjtBb0Q1cEpJO0VBS0k7RUFDQTtFQUNBO0FwRDBwSlI7QXFEdDNHRTtFeENoN0NFO0FieXlKSjtBcUR4ekdFO0V4Q2ovQ0U7QWI0eUpKO0FxRHZ2R0U7RXhDcmpERTtBYit5Sko7QW9EanFKUTtFQVRKO0lBVVE7SUFDQTtFcERvcUpWO0FBQ0Y7QW9ENXBKUTtFQUNJO0FwRDhwSlo7QW9EeHBKWTtFQUNJO0FwRDBwSmhCO0FvRHJwSkk7RUFDSTtBcER1cEpSO0FvRGhwSlk7RUFFSTtFQUNBLFdYNU9BO0F6QzYzSmhCO0FvRDNvSlE7RUFDSTtBcEQ2b0paO0FvRHpvSkk7RUFDSTtFQUNBO0VBQ0E7QXBEMm9KUjtBb0R4b0pJO0VBQ0k7QXBEMG9KUjtBb0R2b0pJO0VBQ0k7QXBEeW9KUjtBb0R0b0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNYelJTO0VXMFJUO0FwRHdvSlI7QW9EdG9KUTtFQVRKO0lBVVE7SUFDQTtJQUNBO0VwRHlvSlY7QUFDRjtBb0R2b0pRO0VBQ0ksV1hyUkk7RVdzUko7QXBEeW9KWjtBb0R2b0pZO0VBRUk7QXBEd29KaEI7QW9Ebm9KWTtFQURKO0lBRVE7RXBEc29KZDtBQUNGO0FvRGxvSkk7RUFDSTtFQUNBO0VBQ0E7QXBEb29KUjtBb0Rqb0pJO0VBQ0k7QXBEbW9KUjtBb0Rob0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY1hoVWU7RVdpVWY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcERrb0pSO0FvRGhvSlE7RUFqQko7SUFrQlE7RXBEbW9KVjtBQUNGO0FvRGpvSlE7RUFDSTtBcERtb0paO0FvRC9uSkk7RUFDSTtBcERpb0pSO0FvRDluSkk7RUFDSTtBcERnb0pSO0FvRDduSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEK25KUjtBb0Q3bkpRO0VBWEo7SUFZUTtFcERnb0pWO0FBQ0Y7QW9EN25KSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNYbFhlO0VXbVhmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FwRDhuSlI7QW9ENW5KUTtFQWpCSjtJQWtCUTtFcEQrbkpWO0FBQ0Y7QW9ENW5KSTtFQUNJO0FwRDhuSlI7QW9EM25KSTtFQUNJO0VBQ0E7RUFDQTtBcEQ2bkpSO0FvRHpuSlE7RUFDSTtBcEQybkpaO0FvRHhuSlE7RUFDSTtBcEQwbkpaOztBc0RsaEtBO0VBQ0k7RUFDQTtFQUNBO0F0RHFoS0o7QXNEbmhLSTtFQUxKO0lBTVE7SUFDQTtFdERzaEtOO0FBQ0Y7QXNEcGhLSTtFQVZKO0lBZVE7SUFDQTtFdERtaEtOO0VzRHhoS0E7SUFDQztFdEQwaEtEO0FBQ0Y7QXNEcGhLSTtFQUNJO0F0RHNoS1I7QXNEbmhLSTtFQUNJO0VBQ0E7QXREcWhLUjtBc0RuaEtRO0VBQ0k7QXREcWhLWjtBc0RsaEtRO0VBUko7SUFTUTtJQUNBO0V0RHFoS1Y7RXNEbmhLVTtJQUNJO0V0RHFoS2Q7QUFDRjtBc0RqaEtJO0VBQ0kseUJiL0JzQjtFYWdDdEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERtaEtSO0FzRGpoS1E7RUFDSTtBdERtaEtaO0FzRC9nS0k7RUFDSSx5QmJwRFM7RWFxRFQsV2J2Q1E7RWF3Q1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RGloS1I7QXNEL2dLUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0V0RGtoS1Y7QUFDRjtBc0QvZ0tJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERpaEtSO0FzRDlnS0k7RUFDSTtFQUNBO0VBQ0E7QXREZ2hLUjtBc0Q5Z0tRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERnaEtaO0FzRDdnS1E7RUFDSTtBdEQrZ0taO0FzRDNnS0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdiM0ZRO0VhNEZSO0VBQ0E7RUFDQTtFQUNBO0F0RDZnS1I7QXNEM2dLUTtFQVhKO0lBWVE7SUFDQTtFdEQ4Z0tWO0FBQ0Y7QXNEM2dLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEQ2Z0tSO0FzRDNnS1E7RUFYSjtJQVlRO0lBQ0E7RXREOGdLVjtBQUNGO0FzRDVnS1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDhnS1o7QXNENWdLWTtFQVBKO0lBUVE7SUFDQTtFdEQrZ0tkO0FBQ0Y7QXNEM2dLSTtFQUNJO0VBQ0E7RUFDQTtBdEQ2Z0tSO0FzRDNnS1E7RUFDSTtFQUNBO0VBQ0E7QXRENmdLWjtBc0R6Z0tJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFeEM5RUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RXdDK0VJO0F0RDJnS1I7QWN0bEtFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHNsS047QWNsbEtFO0VBR0ksNkRBQ0U7RUFLRjtBZDZrS047QWN0a0tJO0VBRUk7QWR1a0tSO0FjbmtLSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRva0tSO0FjOWpLSTtFQUVJO0VBQ0E7RUFDQTtBZCtqS1I7QWN6aktJO0VBRUkseUZBQ0U7QWR5aktWO0FjbGpLSTtFQUVJO0VBS0E7QWQraUtSO0FjcDFKRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRvMUpOO0FjLzBKSTtFQUVJO0VBQ0E7QWRnMUpSO0FjaGpLRTtFRDFHRTtBYjZwS0o7QWMxZ0tJO0VBR0ksVXdDdkRrQztBdERpa0sxQztBY3grSk07RUFlRjtFQUlBLFV3QzNHc0M7QXREb2tLMUM7QWM3OEpJO0VBRUk7QWQ4OEpSO0FjejhKTTtFQUVJLHlCQ3RSUztFRDJSVCxhd0NwSWdDO0F0RDBrSzFDO0FjaDhKRTtFQUVJO0FkaThKTjtBbUR0MUpRO0VBQ0k7QW5EdzFKWjtBY3ovSk07RUFlRjtFQUlBLFlxQytJMEM7QW5EMjFKOUM7QXNEaGxLUTtFQUNJO0F0RGtsS1o7O0F1RHB3S0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkR1d0tKO0F1RHJ3S0k7RUFDSTtFQUNBO0VBQ0E7QXZEdXdLUjs7QXdEdHhLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4RHl4S0o7QXdEdnhLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY2Z5Qlk7RWV4Qlo7QXhEeXhLUjtBd0R0eEtJO0VBQ0k7RUFDQTtBeER3eEtSOztBeUR6eUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXpENHlLSjtBeUQxeUtJO0VBTko7SUFPUTtFekQ2eUtOO0FBQ0Y7QXlEM3lLSTtFQUNJO0F6RDZ5S1I7QXlEMXlLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F6RDR5S1I7QXlEMXlLUTtFQU5KO0lBT1E7RXpENnlLVjtBQUNGO0F5RDF5S0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekQ0eUtSO0F5RDF5S1E7RUFOSjtJQU9RO0V6RDZ5S1Y7QUFDRjtBeUQxeUtJO0VBQ0k7RUFDQTtFQUNBLFdoQnRCUTtFZ0J1QlIseUJoQnJDUztFZ0JzQ1Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekQ0eUtSO0F5RDF5S1E7RUFYSjtJQVlRO0lBQ0E7SUFDQTtFekQ2eUtWO0FBQ0Y7QXlEenlLSTtFQUNJO0VBQ0E7RUFDQSxjaEI3QlE7RWdCOEJSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEMnlLUjtBeUR6eUtRO0VBVko7SUFXUTtJQUNBO0lBQ0E7RXpENHlLVjtBQUNGO0F5RHp5S0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTNDV0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWRneUtKO0FjNXhLRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQ0eEtOO0FjeHhLRTtFQUdJLDZEQUNFO0VBS0Y7QWRteEtOO0FjNXdLSTtFQUVJO0FkNndLUjtBY3p3S0k7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMHdLUjtBY3B3S0k7RUFFSTtFQUNBO0VBQ0E7QWRxd0tSO0FjL3ZLSTtFQUVJLHlGQUNFO0FkK3ZLVjtBY3h2S0k7RUFFSTtFQUtBO0FkcXZLUjtBYzFoS0U7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMGhLTjtBY3JoS0k7RUFFSTtFQUNBO0Fkc2hLUjtBY3R2S0U7RUQxR0U7QWJtMktKO0FjaHRLSTtFQUdJLFUyQ2hKa0M7QXpEZzJLMUM7QWM5cUtNO0VBZUY7RUFJQSxVMkNwTXNDO0F6RG0ySzFDO0FjbnBLSTtFQUVJO0Fkb3BLUjtBYy9vS007RUFFSSx5QkN0UlM7RUQyUlQsYTJDN05nQztBekR5MksxQztBY3RvS0U7RUFFSTtBZHVvS047QW1ENWhLUTtFQUNJO0FuRDhoS1o7QWMvcktNO0VBZUY7RUFJQSxZcUMrSTBDO0FuRGlpSzlDO0F5RC8yS1E7RUFDSTtBekRpM0taOztBK0MxOEtBO0VBQ0k7QS9DNjhLSjtBK0MzOEtJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY05KUztFTUtUO0VBQ0E7QS9DNjhLUjtBK0MzOEtRO0VBUko7SUFTUTtJQUNBO0UvQzg4S1Y7QUFDRjtBK0M1OEtRO0VBYko7SUFjUTtJQUNBO0lBQ0E7SUFDQTtFL0MrOEtWO0FBQ0Y7O0EwRHArS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBMUR1K0tKO0EwRHArS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFEcytLSjs7QTBEbitLQTtFQUNJO0ExRHMrS0o7O0EwRG4rS0E7RUFDSTtBMURzK0tKOztBMERuK0tBO0VBQ0k7QTFEcytLSjs7QTBEbitLQTtFQUNJO0ExRHMrS0o7O0EwRG4rS0E7RUFDSTtBMURzK0tKOztBMERuK0tBO0VBQ0k7QTFEcytLSjs7QTBEbitLQTtFQUNJO0ExRHMrS0o7O0EwRG4rS0E7RUFDSTtBMURzK0tKOztBMERqK0tBO0VBQ0k7QTFEbytLSjtBMERsK0tJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRG8rS1I7O0EwRDk5S0k7O0VBQ0k7QTFEaytLUjs7QTBENzlLSTtFQUNJO0ExRGcrS1I7O0EwRDE5S0k7O0VBQ0k7QTFEODlLUjs7QTBEeDlLSTs7RUFDSTtBMUQ0OUtSOztBMER0OUtJOztFQUNJO0ExRDA5S1I7O0EwRHA5S0k7O0VBQ0k7QTFEdzlLUjs7QTBEbDlLQTtFQUNJO0ExRHE5S0o7O0EwRGw5S0E7RUFDSTtBMURxOUtKOztBMERsOUtBOzs7RUFHSTtBMURxOUtKOztBMERsOUtBO0VBQ0k7QTFEcTlLSjs7QTBEbDlLQTtFQUNJO0ExRHE5S0o7O0EwRGw5S0E7RUFDSTtBMURxOUtKOztBMERsOUtBO0VBQ0k7QTFEcTlLSjs7QTBEbDlLQTtFQUNJO0ExRHE5S0o7O0EwRGw5S0E7RUFDSTtBMURxOUtKOztBMERsOUtBO0VBQ0k7QTFEcTlLSjs7QTBEbDlLQTs7RUFFSTtBMURxOUtKOztBMkQxbkxBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Q2bkxKO0EyRDNuTEk7RUFQSjtJQVFRO0lBQ0E7RTNEOG5MTjtBQUNGO0EyRDVuTEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0Q4bkxSO0EyRDNuTEk7RUFDSTtFQUNBO0VBQ0E7QTNENm5MUjtBMkQzbkxRO0VBTEo7SUFNUTtFM0Q4bkxWO0FBQ0Y7QTJEM25MSTtFQUNJLGNsQkRRO0VrQkVSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RTdDbURKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0U2Q25ESTtBM0Q4bkxSO0FjdmtMRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR1a0xOO0FjbmtMRTtFQUdJLDZEQUNFO0VBS0Y7QWQ4akxOO0FjdmpMSTtFQUVJO0Fkd2pMUjtBY3BqTEk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkcWpMUjtBYy9pTEk7RUFFSTtFQUNBO0VBQ0E7QWRnakxSO0FjMWlMSTtFQUVJLHlGQUNFO0FkMGlMVjtBY25pTEk7RUFFSTtFQUtBO0FkZ2lMUjtBY3IwS0U7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkcTBLTjtBY2gwS0k7RUFFSTtFQUNBO0FkaTBLUjtBY2ppTEU7RUQxR0U7QWI4b0xKO0FjMy9LSTtFQUdJLFU2Q3hMa0M7QTNEbXJMMUM7QWN6OUtNO0VBZUY7RUFJQSxVNkM1T3NDO0EzRHNyTDFDO0FjOTdLSTtFQUVJO0FkKzdLUjtBYzE3S007RUFFSSx5QkN0UlM7RUQyUlQsYTZDclFnQztBM0Q0ckwxQztBY2o3S0U7RUFFSTtBZGs3S047QTJENXJMUTtFQUVJLGNsQnBCSTtBekNpdExoQjtBMkQxckxRO0VBQ0k7QTNENHJMWjtBMkR6ckxRO0VBQ0ksY2xCdERLO0VrQnVETDtBM0QyckxaO0EyRHpyTFk7RUFKSjtJQUtRO0UzRDRyTGQ7QUFDRjtBMkR4ckxZO0VBQ0k7QTNEMHJMaEI7QTJEcnJMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0R1ckxSO0EyRHByTEk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U3Q0RKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0U2Q0NJO0EzRHNyTFI7QWNuckxFO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG1yTE47QWMvcUxFO0VBR0ksNkRBQ0U7RUFLRjtBZDBxTE47QWNucUxJO0VBRUk7QWRvcUxSO0FjaHFMSTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWRpcUxSO0FjM3BMSTtFQUVJO0VBQ0E7RUFDQTtBZDRwTFI7QWN0cExJO0VBRUkseUZBQ0U7QWRzcExWO0FjL29MSTtFQUVJO0VBS0E7QWQ0b0xSO0FjeDVLRTtFQUdJO0VBQ0E7RUFDQTtFQUNBLFdBVEs7RUFVTCxZQVZLO0FkazZLWDtBY241S0k7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkbTVLUjtBYy80S0k7RUFFSTtFQUNBO0FkZzVLUjtBY3BwTEU7RUQxR0U7QWJpd0xKO0FjOW1MSTtFQUdJLFU2Q3BJa0M7QTNEa3ZMMUM7QWM1a0xNO0VBZUY7RUFJQSxVNkN4THNDO0EzRHF2TDFDO0FjampMSTtFQUVJO0Fka2pMUjtBYzdpTE07RUFFSSx5QkN0UlM7RUQyUlQsYTZDak5nQztBM0QydkwxQztBY3BpTEU7RUFFSTtBZHFpTE47QTJEM3ZMUTtFQUNJO0EzRDZ2TFo7QTJEenZMWTtFQUNJO0EzRDJ2TGhCO0EyRHR2TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0R3dkxSO0EyRHR2TFE7RUFOSjtJQU9RO0lBQ0E7RTNEeXZMVjtBQUNGO0EyRHR2TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBM0R3dkxSO0EyRHR2TFE7RUFOSjtJQU9RO0lBQ0E7RTNEeXZMVjtBQUNGOztBNEQzM0xJO0VBQ0k7QTVEODNMUjtBNEQ1M0xRO0VBQ0k7QTVEODNMWjtBNEQ1M0xZO0VBSEo7SUFJUTtJQUNBO0U1RCszTGQ7QUFDRjtBNEQ1M0xRO0VBQ0k7RUFDQTtBNUQ4M0xaO0E0RDUzTFk7RUFKSjtJQUtRO0lBQ0E7RTVEKzNMZDtBQUNGO0E0RDUzTFE7RUFDSTtBNUQ4M0xaO0E0RDEzTEk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjbkI3QlM7RW1COEJUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVENDNMUjtBNEQxM0xRO0VBWEo7SUFZUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RDYzTFY7QUFDRjtBNEQzM0xRO0VBbkJKO0lBb0JRO0U1RDgzTFY7QUFDRjtBNEQ1M0xRO0VBdkJKO0lBd0JRO0lBQ0E7SUFDQTtFNUQrM0xWO0FBQ0Y7QTREMzNMSTtFQUNJO0VBQ0E7RUFDQTtBNUQ2M0xSO0E0RDEzTEk7RUFDSTtBNUQ0M0xSO0E0RHozTEk7RUFDSTtFQUNBO0VBQ0E7QTVEMjNMUjtBNER6M0xRO0VBTEo7SUFNUTtJQUNBO0U1RDQzTFY7QUFDRjtBNER2MkxJO0VBQ0k7RUFDQTtFQUNBLFduQnBGUTtFbUJxRlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFOUMxQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWRtNExKO0FjLzNMRTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWQrM0xOO0FjMzNMRTtFQUdJLDZEQUNFO0VBS0Y7QWRzM0xOO0FjLzJMSTtFQUVJO0FkZzNMUjtBYzUyTEk7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkNjJMUjtBY3YyTEk7RUFFSTtFQUNBO0VBQ0E7QWR3MkxSO0FjbDJMSTtFQUVJLHlGQUNFO0FkazJMVjtBYzMxTEk7RUFFSTtFQUtBO0FkdzFMUjtBY3BtTEU7RUFHSTtFQUNBO0VBQ0E7RUFDQSxXQVRLO0VBVUwsWUFWSztBZDhtTFg7QWMvbExJO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZCtsTFI7QWMzbExJO0VBRUk7RUFDQTtBZDRsTFI7QWNoMkxFO0VEMUdFO0FiNjhMSjtBYzF6TEk7RUFHSSxVOEMxR2tDO0E1RG82TDFDO0FjeHhMTTtFQWVGO0VBSUEsVThDOUpzQztBNUR1NkwxQztBYzd2TEk7RUFFSTtBZDh2TFI7QWN6dkxNO0VBRUkseUJDdFJTO0VEMlJULGE4Q3ZMZ0M7QTVENjZMMUM7QWNodkxFO0VBRUk7QWRpdkxOO0E0RDk2TFE7RUExQko7SUEyQlE7SUFDQTtJQUNBO0U1RGk3TFY7QUFDRjtBNEQvNkxRO0VBQ0k7RUFDQSxXbkJuSEk7QXpDb2lNaEI7QWNqekxNO0VBZUY7RUFJQSxZOEM3SThDO0E1RCs2TGxEO0E0RDM2TFE7RUFDSTtBNUQ2NkxaOztBNkQ5aU1JO0VBQ0k7RUFDQTtBN0Rpak1SO0E2RDdpTVE7RUFDSTtFQUNBO0VBQ0E7QTdEK2lNWjtBNkQ3aU1ZO0VBQ0k7RUFDQTtBN0QraU1oQjtBNkQ3aU1nQjtFQUNJO0E3RCtpTXBCO0E2RHppTUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEMmlNUjtBNkR6aU1RO0VBUko7SUFTUTtFN0Q0aU1WO0FBQ0Y7QTZEMWlNUTtFQVpKO0lBYVE7RTdENmlNVjtBQUNGO0E2RDNpTVE7RUFDSTtFQUNBO0VBQ0E7QTdENmlNWjtBNkR4aU1ROzs7RUFHSTtBN0QwaU1aO0E2RHZpTVE7RUFDSTtBN0R5aU1aO0E2RG5pTVk7RUFDSTtFQUNBO0E3RHFpTWhCO0E2RGhpTUk7RUFDSTtFQUNBO0VBQ0E7QTdEa2lNUjtBWS84S0U7RUMxbEJFO0VBQUE7QWI2aU1KO0FZbjlLRTs7O0VDMWxCRTtFQUFBO0FibWpNSjtBUy9sTUU7RUFDRTtJSTJDQTtJQUFBO0Vid2pNRjtFUzlsTUU7SUlzQ0E7SUFBQTtFYjRqTUY7QUFDRjtBUzdsTUU7RUFDRTtJSStCQTtJQUFBO0Via2tNRjtFUzNsTUU7SUl5QkE7SUFBQTtFYnNrTUY7QUFDRjtBWTEwTFE7RUFFSTtBWjIwTFo7QVlwMExRO0VBRUk7QVpxMExaO0FZdDNLSTtFQ3Z0QkE7QWJnbE1KO0FZbjNLSTtFQzd0QkE7QWJtbE1KO0FZanhMRTs7O0VDbFVFO0Fid2xNSjtBYzkrTEU7RUQxR0U7QWIybE1KO0FjeDhMSTtFQUdJLGFBckIwQjtBZDY5TGxDO0FjdDZMTTtFQWVGO0VBSUEsYUF0RThCO0FkNjlMbEM7QWMzNExJO0VBRUk7QWQ0NExSO0FjdjRMTTtFQUVJLHlCQ3RSUztFRDJSVCxhQTVGd0I7QWRnK0xsQztBYzkzTEU7RUFFSTtBZCszTE47QWNsZ01FOztFRDFHRTtBYmduTUo7QTZEbm1NUTtFQUNJO0VBQ0E7RUFDQTtBN0RxbU1aO0E2RG5tTVk7RUFDSSx5QnBCNUZDO0VvQjZGRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RHFtTWhCO0E2RGxtTVk7RUFDSSx5QnBCckdDO0VvQnNHRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RG9tTWhCO0E2RDlsTWdCO0VBQ0k7RUFDQSx5QnBCbEhIO0F6Q2t0TWpCO0E2RDdsTWdCO0VBQ0kseUJwQnRISDtBekNxdE1qQjtBNkR4bE1JO0VBQ0k7RUFDQTtBN0QwbE1SO0E4RHR0TEU7RWpEMWJFO0FibXBNSjtBOER6dExFO0VqRDFiRTtBYnNwTUo7QThEM3VMRTtFakQzYUU7QWJ5cE1KO0E4RDU1TEU7RWpEN1BFO0FiNHBNSjtBNkQ3bE1RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEK2xNWjtBNkQ3bE1ZO0VBTko7SUFPUTtFN0RnbU1kO0FBQ0Y7QTZEOWxNWTtFQVZKO0lBV1E7RTdEaW1NZDtBQUNGO0E2RDlsTVE7RUFDSTtFQUNBO0VBQ0E7QTdEZ21NWjtBNkQ5bE1ZO0VBQ0kseUJwQjdKQztFb0I4SkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RnbU1oQjtBNkQ3bE1ZO0VBQ0kseUJwQnRLQztFb0J1S0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QrbE1oQjtBNkR6bE1nQjtFQUNJLHlCcEJsTEg7RW9CbUxHO0E3RDJsTXBCO0E2RHBsTUk7RUFDSTtFQUNBO0E3RHNsTVI7QTZEamxNWTtFQUNJO0E3RG1sTWhCO0E2RGpsTWdCO0VBSEo7SUFJUTtFN0RvbE1sQjtBQUNGO0E2RGxsTWdCO0VBUEo7SUFRUTtJQUNBO0U3RHFsTWxCO0FBQ0Y7QTZEaGxNSTtFQUNJO0E3RGtsTVI7QTZEL2tNSTtFQUNJLGNwQjdMWTtBekM4d01wQjtBNkQ5a01JO0VBQ0k7QTdEZ2xNUjtBNkQ5a01RO0VBQ0k7QTdEZ2xNWjtBNkR6a01nQjtFQUNJO0E3RDJrTXBCO0E2RHZrTW9CO0VBQ0ksY3BCak5KO0F6QzB4TXBCO0E2RC9qTVE7RUFDSTtBN0Rpa01aO0E2RC9qTVk7RUFISjtJQUlRO0U3RGtrTWQ7QUFDRjtBNkQ5ak1ZO0VBQ0k7QTdEZ2tNaEI7QTZEN2pNWTtFQUNJLGNwQmpORTtBekNneE1sQjtBNkR6ak1nQjtFQUNJO0E3RDJqTXBCO0E2RHZqTVk7RUFDSSxjcEI3TkU7QXpDc3hNbEI7QTZEcmpNUTs7Ozs7RUFHSTtBN0R5ak1aO0E2RHJqTVE7RUFDSTtBN0R1ak1aO0E2RHJqTVk7RUFDSTtBN0R1ak1oQjtBNkRuak1RO0VBQ0ksY3BCalBNO0F6Q3N5TWxCO0E2RG5qTVk7RUFDSSxjcEJwUEU7QXpDeXlNbEI7QTZEbGpNWTtFQUNJLGNwQnhQRTtFb0J5UEY7QTdEb2pNaEI7QTZEaGpNUTtFQUNJLGNwQjlQTTtBekNnek1sQjtBNkRoak1ZO0VBQ0ksY3BCalFFO0F6Q216TWxCO0E2RC9pTVk7RUFDSSxjcEJyUUU7RW9Cc1FGO0E3RGlqTWhCO0E2RDVpTVk7RUFDSTtFQUNBO0E3RDhpTWhCO0E2RHppTWdCO0VBQ0k7QTdEMmlNcEI7QTZEdmlNWTs7Ozs7RUFHSTtBN0QyaU1oQjtBNkR4aU1ZO0VBQ0k7QTdEMGlNaEI7QTZEdmlNWTtFQUNJO0E3RHlpTWhCO0E2RHBpTVk7RUFDSTtFQUNBO0E3RHNpTWhCO0E2RGxpTWdCO0VBQ0k7QTdEb2lNcEI7QTZEOWhNWTtFQUNJLGNwQnJURTtBekNxMU1sQjtBNkQ5aE1nQjtFQUNJLGNwQnhURjtBekN3MU1sQjtBNkQ3aE1nQjtFQUNJLGNwQjVURjtFb0I2VEU7QTdEK2hNcEI7QTZEM2hNWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Q2aE1oQjtBNkQzaE1nQjtFQVhKO0lBWVE7RTdEOGhNbEI7QUFDRjtBNkQzaE1ZO0VBQ0k7RUFDQTtBN0Q2aE1oQjtBNkR2aE1ROzs7RUFHSTtFQUNBO0E3RHloTVo7QTZEdmhNWTs7O0VBQ0k7QTdEMmhNaEI7QTZEdmhNUTtFQUNJO0E3RHloTVo7QTZEdmhNWTtFQUNJO0E3RHloTWhCO0E2RHBoTVk7RUFDSTtFQUNBO0E3RHNoTWhCO0E2RGpoTWdCO0VBQ0k7QTdEbWhNcEI7QTZEL2dNWTs7O0VBR0k7QTdEaWhNaEI7QTZEOWdNWTtFQUNJO0E3RGdoTWhCO0E2RDdnTVk7RUFDSTtBN0QrZ01oQjtBNkQxZ01ZO0VBQ0k7RUFDQTtBN0Q0Z01oQjtBNkR0Z01ROzs7RUFHSTtFQUNBO0E3RHdnTVo7QTZEdGdNWTs7O0VBQ0k7QTdEMGdNaEI7QTZEdGdNUTtFQUNJO0E3RHdnTVo7QTZEdGdNWTtFQUNJO0E3RHdnTWhCO0E2RG5nTVk7RUFDSTtFQUNBO0E3RHFnTWhCO0E2RGhnTWdCO0VBQ0k7QTdEa2dNcEI7QTZEOS9MWTs7O0VBR0k7QTdEZ2dNaEI7QTZENy9MWTtFQUNJO0E3RCsvTGhCO0E2RDUvTFk7RUFDSTtBN0Q4L0xoQjtBNkR6L0xJO0VBQ0k7RUFDQTtBN0QyL0xSO0E2RHovTFE7RUFDSTtFQUNBLGNwQnRkUTtFb0J1ZFI7RUFDQTtFQUNBO0VBQ0E7QTdEMi9MWjtBNkR6L0xZO0VBUko7SUFTUTtFN0Q0L0xkO0FBQ0Y7QTZEMS9MWTtFQVpKO0lBYVE7SUFDQTtFN0Q2L0xkO0FBQ0Y7QTZEMy9MWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RDYvTGhCO0E2RDMvTGdCO0VBTko7SUFPUTtFN0Q4L0xsQjtBQUNGO0E2RDUvTGdCO0VBQ0k7QTdEOC9McEI7QTZENS9Mb0I7RUFDSTtBN0Q4L0x4QjtBNkQzL0xvQjtFQUNJO0VBQ0E7QTdENi9MeEI7QTZEdi9MUTtFQUNJO0VBQ0E7QTdEeS9MWjtBNkR2L0xZO0VBSko7SUFLUTtJQUNBO0U3RDAvTGQ7QUFDRjtBNkR4L0xZO0VBVEo7SUFVUTtJQUNBO0U3RDIvTGQ7QUFDRjtBNkR4L0xnQjtFQUVJO0VBQ0EsY3BCNWdCRDtBekNxZ05uQjtBNkRuL0xJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEcS9MUjtBNkRuL0xRO0VBTko7SUFPUTtJQUNBO0lBQ0E7RTdEcy9MVjtBQUNGO0E2RGwvTFE7RUFESjtJQUVRO0U3RHEvTFY7QUFDRjtBNkRsL0xJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTdEby9MUjtBNkRqL0xJO0VBQ0k7RUFDQTtBN0RtL0xSO0E2RGgvTEk7RUFDSTtFQUNBO0VBQ0E7QTdEay9MUjtBNkQvK0xJO0VBQ0k7RUFDQTtFQUNBO0E3RGkvTFI7QTZELytMUTtFQUxKO0lBTVE7RTdEay9MVjtBQUNGO0E2RGgvTFE7RUFDSTtBN0RrL0xaO0E2RC8rTFE7RUFDSTtBN0RpL0xaO0E2RDkrTFE7RUFDSTtBN0RnL0xaO0E2RDcrTFE7RUFDSTtFQUNBO0E3RCsrTFo7QTZENytMWTtFQUpKO0lBS1E7SUFDQTtFN0RnL0xkO0FBQ0Y7QTZEOStMWTtFQUNJO0E3RGcvTGhCO0E2RDUrTFE7RUFDSTtFQUNBO0E3RDgrTFo7QTZEMStMWTtFQURKO0lBRVE7SUFDQTtFN0Q2K0xkO0FBQ0Y7QTZEMStMZ0I7RUFESjtJQUVRO0U3RDYrTGxCO0FBQ0Y7QTZEeCtMWTtFQURKO0lBRVE7SUFDQTtFN0QyK0xkO0FBQ0Y7QTZEeCtMUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEMCtMWjtBNkR4K0xZO0VBVko7SUFXUTtJQUNBO0U3RDIrTGQ7QUFDRjtBNkR2K0xJO0VBQ0k7RUFDQTtBN0R5K0xSO0E2RHYrTFE7RUFKSjtJQUtRO0lBQ0E7RTdEMCtMVjtBQUNGO0E2RHYrTEk7O0VBRUk7RUFDQTtBN0R5K0xSO0E2RHYrTFE7O0VBQ0k7QTdEMCtMWjtBNkR2K0xRO0VBVEo7O0lBVVE7RTdEMitMVjtFNkR6K0xVOztJQUNJO0U3RDQrTGQ7QUFDRjtBNkR2K0xJOztFQUVJO0VBQ0E7QTdEeStMUjtBNkR2K0xROztFQUNJO0E3RDArTFo7QTZEditMUTtFQVRKOztJQVVRO0lBQ0E7RTdEMitMVjtFNkR6K0xVOztJQUNJO0U3RDQrTGQ7QUFDRjtBNkR4K0xJO0VBQ0k7RUFDQTtBN0QwK0xSO0E2RHgrTFE7RUFDSTtBN0QwK0xaO0E2RHYrTFE7RUFSSjtJQVNRO0lBQ0E7RTdEMCtMVjtFNkR4K0xVO0lBQ0k7RTdEMCtMZDtBQUNGO0E2RHArTEk7O0VBRUk7QTdEcytMUjtBNkRwK0xROztFQUNJO0E3RHUrTFo7QTZEcCtMUTtFQVJKOztJQVNRO0U3RHcrTFY7RTZEdCtMVTs7SUFDSTtFN0R5K0xkO0FBQ0Y7QTZEcitMSTtFQUNJO0E3RHUrTFI7QTZEcitMUTtFQUNJO0E3RHUrTFo7QTZEcCtMUTtFQVBKO0lBUVE7RTdEdStMVjtFNkRyK0xVO0lBQ0k7RTdEdStMZDtBQUNGO0E2RGorTEk7Ozs7RUFJSTtBN0RtK0xSO0E2RC85TFE7OztFQUdJLHFCcEJud0JRO0F6Q291TnBCO0E2RDU5TFE7OztFQUdJLHFCcEIzd0JRO0F6Q3l1TnBCO0E2RHo5TFE7OztFQUdJLHFCcEJueEJRO0F6Qzh1TnBCO0E2RHQ5TFE7OztFQUdJLHFCcEIzeEJRO0F6Q212TnBCO0E2RG45TFE7OztFQUdJLHFCcEJueUJRO0F6Q3d2TnBCO0E2RGg5TFE7OztFQUdJLHFCcEIzeUJRO0F6QzZ2TnBCO0E2RDk4TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjcEI5eEJVO0VvQit4QlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCcEJ0MEJRO0VvQnUwQlI7RUFDQTtBN0RnOUxSO0E2RDk4TFE7RUFqQko7SUFrQlE7RTdEaTlMVjtBQUNGO0E2RC84TFE7RUFyQko7SUFzQlE7RTdEazlMVjtBQUNGO0E2RGg5TFE7RUFDSTtBN0RrOUxaO0E2RC84TFE7RUFDSTtBN0RpOUxaO0E2RDk4TFE7RUFDSTtBN0RnOUxaO0E2RDc4TFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdEKzhMWjtBNkQ3OExZO0VBWEo7SUFZUTtFN0RnOUxkO0FBQ0Y7QTZENThMSTtFQUNJLGNwQjkwQlU7RW9CKzBCVjtFQUNBO0E3RDg4TFI7QTZEMzhMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNwQjExQlU7RW9CMjFCVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JwQmw0QlE7RW9CbTRCUjtFQUNBO0E3RDY4TFI7QTZEMzhMUTtFQWpCSjtJQWtCUTtFN0Q4OExWO0FBQ0Y7QTZENThMUTtFQXJCSjtJQXNCUTtFN0QrOExWO0FBQ0Y7QTZENzhMUTtFQUNJO0E3RCs4TFo7QTZEMzhMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNwQngzQlU7RW9CeTNCVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0JwQmg2QlE7RW9CaTZCUjtFQUNBO0E3RDY4TFI7QTZEMzhMUTtFQWpCSjtJQWtCUTtFN0Q4OExWO0FBQ0Y7QTZENThMUTtFQXJCSjtJQXNCUTtFN0QrOExWO0FBQ0Y7QTZENzhMUTtFQUNJO0E3RCs4TFo7QTZEMzhMSTtFQUNJO0E3RDY4TFI7QTZEMzhMUTtFQUhKO0lBSVE7RTdEODhMVjtBQUNGO0E2RDM4TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Q2OExSO0E2RDE4TEk7RUFDSTtFQUNBO0VBUUE7RUFDQTtBN0RxOExSO0FvQ2h3TkU7RWYvSEk7RUFHRjtBckJnNE5KO0FzQnYxTk07RURyQ0U7RUFDQTtBckIrM05SO0FvQ3R2TkU7RWZqSkk7RUFHRjtBckJ3NE5KO0FzQi8xTk07RURyQ0U7RUFDQTtBckJ1NE5SO0FzQy9tTkU7RWpCN1JFO0FyQis0Tko7QW9DbDBORTs7O0V2QnpDRTtBYmczTko7QW9DM3pORTs7O0VBSUksaUJHOUZrQjtBdkMwNU54QjtBb0M1ME5FOzs7RXZCekNFO0FiMDNOSjtBb0NqMU5FOzs7RXZCekNFO0FiKzNOSjtBc0NodE5JO0V6Qi9LQTtBYms0Tko7QTZENytMUTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFN0RnL0xWO0FBQ0Y7QTZEOStMUTtFQUNJO0E3RGcvTFo7QTZENytMUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNCcEJuK0JJO0VvQm8rQko7QTdEKytMWjtBNkQ3K0xZO0VBVko7SUFXUTtFN0RnL0xkO0FBQ0Y7QTZENytMUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QrK0xaO0E2RDcrTFk7RUFkSjtJQWVRO0lBQ0E7SUFDQTtFN0RnL0xkO0FBQ0Y7QTZENytMUTtFQUNJO0VBQ0E7QTdEKytMWjtBNkQ3K0xZO0VBSko7SUFLUTtFN0RnL0xkO0FBQ0Y7QTZEOStMWTtFQUNJO0E3RGcvTGhCO0E2RDkrTGdCO0VBSEo7SUFJUTtFN0RpL0xsQjtBQUNGO0E2RC8rTGdCO0VBQ0k7QTdEaS9McEI7QTZELytMb0I7RUFISjtJQUlRO0U3RGsvTHRCO0FBQ0Y7QTZENytMUTs7RUFFSTtFQUNBLGNwQmxoQ1E7QXpDaWdPcEI7QTZENytMWTtFQUxKOztJQU1RO0lBQ0E7RTdEaS9MZDtBQUNGO0E2RDUrTFk7RUFDSTtBN0Q4K0xoQjtBNkQxK0xRO0VBQ0ksY3BCbGlDUTtBekM4Z09wQjtBNkR6K0xRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0QyK0xaO0E2RHQrTFE7RUFESjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTdEeStMVjtBQUNGO0E2RHYrTFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBN0R5K0xaO0E2RHYrTFk7RUFOSjtJQU9RO0U3RDArTGQ7QUFDRjtBNkR0K0xZO0VBREo7SUFFUTtJQUNBO0U3RHkrTGQ7QUFDRjtBNkRyK0xZO0VBQ0k7QTdEdStMaEI7QTZEcitMZ0I7RUFISjtJQUlRO0U3RHcrTGxCO0FBQ0Y7QTZEcCtMUTs7RUFFSTtBN0RzK0xaO0E2RHArTFk7RUFKSjs7SUFLUTtJQUNBO0U3RHcrTGQ7QUFDRjtBNkRsK0xRO0VBREo7SUFFUTtJQUNBO0lBQ0E7RTdEcStMVjtBQUNGO0E2RGwrTFk7RUFESjtJQUVRO0lBQ0E7RTdEcStMZDtBQUNGO0E2RGwrTGdCO0VBREo7SUFFUTtFN0RxK0xsQjtBQUNGO0E2RDk5TGdCO0VBREo7SUFFUTtJQUNBO0U3RGkrTGxCO0FBQ0Y7QTZEOTlMb0I7RUFESjtJQUVRO0U3RGkrTHRCO0FBQ0Y7QTZEeDlMb0I7RUFESjtJQUVRO0U3RDI5THRCO0FBQ0Y7QTZEeDlMd0I7RUFESjtJQUVRO0U3RDI5TDFCO0FBQ0Y7QTZEcDlMWTtFQURKO0lBRVE7RTdEdTlMZDtBQUNGO0E2RGw5TEk7RUFDSTtFQUNBO0E3RG85TFI7QTZEbDlMUTtFQUNJO0VBQ0E7QTdEbzlMWjtBNkRqOUxZO0VBTEo7SUFNUTtFN0RvOUxkO0FBQ0Y7QTZEaDlMSTtFQUNJO0E3RGs5TFI7QTZEaDlMUTtFQUNJO0E3RGs5TFo7QTZELzhMUTtFQUNJO0VBQ0E7QTdEaTlMWjtBNkQvOExZO0VBSko7SUFLUTtFN0RrOUxkO0FBQ0Y7QTZEaDlMWTtFQVJKO0lBU1E7RTdEbTlMZDtBQUNGO0E2RC84TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0RpOUxSO0E2RC84TFE7RUFDSTtBN0RpOUxaO0E2RDk4TFE7RUFDSTtBN0RnOUxaO0E2RDc4TFE7RUFqQko7SUFrQlE7SUFDQTtJQUNBO0lBQ0E7RTdEZzlMVjtBQUNGO0E2RDc4TFk7RUFFSTtBN0Q4OExoQjtBNkR6OExJO0VBQ0k7QTdEMjhMUjs7QTZEcjhMSTtFQUNJO0VBQ0E7QTdEdzhMUjtBNkR0OExRO0VBQ0k7RUFDQTtBN0R3OExaO0E2RHI4TFE7RUFDSSx5QnBCdnVDTztBekM4cU9uQjtBNkRuOExJO0VBQ0k7RUFDQTtBN0RxOExSO0E2RG44TFE7RUFDSSxjcEJydUNNO0F6QzBxT2xCO0E2RGw4TFE7RUFDSSxjcEJyeENXO0F6Q3l0T3ZCO0E2RGo4TFE7RUFDSSxjcEIzdUNJO0F6QzhxT2hCOztBNkQ3N0xJO0VBQ0k7QTdEZzhMUjs7QTZENTdMQTtFQUNJO0E3RCs3TEo7QTZENzdMSTtFQUNJO0E3RCs3TFI7QTZENTdMSTtFQUNJO0E3RDg3TFI7QTZEMzdMSTtFQUNJO0VBQ0E7QTdENjdMUjs7QTZEejdMQTtFQUNJO0VBQ0E7QTdENDdMSjtBNkQxN0xJO0VBQ0k7QTdENDdMUjs7QTZEeDdMQTtFQUNJO0E3RDI3TEo7O0E2RHY3TEk7RUFDSTtBN0QwN0xSO0E2RHg3TFE7RUFISjtJQUlRO0U3RDI3TFY7QUFDRjtBNkR6N0xRO0VBUEo7SUFRUTtFN0Q0N0xWO0FBQ0Y7QTZEMTdMUTtFQUNJO0E3RDQ3TFo7QTZEeDdMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RDA3TFI7QTZEeDdMUTtFQUNJO0E3RDA3TFo7QTZEeDdMWTtFQUhKO0lBSVE7RTdEMjdMZDtBQUNGO0E2RHo3TFk7RUFQSjtJQVFRO0lBQ0E7RTdENDdMZDtBQUNGO0E2RHo3TFE7RUFDSTtBN0QyN0xaO0E2RHY3TEk7RUFDSTs7O0lBQUE7QTdENDdMUjtBNkR2N0xRO0VBQ0k7RUFDQTtFQUNBO0E3RHk3TFo7QTZEdjdMWTtFQUNJO0E3RHk3TGhCO0E2RHY3TGdCO0VBSEo7SUFJUTtFN0QwN0xsQjtBQUNGO0E2RHI3TEk7RUFDSTtBN0R1N0xSO0E2RHA3TEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3BCMTVDUztFb0IyNUNUO0E3RHM3TFI7QTZEcDdMUTtFQXJCSjtJQXNCUTtFN0R1N0xWO0FBQ0Y7QTZEcjdMUTtFQXpCSjtJQTBCUTtFN0R3N0xWO0FBQ0Y7QTZEdDdMUTtFQUNJO0E3RHc3TFo7QTZEcjdMUTtFQUNJO0E3RHU3TFo7QTZEcDdMUTtFQUNJO0E3RHM3TFo7QTZEbjdMUTtFQUNJO0E3RHE3TFo7QTZEbjdMWTtFQUNJO0E3RHE3TGhCO0E2RGw3TFk7RUFDSTtBN0RvN0xoQjtBNkQ5NkxRO0VBQ0k7RUFDQTtBN0RnN0xaO0E2RDk2TFk7RUFKSjtJQUtRO0U3RGk3TGQ7QUFDRjtBNkQ3NkxJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RCs2TFI7QTZENzZMUTtFQUNJO0E3RCs2TFo7QTZENzZMWTtFQUhKO0lBSVE7RTdEZzdMZDtBQUNGO0E2RDc2TFE7RUFDSTtBN0QrNkxaO0E2RDc2TFk7RUFISjtJQUlRO0U3RGc3TGQ7QUFDRjtBNkQ3NkxRO0VBQ0k7QTdEKzZMWjtBNkQ3NkxZO0VBSEo7SUFJUTtJQUNBO0U3RGc3TGQ7QUFDRjtBNkQ3NkxRO0VBakNKO0lBa0NRO0U3RGc3TFY7QUFDRjtBNkQ3NkxZO0VBRUk7QTdEODZMaEI7O0E2RHY2TEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RDA2TEY7O0E2RHI2TEM7RUFDQztBN0R3NkxGOztBNkRwNkxBO0VBQ0k7QTdEdTZMSjtBNkRyNkxJO0VBSEo7SUFJUTtFN0R3NkxOO0FBQ0Y7O0ErRHY3T0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0EvRHk3T0o7QStEdjdPSTtFQVhKO0lBYVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9EeTdPTjtBQUNGOztBK0R0N09BO0VBQ0ksV3RCVlk7RXNCV1o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9EeTdPSjtBK0R2N09JO0VBaEJKO0lBaUJRO0lBQ0E7SUFDQSx5QnRCUVE7SXNCUFI7SUFDQTtJQUNBO0UvRDA3T047QUFDRjtBK0R2N09RO0VBREo7SUFFUSx5QnRCOUNXO0V6Q3crT3JCO0FBQ0Y7QStEdDdPUTtFQURKO0lBRVEseUJ0QlJNO0V6Q2k4T2hCO0FBQ0Y7QStEdDdPSTtFQUNJLFd0Qi9DUTtBekN1K09oQjtBK0RyN09JO0VBQ0k7RUFDQSx5QnRCbEVTO0VzQm1FVCxXdEJyRFE7RXNCc0RSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRHU3T1I7QStEcjdPUTtFQWZKO0lBZ0JRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9EdzdPVjtBQUNGO0ErRHQ3T1E7RUFDSSx5QnRCcEZXO0F6QzRnUHZCO0ErRHQ3T1k7RUFISjtJQUlRO0UvRHk3T2Q7QUFDRjtBK0R0N09RO0VBQ0kseUJ0QmhETTtBekN3K09sQjtBK0R0N09ZO0VBSEo7SUFJUTtFL0R5N09kO0FBQ0Y7QStEdDdPUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRHc3T1o7QStEdDdPWTtFQVpKO0lBYVE7RS9EeTdPZDtBQUNGO0ErRHY3T1k7RUFDSTtFQUNBO0VBQ0E7QS9EeTdPaEI7QStEdjdPZ0I7RUFMSjtJQU1RO0UvRDA3T2xCO0FBQ0Y7QStEdjdPWTtFQUNJO0VBQ0E7RUFDQTtBL0R5N09oQjtBK0R2N09nQjtFQUxKO0lBTVE7RS9EMDdPbEI7QUFDRjtBK0RyN09JO0VBQ0kseUJ0QjlJUztFc0IrSVQ7RUFDQTtFQUNBO0VBQ0E7QS9EdTdPUjtBK0RyN09RO0VBQ0kseUJ0QmpKVztBekN3a1B2QjtBK0RwN09RO0VBQ0kseUJ0QnpHTTtBekMraFBsQjtBK0RuN09RO0VBZko7SUFnQlE7SUFDQTtJQUNBO0UvRHM3T1Y7QUFDRjtBK0RuN09ZO0VBREo7SUFFUTtFL0RzN09kO0FBQ0Y7QStEbDdPWTtFQURKO0lBRVE7RS9EcTdPZDtBQUNGO0ErRGo3T0k7RUFDSSxXdEJsS1E7RXNCbUtSO0EvRG03T1I7O0FnRXJtUEk7RUFDSTtBaEV3bVBSO0FnRXJtUEk7RUFDSTtFQUNBO0FoRXVtUFI7QWdFcm1QUTtFQUpKO0lBS1E7RWhFd21QVjtBQUNGO0FnRXRtUFE7RUFSSjtJQVNRO0VoRXltUFY7QUFDRjtBZ0V2bVBRO0VBWko7SUFhUTtFaEUwbVBWO0FBQ0Y7QWdFeG1QUTtFQWhCSjtJQWlCUTtFaEUybVBWO0FBQ0Y7QWdFem1QUTtFQXBCSjtJQXFCUTtFaEU0bVBWO0FBQ0Y7QWdFeG1QUTtFQUNJO0VBQ0E7QWhFMG1QWjtBZ0V4bVBZO0VBSko7SUFLUTtFaEUybVBkO0FBQ0Y7QWdFem1QWTtFQVJKO0lBU1E7RWhFNG1QZDtBQUNGO0FnRXhtUEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEUwbVBSO0FnRXhtUFE7RUFsQko7SUFtQlE7SUFDQTtJQUNBO0VoRTJtUFY7QUFDRjtBZ0V6bVBRO0VBRUk7RUFDQTtBaEUwbVBaOztBaUVsclBJO0VBQ0k7QWpFcXJQUjs7QWlFanJQQTtFQUNJO0FqRW9yUEo7O0FpRWpyUEE7RUFDSTtBakVvclBKO0FpRWxyUEk7RUFDSTtBakVvclBSO0FpRWxyUFE7RUFISjtJQUlRO0VqRXFyUFY7QUFDRjs7QWtFcnNQSTtFQUNFO0FsRXdzUE47QWtFcnNQSTtFQUNFO0FsRXVzUE47QWtFbnNQRTtFQUNFO0lBQ0U7RWxFcXNQSjtBQUNGOztBa0Voc1BFO0VBQ0U7RUFDQTtBbEVtc1BKO0FrRWpzUEk7RUFDRTtFQUNBO0FsRW1zUE47QWtFL3JQRTtFQUNFO0VBQ0E7QWxFaXNQSjtBa0UvclBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxFaXNQTjtBa0U5clBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRWdzUE47QWtFN3JQSTtFQUNFO0FsRStyUE47QWtFN3JQTTtFQUNFO0FsRStyUFI7QWtFMXJQTTtFQUNFO0FsRTRyUFI7QWtFeHJQSTs7RUFFRTtBbEUwclBOO0FrRXRyUEU7RUFDRTtFQUNBO0VBQ0E7QWxFd3JQSjtBa0VyclBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxFdXJQSjtBa0VwclBFO0VBQ0U7QWxFc3JQSjtBa0VuclBFO0VBQ0U7RUFDQTtBbEVxclBKO0FrRWxyUEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRW9yUEo7QWtFanJQRTtFQUNFO0VBQ0E7RUFDQTtBbEVtclBKO0FrRWpyUEk7RUFDRTtFQUNBO0VBQ0E7QWxFbXJQTjs7QWtFN3FQRTtFQUNFO0VBQ0E7QWxFZ3JQSjtBa0U3cVBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEUrcVBKO0FrRTVxUEU7RUFDRTtFQUNBO0VBQ0E7QWxFOHFQSjtBa0U1cVBJO0VBQ0U7RUFDQTtFQUNBO0FsRThxUE4sQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2xpYi9fb3ZlcnJpZGUtYm9vdHN0cmFwNC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvcGFnZXMvc2Nob29sLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdG9hc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NoZWNrYm94L19rZXlmcmFtZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2NoZWNrYm94L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2FuaW1hdGlvbi9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9jaGVja2JveC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC90aGVtZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yaXBwbGUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcmlwcGxlL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RvdWNoLXRhcmdldC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9yaXBwbGUvX2tleWZyYW1lcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZWxldmF0aW9uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2RpYWxvZy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9kaWFsb2cvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2hhcGUvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvcnRsL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3R5cG9ncmFwaHkvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvZm9ybS1maWVsZC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9saXN0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2xpc3QvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvbWVudS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51L192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL21lbnUtc3VyZmFjZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9tZW51LXN1cmZhY2UvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L2hlbHBlci10ZXh0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9pY29uL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9pY29uL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL2xpbmUtcmlwcGxlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWwvc2VsZWN0L19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3NlbGVjdC9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX21hdGVyaWFsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2xpYi9fcHJvamVjdC12YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9faGVyby1wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fYXNpZGUtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19maWxlLWRvd25sb2FkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2FzaWRlLWhlYWRlci1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fcmVhZC10b28uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2Nob29sLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2VlLWFsc28uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fY2FyZC0yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbnMtbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3RleHRmaWVsZC9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3RlYXNlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19kZWNvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3RlYXNlci0zNjUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdGVhc2VyLXNob3J0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX2ZpbGUtdHlwZXMtaWNvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3VuaWNlZi9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fc2VhcmNoLXNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19zaXRlLWZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsL3JhZGlvL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbW9kYWwtZnVsbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy91bmljZWYvc2Nzcy9jb21wb25lbnRzL19tYWluLXBhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvdW5pY2VmL3Njc3MvY29tcG9uZW50cy9fbW9kYWwtbmV3c2xldHRlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBjb2xvcjogJHRhYmxlLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmc7IC8vIFJlc2V0IGZvciBuZXN0aW5nIHdpdGhpbiBwYXJlbnRzIHdpdGggYGJhY2tncm91bmQtY29sb3JgLlxuXG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCkgc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXIgdmVyc2lvbnNcbi8vXG4vLyBBZGQgb3IgcmVtb3ZlIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgsXG4gIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYWNjZW50LWJnO1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICB0Ym9keSB0ciB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstYWNjZW50LWJnO1xuICAgIH1cbiAgfVxuXG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBjb2xvcjogJHRhYmxlLWRhcmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmY7XG4kZ3JheS0xMDA6ICNmOGY5ZmE7XG4kZ3JheS0yMDA6ICNlOWVjZWY7XG4kZ3JheS0zMDA6ICNkZWUyZTY7XG4kZ3JheS00MDA6ICNjZWQ0ZGE7XG4kZ3JheS01MDA6ICNhZGI1YmQ7XG4kZ3JheS02MDA6ICM2Yzc1N2Q7XG4kZ3JheS03MDA6ICM0OTUwNTc7XG4kZ3JheS04MDA6ICMzNDNhNDA7XG4kZ3JheS05MDA6ICMyMDFkMWQ7XG4kYmxhY2s6ICAgICMwMDA7XG5cbiRncmF5czogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIzMDBcIjogJGdyYXktMzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI2MDBcIjogJGdyYXktNjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCI5MDBcIjogJGdyYXktOTAwXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAkcHJvamVjdC1wcmltYXJ5OyAvLyBtb2QgIzAwN2JmZjs7XG4kaW5kaWdvOiAgIzY2MTBmMjtcbiRwdXJwbGU6ICAjNmY0MmMxO1xuJHBpbms6ICAgICNlODNlOGM7XG4kcmVkOiAgICAgI2RjMzU0NTtcbiRvcmFuZ2U6ICAjZmQ3ZTE0O1xuJHllbGxvdzogICNmZmMxMDc7XG4kZ3JlZW46ICAgIzI4YTc0NTtcbiR0ZWFsOiAgICAjMjBjOTk3O1xuJGN5YW46ICAgICMxN2EyYjg7XG5cbiRjb2xvcnM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlO1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW47XG4kaW5mbzogICAgICAgICAgJGN5YW47XG4kd2FybmluZzogICAgICAgJHllbGxvdztcbiRkYW5nZXI6ICAgICAgICAkcmVkO1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDA7XG5cbiR0aGVtZS1jb2xvcnM6ICgpO1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglO1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTA7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMDtcbiR5aXEtdGV4dC1saWdodDogICAgICAgICAgICAkd2hpdGU7XG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgICAgICAgICAgICAgICAoXCI8XCIsXCIlM2NcIiksXG4gICAgICAgICAgICAgICAgKFwiPlwiLFwiJTNlXCIpLFxuICAgICAgICAgICAgICAgIChcIiNcIixcIiUyM1wiKSxcbik7XG5cblxuLy8gT3B0aW9uc1xuLy9cbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cblxuJGVuYWJsZS1jYXJldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtc2hhZG93czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZTtcbiRlbmFibGUtZ3JhZGllbnRzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZTtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5OiAgIHRydWU7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgICAgICAgICAgICAgICAgICAgZmFsc2U7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS1wb2ludGVyLWN1cnNvci1mb3ItYnV0dG9uczogICAgICAgICAgIHRydWU7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZTtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiAgICAgICAgICAgICAgICB0cnVlO1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWU7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZTtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbTtcbiRzcGFjZXJzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDM6ICRzcGFjZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgICAgICAgICAgICAgICAgICAgICA1OiAoJHNwYWNlciAqIDMpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAyNTogMjUlLFxuICAgICAgICAgICAgICAgICAgICAgICAgNTA6IDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDc1OiA3NSUsXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDA6IDEwMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvOiBhdXRvXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkc2l6ZXNcbik7XG5cblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDA7XG5cblxuLy8gTGlua3Ncbi8vXG4vLyBTdHlsZSBhbmNob3IgZWxlbWVudHMuXG5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcm9qZWN0LWJsdWUtZDUwMDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmU7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZTtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSU7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtO1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAgICAgeHM6IDAsXG4gICAgICAgIHNtOiA0ODBweCxcbiAgICAgICAgbWQ6IDc2OHB4LFxuICAgICAgICBsZzogOTkycHgsXG4gICAgICAgIHhsOiAxMjAwcHgsXG4gICAgICAgIGhnOiAxNDIwcHhcbik7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICAgICAgc206IDU0MHB4LFxuICAgICAgICBtZDogNzUwcHgsXG4gICAgICAgIGxnOiA5NjBweCxcbiAgICAgICAgeGw6IDExNDBweCxcbiAgICAgICAgaGc6ICRzaXRlLWNvbnRhaW5lclxuKTtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTI7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNjtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjU7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjU7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW07XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbTtcblxuJHJvdW5kZWQtcGlsbDogICAgICAgICAgICAgICAgNTByZW07XG5cbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpO1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpO1xuJGJveC1zaGFkb3ctbGc6ICAgICAgICAgICAgICAgMCAxcmVtIDNyZW0gcmdiYSgkYmxhY2ssIC4xNzUpO1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGU7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG5cbiRjYXJldC13aWR0aDogICAgICAgICAgICAgICAgIC4zZW07XG4kY2FyZXQtdmVydGljYWwtYWxpZ246ICAgICAgICAkY2FyZXQtd2lkdGggKiAuODU7XG4kY2FyZXQtc3BhY2luZzogICAgICAgICAgICAgICAkY2FyZXQtd2lkdGggKiAuODU7XG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyO1xuJHRyYW5zaXRpb24tY29sbGFwc2U6ICAgICAgICAgaGVpZ2h0IC4zNXMgZWFzZTtcblxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogKCk7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcbiAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMjEgOSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDE2IDkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg0IDMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgJ1JvYm90b1dlYicsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtOyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjU7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyO1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwO1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwO1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyO1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsO1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjU7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyO1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NTtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNTtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjU7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2U7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICRzcGFjZXIgLyAyO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgbnVsbDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMjtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIG51bGw7XG5cbiRkaXNwbGF5MS1zaXplOiAgICAgICAgICAgICAgIDZyZW07XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW07XG4kZGlzcGxheTMtc2l6ZTogICAgICAgICAgICAgICA0LjVyZW07XG4kZGlzcGxheTQtc2l6ZTogICAgICAgICAgICAgICAzLjVyZW07XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDMwMDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAgICAgICAgICRoZWFkaW5ncy1saW5lLWhlaWdodDtcblxuJGxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlO1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDA7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMDtcbiRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZTogICRzbWFsbC1mb250LXNpemU7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEpO1xuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjJlbTtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSk7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAkZm9udC13ZWlnaHQtYm9sZDtcblxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW07XG5cbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICNmY2Y4ZTM7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXI7XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAuNzVyZW07XG4kdGFibGUtY2VsbC1wYWRkaW5nLXNtOiAgICAgICAuM3JlbTtcblxuJHRhYmxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3I7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICBudWxsO1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSk7XG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3I7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSk7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmc7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYm9yZGVyLWNvbG9yO1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDA7XG5cbiR0YWJsZS1kYXJrLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZTtcbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTgwMDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpO1xuJHRhYmxlLWRhcmstaG92ZXItY29sb3I6ICAgICAgJHRhYmxlLWRhcmstY29sb3I7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSk7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCR0YWJsZS1kYXJrLWJnLCA3LjUlKTtcblxuJHRhYmxlLXN0cmlwZWQtb3JkZXI6ICAgICAgICAgb2RkO1xuXG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAkdGV4dC1tdXRlZDtcblxuJHRhYmxlLWJnLWxldmVsOiAgICAgICAgICAgICAgLTk7XG4kdGFibGUtYm9yZGVyLWxldmVsOiAgICAgICAgICAtNjtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbTtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGw7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2U7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZTtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW07XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpO1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yO1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbTtcbiRpbnB1dC1idG4tZm9udC1zaXplLXNtOiAgICAgICRmb250LXNpemUtc207XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAkbGluZS1oZWlnaHQtc207XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC41cmVtO1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMXJlbTtcbiRpbnB1dC1idG4tZm9udC1zaXplLWxnOiAgICAgICRmb250LXNpemUtbGc7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGc7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGg7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteTtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseTtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplO1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGw7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc207XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbTtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtO1xuJGJ0bi1saW5lLWhlaWdodC1zbTogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTtcblxuJGJ0bi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc7XG4kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZztcbiRidG4tZm9udC1zaXplLWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnO1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZztcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWw7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpO1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdztcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NTtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSk7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW07XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGc7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbTtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0O1xuXG5cbi8vIEZvcm1zXG5cbiRsYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAuNXJlbTtcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14O1xuJGlucHV0LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHk7XG4kaW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemU7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJhc2U7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodDtcblxuJGlucHV0LXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtO1xuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtO1xuJGlucHV0LWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtO1xuJGlucHV0LWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc207XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZztcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZztcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZztcbiRpbnB1dC1saW5lLWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnO1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTcwMDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheS00MDA7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KTtcblxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnO1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtO1xuXG4kaW5wdXQtZm9jdXMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDI1JSk7XG4kaW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGlucHV0LWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGg7XG4kaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yO1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAqIDI7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCAkaW5wdXQtcGFkZGluZy15ICogMik7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW0sICRpbnB1dC1wYWRkaW5nLXkpO1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbSwgJGlucHV0LXBhZGRpbmcteSAvIDIpO1xuXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXkgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKTtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0LXNtICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpO1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LWxnICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSk7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtO1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbTtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbTtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW07XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW07XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW07XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW07XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3I7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbTtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtO1xuJGN1c3RvbS1jb250cm9sLWN1cnNvcjogICAgICAgICAgICAgICAgIG51bGw7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRpbnB1dC1iZztcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplOiAgICAgIDUwJSA1MCU7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3c6ICAgJGlucHV0LWJveC1zaGFkb3c7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogJGdyYXktNTAwO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG5cbiRjdXN0b20tY29udHJvbC1sYWJlbC1jb2xvcjogICAgICAgICAgICBudWxsO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmc7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDA7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZTtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZztcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSk7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8+PC9zdmc+XCIpO1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yO1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCc+PHBhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLz48L3N2Zz5cIik7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6ICAgbm9uZTtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnO1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCU7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKTtcblxuJGN1c3RvbS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplICogMS43NTtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAvIDI7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICBzdWJ0cmFjdCgkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUsICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNCk7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXk7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgJGlucHV0LWZvbnQtc2l6ZTtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtOyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodDtcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDA7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnPjxwYXRoIGZpbGw9JyN7JGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvPjwvc3ZnPlwiKTtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgIGVzY2FwZS1zdmcoJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yKSBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemU7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogYWRkKDFlbSAqIC43NSwgKDIgKiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXkgKiAuNzUpICsgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpO1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgICBjZW50ZXIgcmlnaHQgKCRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nKTtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZjtcblxuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3I7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRjdXN0b20tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSk7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aDogICAgICAgICAkaW5wdXQtZm9jdXMtd2lkdGg7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiAgICAwIDAgMCAkY3VzdG9tLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yO1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktc206ICAgICAgICAkaW5wdXQtcGFkZGluZy15LXNtO1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1zbTtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc207XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtO1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnO1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteC1sZztcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1sZzogICAgICAgICRpbnB1dC1mb250LXNpemUtbGc7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc6ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWxnO1xuXG4kY3VzdG9tLXJhbmdlLXRyYWNrLXdpZHRoOiAgICAgICAgICAxMDAlO1xuJGN1c3RvbS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgLjVyZW07XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyO1xuJGN1c3RvbS1yYW5nZS10cmFjay1iZzogICAgICAgICAgICAgJGdyYXktMzAwO1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbTtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm94LXNoYWRvdzogICAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpO1xuXG4kY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoOiAgICAgICAgICAgICAgICAgICAxcmVtO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW07XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIC4xcmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpO1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gSUUvRWRnZVxuJGN1c3RvbS1yYW5nZS10aHVtYi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKTtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICRncmF5LTUwMDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodDtcbiRjdXN0b20tZmlsZS1oZWlnaHQtaW5uZXI6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4kY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmc7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXk7XG4kY3VzdG9tLWZpbGUtcGFkZGluZy14OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0O1xuJGN1c3RvbS1maWxlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgJGlucHV0LWZvbnQtZmFtaWx5O1xuJGN1c3RvbS1maWxlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yO1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnO1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aDtcbiRjdXN0b20tZmlsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRpbnB1dC1ib3JkZXItY29sb3I7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogICAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiAgICAgICAgICAgICRpbnB1dC1ib3gtc2hhZG93O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjogICAgICAgICAgJGN1c3RvbS1maWxlLWNvbG9yO1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuJGN1c3RvbS1maWxlLXRleHQ6IChcbiAgICAgICAgZW46IFwiQnJvd3NlXCJcbik7XG5cblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemU7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIik7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKTtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIik7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yO1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyB2aWV3Qm94PScwIDAgMTIgMTInPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIik7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKTtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRcIjogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG4pO1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDA7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwO1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDA7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwO1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzA7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbTtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW07XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDA7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTMwMDtcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICRncmF5LTIwMCAkZ3JheS0yMDAgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRncmF5LTcwMDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRib2R5LWJnO1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogJGdyYXktMzAwICRncmF5LTMwMCAkbmF2LXRhYnMtbGluay1hY3RpdmUtYmc7XG5cbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcblxuJG5hdi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJG5hdi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICAgICAgJHNwYWNlciAvIDI7XG5cblxuLy8gTmF2YmFyXG5cbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgLyAyO1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlcjtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW07XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGc7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDI7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyO1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW07XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW07XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnO1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzO1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpO1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSk7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGU7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KTtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzMwJyBoZWlnaHQ9JzMwJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvPjwvc3ZnPlwiKTtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSk7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSk7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpO1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KTtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMyk7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpO1xuJG5hdmJhci1saWdodC10b2dnbGVyLWJvcmRlci1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKTtcblxuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW07XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbTtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW07XG4kZHJvcGRvd24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2U7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTUpO1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJGRyb3Bkb3duLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgc3VidHJhY3QoJGRyb3Bkb3duLWJvcmRlci1yYWRpdXMsICRkcm9wZG93bi1ib3JkZXItd2lkdGgpO1xuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJG5hdi1kaXZpZGVyLW1hcmdpbi15O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTc1KTtcblxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktOTAwO1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRncmF5LTkwMCwgNSUpO1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGdyYXktMTAwO1xuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcjtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDA7XG5cbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbTtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgIDEuNXJlbTtcblxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktNjAwO1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW07XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW07XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW07XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbTtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbTtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjU7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yO1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93O1xuJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTogICAgICAgICAgMDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3I7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDA7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDA7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbTtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgICAgIG51bGw7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDA7XG5cblxuLy8gQ2FyZHNcblxuJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICAgLjc1cmVtO1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbTtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGg7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KTtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCk7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjAzKTtcbiRjYXJkLWNhcC1jb2xvcjogICAgICAgICAgICAgICAgICAgIG51bGw7XG4kY2FyZC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbTtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbjtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMztcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW07XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteTtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHg7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2s7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtO1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW07XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwO1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbTtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtO1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmc7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXg7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZTtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2U7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHk7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbTtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMik7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZztcbiRwb3BvdmVyLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgIHN1YnRyYWN0KCRwb3BvdmVyLWJvcmRlci1yYWRpdXMsICRwb3BvdmVyLWJvcmRlci13aWR0aCk7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpO1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKTtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvcjtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtO1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtO1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvcjtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtO1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW07XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZztcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSk7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtO1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtO1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbTtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KTtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpO1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSk7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpO1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpO1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSU7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtO1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbTtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb247XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoO1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtO1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW07XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbTtcblxuLy8gTWFyZ2luIGJldHdlZW4gZWxlbWVudHMgaW4gZm9vdGVyLCBtdXN0IGJlIGxvd2VyIHRoYW4gb3IgZXF1YWwgdG8gMiAqICRtb2RhbC1pbm5lci1wYWRkaW5nXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbTtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW07XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtO1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZTtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZTtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMik7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGc7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpO1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC41KTtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjUpO1xuXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICAgICAkYmxhY2s7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICAgICAuNTtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRib3JkZXItY29sb3I7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoO1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgMXJlbTtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAgIDFyZW07XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6ICAgICAgICAgICAgICAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteSAkbW9kYWwtaGVhZGVyLXBhZGRpbmcteDsgLy8gS2VlcCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuXG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHg7XG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICAgICAgICA4MDBweDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHg7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCk7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lO1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpO1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW07XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtO1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbTtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzO1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTA7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOTtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDY7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtO1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSk7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGU7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIik7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGU7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZTtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGw7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGU7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSk7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbTtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW07XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmc7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnO1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDA7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3I7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yO1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwO1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtO1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmc7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoO1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwO1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXM7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpO1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlO1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwO1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGw7XG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbTtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW07XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbTtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbTtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwO1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwO1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwO1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpO1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cztcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlO1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JTtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNTtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOTtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZTtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHg7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZTtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlO1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlO1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZTtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHg7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvPjwvc3ZnPlwiKTtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBkPSdNMi43NSAwbC0xLjUgMS41TDMuNzUgNGwtMi41IDIuNUwyLjc1IDhsNC00LTQtNHonLz48L3N2Zz5cIik7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnM7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW07XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtO1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW07XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtO1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtO1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNTtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkO1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrO1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGU7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JTtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rO1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbTtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtO1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplO1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlO1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwO1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDA7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuO1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3k7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTM7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpO1xuXG4iLCIudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICMyMDFkMWQ7XG59XG4udGFibGUgdGgsXG4udGFibGUgdGQge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi50YWJsZSB0aGVhZCB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjtcbn1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtO1xufVxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xufVxuLnRhYmxlLWJvcmRlcmVkIHRoLFxuLnRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbn1cbi50YWJsZS1ib3JkZXJlZCB0aGVhZCB0aCxcbi50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbn1cblxuLnRhYmxlLWJvcmRlcmxlc3MgdGgsXG4udGFibGUtYm9yZGVybGVzcyB0ZCxcbi50YWJsZS1ib3JkZXJsZXNzIHRoZWFkIHRoLFxuLnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGNvbG9yOiAjMjAxZDFkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlLXByaW1hcnksXG4udGFibGUtcHJpbWFyeSA+IHRoLFxuLnRhYmxlLXByaW1hcnkgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGU4ZmI7XG59XG4udGFibGUtcHJpbWFyeSB0aCxcbi50YWJsZS1wcmltYXJ5IHRkLFxuLnRhYmxlLXByaW1hcnkgdGhlYWQgdGgsXG4udGFibGUtcHJpbWFyeSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjN2FkNWY3O1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBlMGZhO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGUwZmE7XG59XG5cbi50YWJsZS1zZWNvbmRhcnksXG4udGFibGUtc2Vjb25kYXJ5ID4gdGgsXG4udGFibGUtc2Vjb25kYXJ5ID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiO1xufVxuLnRhYmxlLXNlY29uZGFyeSB0aCxcbi50YWJsZS1zZWNvbmRhcnkgdGQsXG4udGFibGUtc2Vjb25kYXJ5IHRoZWFkIHRoLFxuLnRhYmxlLXNlY29uZGFyeSB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjYjNiN2JiO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7XG59XG5cbi50YWJsZS1zdWNjZXNzLFxuLnRhYmxlLXN1Y2Nlc3MgPiB0aCxcbi50YWJsZS1zdWNjZXNzID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNlNmNiO1xufVxuLnRhYmxlLXN1Y2Nlc3MgdGgsXG4udGFibGUtc3VjY2VzcyB0ZCxcbi50YWJsZS1zdWNjZXNzIHRoZWFkIHRoLFxuLnRhYmxlLXN1Y2Nlc3MgdGJvZHkgKyB0Ym9keSB7XG4gIGJvcmRlci1jb2xvcjogIzhmZDE5ZTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiO1xufVxuXG4udGFibGUtaW5mbyxcbi50YWJsZS1pbmZvID4gdGgsXG4udGFibGUtaW5mbyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjtcbn1cbi50YWJsZS1pbmZvIHRoLFxuLnRhYmxlLWluZm8gdGQsXG4udGFibGUtaW5mbyB0aGVhZCB0aCxcbi50YWJsZS1pbmZvIHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICM4NmNmZGE7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTtcbn1cblxuLnRhYmxlLXdhcm5pbmcsXG4udGFibGUtd2FybmluZyA+IHRoLFxuLnRhYmxlLXdhcm5pbmcgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7XG59XG4udGFibGUtd2FybmluZyB0aCxcbi50YWJsZS13YXJuaW5nIHRkLFxuLnRhYmxlLXdhcm5pbmcgdGhlYWQgdGgsXG4udGFibGUtd2FybmluZyB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZkZjdlO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7XG59XG5cbi50YWJsZS1kYW5nZXIsXG4udGFibGUtZGFuZ2VyID4gdGgsXG4udGFibGUtZGFuZ2VyID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjNmNiO1xufVxuLnRhYmxlLWRhbmdlciB0aCxcbi50YWJsZS1kYW5nZXIgdGQsXG4udGFibGUtZGFuZ2VyIHRoZWFkIHRoLFxuLnRhYmxlLWRhbmdlciB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQ5NjllO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7XG59XG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7XG59XG5cbi50YWJsZS1saWdodCxcbi50YWJsZS1saWdodCA+IHRoLFxuLnRhYmxlLWxpZ2h0ID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZlO1xufVxuLnRhYmxlLWxpZ2h0IHRoLFxuLnRhYmxlLWxpZ2h0IHRkLFxuLnRhYmxlLWxpZ2h0IHRoZWFkIHRoLFxuLnRhYmxlLWxpZ2h0IHRib2R5ICsgdGJvZHkge1xuICBib3JkZXItY29sb3I6ICNmYmZjZmM7XG59XG5cbi50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2Y2O1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNmNjtcbn1cblxuLnRhYmxlLWRhcmssXG4udGFibGUtZGFyayA+IHRoLFxuLnRhYmxlLWRhcmsgPiB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7XG59XG4udGFibGUtZGFyayB0aCxcbi50YWJsZS1kYXJrIHRkLFxuLnRhYmxlLWRhcmsgdGhlYWQgdGgsXG4udGFibGUtZGFyayB0Ym9keSArIHRib2R5IHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU5OTljO1xufVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlO1xufVxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7XG59XG5cbi50YWJsZS1hY3RpdmUsXG4udGFibGUtYWN0aXZlID4gdGgsXG4udGFibGUtYWN0aXZlID4gdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xuICBib3JkZXItY29sb3I6ICM0NTRkNTU7XG59XG4udGFibGUgLnRoZWFkLWxpZ2h0IHRoIHtcbiAgY29sb3I6ICM0OTUwNTc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjtcbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDtcbn1cbi50YWJsZS1kYXJrIHRoLFxuLnRhYmxlLWRhcmsgdGQsXG4udGFibGUtZGFyayB0aGVhZCB0aCB7XG4gIGJvcmRlci1jb2xvcjogIzQ1NGQ1NTtcbn1cbi50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwO1xufVxuLnRhYmxlLWRhcmsudGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cbi50YWJsZS1kYXJrLnRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5Ljk4cHgpIHtcbiAgLnRhYmxlLXJlc3BvbnNpdmUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG4gIC50YWJsZS1yZXNwb25zaXZlLXNtID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudGFibGUtcmVzcG9uc2l2ZS1tZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLnRhYmxlLXJlc3BvbnNpdmUtbWQgPiAudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLWxnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1sZyA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLXhsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS14bCA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQxOS45OHB4KSB7XG4gIC50YWJsZS1yZXNwb25zaXZlLWhnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZS1oZyA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDA7XG59XG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogMC41O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI3NXJlbSArIDAuM3Z3KTtcbiAgfVxufVxuLmNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlciwgLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udG9hc3Qge1xuICBmbGV4LWJhc2lzOiAzNTBweDtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC43NXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4udG9hc3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4udG9hc3Quc2hvd2luZyB7XG4gIG9wYWNpdHk6IDE7XG59XG4udG9hc3Quc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xufVxuLnRvYXN0LmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICBjb2xvcjogIzZjNzU3ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xufVxuXG4udG9hc3QtYm9keSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5tZGMtdG91Y2gtdGFyZ2V0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHtcbiAgMCUsIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDI5Ljc4MzMzODU7XG4gIH1cbiAgNTAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgMCUsIDY4LjIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICA2OC4yJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yOS43ODMzMzg1O1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrIHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gIGZyb20ge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IG1kYy1hbmltYXRpb24tZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmsge1xuICAwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMzIuOCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIDE4cHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBwYWRkaW5nOiAxMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1cyAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxODc4NjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdG9wOiAxMXB4O1xuICBsZWZ0OiAxMXB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHRvcDogLTEzcHg7XG4gIGxlZnQ6IC0xM3B4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0pIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXNlY29uZGFyeSwgIzAxODc4Nik7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5IHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAxODc4NjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc2Vjb25kYXJ5LCAjMDE4Nzg2KTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC04QTAwMDAwMHNlY29uZGFyeTAwMDAwMDAwc2Vjb25kYXJ5IHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE4Nzg2O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTg3ODY7XG4gICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1zZWNvbmRhcnksICMwMTg3ODYpO1xuICB9XG4gIDEwMCUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLThBMDAwMDAwc2Vjb25kYXJ5MDAwMDAwMDBzZWNvbmRhcnk7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtOEEwMDAwMDBzZWNvbmRhcnkwMDAwMDAwMHNlY29uZGFyeTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOm5vdCg6Y2hlY2tlZCk6bm90KDppbmRldGVybWluYXRlKTpub3QoW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSkgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGlzYWJsZWRdOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdW2Rpc2FibGVkXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0pIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdW2Rpc2FibGVkXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgY29sb3I6IEdyYXlUZXh0O1xuICB9XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gIH1cbiAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICBtYXJnaW46IDAgMXB4O1xuICB9XG59XG4ubWRjLWNoZWNrYm94LS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCBib3JkZXItY29sb3IgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDE4MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAzLjEycHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAyOS43ODMzMzg1O1xuICBzdHJva2UtZGFzaGFycmF5OiAyOS43ODMzMzg1O1xufVxuXG4ubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKSByb3RhdGUoMGRlZyk7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSksIHRyYW5zZm9ybSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuLm1kYy1jaGVja2JveC0tdXBncmFkZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgsXG4ubWRjLWNoZWNrYm94LS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAubWRjLWNoZWNrYm94LS1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTgwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIDE4MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmsgOTBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLXBhdGgge1xuICBhbmltYXRpb246IG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayA5MG1zIGxpbmVhciAwcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFyayA1MDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmsgNTAwbXMgbGluZWFyIDBzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ubWRjLWNoZWNrYm94LS1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAzMDBtcyBsaW5lYXIgMHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDkwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCxcbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xufVxuXG4ubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSwgdHJhbnNmb3JtIDkwbXMgMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSk7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmZvY3VzIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMC4xMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA4MG1zIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDgwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1jaGVja2JveC0tdG91Y2gge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5tZGMtY2hlY2tib3gtLXRvdWNoIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgdG9wOiAtNHB4O1xuICByaWdodDogLTRweDtcbiAgbGVmdDogLTRweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSksIHRyYW5zZm9ybSAxODBtcyAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmssXG4ubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MG1zIDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpLCB0cmFuc2Zvcm0gOTBtcyAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cblxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrLFxuLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4ge1xuICBmcm9tIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IHtcbiAgZnJvbSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIG9wYWNpdHk6IHZhcigtLW1kYy1yaXBwbGUtZmctb3BhY2l0eSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5tZGMtY2hlY2tib3gge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb24gLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cblxuLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG59XG5cbi5tZGMtY2hlY2tib3g6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLWNoZWNrYm94Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1jaGVja2JveDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gNTAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIGNhbGMoNTAlIC0gNTAlKSk7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbi5tZGMtY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cblxuLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5tZGMtZGlhbG9nLFxuLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDc7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zMik7XG59XG5cbi5tZGMtZGlhbG9nIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5tZGMtZGlhbG9nLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlLCAubWRjLWRpYWxvZy5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTJweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1OTJweCkge1xuICAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlKi9cbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4ubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3gtc2hhZG93OiAwcHggMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5tZGMtZGlhbG9nX19zdXJmYWNlIC5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3N1cmZhY2UsIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LWZvbnQtc2l6ZSwgMS4yNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtbGluZS1oZWlnaHQsIDJyZW0pO1xuICBmb250LXdlaWdodDogNTAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1oZWFkbGluZTYtZm9udC13ZWlnaHQsIDUwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxMjVlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LWxldHRlci1zcGFjaW5nLCAwLjAxMjVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWhlYWRsaW5lNi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktaGVhZGxpbmU2LXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDI0cHggOXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1kaWFsb2dbZGlyPXJ0bF0gLm1kYy1kaWFsb2dfX3RpdGxlLCBbZGlyPXJ0bF0gLm1kYy1kaWFsb2cgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWZvbnQtc2l6ZSwgMXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLWxpbmUtaGVpZ2h0LCAxLjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTEtbGV0dGVyLXNwYWNpbmcsIDAuMDMxMjVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkxLXRleHQtZGVjb3JhdGlvbiwgaW5oZXJpdCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5MS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5tZGMtZGlhbG9nX19jb250ZW50ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tZGMtZGlhbG9nX190aXRsZSArIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiA2cHggMCAwO1xufVxuXG4ubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYWN0aW9ucyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLm1kYy1kaWFsb2dfX2J1dHRvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b24sIC5tZGMtZGlhbG9nX19idXR0b25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkLCAubWRjLWRpYWxvZ19fYnV0dG9uOmZpcnN0LWNoaWxkW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZGMtZGlhbG9nW2Rpcj1ydGxdIC5tZGMtZGlhbG9nX19idXR0b24sIFtkaXI9cnRsXSAubWRjLWRpYWxvZyAubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgLyogQG5vZmxpcCAqL1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubWRjLWRpYWxvZy0tc3RhY2tlZCAubWRjLWRpYWxvZ19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW4sXG4ubWRjLWRpYWxvZy0tb3BlbmluZyxcbi5tZGMtZGlhbG9nLS1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1kYy1kaWFsb2ctLW9wZW5pbmcgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuaW5nIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyLCB0cmFuc2Zvcm0gMTUwbXMgMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fc2NyaW0sXG4ubWRjLWRpYWxvZy0tY2xvc2luZyAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA3NW1zIGxpbmVhcjtcbn1cblxuLm1kYy1kaWFsb2ctLWNsb3NpbmcgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtZGlhbG9nLS1vcGVuIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXNpemUsIDFyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGV0dGVyLXNwYWNpbmcsIDAuMDA5Mzc1ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIDI1MG1zIDE7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuLm1kYy1mb3JtLWZpZWxkIHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1mb250LXNpemUsIDAuODc1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWxpbmUtaGVpZ2h0LCAxLjI1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXdlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxNzg1NzE0MjllbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItbGV0dGVyLXNwYWNpbmcsIDAuMDE3ODU3MTQyOWVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubWRjLWZvcm0tZmllbGQgPiBsYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG9yZGVyOiAwO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1mb3JtLWZpZWxkID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkID4gbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG5cbi5tZGMtZm9ybS1maWVsZC0tbm93cmFwID4gbGFiZWwge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1kYy1mb3JtLWZpZWxkLS1hbGlnbi1lbmQgPiBsYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gIG9yZGVyOiAtMTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWwsIC5tZGMtZm9ybS1maWVsZC0tYWxpZ24tZW5kID4gbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5tZGMtZm9ybS1maWVsZC0tc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm1kYy1mb3JtLWZpZWxkLS1zcGFjZS1iZXR3ZWVuID4gbGFiZWwge1xuICBtYXJnaW46IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLWZvcm0tZmllbGQtLXNwYWNlLWJldHdlZW4gPiBsYWJlbCwgLm1kYy1mb3JtLWZpZWxkLS1zcGFjZS1iZXR3ZWVuID4gbGFiZWxbZGlyPXJ0bF0ge1xuICBtYXJnaW46IDA7XG59XG5cbi5tZGMtbGlzdCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtc2l6ZSwgMXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGluZS1oZWlnaHQsIDEuNzVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGV0dGVyLXNwYWNpbmcsIDAuMDA5Mzc1ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kLCByZ2JhKDAsIDAsIDAsIDAuODcpKTtcbn1cblxuLm1kYy1saXN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDQ4cHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtdGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjU0KSk7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWljb24tb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7XG59XG5cbi5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LWhpbnQtb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjM4KSk7XG59XG5cbi5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS10ZXh0LXByaW1hcnktb24tYmFja2dyb3VuZCwgcmdiYSgwLCAwLCAwLCAwLjg3KSk7XG59XG5cbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIG9wYWNpdHk6IDAuMzg7XG59XG5cbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCAubWRjLWxpc3QtaXRlbV9fdGV4dCxcbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0LFxuLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG59XG5cbi5tZGMtbGlzdC0tZGVuc2Uge1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICBmb250LXNpemU6IDAuODEycmVtO1xufVxuXG4ubWRjLWxpc3QtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtbGlzdC1pdGVtOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLFxuLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZCB7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtcHJpbWFyeSwgIzAwQUVFRik7XG59XG5cbi5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyxcbi5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBjb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMwMEFFRUYpO1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLm1kYy1saXN0LWl0ZW1bZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMsIFtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX21ldGE6bm90KC5tYXRlcmlhbC1pY29ucykge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtc2l6ZSwgMC43NXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWxpbmUtaGVpZ2h0LCAxLjI1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXdlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMzMzMzMzMzM2VtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWxldHRlci1zcGFjaW5nLCAwLjAzMzMzMzMzMzNlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tdGV4dC10cmFuc2Zvcm0sIGluaGVyaXQpO1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtaXRlbV9fbWV0YSwgW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtbGlzdC1pdGVtX190ZXh0W2Zvcl0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dCB7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAtMjBweDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAtMjBweDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG59XG5cbi5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX3ByaW1hcnktdGV4dDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fcHJpbWFyeS10ZXh0OjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IC0yMHB4O1xufVxuXG4ubWRjLWxpc3QtaXRlbV9fc2Vjb25kYXJ5LXRleHQge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWJvZHkyLWZvbnQtc2l6ZSwgMC44NzVyZW0pO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE3ODU3MTQyOWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi1sZXR0ZXItc3BhY2luZywgMC4wMTc4NTcxNDI5ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1ib2R5Mi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktYm9keTItdGV4dC10cmFuc2Zvcm0sIGluaGVyaXQpO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHZlcnRpY2FsLWFsaWduOiAwO1xufVxuXG4ubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogNDBweDtcbn1cblxuLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4ubWRjLWxpc3QtaXRlbVtkaXI9cnRsXSAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtIHtcbiAgaGVpZ2h0OiA1NnB4O1xufVxuXG4ubWRjLWxpc3QtLWF2YXRhci1saXN0IC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1kYy1saXN0LWl0ZW1bZGlyPXJ0bF0gLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYywgW2Rpcj1ydGxdIC5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDcycHg7XG59XG5cbi5tZGMtbGlzdC0tdHdvLWxpbmUubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtLFxuLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IDYwcHg7XG59XG5cbi5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtbGlzdC1pdGVtW2Rpcj1ydGxdIC5tZGMtbGlzdC0tYXZhdGFyLWxpc3QubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljLCBbZGlyPXJ0bF0gLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYS5tZGMtbGlzdC1pdGVtIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xufVxuXG4ubWRjLWxpc3QtZGl2aWRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tZGMtbGlzdC1kaXZpZGVyLS1wYWRkZWQge1xuICBtYXJnaW46IDAgMTZweDtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tbGVmdDogNzJweDtcbiAgLyogQG5vZmxpcCAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4KTtcbn1cblxuLm1kYy1saXN0LWdyb3VwW2Rpcj1ydGxdIC5tZGMtbGlzdC1kaXZpZGVyLS1pbnNldCwgW2Rpcj1ydGxdIC5tZGMtbGlzdC1ncm91cCAubWRjLWxpc3QtZGl2aWRlci0taW5zZXQge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogNzJweDtcbn1cblxuLm1kYy1saXN0LWRpdmlkZXItLWluc2V0Lm1kYy1saXN0LWRpdmlkZXItLXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4IC0gMTZweCk7XG59XG5cbi5tZGMtbGlzdC1ncm91cCAubWRjLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1mYW1pbHksIHZhcigtLW1kYy10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCBSb2JvdG8sIHNhbnMtc2VyaWYpKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtc2l6ZTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtc2l6ZSwgMXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGluZS1oZWlnaHQsIDEuNzVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGV0dGVyLXNwYWNpbmcsIDAuMDA5Mzc1ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIG1hcmdpbjogY2FsYygoM3JlbSAtIDEuNXJlbSkgLyAyKSAxNnB4O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtIHtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW06bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbTpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI0O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMwMEFFRUYpO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMzI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuNDg7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLWFjdGl2YXRlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40ODtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tYWN0aXZhdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC40ODtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMTY7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMwMEFFRUYpO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4yNDtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIDpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gOm5vdCgubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQpLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC40O1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IDpub3QoLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkKS5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuNDtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG5cbjpub3QoLm1kYy1saXN0LS1ub24taW50ZXJhY3RpdmUpID4gLm1kYy1saXN0LWl0ZW0tLWRpc2FibGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cblxuOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YmVmb3JlLCA6bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG46bm90KC5tZGMtbGlzdC0tbm9uLWludGVyYWN0aXZlKSA+IC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cblxuLm1kYy1tZW51IHtcbiAgbWluLXdpZHRoOiAxMTJweDtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtX19tZXRhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0IC5tZGMtZWxldmF0aW9uLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgbWFyZ2luOiA4cHggMDtcbn1cblxuLm1kYy1tZW51IC5tZGMtbGlzdC1pdGVtIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tZGMtbWVudSAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5tZGMtbWVudSBhLm1kYy1saXN0LWl0ZW0gLm1kYy1saXN0LWl0ZW1fX3RleHQsXG4ubWRjLW1lbnUgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIHtcbiAgcGFkZGluZzogMDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4ubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiA1NnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbltkaXI9cnRsXSAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLWxpc3QtaXRlbSwgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAgLm1kYy1saXN0LWl0ZW1bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiA1NnB4O1xufVxuXG4ubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAxNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbltkaXI9cnRsXSAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uLCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cCAubWRjLW1lbnVfX3NlbGVjdGlvbi1ncm91cC1pY29uW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAxNnB4O1xufVxuXG4ubWRjLW1lbnUtaXRlbS0tc2VsZWN0ZWQgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDMycHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB6LWluZGV4OiA4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDNzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtc3VyZmFjZSwgI2ZmZik7XG4gIGNvbG9yOiAjMDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtb24tc3VyZmFjZSwgIzAwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLyogQG5vZmxpcCAqL1xuICB0cmFuc2Zvcm0tb3JpZ2luLWxlZnQ6IHRvcCBsZWZ0O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tcmlnaHQ6IHRvcCByaWdodDtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tb3BlbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWFuaW1hdGluZy1vcGVuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmltYXRpbmctY2xvc2VkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMDc1cyBsaW5lYXI7XG59XG5cbltkaXI9cnRsXSAubWRjLW1lbnUtc3VyZmFjZSwgLm1kYy1tZW51LXN1cmZhY2VbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tbGVmdDogdG9wIHJpZ2h0O1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW4tcmlnaHQ6IHRvcCBsZWZ0O1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLm1kYy1tZW51LXN1cmZhY2UtLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tZm9udC1zaXplLCAwLjc1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGluZS1oZWlnaHQsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1jYXB0aW9uLWZvbnQtd2VpZ2h0LCA0MDApO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMzMzMzMzMzMzZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LWNhcHRpb24tbGV0dGVyLXNwYWNpbmcsIDAuMDMzMzMzMzMzM2VtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktY2FwdGlvbi10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLm1kYy1zZWxlY3QtaGVscGVyLXRleHQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgY29udGVudDogXCJcIjtcbiAgdmVydGljYWwtYWxpZ246IDA7XG59XG5cbi5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS1wZXJzaXN0ZW50IHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lsbC1jaGFuZ2U6IGluaXRpYWw7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjU0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLXNlbGVjdF9faWNvbiB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19pY29uLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2ljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgY29sb3I6IHZhcigtLW1kYy10aGVtZS1vbi1zdXJmYWNlLCAjMDAwKTtcbn1cblxuLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuLm1kYy1zZWxlY3RfX2ljb25bdGFiaW5kZXg9XCItMVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LWZhbWlseTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLWZvbnQtZmFtaWx5LCB2YXIoLS1tZGMtdHlwb2dyYXBoeS1mb250LWZhbWlseSwgUm9ib3RvLCBzYW5zLXNlcmlmKSk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBmb250LXNpemU6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXNpemUsIDFyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC13ZWlnaHQsIDQwMCk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwOTM3NWVtO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtbGV0dGVyLXNwYWNpbmcsIDAuMDA5Mzc1ZW0pO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtdGV4dC1kZWNvcmF0aW9uLCBpbmhlcml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LXRyYW5zZm9ybSwgaW5oZXJpdCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBsaW5lLWhlaWdodDogMS4xNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtZmxvYXRpbmctbGFiZWxbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGF1dG87XG4gIC8qIEBub2ZsaXAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIDI1MG1zIDE7XG59XG5cbkBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXN0YW5kYXJkIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAwJSkpIHRyYW5zbGF0ZVkoLTEwNiUpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDMzJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMCwgMC43MDE3MzIsIDAuNDk1ODE5KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg0JSAtIDAlKSkgdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgNjYlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMDI0MzUsIDAuMzgxMzUyLCAwLjU1LCAwLjk1NjM1Mik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTQlIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMCUpKSB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgfVxufVxuLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlLCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDE4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtbGluZS1yaXBwbGUtLWFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkaXI9cnRsXSAubWRjLW5vdGNoZWQtb3V0bGluZSwgLm1kYy1ub3RjaGVkLW91dGxpbmVbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcge1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB3aWR0aDogMTJweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAvKiBAbm9mbGlwICovXG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEycHggKiAyKTtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbn1cblxuLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgbWF4LXdpZHRoOiAxMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCwgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4ubWRjLW5vdGNoZWQtb3V0bGluZS0tbm8tbGFiZWwgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtcmlwcGxlLXVwZ3JhZGVkIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiAubWRjLXNlbGVjdF9fcmlwcGxlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIC5tZGMtc2VsZWN0X19yaXBwbGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YmVmb3JlLFxuLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLXNlbGVjdF9fcmlwcGxlOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1yaXBwbGUtdXBncmFkZWQgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSxcbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSwgLm1kYy1zZWxlY3RfX2FuY2hvcjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtc2VsZWN0X19yaXBwbGU6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3JpcHBsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA0O1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMTI7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cblxuLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuXG4ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xMjtcbn1cblxuLm1kYy1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQyKTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX2FuY2hvciArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1kYy1zZWxlY3Q6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMEFFRUY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnksICMwMEFFRUYpO1xufVxuXG4ubWRjLXNlbGVjdDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAxNzQsIDIzOSwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0Om5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOmhvdmVyIC5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDE2cHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IGluaXRpYWw7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMTZweDtcbn1cblxuLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogNHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogNHB4O1xufVxuXG4ubWRjLXNlbGVjdCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG5cbi5tZGMtc2VsZWN0IC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QgLm1kYy1zZWxlY3RfX2FuY2hvciwgLm1kYy1zZWxlY3QgLm1kYy1zZWxlY3RfX2FuY2hvcltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0Lm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvciwgLm1kYy1zZWxlY3QubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvcltkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5tZGMtc2VsZWN0X19kcm9wZG93bi1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzMDAwJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMG9wYWNpdHklM0QlMjIwLjU0JTIyJTIwcG9pbnRzJTNEJTIyNyUyMDEwJTIwMTIlMjAxNSUyMDE3JTIwMTAlMjIlM0UlM0MlMkZwb2x5Z29uJTNFJTBBJTNDJTJGc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiwgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb25bZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIwd2lkdGglM0QlMjIxMHB4JTIyJTIwaGVpZ2h0JTNEJTIyNXB4JTIyJTIwdmlld0JveCUzRCUyMjclMjAxMCUyMDEwJTIwNSUyMiUyMHZlcnNpb24lM0QlMjIxLjElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHhtbG5zJTNBeGxpbmslM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBpZCUzRCUyMlNoYXBlJTIyJTIwc3Ryb2tlJTNEJTIybm9uZSUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwb3BhY2l0eSUzRCUyMjElMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuLm1kYy1zZWxlY3QtLWFjdGl2YXRlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWSgtNXB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBoZWlnaHQ6IDU2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAyMDBweDtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB2ZXJ0aWNhbC1hbGlnbjogMDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQsIC5tZGMtc2VsZWN0LS1uby1sYWJlbCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlLCAubWRjLXNlbGVjdC0tbm8tbGFiZWwgLm1kYy1zZWxlY3RfX2FuY2hvcjo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWxpbmUtcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LWZhbWlseSwgdmFyKC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksIFJvYm90bywgc2Fucy1zZXJpZikpO1xuICBmb250LXNpemU6IDFyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC1zaXplOiB2YXIoLS1tZGMtdHlwb2dyYXBoeS1zdWJ0aXRsZTEtZm9udC1zaXplLCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1saW5lLWhlaWdodCwgMS43NXJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1mb250LXdlaWdodCwgNDAwKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA5Mzc1ZW07XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS1sZXR0ZXItc3BhY2luZywgMC4wMDkzNzVlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kYy10eXBvZ3JhcGh5LXN1YnRpdGxlMS10ZXh0LWRlY29yYXRpb24sIGluaGVyaXQpO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWRjLXR5cG9ncmFwaHktc3VidGl0bGUxLXRleHQtdHJhbnNmb3JtLCBpbmhlcml0KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0OjotbXMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwQUVFRjtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1wcmltYXJ5LCAjMDBBRUVGKTtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZywgLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZCAyNTBtcyAxO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgc2NhbGUoMSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG59XG5cbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICBwYWRkaW5nLXRvcDogMXB4O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2ljb24ge1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1saW5lLXJpcHBsZTo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjYjAwMDIwO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dC0tdmFsaWRhdGlvbi1tc2cge1xuICBjb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6aG92ZXIgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2IwMDAyMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLW1kYy10aGVtZS1lcnJvciwgI2IwMDAyMCk7XG59XG5cbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ubWRjLXNlbGVjdC0taW52YWxpZC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKTpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjAwMDIwO1xuICAvKiBAYWx0ZXJuYXRlICovXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWRjLXRoZW1lLWVycm9yLCAjYjAwMDIwKTtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5tZGMtc2VsZWN0LS1pbnZhbGlkLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLm1kYy1zZWxlY3QtLWludmFsaWQubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNiMDAwMjA7XG4gIC8qIEBhbHRlcm5hdGUgKi9cbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZGMtdGhlbWUtZXJyb3IsICNiMDAwMjApO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyM2IwMDAyMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMSUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC0taW52YWxpZCArIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0LS12YWxpZGF0aW9uLW1zZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tZGMtc2VsZWN0LS1yZXF1aXJlZCAubWRjLWZsb2F0aW5nLWxhYmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiKlwiO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB3aWR0aCUzRCUyMjEwcHglMjIlMjBoZWlnaHQlM0QlMjI1cHglMjIlMjB2aWV3Qm94JTNEJTIyNyUyMDEwJTIwMTAlMjA1JTIyJTIwdmVyc2lvbiUzRCUyMjEuMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGlkJTNEJTIyU2hhcGUlMjIlMjBzdHJva2UlM0QlMjJub25lJTIyJTIwZmlsbCUzRCUyMiUyMzAwMCUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyMC4zOCUyMiUyMHBvaW50cyUzRCUyMjclMjAxMCUyMDEyJTIwMTUlMjAxNyUyMDEwJTIyJTNFJTNDJTJGcG9seWdvbiUzRSUwQSUzQyUyRnN2ZyUzRVwiKSBuby1yZXBlYXQgY2VudGVyO1xufVxuXG4ubWRjLXNlbGVjdC0tZGlzYWJsZWQgLm1kYy1saW5lLXJpcHBsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtbGluZS1yaXBwbGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tZGMtc2VsZWN0LS1kaXNhYmxlZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLm1kYy1zZWxlY3QtLWRpc2FibGVkLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5tZGMtc2VsZWN0LS1kaXNhYmxlZC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiA0OHB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIC5tZGMtZmxvYXRpbmctbGFiZWwsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbiAubWRjLWZsb2F0aW5nLWxhYmVsW2Rpcj1ydGxdIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBpbml0aWFsO1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiA0OHB4O1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMzZweDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogaW5pdGlhbDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogaW5pdGlhbDtcbiAgLyogQG5vZmxpcCAqL1xuICByaWdodDogMzZweDtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAzNnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHJpZ2h0OiBpbml0aWFsO1xufVxuXG5bZGlyPXJ0bF0gLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVbZGlyPXJ0bF0ge1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGluaXRpYWw7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcmlnaHQ6IDM2cHg7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgdHJhbnNsYXRlWCgtMzJweCkgc2NhbGUoMSk7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVtkaXI9cnRsXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzcuMjVweCkgdHJhbnNsYXRlWCgzMnB4KSBzY2FsZSgxKTtcbn1cblxuLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNC43NXB4KSB0cmFuc2xhdGVYKC0zMnB4KSBzY2FsZSgwLjc1KTtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSwgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1ydGxdLFxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlW2Rpcj1ydGxdIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNC43NXB4KSB0cmFuc2xhdGVYKDMycHgpIHNjYWxlKDAuNzUpO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2Uge1xuICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIDI1MG1zIDE7XG59XG5cbltkaXI9cnRsXSAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tc2hha2UsIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0LS1vdXRsaW5lZFtkaXI9cnRsXSAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gIGFuaW1hdGlvbjogbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLXNlbGVjdC1vdXRsaW5lZC1sZWFkaW5nLWljb24tcnRsIDI1MG1zIDE7XG59XG5cbi5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0IHtcbiAgLyogQG5vZmxpcCAqL1xuICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1yaWdodDogMzJweDtcbn1cblxuW2Rpcj1ydGxdIC5tZGMtc2VsZWN0LS13aXRoLWxlYWRpbmctaWNvbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdC1pdGVtX190ZXh0LCAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dFtkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAvKiBAbm9mbGlwICovXG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG59XG5cbi5tZGMtc2VsZWN0X19tZW51IC5tZGMtbGlzdCAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICBjb2xvcjogIzAwMDtcbiAgLyogQGFsdGVybmF0ZSAqL1xuICBjb2xvcjogdmFyKC0tbWRjLXRoZW1lLW9uLXN1cmZhY2UsICMwMDApO1xufVxuXG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAzMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMzMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41LCAwLCAwLjcwMTczMiwgMC40OTU4MTkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDQlIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIDMycHgpKSB0cmFuc2xhdGVZKC0zNC43NXB4KSBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS1zZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwIC0gLTMycHgpKSB0cmFuc2xhdGVZKC0zNC43NXB4KSBzY2FsZSgwLjc1KTtcbiAgfVxuICAzMyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuNzAxNzMyLCAwLjQ5NTgxOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAtMzJweCkpIHRyYW5zbGF0ZVkoLTM0Ljc1cHgpIHNjYWxlKDAuNzUpO1xuICB9XG4gIDY2JSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzAyNDM1LCAwLjM4MTM1MiwgMC41NSwgMC45NTYzNTIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtIC0zMnB4KSkgdHJhbnNsYXRlWSgtMzQuNzVweCkgc2NhbGUoMC43NSk7XG4gIH1cbn1cbi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjMpO1xufVxuXG4ubWRjLW1lbnUtc3VyZmFjZSB7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjZDZkOGRhICNmZmY7XG4gIHotaW5kZXg6IDIwO1xufVxuLm1kYy1tZW51LXN1cmZhY2U6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cbi5tZGMtbWVudS1zdXJmYWNlLS1hbmNob3IgPiBidXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tZGMtaWNvbi1idXR0b24ubWF0ZXJpYWwtaWNvbnMge1xuICB3aWR0aDogNDhweDtcbiAgZm9udC1mYW1pbHk6IG1hdGVyaWFsSWNvbnNSb3VuZFdlYiwgc2Fucy1zZXJpZjtcbn1cblxuLm1kYy1yYWRpbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuXG4ubWRjLW1lbnUgLm1kYy1saXN0LWl0ZW0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tZGMtbWVudSAubWRjLWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLmhlcm8tcGFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLXBhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5oZXJvLXBhZ2U6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby1wYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU0NnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSAyMyUsIHJnYmEoMCwgMCwgMCwgMCkgNDIlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLTU0NnB4O1xuICB9XG59XG4uaGVyby1wYWdlX19maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG4uaGVyby1wYWdlX19jYW52YXMtLW1vYmlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEMUM5O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2VfX2NhbnZhcy0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVyby1wYWdlX19jYW52YXMtLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2VfX2NhbnZhcy0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q4RDFDOTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4uaGVyby1wYWdlX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAuaGVyby1wYWdlX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5oZXJvLXBhZ2VfX3RlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNjVweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDM2cHgpO1xuICBtYXJnaW46IDAgYXV0byAtNjVweCBhdXRvO1xuICBwYWRkaW5nOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2VfX3RlYXNlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICByaWdodDogLTEwMCU7XG4gICAgd2lkdGg6IDc4LjMzJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogMTI1NHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tcGFnZV9fdGVhc2VyIHtcbiAgICBwYWRkaW5nOiAxNjFweCAwIDAgMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2UtLWxlZnQgLmhlcm8tcGFnZV9fdGVhc2VyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4uaGVyby1wYWdlX19oZWFkbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby1wYWdlX19oZWFkbGluZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHBhZGRpbmc6IDAuMjU5NXZ3IDAuOTg2dnc7XG4gICAgZm9udC1zaXplOiAwLjk4NnZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNHZ3O1xuICB9XG59XG4uaGVyby1wYWdlX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDE1cHggMCAwIDA7XG4gIGNvbG9yOiAjMjAxZDFkO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXNpemU6IDI4cHg7XG59XG4uaGVyby1wYWdlX19kZXNjcmlwdGlvbi1wYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1zaGFkb3c6IDAuNXZ3IDAuNXZ3IDEuNXZ3IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby1wYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgMC4ydncgMDtcbiAgICBmb250LXNpemU6IDIuOTA2dnc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB9XG59XG4uaGVyby1wYWdlX19kZXNjcmlwdGlvbiBiciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm8tcGFnZV9fZGVzY3JpcHRpb24gYnIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uaGVyby1wYWdlX19hY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLXBhZ2VfX2FjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVyby1wYWdlX19hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDEuNTU3dnc7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2Nob29sLWFjdGlvbi12aWV3IC5oZXJvLXBhZ2VfX2FjdGlvbiwgLnNjaG9vbC1saXN0LXZpZXcgLmhlcm8tcGFnZV9fYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDMwcHggYXV0byAxNXB4IGF1dG87XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1heC13aWR0aDogMTI4NHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAzNXB4IGF1dG8gMjBweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDc1cHggYXV0byAyMHB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby0zNjUgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gMTZweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvLTM2NSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyNnB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlcm8tMzY1ICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDM1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvLXBhZ2UgKyAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlcm8tcGFnZSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlcm8tcGFnZSArIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM2cHggYXV0byAyMHB4IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyby1zZWN0aW9uICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVyby1zZWN0aW9uICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDQ1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVyby1zZWN0aW9uICsgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbjogMzZweCBhdXRvIDk1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5sYW5kaW5ncGFnZS12aWV3IC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubGFuZGluZ3BhZ2UtdmlldyAuYnJlYWRjcnVtYiB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjNweCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5sYW5kaW5ncGFnZS12aWV3IC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW46IDM2cHggYXV0byAzNHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjg0cHg7XG4gIH1cbn1cbi5icmVhZGNydW1iX19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLmJyZWFkY3J1bWJfX2l0ZW0ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJyZWFkY3J1bWJfX2l0ZW06YWZ0ZXIge1xuICBjb250ZW50OiBcIj5cIjtcbiAgbWFyZ2luOiAwIDVweCAwIDRweDtcbn1cbi5icmVhZGNydW1iX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYnJlYWRjcnVtYl9faXRlbTpsYXN0LW9mLXR5cGUgYSB7XG4gIGNvbG9yOiAjMDBBRUVGO1xufVxuLmJyZWFkY3J1bWJfX2l0ZW06bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG59XG4uYnJlYWRjcnVtYl9fbGluazpob3ZlciwgLmJyZWFkY3J1bWJfX2xpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFzaWRlLXNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYXNpZGUtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxufVxuLmFzaWRlLXNlY3Rpb25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDhkYTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFzaWRlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG59XG5cbi5maWxlLWRvd25sb2FkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hc2lkZS1oZWFkZXItYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyNHB4IDQycHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFzaWRlLWhlYWRlci1idXR0b24ge1xuICAgIHBhZGRpbmc6IDM2cHggNDJweDtcbiAgfVxufVxuLmFzaWRlLWhlYWRlci1idXR0b25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAzOHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hc2lkZS1oZWFkZXItYnV0dG9uX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG59XG4uYXNpZGUtaGVhZGVyLWJ1dHRvbl9fYWN0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFzaWRlLWhlYWRlci1idXR0b25fX2FjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnJlYWQtdG9vIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbi5yZWFkLXRvb19fdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJlYWQtdG9vX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVhZC10b29fX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnNjaG9vbC1saXN0IHtcbiAgcGFkZGluZzogMCAyM3B4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zY2hvb2wtbGlzdCB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zY2hvb2wtbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2Nob29sLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5zY2hvb2wtbGlzdF9fam9pbi1hc2lkZSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNjaG9vbC1saXN0X19qb2luLWFzaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNjaG9vbC1saXN0X19qb2luLWFzaWRlIC5tZGMtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIH1cbn1cbi5zY2hvb2wtbGlzdF9fY29udGVudCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zY2hvb2wtbGlzdF9fY29udGVudCB7XG4gICAgZmxleDogMCAwIGNhbGMoMTAwJSAtIDQxNHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQxNHB4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnNjaG9vbC1saXN0X19jb250ZW50IHtcbiAgICBmbGV4OiAwIDAgODAwcHg7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2Nob29sLWxpc3RfX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbi5zY2hvb2wtbGlzdF9fYXNpZGUge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2Nob29sLWxpc3RfX2FzaWRlIHtcbiAgICBmbGV4OiAwIDAgMzg0cHg7XG4gICAgbWF4LXdpZHRoOiAzODRweDtcbiAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zY2hvb2wtbGlzdF9fYXNpZGUgLm5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbjogMCAwIDQ1cHggMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuc2Nob29sLWxpc3RfX2FzaWRlIC5uZXdzbGV0dGVyX19oZWFkZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2Nob29sLWxpc3RfX2FzaWRlIC50ZWFzZXIge1xuICAgIG1hcmdpbjogMCAwIDQ1cHggMDtcbiAgfVxufVxuLnNjaG9vbC1saXN0X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMEFFRUY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNjaG9vbC1saXN0X190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zY2hvb2wtbGlzdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLnNlZS1hbHNvIHtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2VlLWFsc28ge1xuICAgIG1hcmdpbi1ib3R0b206IC01MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zZWUtYWxzbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICB9XG59XG4uc2VlLWFsc29fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwQUVFRjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvX190aXRsZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2VlLWFsc29fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zZWUtYWxzb19fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgfVxufVxuLmFjY29yZGlvbjNfX3NlY3Rpb24gLnNlZS1hbHNvX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFjY29yZGlvbjNfX3NlY3Rpb24gLnNlZS1hbHNvX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjhweDtcbiAgfVxufVxuLnNlZS1hbHNvX19yb3cge1xuICBtYXJnaW46IDAgLTIzcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDE3NCwgMjM5LCAwLjMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zZWUtYWxzb19fcm93IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNlZS1hbHNvX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMyUgLSAxN3B4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gMTUuNjY2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNlZS1hbHNvX19pdGVtOm50aC1vZi10eXBlKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jYXJkLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDE3NCwgMjM5LCAwLjMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLmNhcmQtMl9faGVhZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2hlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDczcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDZkOGRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNhcmQtMl9faGVhZGVyOmFmdGVyIHtcbiAgICBib3R0b206IC0xNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2hlYWRlcjphZnRlciB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gIH1cbn1cbi5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS43O1xuICB3aWR0aDogMTAwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3JkZXI6IDI7XG4gIGhlaWdodDogNzZweDtcbn1cbi5zaG93IC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgaGVpZ2h0OiA3NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuLmNhcmQtMl9faW5mbyB7XG4gIG9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9faW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuLmNhcmQtMl9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGhlaWdodDogMjdweDtcbiAgfVxufVxuLmNhcmQtMl9fdGltZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX3RpbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cbi5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgaHlwaGVuczogYXV0bztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDc2O1xuICB9XG59XG4uY2FyZC0yX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAwO1xuICB3aWR0aDogMTEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9fZmlndXJlIHtcbiAgICBvcmRlcjogdW5zZXQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmNhcmQtMl9fY2FudmFzLS1kZXNrdG9wLCAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOEQxQzk7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uY2FyZC0yX19jYW52YXMtLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5jYXJkLTJfX2NhbnZhcy0tbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcmQtMl9fY2FudmFzLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5jYXJkLTJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5jYXJkLTJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLmNhcmQtMl9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1hY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gMjI1bXMgZm9yd2FyZHMsIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1pbiA3NW1zIGZvcndhcmRzO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5jYXJkLTJfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4uY2FyZC0yX19vdmVybGluazo6YmVmb3JlLCAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAxZDFkO1xufVxuLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4uY2FyZC0yX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDQ7XG59XG4udGFiLW5hdmlnYXRpb24gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5jYXJkLTJfX292ZXJsaW5rOmZvY3VzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAudGFiLW5hdmlnYXRpb24gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXM6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHJnYmEoMCwgMTc0LCAyMzksIDApO1xuICAgIHRvcDogLTE1cHg7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbn1cbi5jYXJkLTJfX292ZXJsaW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjAzKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC0yOmhvdmVyIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwQUVFRjtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzAwQUVFRjtcbiAgfVxufVxuLmNhcmQtMi0tdmVydGljYWwge1xuICBib3JkZXItdG9wOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9faGVhZGVyIHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5jYXJkLTItLXZlcnRpY2FsIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWRlcl9faXRlbSAuY2FyZC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMC4zKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTEycHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxN3B4IDMzcHggMTdweCAyMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDczcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDZkOGRhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkZXI6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGxpbmUge1xuICBjb2xvcjogIzIwMWQxZDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIHdpZHRoOiAxMDAlO1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvcmRlcjogMjtcbiAgaGVpZ2h0OiA3NnB4O1xufVxuLnNob3cgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkbGluZSB7XG4gIGhlaWdodDogNzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19pbmZvIHtcbiAgb3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX3RpbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGNvbG9yOiAjMjAxZDFkO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEwLjVweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX3RpbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAwO1xuICB3aWR0aDogMTEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19maWd1cmUge1xuICAgIG9yZGVyOiB1bnNldDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCwgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOEQxQzk7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX2NhbnZhcy0tbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19jYW52YXMtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuY2FudmFzICsgcGljdHVyZSAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmJlZm9yZSwgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUsIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDEwMCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTAwJSk7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOjpiZWZvcmUsIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4wNDtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAwLjA0O1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rOmZvY3VzOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTJfX292ZXJsaW5rIHtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAxNzQsIDIzOSwgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHJnYmEoMCwgMTc0LCAyMzksIDApO1xuICAgIHRvcDogLTE1cHg7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMl9fb3Zlcmxpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYXJkLTI6aG92ZXIgLnNsaWRlcl9faXRlbSAuY2FyZC0yX19vdmVybGluayB7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMEFFRUY7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMwMEFFRUY7XG4gIH1cbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMi0tdmVydGljYWwge1xuICBib3JkZXItdG9wOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yLS12ZXJ0aWNhbCAuY2FyZC0yX19oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnNsaWRlcl9faXRlbSAuY2FyZC0yLS12ZXJ0aWNhbCAuY2FyZC0yX19maWd1cmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zbGlkZXJfX2l0ZW0gLmNhcmQtMi0tdmVydGljYWwgLmNhcmQtMl9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc2xpZGVyX19pdGVtIC5jYXJkLTItLXZlcnRpY2FsIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgfVxufVxuXG4ubmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjUzQjk7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm5ld3NsZXR0ZXIge1xuICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luOiAwO1xufVxuLm5ld3NsZXR0ZXJfX2NhbnZhcyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5ld3NsZXR0ZXJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5uZXdzbGV0dGVyX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5uZXdzbGV0dGVyX19jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uZXdzbGV0dGVyX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubmV3c2xldHRlcl9fYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0wLjJweDtcbiAgICB3aWR0aDogNDguMnB4O1xuICAgIGhlaWdodDogNDguMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2JTIwMzYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk05LDMzLjg3YTEuMTMsMS4xMywwLDAsMSwuMzMtLjhMMjQuMjgsMTgsOS4zMywyLjkzYTEuMTMsMS4xMywwLDAsMSwwLTEuNiwxLjEyLDEuMTIsMCwwLDEsMS41OSwwTDI2LjY3LDE3LjJhMS4xMywxLjEzLDAsMCwxLDAsMS42TDEwLjkyLDM0LjY3QTEuMTMsMS4xMywwLDAsMSw5LDMzLjg3WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5uZXdzbGV0dGVyX19idXR0b24gLm1kYy1idXR0b25fX2xhYmVsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogNTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubmV3c2xldHRlcl9faGVhZGVyIHtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4ubmV3c2xldHRlcl9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPXRydWVdKSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNhM2FkZWM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbi5uZXdzbGV0dGVyX19jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXTplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogI2EzYWRlYztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRkEzQURFQ0ZGQTNBREVDMDAwMDAwMDAwMDAwMDAwMCB7XG4gIDAlIHtcbiAgICBib3JkZXItY29sb3I6ICNhM2FkZWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICA1MCUge1xuICAgIGJvcmRlci1jb2xvcjogI2EzYWRlYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLUZGQTNBREVDRkZBM0FERUMwMDAwMDAwMDAwMDAwMDAwIHtcbiAgMCUsIDgwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC1GRkEzQURFQ0ZGQTNBREVDMDAwMDAwMDAwMDAwMDAwMDtcbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkZBM0FERUNGRkEzQURFQzAwMDAwMDAwMDAwMDAwMDA7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgY29sb3I6ICNhM2FkZWM7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTNhZGVjO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUsXG4ubmV3c2xldHRlcl9fY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5uZXdzbGV0dGVyX19jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0gfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6aG92ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlLCAubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIC5tZGMtY2hlY2tib3hfX3JpcHBsZTo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5uZXdzbGV0dGVyX19jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCkgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm5ld3NsZXR0ZXJfX2NoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmUgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMjQ7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMjQ7XG59XG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsXG4ubmV3c2xldHRlcl9fY2hlY2tib3gubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkLm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtyZXF1aXJlZF06aW52YWxpZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICBib3JkZXItY29sb3I6ICNGMjZBMjEgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjN2E3YTdhO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbCxcbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogIzdhN2E3YTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIsXG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtbGluZS1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xufVxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbn1cbi5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNGMjZBMjE7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyLFxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjRjI2QTIxO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy1mb3JtLWZpZWxkIHtcbiAgY29sb3I6ICNhM2FkZWM7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCBsYWJlbCB7XG4gIG1hcmdpbi10b3A6IDExcHg7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNvbG9yOiAjMjAxZDFkO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICM3YTdhN2E7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmV3c2xldHRlciAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLW91dGxpbmVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtbGluZS1yaXBwbGUge1xuICBoZWlnaHQ6IDNweDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIGE6aG92ZXIsIC5uZXdzbGV0dGVyIC5tZGMtZm9ybS1maWVsZCA+IGxhYmVsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICNmZmY7XG59XG4ubmV3c2xldHRlciAubWRjLWNoZWNrYm94OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4ubmV3c2xldHRlciAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTAlKSBzY2FsZSgwLjcpO1xufVxuLm5ld3NsZXR0ZXIgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLm5ld3NsZXR0ZXJfX21vcmUge1xuICBtYXJnaW46IDE2cHggMCAwIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDBBRUVGO1xuICBwYWRkaW5nOiAxNHB4IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5uZXdzbGV0dGVyX19tb3JlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luOiAyNHB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX21vcmUgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLm5ld3NsZXR0ZXJfX21vcmUgYTpob3ZlciwgLm5ld3NsZXR0ZXJfX21vcmUgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYXJ0aWNsZS12aWV3IC5uZXdzbGV0dGVyX19tb3JlIHtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gIH1cbn1cbi5uZXdzbGV0dGVyX19ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gIGJvdHRvbTogLTEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAtMnB4O1xuICBjb2xvcjogI0YyNkEyMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbmlucHV0OnZhbGlkIH4gLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm5ld3NsZXR0ZXIgLndhcy12YWxpZGF0ZWQgaW5wdXQ6aW52YWxpZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubmV3c2xldHRlciAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogNnB4IDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IC0xMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogLTJweDtcbiAgY29sb3I6ICNGMjZBMjE7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXIgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4ubmV3c2xldHRlciAuc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5uZXdzbGV0dGVyIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA0MXB4O1xufVxuLm5ld3NsZXR0ZXIgLm1kYy1jaGVja2JveF9fcmlwcGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5uZXdzbGV0dGVyIC5tZGMtY2hlY2tib3hfX3JpcHBsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4udGVhc2VyIHtcbiAgZmxleDogMSAwIDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudGVhc2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gICAgZmxleDogMSAwIGNhbGMoNTAlIC0gMTJweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICB9XG4gIC50ZWFzZXIgLmdsaWRlLS1zd2lwZWFibGUge1xuICAgIGN1cnNvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4udGVhc2VyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udGVhc2VyLS1tb2JpbGUge1xuICBtYXJnaW46IDAgMjBweCA1MHB4O1xuICBmbGV4OiAxIDAgYXV0bztcbn1cbi50ZWFzZXItLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50ZWFzZXItLW1vYmlsZSB7XG4gICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgIGZsZXg6IDEgMCBjYWxjKDMzLjMzMyUgLSAzMHB4KTtcbiAgfVxuICAudGVhc2VyLS1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4udGVhc2VyX19jYW52YXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEMUM5O1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5pZSAudGVhc2VyX19jYW52YXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRlYXNlcl9faGVhZGxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICBoZWlnaHQ6IDg5cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlcl9faGVhZGxpbmUge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgcGFkZGluZzogNXB4IDQwcHg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4udGVhc2VyX19oZWFkbGluZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4udGVhc2VyX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udGVhc2VyX19maWd1cmUtLWdyYWRpZW50OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwKSAyMCUsICMyNjUzQjkgMTAwJSk7XG59XG4udGVhc2VyX19maWd1cmUgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLnRlYXNlcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB6LWluZGV4OiAyO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBib3R0b206IDgwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcl9fY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbi50ZWFzZXJfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogMjBweDtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRjAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjAxZDFkICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMjBweCAyNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50ZWFzZXJfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHBhZGRpbmc6IDMwcHggMzZweDtcbiAgfVxufVxuLnRlYXNlcl9fYnV0dG9uLS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjljNDEyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjAxZDFkICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMjhweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAyMHB4IDI2cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRlYXNlcl9fYnV0dG9uLS15ZWxsb3cge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBwYWRkaW5nOiAyNHB4IDI0cHg7XG4gIH1cbn1cbi50ZWFzZXJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC50ZWFzZXJfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnRlYXNlcl9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4udGVhc2VyX19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnRlYXNlcl9fb3Zlcmxpbms6OmJlZm9yZSwgLnRlYXNlcl9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi50ZWFzZXJfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnRlYXNlcl9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50ZWFzZXJfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4udGVhc2VyX19vdmVybGluazpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnRlYXNlcl9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4xNTtcbn1cbi50ZWFzZXJfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4xNTtcbn1cbi50YWItbmF2aWdhdGlvbiAudGVhc2VyX19vdmVybGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udGFiLW5hdmlnYXRpb24gLnRlYXNlcl9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAudGVhc2VyX19vdmVybGluazpmb2N1czpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI7XG59XG4udGVhc2VyX19vdmVybGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5kZWNvLTM2NSB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjAgICB4bWxuczp4bGluayUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmslMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjMxJTIwMjQ4JTIyJTNFJTNDZGVmcyUzRSUzQ2xpbmVhckdyYWRpZW50JTIwaWQlM0QlMjJlNjJhYzdkNC0xYWZkLTQ2NmUtYmUwNC1jZWY4OTAyMWFmOWElMjIlMjB4MSUzRCUyMjExNS41JTIyJTIweTElM0QlMjIxJTIyJTIweDIlM0QlMjIxMTUuNSUyMiUyMHkyJTNEJTIyMjQ3JTIyJTIwZ3JhZGllbnRVbml0cyUzRCUyMnVzZXJTcGFjZU9uVXNlJTIyJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAlMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA5ZmUzJTIyLyUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjQ1JTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyMzAwOGRjYSUyMi8lM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC42NCUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjMwMDlmZTMlMjIvJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjElMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA4ZWNhJTIyLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQ2xpbmVhckdyYWRpZW50JTIwaWQlM0QlMjJhZjMzZmI4Ny00NzFlLTQxZGEtYTZiNy1lZDNiYmRkZGIyMTQlMjIlMjB4MSUzRCUyMjExNS41JTIyJTIweTElM0QlMjI5MSUyMiUyMHgyJTNEJTIyMTE1LjUlMjIlMjB5MiUzRCUyMjE0MyUyMiUyMGdyYWRpZW50VW5pdHMlM0QlMjJ1c2VyU3BhY2VPblVzZSUyMiUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjIzJTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC43OSUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjNjY2NiY2IlMjIvJTNFJTNDL2xpbmVhckdyYWRpZW50JTNFJTNDbGluZWFyR3JhZGllbnQlMjBpZCUzRCUyMmVhMjc3MmM1LTVmODAtNGNiOS05MTk2LWVmN2IxZjA0OTg3NiUyMiUyMHgxJTNEJTIyMTE1LjUlMjIlMjB5MSUzRCUyMjE0NSUyMiUyMHgyJTNEJTIyMTE1LjUlMjIlMjB5MiUzRCUyMjE5NyUyMiUyMHhsaW5rOmhyZWYlM0QlMjIlMjNhZjMzZmI4Ny00NzFlLTQxZGEtYTZiNy1lZDNiYmRkZGIyMTQlMjIvJTNFJTNDbGluZWFyR3JhZGllbnQlMjBpZCUzRCUyMmI4MDRkZTEwLTA0YTctNDlkNi04MjkzLWI2MWEzMTYyYWU3YiUyMiUyMHgxJTNEJTIyMTE0Ljk5JTIyJTIweTElM0QlMjIxMDEuOTQlMjIlMjB4MiUzRCUyMjExNC45OSUyMiUyMHkyJTNEJTIyMTQzJTIyJTIwZ3JhZGllbnRVbml0cyUzRCUyMnVzZXJTcGFjZU9uVXNlJTIyJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAuMjMlMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMThhOGUxJTIyLyUzRSUzQ3N0b3AlMjBvZmZzZXQlM0QlMjIwLjc5JTIyJTIwc3RvcC1jb2xvciUzRCUyMiUyMzAwOGRjYSUyMi8lM0UlM0MvbGluZWFyR3JhZGllbnQlM0UlM0NsaW5lYXJHcmFkaWVudCUyMGlkJTNEJTIyZmI0NmJjMWEtYzZkMi00YmFkLTk4MDAtNzM3ZjRkZTU1ZDI2JTIyJTIweDElM0QlMjIxMTUuNzQlMjIlMjB5MSUzRCUyMjE0NSUyMiUyMHgyJTNEJTIyMTE1Ljc0JTIyJTIweTIlM0QlMjIxODYuNjYlMjIlMjBncmFkaWVudFVuaXRzJTNEJTIydXNlclNwYWNlT25Vc2UlMjIlM0UlM0NzdG9wJTIwb2Zmc2V0JTNEJTIyMC4yMyUyMiUyMHN0b3AtY29sb3IlM0QlMjIlMjMxYTlkZDklMjIvJTNFJTNDc3RvcCUyMG9mZnNldCUzRCUyMjAuNzklMjIlMjBzdG9wLWNvbG9yJTNEJTIyJTIzMDA4ZmNjJTIyLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQy9kZWZzJTNFJTNDcGF0aCUyMGlkJTNEJTIyZmNkNTE3ZjktYzUyYi00NGMyLTk3MGMtMDViMjNkYmNkNWMxJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Ym9keSUyMiUyMGQlM0QlMjJNMjAxLDI0N0gzMEEyOSwyOSwwLDAsMSwxLDIxOFYzMEEyOSwyOSwwLDAsMSwzMCwxSDIwMWEyOSwyOSwwLDAsMSwyOSwyOVYyMThBMjksMjksMCwwLDEsMjAxLDI0N1olMjIlMjBmaWxsJTNEJTIydXJsKCUyM2U2MmFjN2Q0LTFhZmQtNDY2ZS1iZTA0LWNlZjg5MDIxYWY5YSklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWYyN2E3ZmQtMzk2MS00OGVmLTkxMjgtOWQ4YTYzNWVlOTcwJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Y3QlMjIlMjBkJTNEJTIyTTE0LDE0M1Y5Ni41MUE1LjUxLDUuNTEsMCwwLDEsMTkuNTEsOTFoNTRBNS41MSw1LjUxLDAsMCwxLDc5LDk2LjUxVjE0M1ptMTM0LDBWOTYuNTFBNS41MSw1LjUxLDAsMCwwLDE0Mi40OSw5MWgtNTRBNS41MSw1LjUxLDAsMCwwLDgzLDk2LjUxVjE0M1ptNjksMFY5Ni41MUE1LjUxLDUuNTEsMCwwLDAsMjExLjQ5LDkxaC01NEE1LjUxLDUuNTEsMCwwLDAsMTUyLDk2LjUxVjE0M1olMjIlMjBmaWxsJTNEJTIydXJsKCUyM2FmMzNmYjg3LTQ3MWUtNDFkYS1hNmI3LWVkM2JiZGRkYjIxNCklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWRlZjE2YmYtMjJjZS00MzNiLTljYzctNjE1MzI3MDUwOTBiJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1Y2IlMjIlMjBkJTNEJTIyTTc5LDE0NXY0Ni40OUE1LjUxLDUuNTEsMCwwLDEsNzMuNDksMTk3aC01NEE1LjUxLDUuNTEsMCwwLDEsMTQsMTkxLjQ5VjE0NVptNCwwdjQ2LjQ5QTUuNTEsNS41MSwwLDAsMCw4OC41MSwxOTdoNTRhNS41MSw1LjUxLDAsMCwwLDUuNTEtNS41MVYxNDVabTY5LDB2NDYuNDlhNS41MSw1LjUxLDAsMCwwLDUuNTEsNS41MWg1NGE1LjUxLDUuNTEsMCwwLDAsNS41MS01LjUxVjE0NVolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2VhMjc3MmM1LTVmODAtNGNiOS05MTk2LWVmN2IxZjA0OTg3NiklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyYWU2MGExMTEtOTgwMS00NzczLWJhY2ItMTMzNWU2MGNjN2RjJTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1dGV4dHMlMjIlMjBkJTNEJTIyTTIxNy41LDg5SDE0Vjg3SDIxNy41Wm0wLDExMEgxNHYySDIxNy41Wk00MSw4MlY3NmgtLjE2YTE3LjEsMTcuMSwwLDAsMS01LjE1LDUuNDEsMTMuNCwxMy40LDAsMCwxLTcuMzQsMS44NnEtNi44MywwLTEwLjU5LTQuMDhUMTQsNjguMDhWMzhIMjRWNjZhOC4zOCw4LjM4LDAsMCwwLDIsNiw3LjU4LDcuNTgsMCwwLDAsNS43NywyLjEzLDguMjcsOC4yNywwLDAsMCw2LjctM0ExMS4zNiwxMS4zNiwwLDAsMCw0MSw2My41OFYzOEg1MVY4MlpNNjYsNDVoLjI0YTE0LjQ4LDE0LjQ4LDAsMCwxLDUuMzUtNS41NiwxNS4zNCwxNS4zNCwwLDAsMSw3LjgxLTEuOXE2LjkxLDAsMTAuNzUsNFQ5NCw1Mi42M1Y4Mkg4M1Y1NC4xM0E4LjcyLDguNzIsMCwwLDAsODEsNDhhNy40Myw3LjQzLDAsMCwwLTUuNzYtMi4yMSw4Ljc0LDguNzQsMCwwLDAtMy43My43OCw4LjM0LDguMzQsMCwwLDAtMi45LDIuMjEsMTAuMzYsMTAuMzYsMCwwLDAtMS45LDMuMzlBMTIuNzEsMTIuNzEsMCwwLDAsNjYsNTYuNDJWODJINTZWMzhINjZaTTk5LDIxaDEwVjMxSDk5Wm0wLDE3aDEwVjgySDk5Wm0zMy44Niw0NC44NWExOC40NiwxOC40NiwwLDAsMS0xNC40Ny02LjU4LDIxLjM3LDIxLjM3LDAsMCwxLTQtNy4xOCwyOS4yNSwyOS4yNSwwLDAsMSwwLTE3LjgyLDIyLDIyLDAsMCwxLDQtNy4xOCwxOC4zMiwxOC4zMiwwLDAsMSw2LjE5LTQuNzcsMTguODQsMTguODQsMCwwLDEsOC4xOC0xLjczLDE5LjQ0LDE5LjQ0LDAsMCwxLDYuNzgsMS4xMywxNi4yNCwxNi4yNCwwLDAsMSw1LjI3LDMuMTMsMTYuMDYsMTYuMDYsMCwwLDEsMy42Nyw0Ljg1LDIwLjc5LDIwLjc5LDAsMCwxLDEuOTQsNi4zaC05LjA5YTEwLDEwLDAsMCwwLTIuODItNS41OCw3LjkzLDcuOTMsMCwwLDAtNS42OC0yLDkuMTUsOS4xNSwwLDAsMC00LjUxLDEuMDgsOSw5LDAsMCwwLTMuMjIsMy4wOSwxNS4yLDE1LjIsMCwwLDAtMS45NCw0LjczLDI1LjI1LDI1LjI1LDAsMCwwLS42Niw1Ljk0LDI0LjM0LDI0LjM0LDAsMCwwLC42Niw1LjgyLDE0LjYzLDE0LjYzLDAsMCwwLDEuOTQsNC42NSw5LjMxLDkuMzEsMCwwLDAsMy4yMiwzLjA5LDguODYsOC44NiwwLDAsMCw0LjUxLDEuMTMsOC4wOSw4LjA5LDAsMCwwLDYuMTItMi4zMywxMC40NCwxMC40NCwwLDAsMCwyLjYtNi41OGg5LjA5YTIwLjQ2LDIwLjQ2LDAsMCwxLTEuNTQsNi44NiwxNS44MywxNS44MywwLDAsMS0zLjYzLDUuM0ExNi43LDE2LjcsMCwwLDEsMTQwLDgxLjYxLDE5LjIxLDE5LjIxLDAsMCwxLDEzMi44Niw4Mi44NVptNDAuMjYsMS4wN2EyMC43OCwyMC43OCwwLDAsMS04Ljg5LTEuODQsMTkuNDQsMTkuNDQsMCwwLDEtNi42NC01LDIxLjg3LDIxLjg3LDAsMCwxLTQuMTUtNy40NiwyOC43LDI4LjcsMCwwLDEtMS40NC05LjIsMjguMTksMjguMTksMCwwLDEsMS40OC05LjI5LDIyLjQ2LDIyLjQ2LDAsMCwxLDQuMTktNy40NiwxOS4yNywxOS4yNywwLDAsMSw2LjUyLTUsMTkuNTEsMTkuNTEsMCwwLDEsOC4zOS0xLjc5LDE5LjI4LDE5LjI4LDAsMCwxLDguMTEsMS42MiwxOC40MywxOC40MywwLDAsMSw2LjE3LDQuNjMsMjIuNTgsMjIuNTgsMCwwLDEsNC41MSw4LjU0QTM4LjU5LDM4LjU5LDAsMCwxLDE5Mi43Nyw2M2gtMzFhMTcuMTYsMTcuMTYsMCwwLDAsMy4zOCw5LjI5LDkuNzEsOS43MSwwLDAsMCw4LDMuNTQsMTAuMjgsMTAuMjgsMCwwLDAsNS44Ni0xLjU0LDguNTcsOC41NywwLDAsMCwzLjMtNC4yOUgxOTJhMTkuNjksMTkuNjksMCwwLDEtMi4zNyw1LjU0LDE2LjgyLDE2LjgyLDAsMCwxLTQsNC40MiwxOC4xMSwxOC4xMSwwLDAsMS01LjU1LDIuOTFBMjEuODUsMjEuODUsMCwwLDEsMTczLjEyLDgzLjkyWm0tLjU1LTM4LjQ0YTguNzYsOC43NiwwLDAsMC03LjMxLDMuMThBMTYuNCwxNi40LDAsMCwwLDE2Mi4xNCw1N0gxODIuNHEtLjMyLTUuNC0yLjg2LTguNDZBOC41OSw4LjU5LDAsMCwwLDE3Mi41Nyw0NS40OFpNMTkyLDM4aDZWMzNxMC02LjYzLDMuMjctOS43NGExMSwxMSwwLDAsMSw0LjY3LTIuNDMsMjMuMjYsMjMuMjYsMCwwLDEsNi41MS0uNjgsNDMuMTEsNDMuMTEsMCwwLDEsNC41NS4yNnY3Ljc2YTM5LjI2LDM5LjI2LDAsMCwwLTQuMywwLDcsNywwLDAsMC0yLjc1LjY4LDMuMDksMy4wOSwwLDAsMC0xLjUsMS42Niw4LDgsMCwwLDAtLjQ1LDNWMzhoOXY3aC05VjgySDE5OFY0NWgtNlpNMTQuMTMsMjA1LjMzaDcuMDhhNi43Myw2LjczLDAsMCwxLDIuNDMuNCw0LjM2LDQuMzYsMCwwLDEsMS43MywxLjE0LDUuMTUsNS4xNSwwLDAsMSwxLDEuNTksNS4zMiw1LjMyLDAsMCwxLC4zNiwyLDUuODYsNS44NiwwLDAsMS0uMzYsMi4xLDQuMzMsNC4zMywwLDAsMS0xLjA1LDEuNTksNC44Miw0LjgyLDAsMCwxLTEuNywxLDYuNTMsNi41MywwLDAsMS0yLjMuMzdIMTcuMjF2Ni4xNkgxNC4xM1ptMy4wOCw3Ljc3aDMuNjVhMi45LDIuOSwwLDAsMCwyLjEyLS43MSwyLjUyLDIuNTIsMCwwLDAsLjcyLTEuODksMi40MiwyLjQyLDAsMCwwLS43My0xLjlBMywzLDAsMCwwLDIwLjksMjA4SDE3LjIxWm0xNi4yMSw5YTYuMTUsNi4xNSwwLDAsMS0yLjQ3LS40OCw1Ljc4LDUuNzgsMCwwLDEtMS45LTEuMzIsNi4wOSw2LjA5LDAsMCwxLTEuMjEtMiw3LDcsMCwwLDEtLjQzLTIuNDMsNy4wNiw3LjA2LDAsMCwxLC40My0yLjQ2LDYuMDksNi4wOSwwLDAsMSwxLjIxLTIsNS40NSw1LjQ1LDAsMCwxLDEuOS0xLjMsNi4xNSw2LjE1LDAsMCwxLDIuNDctLjQ4LDYuMDcsNi4wNywwLDAsMSwyLjQ2LjQ4LDUuNiw1LjYsMCwwLDEsMS44OSwxLjMsNS43MSw1LjcxLDAsMCwxLDEuMTksMiw3LjA2LDcuMDYsMCwwLDEsLjQyLDIuNDYsNyw3LDAsMCwxLS40MiwyLjQzLDUuNzEsNS43MSwwLDAsMS0xLjE5LDIsNiw2LDAsMCwxLTEuODksMS4zMkE2LjA3LDYuMDcsMCwwLDEsMzMuNDIsMjIyLjA1Wm0wLTIuMTFhMi43NSwyLjc1LDAsMCwwLDIuMzMtMS4xNyw0LjExLDQuMTEsMCwwLDAsLjYxLTEuMyw2LjM2LDYuMzYsMCwwLDAsLjItMS42Miw2LjUyLDYuNTIsMCwwLDAtLjItMS42NCw0LjIzLDQuMjMsMCwwLDAtLjYxLTEuMzIsMi42MywyLjYzLDAsMCwwLTEtLjg3LDIuOCwyLjgsMCwwLDAtMS4zNS0uMzFBMi44OCwyLjg4LDAsMCwwLDMyLDIxMmEyLjc0LDIuNzQsMCwwLDAtMSwuODcsNCw0LDAsMCwwLS41OSwxLjMyLDYuNTIsNi41MiwwLDAsMC0uMiwxLjY0LDYuMzYsNi4zNiwwLDAsMCwuMiwxLjYyLDMuODgsMy44OCwwLDAsMCwuNTksMS4zLDIuNzgsMi43OCwwLDAsMCwyLjM2LDEuMTdabTcuODMtMTBoMi43MXYxLjc4SDQ0YTQuMzcsNC4zNywwLDAsMSwxLjQ0LTEuNTQsMy44OSwzLjg5LDAsMCwxLDIuMDgtLjU1LDMuNCwzLjQsMCwwLDEsMS45My41NSwzLjM2LDMuMzYsMCwwLDEsMS4yLDEuNjVoMGE0LjYzLDQuNjMsMCwwLDEsMS42NS0xLjY3LDQuMTUsNC4xNSwwLDAsMSwyLS41MywzLjYsMy42LDAsMCwxLDIuOCwxLjA5LDQuMjcsNC4yNywwLDAsMSwxLDN2OEg1NS40di03LjU5YTIuMjgsMi4yOCwwLDAsMC0uNTMtMS41OSwxLjc5LDEuNzksMCwwLDAtMS4zOS0uNTcsMi4xNywyLjE3LDAsMCwwLTEuNy43NywzLDMsMCwwLDAtLjY3LDJ2Ni45NWgtMi44di03LjU5YTIuNDEsMi40MSwwLDAsMC0uNDgtMS41OSwxLjY5LDEuNjksMCwwLDAtMS4zNi0uNTcsMi4xNCwyLjE0LDAsMCwwLS45My4yMSwyLjU4LDIuNTgsMCwwLDAtMS4zMiwxLjQ1LDMuMjUsMy4yNSwwLDAsMC0uMiwxLjE0djYuOTVINDEuMjNaTTY4LjE2LDIyMS43YTEuNTQsMS41NCwwLDAsMS0uMjUtLjU2LDQuODUsNC44NSwwLDAsMS0uMTUtMWgwYTUuMDcsNS4wNywwLDAsMS0xLjQzLDEuMjlBNC40MSw0LjQxLDAsMCwxLDY0LDIyMmE1LjQxLDUuNDEsMCwwLDEtMS41OS0uMjIsMy4zNCwzLjM0LDAsMCwxLTEuMjctLjY2LDMuMDcsMy4wNywwLDAsMS0uODMtMS4wOCwzLjQ1LDMuNDUsMCwwLDEtLjMxLTEuNTEsMy4zNSwzLjM1LDAsMCwxLC4zNi0xLjY0LDMsMywwLDAsMSwxLTEuMDUsNS4yNCw1LjI0LDAsMCwxLDEuNTItLjYsMTguNDYsMTguNDYsMCwwLDEsMS45NC0uMzQsNy45MSw3LjkxLDAsMCwwLDIuMTctLjUsMS4xMiwxLjEyLDAsMCwwLC43My0xLjExLDEuNTcsMS41NywwLDAsMC0uNTMtMS4yMywyLjMzLDIuMzMsMCwwLDAtMS41OC0uNDYsMi42OSwyLjY5LDAsMCwwLTEuNzcuNSwxLjg4LDEuODgsMCwwLDAtLjYzLDEuMzlINjAuNTlhMy42MiwzLjYyLDAsMCwxLC4zNC0xLjQ0LDMuNDYsMy40NiwwLDAsMSwxLTEuMjIsNC43OSw0Ljc5LDAsMCwxLDEuNTUtLjg1LDYuNzMsNi43MywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiwzLjg4LDMuODgsMCwwLDEsMS4zNS41MiwzLjYsMy42LDAsMCwxLDEuNjcsMy4zNXY2LjE4YTMuNjQsMy42NCwwLDAsMCwuMTMsMS4xMi45NC45NCwwLDAsMCwuMzEuNTN2LjJabS0zLjMyLTEuNjNhMy4zMSwzLjMxLDAsMCwwLDEuMjctLjIzLDIuOSwyLjksMCwwLDAsLjkzLS41OSwyLjYxLDIuNjEsMCwwLDAsLjU3LS44NCwyLjU2LDIuNTYsMCwwLDAsLjItMXYtMS43NGE0LDQsMCwwLDEtMSwuNDVjLS40MS4xMy0uODMuMjMtMS4yNS4zMmE2LjczLDYuNzMsMCwwLDAtMiwuNjMsMS40MiwxLjQyLDAsMCwwLS43MSwxLjM1LDEuNjcsMS42NywwLDAsMCwuMTcuNzgsMS4yOSwxLjI5LDAsMCwwLC40NC41MSwxLjgxLDEuODEsMCwwLDAsLjY1LjI2QTMuODcsMy44NywwLDAsMCw2NC44NCwyMjAuMDdabTEzLjI2LDUuNzJhNi43NSw2Ljc1LDAsMCwxLTMuNzYtLjkxLDMuNTMsMy41MywwLDAsMS0xLjYxLTIuNTloMi42OWMuMTksMSwxLjA3LDEuNDUsMi42NCwxLjQ1LDEuODksMCwyLjg0LS44NSwyLjg0LTIuNTd2LS4yOWMwLS4zMiwwLS42MiwwLS45czAtLjUyLDAtLjcyaC0uMDdhMy41NywzLjU3LDAsMCwxLTMuMzIsMS44LDUsNSwwLDAsMS0yLS40LDQuNzEsNC43MSwwLDAsMS0xLjYzLTEuMTIsNS4yNCw1LjI0LDAsMCwxLTEuMDktMS43Nyw2LjY3LDYuNjcsMCwwLDEtLjM5LTIuMzYsNi45Myw2LjkzLDAsMCwxLC4zOC0yLjM5LDUuNjgsNS42OCwwLDAsMSwxLTEuODIsNC41OSw0LjU5LDAsMCwxLDEuNTctMS4xNSw0Ljc5LDQuNzksMCwwLDEsMi0uNDEsMy42NiwzLjY2LDAsMCwxLDMuNDcsMS44M2gwVjIxMGgyLjd2MTFhNS40LDUuNCwwLDAsMS0uMzgsMi4xNSw0LjExLDQuMTEsMCwwLDEtMS4wOSwxLjUyLDQuNTIsNC41MiwwLDAsMS0xLjc2LjlBOC41OSw4LjU5LDAsMCwxLDc4LjEsMjI1Ljc5Wm0wLTYuODlhMy4wNywzLjA3LDAsMCwwLDEuMzUtLjI3LDIuMzIsMi4zMiwwLDAsMCwuOTEtLjc1LDMsMywwLDAsMCwuNTItMS4xMyw1LjksNS45LDAsMCwwLC4xNy0xLjQzLDQuMTIsNC4xMiwwLDAsMC0uNzMtMi41NCwyLjYyLDIuNjIsMCwwLDAtMi4yNC0xLDIuNSwyLjUsMCwwLDAtMi4xMiwxLDQuMiw0LjIsMCwwLDAtLjcyLDIuNTgsNC4wOSw0LjA5LDAsMCwwLC43NCwyLjU5QTIuNTIsMi41MiwwLDAsMCw3OC4wNiwyMTguOVptMTUuNjQsMi44YTEuNTQsMS41NCwwLDAsMS0uMjUtLjU2LDQuODUsNC44NSwwLDAsMS0uMTUtMWgwYTUuMDcsNS4wNywwLDAsMS0xLjQzLDEuMjksNC40MSw0LjQxLDAsMCwxLTIuMjcuNTEsNS40MSw1LjQxLDAsMCwxLTEuNTktLjIyLDMuNDIsMy40MiwwLDAsMS0xLjI3LS42NiwzLjA3LDMuMDcsMCwwLDEtLjgzLTEuMDgsMy40NSwzLjQ1LDAsMCwxLS4zMS0xLjUxLDMuMzUsMy4zNSwwLDAsMSwuMzYtMS42NCwzLDMsMCwwLDEsMS0xLjA1LDUuMzYsNS4zNiwwLDAsMSwxLjUyLS42LDE4LjQ2LDE4LjQ2LDAsMCwxLDEuOTQtLjM0LDgsOCwwLDAsMCwyLjE4LS41LDEuMTIsMS4xMiwwLDAsMCwuNzItMS4xMSwxLjU0LDEuNTQsMCwwLDAtLjUzLTEuMjMsMi4zMywyLjMzLDAsMCwwLTEuNTgtLjQ2LDIuNjksMi42OSwwLDAsMC0xLjc3LjUsMS44OCwxLjg4LDAsMCwwLS42MywxLjM5SDg2LjEzYTMuOCwzLjgsMCwwLDEsLjM0LTEuNDQsMy41OCwzLjU4LDAsMCwxLDEtMS4yMkE0Ljc5LDQuNzksMCwwLDEsODksMjEwYTYuNzcsNi43NywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiwzLjg4LDMuODgsMCwwLDEsMS4zNS41MkEzLjYxLDMuNjEsMCwwLDEsOTYsMjEzLjY3djYuMThhNCw0LDAsMCwwLC4xMiwxLjEyLjg5Ljg5LDAsMCwwLC4zMi41M3YuMlptLTMuMzItMS42M2EzLjMxLDMuMzEsMCwwLDAsMS4yNy0uMjMsMi45LDIuOSwwLDAsMCwuOTMtLjU5LDIuNjEsMi42MSwwLDAsMCwuNTctLjg0LDIuNTYsMi41NiwwLDAsMCwuMi0xdi0xLjc0YTQsNCwwLDAsMS0xLC40NSwxMi43LDEyLjcsMCwwLDEtMS4yNS4zMiw2LjczLDYuNzMsMCwwLDAtMiwuNjMsMS40MiwxLjQyLDAsMCwwLS43MSwxLjM1LDEuNjcsMS42NywwLDAsMCwuMTcuNzgsMS4zNywxLjM3LDAsMCwwLC40NC41MSwxLjgxLDEuODEsMCwwLDAsLjY1LjI2QTMuODcsMy44NywwLDAsMCw5MC4zOCwyMjAuMDdaTTk4LjQzLDIxMGgyLjcxdjEuNzhoLjA2YTQuMzcsNC4zNywwLDAsMSwxLjQ0LTEuNTQsMy44OSwzLjg5LDAsMCwxLDIuMDgtLjU1LDMuNCwzLjQsMCwwLDEsMS45My41NSwzLjM2LDMuMzYsMCwwLDEsMS4yLDEuNjVoMGE0LjYzLDQuNjMsMCwwLDEsMS42NS0xLjY3LDQuMTUsNC4xNSwwLDAsMSwyLS41MywzLjYsMy42LDAsMCwxLDIuOCwxLjA5LDQuMjcsNC4yNywwLDAsMSwxLDN2OEgxMTIuNnYtNy41OWEyLjI4LDIuMjgsMCwwLDAtLjUzLTEuNTksMS43OSwxLjc5LDAsMCwwLTEuMzktLjU3LDIuMTcsMi4xNywwLDAsMC0xLjcuNzcsMywzLDAsMCwwLS42NywydjYuOTVoLTIuOHYtNy41OWEyLjQxLDIuNDEsMCwwLDAtLjQ4LTEuNTksMS42OSwxLjY5LDAsMCwwLTEuMzYtLjU3LDIuMTQsMi4xNCwwLDAsMC0uOTMuMjEsMi41OCwyLjU4LDAsMCwwLTEuMzIsMS40NSwzLjI1LDMuMjUsMCwwLDAtLjIsMS4xNHY2Ljk1SDk4LjQzWm0zMC4xNCwxMi4xYTYuMDcsNi4wNywwLDAsMS0yLjQ2LS40OCw2LDYsMCwwLDEtMS44OS0xLjMyLDUuNzEsNS43MSwwLDAsMS0xLjE5LTIsNyw3LDAsMCwxLS40Mi0yLjQzLDcuMDYsNy4wNiwwLDAsMSwuNDItMi40Niw1Ljg1LDUuODUsMCwwLDEsMS4xOC0yLDUuNTcsNS41NywwLDAsMSwxLjg2LTEuMyw2LjA3LDYuMDcsMCwwLDEsMi40Ni0uNDgsNi41LDYuNSwwLDAsMSwyLC4zMSw0LjksNC45LDAsMCwxLDEuNTguODYsNC40OCw0LjQ4LDAsMCwxLDEuMTEsMS4zMyw1LjY5LDUuNjksMCwwLDEsLjU4LDEuNzNIMTMxLjFhMi41OCwyLjU4LDAsMCwwLS44NS0xLjUzLDIuNDcsMi40NywwLDAsMC0xLjctLjU2LDMuMDYsMy4wNiwwLDAsMC0xLjM2LjI5LDIuNjEsMi42MSwwLDAsMC0xLC44NSw0LjE5LDQuMTksMCwwLDAtLjU5LDEuMyw2LjQ1LDYuNDUsMCwwLDAtLjE5LDEuNjMsNi4xOSw2LjE5LDAsMCwwLC4xOSwxLjU5LDQuMDgsNC4wOCwwLDAsMCwuNTksMS4yOCwyLjY3LDIuNjcsMCwwLDAsMSwuODQsMi44MSwyLjgxLDAsMCwwLDEuMzYuMzEsMi41LDIuNSwwLDAsMCwxLjgzLS42NCwyLjc0LDIuNzQsMCwwLDAsLjc5LTEuOGgyLjcyYTUsNSwwLDAsMS0uNDYsMS44OCw0LjI0LDQuMjQsMCwwLDEtMS4wOSwxLjQ1LDUsNSwwLDAsMS0xLjY0LDFBNi4xOCw2LjE4LDAsMCwxLDEyOC41NywyMjIuMDVabTE0Ljg3LS4zNWExLjU0LDEuNTQsMCwwLDEtLjI1LS41Niw0Ljg1LDQuODUsMCwwLDEtLjE1LTFoMGE1LjA3LDUuMDcsMCwwLDEtMS40MywxLjI5LDQuNDEsNC40MSwwLDAsMS0yLjI3LjUxLDUuNDEsNS40MSwwLDAsMS0xLjU5LS4yMiwzLjQyLDMuNDIsMCwwLDEtMS4yNy0uNjYsMy4wNywzLjA3LDAsMCwxLS44My0xLjA4LDMuNDUsMy40NSwwLDAsMS0uMzEtMS41MSwzLjM1LDMuMzUsMCwwLDEsLjM2LTEuNjQsMywzLDAsMCwxLDEtMS4wNSw1LjE4LDUuMTgsMCwwLDEsMS41MS0uNiwxOC45MywxOC45MywwLDAsMSwxLjk0LS4zNCw4LDgsMCwwLDAsMi4xOC0uNSwxLjEyLDEuMTIsMCwwLDAsLjcyLTEuMTEsMS41NiwxLjU2LDAsMCwwLS41Mi0xLjIzLDIuMzgsMi4zOCwwLDAsMC0xLjU5LS40NiwyLjY5LDIuNjksMCwwLDAtMS43Ny41LDEuODgsMS44OCwwLDAsMC0uNjMsMS4zOWgtMi42NGEzLjgsMy44LDAsMCwxLC4zNC0xLjQ0LDMuNTgsMy41OCwwLDAsMSwuOTUtMS4yMiw0Ljc5LDQuNzksMCwwLDEsMS41NS0uODUsNi43Nyw2Ljc3LDAsMCwxLDIuMTgtLjMyLDguNzUsOC43NSwwLDAsMSwxLjc5LjE2LDQsNCwwLDAsMSwxLjM2LjUyLDMuNjIsMy42MiwwLDAsMSwxLjY3LDMuMzV2Ni4xOGE0LDQsMCwwLDAsLjEyLDEuMTIuODkuODksMCwwLDAsLjMyLjUzdi4yWm0tMy4zMi0xLjYzYTMuMzEsMy4zMSwwLDAsMCwxLjI3LS4yMywyLjksMi45LDAsMCwwLC45My0uNTksMi42MSwyLjYxLDAsMCwwLC41Ny0uODQsMi41NiwyLjU2LDAsMCwwLC4yLTF2LTEuNzRhNCw0LDAsMCwxLTEsLjQ1LDEyLjcsMTIuNywwLDAsMS0xLjI1LjMyLDYuODMsNi44MywwLDAsMC0yLC42MywxLjQyLDEuNDIsMCwwLDAtLjcxLDEuMzUsMS42NywxLjY3LDAsMCwwLC4xNy43OCwxLjM3LDEuMzcsMCwwLDAsLjQ0LjUxLDEuODEsMS44MSwwLDAsMCwuNjUuMjZBMy44NywzLjg3LDAsMCwwLDE0MC4xMiwyMjAuMDdabTctNS40MSwxLjYxLTEuMjF2LTguMTJoMi44MnY2bDEuOC0xLjM2djIuMjJsLTEuOCwxLjM3djguMTZIMTQ4Ljd2LTZsLTEuNjEsMS4yMVptOS40NCwxMWgtLjQ0bC0uNjQsMC0uNjEsMGEyLjE5LDIuMTksMCwwLDEtLjM1LDBWMjIzLjNoLjE1YS42OC42OCwwLDAsMCwuMTksMGwuMzMsMCwuMzYsMGguMjlhMS45LDEuOSwwLDAsMCwxLjEyLS4yOSwxLjY3LDEuNjcsMCwwLDAsLjU5LTFjMC0uMDYsMC0uMTYsMC0uMzFzMC0uMzIsMC0uNTEsMC0uMzksMC0uNTlhMi4xMywyLjEzLDAsMCwwLS4xMi0uNTVsLTQtMTAuMjFoM2wxLjk0LDUuNDZjLjExLjM2LjI0Ljc2LjM2LDEuMThzLjIzLjgzLjMyLDEuMTkuMi44NS4zMSwxLjI4aDBjLjEtLjQ0LjIxLS44Ny4zMy0xLjNzLjIxLS43Ni4zMy0xLjE4bC4zNS0xLjE3LDEuODctNS40NkgxNjVsLTQuNTUsMTIuNDFhMTIuNTksMTIuNTksMCwwLDEtLjc1LDEuNjIsMy44NCwzLjg0LDAsMCwxLS44NCwxLDIuNjUsMi42NSwwLDAsMS0xLC41NEE1LDUsMCwwLDEsMTU2LjUzLDIyNS43Wm0yMC41NS0zLjY1YTYuMTUsNi4xNSwwLDAsMS0yLjQ3LS40OCw1LjYzLDUuNjMsMCwwLDEtMy4wOC0zLjI5LDcuMjEsNy4yMSwwLDAsMS0uNDEtMi40Myw3LjMsNy4zLDAsMCwxLC40MS0yLjQ2LDYsNiwwLDAsMSwxLjE5LTIsNS41Nyw1LjU3LDAsMCwxLDEuODYtMS4zLDYuMDUsNi4wNSwwLDAsMSwyLjQ1LS40OCw2LjUyLDYuNTIsMCwwLDEsMiwuMzEsNC45LDQuOSwwLDAsMSwxLjU4Ljg2LDQuMzEsNC4zMSwwLDAsMSwxLjEsMS4zMyw1LjQ1LDUuNDUsMCwwLDEsLjU5LDEuNzNoLTIuNzNhMi42MywyLjYzLDAsMCwwLS44NS0xLjUzLDIuNDcsMi40NywwLDAsMC0xLjctLjU2LDMuMDYsMy4wNiwwLDAsMC0xLjM2LjI5LDIuNTMsMi41MywwLDAsMC0xLC44NSw0LDQsMCwwLDAtLjU5LDEuMyw2LjQ0LDYuNDQsMCwwLDAtLjIsMS42Myw2LjE4LDYuMTgsMCwwLDAsLjIsMS41OSwzLjg3LDMuODcsMCwwLDAsLjU5LDEuMjgsMi41OSwyLjU5LDAsMCwwLDEsLjg0LDIuODEsMi44MSwwLDAsMCwxLjM2LjMxLDIuNTIsMi41MiwwLDAsMCwxLjgzLS42NCwyLjY5LDIuNjksMCwwLDAsLjc4LTEuOGgyLjczYTUuMTUsNS4xNSwwLDAsMS0uNDYsMS44OCw0LjI0LDQuMjQsMCwwLDEtMS4wOSwxLjQ1LDUsNSwwLDAsMS0xLjY0LDFBNi4xOCw2LjE4LDAsMCwxLDE3Ny4wOCwyMjIuMDVabTYuNjQtMi40Niw0LjY5LTUuNzUuNTEtLjU1LjU3LS41Ny42MS0uNTl2LS4wN2wtLjg2LjA3YTYuNTMsNi41MywwLDAsMS0uNzguMDVoLTQuM1YyMTBoOS4yMnYxLjkxbC00LjY2LDUuNzJhOCw4LDAsMCwxLS41OC42MWwtLjYxLjZjLS4yNC4yMi0uNDYuNDQtLjY4LjY2di4wN2wuOSwwLC44MiwwLC44MywwaDQuMjd2Mi4yOWgtOS45NVptMTkuNDcsMi4xMWExLjU0LDEuNTQsMCwwLDEtLjI1LS41Niw1LDUsMCwwLDEtLjE0LTFoLS4wNWE1LjA3LDUuMDcsMCwwLDEtMS40MywxLjI5LDQuNCw0LjQsMCwwLDEtMi4yNi41MSw1LjQzLDUuNDMsMCwwLDEtMS42LS4yMiwzLjMsMy4zLDAsMCwxLTEuMjYtLjY2LDMsMywwLDAsMS0uODQtMS4wOCwzLjQ1LDMuNDUsMCwwLDEtLjMxLTEuNTEsMy4yNCwzLjI0LDAsMCwxLC4zNy0xLjY0LDIuODcsMi44NywwLDAsMSwxLTEuMDUsNS4xOCw1LjE4LDAsMCwxLDEuNTEtLjYsMTguOTMsMTguOTMsMCwwLDEsMS45NC0uMzQsOCw4LDAsMCwwLDIuMTgtLjUsMS4xMiwxLjEyLDAsMCwwLC43Mi0xLjExLDEuNTYsMS41NiwwLDAsMC0uNTItMS4yMywyLjM2LDIuMzYsMCwwLDAtMS41OS0uNDYsMi42OSwyLjY5LDAsMCwwLTEuNzcuNSwxLjg4LDEuODgsMCwwLDAtLjYzLDEuMzloLTIuNjRBMy44LDMuOCwwLDAsMSwxOTYsMjEyYTMuNTgsMy41OCwwLDAsMSwuOTUtMS4yMiw0LjksNC45LDAsMCwxLDEuNTUtLjg1LDYuNzcsNi43NywwLDAsMSwyLjE4LS4zMiw4Ljc1LDguNzUsMCwwLDEsMS43OS4xNiw0LDQsMCwwLDEsMS4zNi41MiwzLjYyLDMuNjIsMCwwLDEsMS42NywzLjM1djYuMThhNCw0LDAsMCwwLC4xMiwxLjEyLjk0Ljk0LDAsMCwwLC4zMi41M3YuMlptLTMuMzItMS42M2EzLjQsMy40LDAsMCwwLDEuMjgtLjIzLDMsMywwLDAsMCwuOTItLjU5LDIuNjEsMi42MSwwLDAsMCwuNTctLjg0LDIuNTYsMi41NiwwLDAsMCwuMi0xdi0xLjc0YTMuOTQsMy45NCwwLDAsMS0xLC40NWMtLjQyLjEzLS44My4yMy0xLjI2LjMyYTYuODMsNi44MywwLDAsMC0yLC42MywxLjQxLDEuNDEsMCwwLDAtLjcsMS4zNSwxLjY3LDEuNjcsMCwwLDAsLjE2Ljc4LDEuMzcsMS4zNywwLDAsMCwuNDQuNTEsMS44MSwxLjgxLDAsMCwwLC42NS4yNkEzLjk0LDMuOTQsMCwwLDAsMTk5Ljg3LDIyMC4wN1ptMTIuNzYsMmE2LjE3LDYuMTcsMCwwLDEtMy45My0xLjEsMy44OCwzLjg4LDAsMCwxLTEuNTMtMi44OGgyLjY5YTIuMSwyLjEsMCwwLDAsLjkyLDEuNTMsMy40OCwzLjQ4LDAsMCwwLDEuODcuNDcsMi43LDIuNywwLDAsMCwxLjcyLS40NSwxLjQ0LDEuNDQsMCwwLDAsLjU1LTEuMTUsMS4xNiwxLjE2LDAsMCwwLS4yMi0uNzIsMS42OCwxLjY4LDAsMCwwLS42Mi0uNDYsNCw0LDAsMCwwLTEtLjMxbC0xLjI0LS4yNWExNSwxNSwwLDAsMS0xLjYtLjM4LDQuNzQsNC43NCwwLDAsMS0xLjM3LS42LDMuMiwzLjIsMCwwLDEtMS0xLDMuMjQsMy4yNCwwLDAsMS0uMzYtMS42MiwzLjIsMy4yLDAsMCwxLC4zNC0xLjQ4LDMuMTMsMy4xMywwLDAsMSwuOTUtMS4xLDQuMjEsNC4yMSwwLDAsMSwxLjQ2LS42OSw3LjQxLDcuNDEsMCwwLDEsMS44OS0uMjMsNS42Miw1LjYyLDAsMCwxLDMuNTYsMSwzLjc4LDMuNzgsMCwwLDEsMS40MiwyLjVoLTIuNjdjLS4yLTEtMS0xLjU3LTIuMzMtMS41N2EyLjM1LDIuMzUsMCwwLDAtMS40OC40LDEuMjQsMS4yNCwwLDAsMC0uNSwxLC44OS44OSwwLDAsMCwuMjIuNjQsMS43MiwxLjcyLDAsMCwwLC42Mi40MSw0LjgyLDQuODIsMCwwLDAsLjk0LjI3bDEuMjEuMjRjLjU2LjExLDEuMS4yMywxLjYzLjM3YTQuOTIsNC45MiwwLDAsMSwxLjQyLjYxLDMsMywwLDAsMSwxLDEuMDgsMy41NywzLjU3LDAsMCwxLC4zOCwxLjc1LDMuNDEsMy40MSwwLDAsMS0uMzgsMS42MywzLjQ2LDMuNDYsMCwwLDEtMSwxLjE4LDUsNSwwLDAsMS0xLjYuNzFBNy44OSw3Ljg5LDAsMCwxLDIxMi42MywyMjIuMDdaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwaWQlM0QlMjJhZTVkZDFjZS1hNjQxLTQxMmEtOWU1Ny00NWY2NThjYWI0ZDUlMjIlMjBkYXRhLW5hbWUlM0QlMjIzNjV0JTIyJTIwZCUzRCUyMk0xNTkuMiwxNDNsNi41NS0zOUgyMTB2MTVIMTc3LjM0TDE3NCwxMzdoLjI1YTE4LjU4LDE4LjU4LDAsMCwxLDYtNC43OSwxOS44OSwxOS44OSwwLDAsMSw4Ljg4LTEuNzQsMjMuNzIsMjMuNzIsMCwwLDEsMTcuMzEsNy4zNywyNC4xLDI0LjEsMCwwLDEsMy43Miw1LjE2Wm0tMTcuOCwwYTI2LjExLDI2LjExLDAsMCwwLTMuNy01LjEsMjQuODksMjQuODksMCwwLDAtOC01LjY4LDIzLjQ0LDIzLjQ0LDAsMCwwLTkuNjUtMiwxOC44OCwxOC44OCwwLDAsMC0xMC4xNSwyLjU5LDIzLDIzLDAsMCwwLTcuMTYsNy4yM2gtLjJxMS4yLTIzLjM5LDE1LjMyLTIzLjM5YzMsMCw1LjIyLjc3LDYuNzIsMi4zMWExMi4xNiwxMi4xNiwwLDAsMSwzLDUuMDhoMTUuNTJhMjYuMzksMjYuMzksMCwwLDAtMi44NC04LDIzLjYzLDIzLjYzLDAsMCwwLTUuMjItNi40NiwyMy4yNCwyMy4yNCwwLDAsMC03LjYxLTQuMywyOS45LDI5LjksMCwwLDAtOS45LTEuNTQsMjkuNDksMjkuNDksMCwwLDAtMTIuOTMsMi41OSwyNS4xNiwyNS4xNiwwLDAsMC05LjE1LDcuNTYsMzUuNDksMzUuNDksMCwwLDAtNi40MiwxMy42OEE2OSw2OSwwLDAsMCw4Ny4yMiwxNDNaTTM2LjE4LDEyNC4yNGExMy4wNiwxMy4wNiwwLDAsMSwyLjMtNC4wNiwxMSwxMSwwLDAsMSwzLjc4LTIuODgsMTIsMTIsMCwwLDEsNS4zNS0xLjEyQTkuNyw5LjcsMCwwLDEsNTgsMTI2LjUzcTAsNS4xNy0zLjIxLDcuODJUNDYsMTM3SDQydjZINjUuNzJBMjcuMjIsMjcuMjIsMCwwLDAsNjMsMTQxLjg4LDIxLjIxLDIxLjIxLDAsMCwwLDcxLDEzNi4wNnEzLjMxLTQsMy4zMi0xMC41OWEyNC41MiwyNC41MiwwLDAsMC0xLjk0LTkuOTRBMjAuMjgsMjAuMjgsMCwwLDAsNjcsMTA4LjEyYTI0LjU3LDI0LjU3LDAsMCwwLTguMzctNC41OSwzNCwzNCwwLDAsMC0xMC42Ni0xLjU5QTMxLjExLDMxLjExLDAsMCwwLDM2LDEwNC4wNmEyNi4zLDI2LjMsMCwwLDAtOC43OCw1Ljc3LDI0LjQ2LDI0LjQ2LDAsMCwwLTUuNTEsOC41OCwzMS4wNywzMS4wNywwLDAsMC0yLDEwLjU5SDM1LjI3QTE1Ljk0LDE1Ljk0LDAsMCwxLDM2LjE4LDEyNC4yNFolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2I4MDRkZTEwLTA0YTctNDlkNi04MjkzLWI2MWEzMTYyYWU3YiklMjIvJTNFJTNDcGF0aCUyMGlkJTNEJTIyZjY5ZWEyMjctMDgwMy00YWFiLWE1ODYtZWZiMDI2Nzc4ZmM4JTIyJTIwZGF0YS1uYW1lJTNEJTIyMzY1YiUyMiUyMGQlM0QlMjJNMTczLjIzLDE0OWgtMTVsLjY3LTRoMTkuMzFsLS4zMy4xNUExMi45MywxMi45MywwLDAsMCwxNzMuMjMsMTQ5Wm0zOC00SDE5MC43YTEyLjcyLDEyLjcyLDAsMCwxLDMuMTEsMi4zM3EzLjY5LDMuNzUsMy42OSwxMC40MSwwLDYuNDUtMy42MywxMC40MWExMi4yMSwxMi4yMSwwLDAsMS05LjQ0LDQsMTMuMiwxMy4yLDAsMCwxLTguNjYtMi43NiwxMS44NiwxMS44NiwwLDAsMS00LjItNy4zNkgxNTUuNWEyNS44OSwyNS44OSwwLDAsMCwyLjc5LDEwLjMsMjQuOSwyNC45LDAsMCwwLDYuMjksNy43NywyNy41LDI3LjUsMCwwLDAsOS4xNCw0LjlBMzYuNTQsMzYuNTQsMCwwLDAsMTg1LDE4Ni42NmEzMi41MSwzMi41MSwwLDAsMCwxMS42My0yLDI2LDI2LDAsMCwwLDkuMTMtNS44MSwyNi40MywyNi40MywwLDAsMCw1Ljk0LTkuMDYsMzMuOTIsMzMuOTIsMCwwLDAsLjE1LTIzLjI1QzIxMS42OSwxNDYsMjExLjQ2LDE0NS41LDIxMS4yMywxNDVabS02OC43OSwwaC0xOS45YTEyLjc0LDEyLjc0LDAsMCwxLDYuNDcsNy40NSwxNy42NywxNy42NywwLDAsMSwxLDUuODcsMTYsMTYsMCwwLDEtMSw1Ljc2LDE1LDE1LDAsMCwxLTIuNzIsNC41OCwxMS43OCwxMS43OCwwLDAsMS00LjA4LDMsMTIuMjgsMTIuMjgsMCwwLDEtNS4wOSwxLjA2LDEzLjUxLDEzLjUxLDAsMCwxLTUuNC0xLjA2LDEyLjUzLDEyLjUzLDAsMCwxLTQuMjgtMywxNCwxNCwwLDAsMS0yLjgyLTQuNTgsMTYuMzIsMTYuMzIsMCwwLDEtMS01Ljg3LDE0Ljg3LDE0Ljg3LDAsMCwxLDMuNzMtMTAuNDVBMTIuMjMsMTIuMjMsMCwwLDEsMTExLDE0NUg4Ny4yMXYuMDhBNjguMjYsNjguMjYsMCwwLDAsODkuMTUsMTYyYTM1LjExLDM1LjExLDAsMCwwLDYuMTIsMTMsMjYuOTMsMjYuOTMsMCwwLDAsOS4zNSw4LDI4LjEyLDI4LjEyLDAsMCwwLDEzLDIuODYsMjksMjksMCwwLDAsMTEtMiwyNiwyNiwwLDAsMCw4LjctNS43MywyNi42MiwyNi42MiwwLDAsMCw1Ljc3LTguODMsMzEuODcsMzEuODcsMCwwLDAsMC0yMi41N0MxNDIuOTQsMTQ2LjA2LDE0Mi42OSwxNDUuNTMsMTQyLjQ0LDE0NVptLTczLjM1LDBINDJ2NGg0LjM5cTYuNDIsMCw5LjksMi43OHQzLjQ3LDguMzNjMCwzLjcxLTEuMDgsNi41OS0zLjIyLDguNjdzLTUuMTUsMy4xMS05LDMuMTFhMTYsMTYsMCwwLDEtNi4yOC0xLjExLDExLjg3LDExLjg3LDAsMCwxLTQuMjgtMywxMi44OSwxMi44OSwwLDAsMS0yLjU1LTQuMzlBMjAuNTQsMjAuNTQsMCwwLDEsMzMuMzMsMTU4SDE3LjYxYTMzLjQsMzMuNCwwLDAsMCwyLjI1LDExLjc4QTIzLjE2LDIzLjE2LDAsMCwwLDI2LjM5LDE3OWEyOC4yNSwyOC4yNSwwLDAsMCw5LjI4LDUuMTEsMzkuMTQsMzkuMTQsMCwwLDAsMTIuNDUsMS43OEEzOC43MywzOC43MywwLDAsMCw1OSwxODQuMzlhMjcuNDksMjcuNDksMCwwLDAsOS4wOC00LjUsMjEuNDgsMjEuNDgsMCwwLDAsNi4yMy03LjYxLDI0LjMsMjQuMywwLDAsMCwyLjI5LTEwLjk1cTAtOC0zLjgyLTEyLjgzQTE4LjgzLDE4LjgzLDAsMCwwLDY5LjA5LDE0NVolMjIlMjBmaWxsJTNEJTIydXJsKCUyM2ZiNDZiYzFhLWM2ZDItNGJhZC05ODAwLTczN2Y0ZGU1NWQyNiklMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjMxLDI0OEgwVjBIMjMxWiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4uZGVjby0zNjU6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBhZGRpbmctdG9wOiAxMDcuMzYlO1xufVxuXG4udGVhc2VyLTM2NSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ4ZGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzhweCAyNXB4IDQ3cHggMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNTRweDtcbn1cbi50ZWFzZXItMzY1X190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgY29sb3I6ICM0MTQwNDI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4udGVhc2VyLTM2NV9fZGVjbyB7XG4gIHdpZHRoOiAxNTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDtcbn1cblxuLnRlYXNlci1zaG9ydCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkOGRhO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE1cHggMTVweCAyOHB4IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlci1zaG9ydCB7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDM0cHggMTVweDtcbiAgfVxufVxuLnRlYXNlci1zaG9ydDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDhkYTtcbn1cbi50ZWFzZXItc2hvcnRfX2hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyLXNob3J0X19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X19pbmZvIHtcbiAgb3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGVhc2VyLXNob3J0X19pbmZvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBwYWRkaW5nOiAwIDZweDtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50ZWFzZXItc2hvcnRfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICB9XG59XG4udGVhc2VyLXNob3J0X190aW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBjb2xvcjogIzIwMWQxZDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRlYXNlci1zaG9ydF9fdGltZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGhlaWdodDogMjdweDtcbiAgfVxufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHRvcDogMDtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluay5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWRlYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQgMTUwbXM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZCwgMCkpIHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6OmJlZm9yZSwgLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnRlYXNlci1zaG9ydF9fb3ZlcmxpbmsubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50ZWFzZXItc2hvcnRfX292ZXJsaW5rOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluazpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTphY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4wNDtcbn1cbi50ZWFzZXItc2hvcnRfX292ZXJsaW5rLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4wNDtcbn1cbi50YWItbmF2aWdhdGlvbiAudGVhc2VyLXNob3J0X19vdmVybGluazpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udGFiLW5hdmlnYXRpb24gLnRlYXNlci1zaG9ydF9fb3Zlcmxpbms6Zm9jdXMubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkOjpiZWZvcmUsIC50YWItbmF2aWdhdGlvbiAudGVhc2VyLXNob3J0X19vdmVybGluazpmb2N1czpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI7XG59XG4udGVhc2VyLXNob3J0X19vdmVybGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG59XG5cbi5yZWFkLXRvbyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4ucmVhZC10b29fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwQUVFRjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5yZWFkLXRvb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJlYWQtdG9vX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmaWxlLXR5cGVzXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvZmlsZS10eXBlcy9maWxlLXR5cGVzLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuW2NsYXNzXj1pY29uLWZpbGVdLCBbY2xhc3MqPVwiIGljb24tZmlsZVwiXSB7XG4gIGZvbnQtZmFtaWx5OiBcImZpbGUtdHlwZXNcIiwgc2Fucy1zZXJpZjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWZpbGUtc3ByZWFkc2hlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cblxuLmljb24tZmlsZS1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uaWNvbi1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuLmljb24tZmlsZS1waWN0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG5cbi5pY29uLWZpbGUtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmljb24tZmlsZS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uaWNvbi1maWxlLWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cblxuLmljb24tZmlsZS1wZGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhZGFcIjtcbn1cblxuLmljby1saW5rIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICBmb250LWZhbWlseTogXCJmaWxlLXR5cGVzXCIsIHNhbnMtc2VyaWY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIG1hcmdpbi1sZWZ0OiA3cHg7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXNpemU6IDI4cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5baHJlZio9XCIucGRmXCJdIC5pY28tbGluazpiZWZvcmUsXG5baHJlZio9XCIuUERGXCJdIC5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG5baHJlZio9XCIuZG9jXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5ET0NcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnR4dFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuVFhUXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5ydGZcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlJURlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuZG9jeFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuRE9DWFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIub2R0XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5PRFRcIl0gLmljby1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG5cbltocmVmKj1cIi5tcDNcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLndhdlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuYWFjXCJdIC5pY28tbGluazpiZWZvcmUsXG5baHJlZio9XCIuTVAzXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5XQVZcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLkFBQ1wiXSAuaWNvLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuW2hyZWYqPVwiLmF2aVwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIubXA0XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5tcGdcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLm1vdlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIubXBlZ1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIucHB0XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5wcHR4XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5vZ2dcIl0gLmljby1saW5rOmJlZm9yZSxcbltocmVmKj1cIi5BVklcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLk1QNFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuTVBHXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5NT1ZcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLk1QRUdcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLlBQVFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuUFBUWFwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuT0dHXCJdIC5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG5baHJlZio9XCIuemlwXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5yYXJcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLjd6XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi50YXJcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLmd6XCJdIC5pY28tbGluazpiZWZvcmUsXG5baHJlZio9XCIuWklQXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5SQVJcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLjdaXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5UQVJcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLkdaXCJdIC5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuXG5baHJlZio9XCIuY3N2XCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi54bHNcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnhsc3hcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLnN4Y1wiXSAuaWNvLWxpbms6YmVmb3JlLFxuW2hyZWYqPVwiLkNTVlwiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuWExTXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5YTFNYXCJdIC5pY28tbGluazpiZWZvcmUsIFtocmVmKj1cIi5TWENcIl0gLmljby1saW5rOmJlZm9yZSwgW2hyZWYqPVwiLm9kc1wiXSAuaWNvLWxpbms6YmVmb3JlLCBbaHJlZio9XCIuT0RTXCJdIC5pY28tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuXG4uY29udGVudF90eXBlX3BkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9tcy1leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuXG4uY29udGVudF90eXBlX3ppcDpiZWZvcmUsXG4uY29udGVudF90eXBlX3JhcjpiZWZvcmUsXG4uY29udGVudF90eXBlX3gtZ3ppcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuXG4uY29udGVudF90eXBlX3ZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV92bmRfb2FzaXNfb3BlbmRvY3VtZW50X3NwcmVhZHNoZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5jb250ZW50X3R5cGVfcGRmMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFkYVwiO1xufVxuXG4uY29udGVudF90eXBlX3ZuZF9tcy1wb3dlcnBvaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfcGxhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9hdWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyOFwiO1xufVxuXG4uY29udGVudF90eXBlX21zd29yZDpiZWZvcmUsXG4uY29udGVudF90eXBlX3J0ZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMjNweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ucGFnaW5hdGlvbl9fbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbl9faXRlbSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uIHtcbiAgY29sb3I6ICMyMDFkMWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0OHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAtLW1kYy1yaXBwbGUtbGVmdDogMDtcbiAgLS1tZGMtcmlwcGxlLXRvcDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLWVuZDogMDtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1zdGFydDogMDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19hY3Rpb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNW1zIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAxNW1zIGxpbmVhcjtcbiAgei1pbmRleDogMTtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLXVuYm91bmRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCAwKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiB2YXIoLS1tZGMtcmlwcGxlLWxlZnQsIDApO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1mb3JlZ3JvdW5kLWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLXJhZGl1cy1pbiAyMjVtcyBmb3J3YXJkcywgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIDc1bXMgZm9yd2FyZHM7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCAxNTBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fYWN0aW9uOjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSAxMDAlKTtcbiAgLyogQG5vZmxpcCAqL1xuICBsZWZ0OiBjYWxjKDUwJSAtIDEwMCUpO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19hY3Rpb246OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMWQxZDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDA7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fYWN0aW9uLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4wNDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXIsIC5wYWdpbmF0aW9uX19hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogIzIwMWQxZDtcbn1cbi5wYWdpbmF0aW9uX19hY3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnBhZ2luYXRpb25fX2FjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogIzAwQUVFRjtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdpbmF0aW9uX19hY3Rpb24uYWN0aXZlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi50YWItbmF2aWdhdGlvbiAucGFnaW5hdGlvbl9fYWN0aW9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjAzKTtcbn1cbi5wYWdpbmF0aW9uX19kb3RzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnBhZ2luYXRpb25fX3ByZXYsIC5wYWdpbmF0aW9uX19uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDQ4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1tZGMtcmlwcGxlLWZnLXNpemU6IDA7XG4gIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAtLW1kYy1yaXBwbGUtdG9wOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctc2NhbGU6IDE7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0OiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbi5wYWdpbmF0aW9uX19wcmV2OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19wcmV2OjphZnRlciwgLnBhZ2luYXRpb25fX25leHQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnBhZ2luYXRpb25fX3ByZXY6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQ6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTVtcyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMTVtcyBsaW5lYXI7XG4gIHotaW5kZXg6IDE7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xufVxuLnBhZ2luYXRpb25fX3ByZXYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQ6OmFmdGVyIHtcbiAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uOjphZnRlciwgLnBhZ2luYXRpb25fX25leHQubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4ucGFnaW5hdGlvbl9fcHJldjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0OjphZnRlciB7XG4gIHRvcDogY2FsYyg1MCUgLSA1MCUpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IGNhbGMoNTAlIC0gNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX3ByZXYubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmJlZm9yZSwgLnBhZ2luYXRpb25fX25leHQubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQ6OmFmdGVyLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkOjphZnRlciB7XG4gIHdpZHRoOiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xuICBoZWlnaHQ6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG59XG4ucGFnaW5hdGlvbl9fcHJldjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0OjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDFkMWQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpob3Zlcjo6YmVmb3JlLCAucGFnaW5hdGlvbl9fbmV4dDpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5wYWdpbmF0aW9uX19wcmV2Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fcHJldjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUsIC5wYWdpbmF0aW9uX19uZXh0Lm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAucGFnaW5hdGlvbl9fbmV4dDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwO1xufVxuLnBhZ2luYXRpb25fX3ByZXY6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKTo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIsIC5wYWdpbmF0aW9uX19uZXh0Om5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6YWN0aXZlOjphZnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1bXM7XG4gIG9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldi5tZGMtcmlwcGxlLXVwZ3JhZGVkLCAucGFnaW5hdGlvbl9fbmV4dC5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMDQ7XG59XG4ucGFnaW5hdGlvbl9fcHJldjpob3ZlciwgLnBhZ2luYXRpb25fX25leHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnRhYi1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uX19wcmV2OmZvY3VzLCAudGFiLW5hdmlnYXRpb24gLnBhZ2luYXRpb25fX25leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAyOSwgMjksIDAuMDMpO1xufVxuLnBhZ2luYXRpb25fX3ByZXYge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI3LDIuMTNhMS4xMywxLjEzLDAsMCwxLS4zMy44TDExLjcyLDE4bDE1LDE1LjA3YTEuMTMsMS4xMywwLDAsMSwwLDEuNiwxLjEyLDEuMTIsMCwwLDEtMS41OSwwTDkuMzMsMTguOGExLjEzLDEuMTMsMCwwLDEsMC0xLjZMMjUuMDgsMS4zM2ExLjEzLDEuMTMsMCwwLDEsMS45Mi44WiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNiwzNkgwVjBIMzZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnaW5hdGlvbl9fcHJldiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG4ucGFnaW5hdGlvbl9fbmV4dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOSwzMy44N2ExLjEzLDEuMTMsMCwwLDEsLjMzLS44TDI0LjI4LDE4LDkuMzMsMi45M2ExLjEzLDEuMTMsMCwwLDEsMC0xLjYsMS4xMiwxLjEyLDAsMCwxLDEuNTksMEwyNi42NywxNy4yYTEuMTMsMS4xMywwLDAsMSwwLDEuNkwxMC45MiwzNC42N0ExLjEzLDEuMTMsMCwwLDEsOSwzMy44N1olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2luYXRpb25fX25leHQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjZweCAyNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5zZWFyY2gtc2VsZWN0X193ZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cbi5zZWFyY2gtc2VsZWN0X193ZWxsIC5tZGMtc2VsZWN0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWFyY2gtc2VsZWN0X193ZWxsIC5tZGMtc2VsZWN0IHtcbiAgICB3aWR0aDogMjg1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE5cHg7XG4gIH1cbn1cbi5zZWFyY2gtc2VsZWN0X193ZWxsIC5tZGMtdGV4dC1maWVsZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VhcmNoLXNlbGVjdF9fd2VsbCAubWRjLXRleHQtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5zZWFyY2gtc2VsZWN0X193ZWxsIC5tZGMtc2VsZWN0X19tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2VhcmNoLXNlbGVjdF9fdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDBBRUVGO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2VhcmNoLXNlbGVjdF9fdGl0bGUge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNlYXJjaC1zZWxlY3RfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zZWFyY2gtc2VsZWN0X190aXRsZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU0cHg7XG4gIH1cbn1cbi5zZWFyY2gtc2VsZWN0X19mb3JtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnNlYXJjaC1zZWxlY3RfX2lucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zZWFyY2gtc2VsZWN0X19pbnB1dHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VhcmNoLXNlbGVjdF9faW5wdXRzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDU1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyOSUyMDI5JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjcuMSwyNWwtNi4zMy02LjMzYTExLDExLDAsMSwwLTIuMTMsMi4xM0wyNSwyNy4xQTEuNTEsMS41MSwwLDAsMCwyNy4xLDI1Wk00LDEyYTgsOCwwLDEsMSw4LDhBOCw4LDAsMCwxLDQsMTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI5LDI5SDBWMEgyOVolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjlweCAyOXB4O1xuICB3aWR0aDogNDhweDtcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICAtLW1kYy1yaXBwbGUtZmctc2l6ZTogMDtcbiAgLS1tZGMtcmlwcGxlLWxlZnQ6IDA7XG4gIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy1zY2FsZTogMTtcbiAgLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQ6IDA7XG4gIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5zZWFyY2gtc2VsZWN0X19idXR0b246OmJlZm9yZSwgLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1bXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDE1bXMgbGluZWFyO1xuICB6LWluZGV4OiAxO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLW1kYy1yaXBwbGUtZmctc2NhbGUsIDEpKTtcbn1cbi5zZWFyY2gtc2VsZWN0X19idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IDA7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbn1cbi5zZWFyY2gtc2VsZWN0X19idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tdW5ib3VuZGVkOjphZnRlciB7XG4gIHRvcDogdmFyKC0tbWRjLXJpcHBsZS10b3AsIDApO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgMCk7XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIDIyNW1zIGZvcndhcmRzLCBtZGMtcmlwcGxlLWZnLW9wYWNpdHktaW4gNzVtcyBmb3J3YXJkcztcbn1cbi5zZWFyY2gtc2VsZWN0X19idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZC0tZm9yZWdyb3VuZC1kZWFjdGl2YXRpb246OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBtZGMtcmlwcGxlLWZnLW9wYWNpdHktb3V0IDE1MG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXRyYW5zbGF0ZS1lbmQsIDApKSBzY2FsZSh2YXIoLS1tZGMtcmlwcGxlLWZnLXNjYWxlLCAxKSk7XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uOjpiZWZvcmUsIC5zZWFyY2gtc2VsZWN0X19idXR0b246OmFmdGVyIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwJSk7XG4gIC8qIEBub2ZsaXAgKi9cbiAgbGVmdDogY2FsYyg1MCUgLSA1MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkOjpiZWZvcmUsIC5zZWFyY2gtc2VsZWN0X19idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB0b3A6IHZhcigtLW1kYy1yaXBwbGUtdG9wLCBjYWxjKDUwJSAtIDUwJSkpO1xuICAvKiBAbm9mbGlwICovXG4gIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSA1MCUpKTtcbiAgd2lkdGg6IHZhcigtLW1kYy1yaXBwbGUtZmctc2l6ZSwgMTAwJSk7XG4gIGhlaWdodDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbn1cbi5zZWFyY2gtc2VsZWN0X19idXR0b24ubWRjLXJpcHBsZS11cGdyYWRlZDo6YWZ0ZXIge1xuICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAxMDAlKTtcbiAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsIDEwMCUpO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjo6YmVmb3JlLCAuc2VhcmNoLXNlbGVjdF9fYnV0dG9uOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDFkMWQ7XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQ6OmJlZm9yZSwgLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOjphZnRlciB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjEyO1xufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbi5tZGMtcmlwcGxlLXVwZ3JhZGVkIHtcbiAgLS1tZGMtcmlwcGxlLWZnLW9wYWNpdHk6IDAuMTI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zZWFyY2gtc2VsZWN0X19idXR0b24ge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgfVxufVxuLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbn1cbi50YWItbmF2aWdhdGlvbiAuc2VhcmNoLXNlbGVjdF9fYnV0dG9uOmZvY3VzLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZDo6YmVmb3JlLCAudGFiLW5hdmlnYXRpb24gLnNlYXJjaC1zZWxlY3RfX2J1dHRvbjpmb2N1czpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI7XG59XG4uc2VhcmNoLXNlbGVjdF9fYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMjksIDI5LCAwLjAzKTtcbn1cblxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICMwMEFFRUYgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCA2MHB4ICNmNWZjZmUgaW5zZXQgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZWFkb25seSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3BhY2l0eTogMC4zO1xufVxuLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlYWRvbmx5IH4gbGFiZWwge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc2l0ZS1mb3JtX19jaGVja2JveC0tcmVhZG9ubHkgfiBsYWJlbCBhIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc2l0ZS1mb3JtIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnNpdGUtZm9ybSBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSBpbnB1dFtyZWFkb25seV0gKyAubWRjLW5vdGNoZWQtb3V0bGluZS0tbm90Y2hlZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDFweDtcbn1cbi5zaXRlLWZvcm0gaW5wdXRbcmVhZG9ubHldICsgLm1kYy1ub3RjaGVkLW91dGxpbmUtLW5vdGNoZWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gge1xuICBtYXJnaW4tbGVmdDogLTExcHg7XG4gIG1hcmdpbi1ib3R0b206IC04cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpOm5vdCg6aW5kZXRlcm1pbmF0ZSk6bm90KFtkYXRhLWluZGV0ZXJtaW5hdGU9dHJ1ZV0pIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPXRydWVdOmVuYWJsZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhNWUzO1xufVxuQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLUZGMDBBNUUzRkYwMEE1RTMwMDAwMDAwMEZGMDBBNUUzIHtcbiAgMCUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG4gIDUwJSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtRkYwMEE1RTNGRjAwQTVFMzAwMDAwMDAwRkYwMEE1RTMge1xuICAwJSwgODAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kLUZGMDBBNUUzRkYwMEE1RTMwMDAwMDAwMEZGMDBBNUUzO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCwgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBtZGMtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZC1GRjAwQTVFM0ZGMDBBNUUzMDAwMDAwMDBGRjAwQTVFMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlLFxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT10cnVlXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSwgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMDg7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUsIC5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMgLm1kYy1jaGVja2JveF9fcmlwcGxlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICBvcGFjaXR5OiAwLjI0O1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94Lm1kYy1jaGVja2JveC0tc2VsZWN0ZWQ6bm90KC5tZGMtcmlwcGxlLXVwZ3JhZGVkKSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uc2l0ZS1mb3JtIC5tZGMtY2hlY2tib3gubWRjLWNoZWNrYm94LS1zZWxlY3RlZDpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmFjdGl2ZSAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzVtcztcbiAgb3BhY2l0eTogMC4yNDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAtLW1kYy1yaXBwbGUtZmctb3BhY2l0eTogMC4yNDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmJlZm9yZSxcbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveC5tZGMtcmlwcGxlLXVwZ3JhZGVkLS1iYWNrZ3JvdW5kLWZvY3VzZWQubWRjLWNoZWNrYm94LS1zZWxlY3RlZCAubWRjLWNoZWNrYm94X19yaXBwbGU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX3JpcHBsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19yaXBwbGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4wODtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUVFRjtcbn1cbi5zaXRlLWZvcm0gLm1kYy1jaGVja2JveDpob3ZlciAubWRjLWNoZWNrYm94X19yaXBwbGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKSArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy1yYWRpbyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvICsgbGFiZWwge1xuICBmb250LXNpemU6IDEyLjVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1yYWRpbyArIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXJhZGlvICsgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG4uc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fcmlwcGxlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX3JpcHBsZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvOmhvdmVyIC5tZGMtcmFkaW9fX3JpcHBsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBvcGFjaXR5OiAwLjA4O1xufVxuLnNpdGUtZm9ybSAubWRjLXJhZGlvLWZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIC5tZGMtcmFkaW8gKyBsYWJlbCB7XG4gIG1hcmdpbi10b3A6IDExLjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCAubWRjLXJhZGlvICsgbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCAubWRjLXJhZGlvICsgbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gIGNhcmV0LWNvbG9yOiAjMjAxZDFkICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmU6YWZ0ZXIge1xuICBjb2xvcjogIzAwYTVlMztcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1jaGVja2JveCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWNoZWNrYm94IC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3ggLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19fb3V0ZXItY2lyY2xlLCAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IC5tZGMtcmFkaW9fX2JhY2tncm91bmQgLm1kYy1yYWRpb19faW5uZXItY2lyY2xlLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1yYWRpbyAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8gLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZywgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsIGEsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gbGFiZWwgYSB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fcmFkaW8tLXJlcXVpcmVkLnNpdGUtZm9ybV9fcmFkaW8tLXVuY2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbDphZnRlciwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwgYSwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX3JhZGlvLS1yZXF1aXJlZC5zaXRlLWZvcm1fX3JhZGlvLS11bmNoZWNrZWQgfiBsYWJlbCBhIHtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZjAwMDAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDMyJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTQsMTEuMUgzTDguNSwyWk0zLDIxSDE0TDguNSwzMC4xWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xNiwzMkgwVjBIMTZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZDpob3ZlciAubWRjLXNlbGVjdF9fYW5jaG9yLCAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3IsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZDpob3ZlciAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQ6Zm9jdXMgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLWZsb2F0aW5nLWxhYmVsLCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLm1kYy1zZWxlY3QtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvLWZpZWxkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8tZmllbGQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgbGVmdDogMzVweDtcbiAgYm90dG9tOiAxMHB4O1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLXJhZGlvLWZpZWxkLS1pbnZhbGlkIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtcmFkaW8tZmllbGQtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4ud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCBsYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWw6YWZ0ZXIsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMDtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIGxhYmVsIGEsIC5zaXRlLWZvcm0ud2FzLXZhbGlkYXRlZCAubWRjLWZvcm0tZmllbGQtLWludmFsaWQgbGFiZWwgYSB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogNnB4IDAgMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0LCAuc2l0ZS1mb3JtLndhcy12YWxpZGF0ZWQgLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIH1cbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1pbnZhbGlkIH4gLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCwgLnNpdGUtZm9ybS53YXMtdmFsaWRhdGVkIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB+IC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZzphZnRlcixcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaDphZnRlcixcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZzphZnRlciB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5zZXJ2ZXItc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmYwMDAwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZDpob3ZlciAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQ6Zm9jdXMgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwKTtcbn1cbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0uc2VydmVyLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5zZXJ2ZXItc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuc2VydmVyLXNpZGUtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uc2l0ZS1mb3JtLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuZmlsZWlucHV0LWNvbnRhaW5lci5maWxlaW5wdXQtY29udGFpbmVyLS1pbnZhbGlkIC5maWxlaW5wdXQ6bm90KC5maWxlaW5wdXQtZXhpc3RzKSB+IC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm90dG9tOiAtNXB4O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZzphZnRlcixcbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2g6YWZ0ZXIsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5qcy1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZjAwMDAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDMyJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTQsMTEuMUgzTDguNSwyWk0zLDIxSDE0TDguNSwzMC4xWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xNiwzMkgwVjBIMTZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDAsIDAsIDApO1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZDpob3ZlciAubWRjLXNlbGVjdF9fYW5jaG9yLCAuc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkOmZvY3VzIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMCk7XG59XG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtLmpzLXNpZGUtdmFsaWRhdGVkIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5qcy1zaWRlLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLnNpdGUtZm9ybS5qcy1zaWRlLXZhbGlkYXRlZCAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5zaXRlLWZvcm0uanMtc2lkZS12YWxpZGF0ZWQgLm1kYy1zZWxlY3QtLW91dGxpbmVkLmpzLXNpZGUtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICM0MTQwNDI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94IGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkLS1jaGVja2JveCBsYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTc4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwgLmV6cmljaHRleHQtZmllbGQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwgLmV6cmljaHRleHQtZmllbGQgcDpsYXN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwgLmV6cmljaHRleHQtZmllbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgbGFiZWwge1xuICBtYXJnaW46IDlweCAwIDAgMDtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWZvcm0tZmllbGQgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBtYXJnaW46IDZweCAwIDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIGE6aG92ZXIsIC5zaXRlLWZvcm0gLm1kYy1mb3JtLWZpZWxkIGxhYmVsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMyNjUzQjk7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWhlbHBlciB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lciAubWRjLXRleHQtZmllbGQge1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyIC50ZXh0LWZpZWxkLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYge1xuICB3aWR0aDogY2FsYyg1MCUgLSA2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYgKyAudGV4dC1maWVsZC1jb250YWluZXItLWhhbGYge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZi1zbGFzaCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtZm9ybSAudGV4dC1maWVsZC1jb250YWluZXItLWRlc2t0b3AtaGFsZiArIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tZGVza3RvcC1oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOXB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1tb2JpbGUtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4uc2l0ZS1mb3JtIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tcm93LXNsYXNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjM3YTdhN2ElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOSUyMDMzJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTcuNTUsMS41NCwzLjg5LDMxLjc4YS4zOC4zOCwwLDAsMS0uMzQuMjJIMS4zOEEuMzguMzgsMCwwLDEsMSwzMS40NkwxNC42OSwxLjIyQS4zOS4zOSwwLDAsMSwxNSwxSDE3LjJBLjM4LjM4LDAsMCwxLDE3LjU1LDEuNTRaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE5LDMzSDBWMEgxOVolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTZweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDE4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLnRleHQtZmllbGQtY29udGFpbmVyLS1yb3ctc2xhc2gge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAyMXB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMjBweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWJ1dHRvbiB7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLWJ1dHRvbiB7XG4gICAgbWluLWhlaWdodDogNjRweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0b3A6IDE0cHg7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLFxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICB0b3A6IDEzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLFxuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxOXB4O1xuICB9XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLFxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxOHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSBzY2FsZSgwLjc1KTtcbiAgdG9wOiAyMXB4O1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgdG9wOiAyNHB4O1xuICB9XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSBzY2FsZSgwLjc1KTtcbiAgdG9wOiAyM3B4O1xufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMjJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIHRvcDogMjVweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIxcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIwcHg7XG59XG4uZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAxOXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjNweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMjNweDtcbn1cbi5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICB0b3A6IDIycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYS5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjVweDtcbiAgfVxuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIxcHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aG92ZXIgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCkubWRjLXRleHQtZmllbGQtLWludmFsaWQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIGJvcmRlci1jb2xvcjogIzAwYTVlMztcbn1cbi5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICBsZWZ0OiAxM3B4O1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMzAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuaW5wdXQ6dmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4ud2FzLXZhbGlkYXRlZCBpbnB1dDppbnZhbGlkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi53YXMtdmFsaWRhdGVkIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiA2cHggMCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLndhcy12YWxpZGF0ZWQgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtX19zZXJ2ZXItZXJyb3Ige1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMTNweDtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAuc2l0ZS1mb3JtX19zZXJ2ZXItdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2l0ZS1mb3JtX19qcy12YWxpZGF0aW9uLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMTNweDtcbiAgY29sb3I6ICNmZjAwMDA7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybV9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbn1cbi5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+IC5zaXRlLWZvcm1fX2pzLXZhbGlkYXRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNpdGUtZm9ybSAubWRjLW1lbnUge1xuICB6LWluZGV4OiAyMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1tZW51IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLWxpc3QtaXRlbSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNDhweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGhlaWdodDogNDhweDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgLyogQG5vZmxpcCAqL1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuW2Rpcj1ydGxdIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZ1tkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbltkaXI9cnRsXSAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZ1tkaXI9cnRsXSB7XG4gIC8qIEBub2ZsaXAgKi9cbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpLm1kYy1zZWxlY3QtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCk6bm90KC5tZGMtc2VsZWN0LS1mb2N1c2VkKSAubWRjLXNlbGVjdF9fYW5jaG9yOmhvdmVyIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOm5vdCgubWRjLXNlbGVjdC0tZm9jdXNlZCkgLm1kYy1zZWxlY3RfX2FuY2hvcjpob3ZlciAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICBib3JkZXItY29sb3I6ICMwMGE1ZTM7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZDpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKS5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICBjb2xvcjogIzAwYTVlMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAzMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDhweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTJweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMDBBRUVGJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAzMiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE0LDExLjFIM0w4LjUsMlpNMywyMUgxNEw4LjUsMzAuMVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTYsMzJIMFYwSDE2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbiAgbWluLXdpZHRoOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgdG9wOiAyMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIHRvcDogMzBweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAxM3B4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjRweDtcbiAgfVxufVxuLmZpcmVmb3ggLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdG9wOiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMjJweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDYlKSBzY2FsZSgwLjc1KTtcbiAgY29sb3I6ICMwMGE1ZTM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLW91dGxpbmVkIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE0NyUpIHNjYWxlKDAuNzUpO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6aG92ZXIgLm1kYy1zZWxlY3RfX2FuY2hvciwgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6Zm9jdXMgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTc0LCAyMzksIDAuMDYpO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQ6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gIGNvbG9yOiAjMDBhNWUzO1xufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tb3V0bGluZWQgLm1kYy1zZWxlY3QtaW5wdXQtaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDBweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGhlaWdodDogNTRweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uc2l0ZS1mb3JtIC5tZGMtc2VsZWN0LS1jb21wYWN0IC5tZGMtZmxvYXRpbmctbGFiZWwubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRvcDogMTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLWZsb2F0aW5nLWxhYmVsLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIHRvcDogMTlweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXNlbGVjdC0tY29tcGFjdCAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbi5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA0JSkgc2NhbGUoMC43NSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvciAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUsXG4gIC5zaXRlLWZvcm0gLm1kYy1zZWxlY3QtLWNvbXBhY3QgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDclKSBzY2FsZSgwLjc1KTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3Qge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIGhlaWdodDogNTRweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgdG9wOiAxN3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuZmlyZWZveCAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tY29tcGFjdCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICB0b3A6IDE2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLWNvbXBhY3QgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAxOXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0Lm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAxOXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5maXJlZm94IC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0Lm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgdG9wOiAxOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgcmVzaXplOiBub25lO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAuc2l0ZS1mb3JtIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9faGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggPiAuc2l0ZS1mb3JtX19oZWxwLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG59XG4uc2l0ZS1mb3JtX19oZWxwLXRleHQtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnNpdGUtZm9ybV9faGVscC10ZXh0LS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5zaXRlLWZvcm1fX2hlbHAtdGV4dC0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuLnNpdGUtZm9ybV9faW5mbyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xufVxuLnNpdGUtZm9ybV9faW5mby0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNpdGUtZm9ybV9faW5mby0tc3BhY2VkIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLnNpdGUtZm9ybV9faW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG4uc2l0ZS1mb3JtX19pbmZvIGE6aG92ZXIsIC5zaXRlLWZvcm1fX2luZm8gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnNpdGUtZm9ybSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1mbG9hdGluZy1sYWJlbDpub3QoLnJlcXVpcmVkKTo6YWZ0ZXIsIC5zaXRlLWZvcm0gLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6bm90KC5yZXF1aXJlZCk6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmthbGlvcGN1c3RvbWZvcm1zLWZvcm0tLWRlZmF1bHQge1xuICBtYXgtd2lkdGg6IDYyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtLS1kZWZhdWx0IGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybS0tZGVmYXVsdCAuYnRuLS1ibHVlOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2NTNCOTtcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtX19tZXNzYWdlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXItLWVycm9yIHtcbiAgY29sb3I6ICNmZjAwMDA7XG59XG4ua2FsaW9wY3VzdG9tZm9ybXMtZm9ybV9fbWVzc2FnZS1jb250YWluZXItLXdhcm5pbmcge1xuICBjb2xvcjogI0YyNkEyMTtcbn1cbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtX19tZXNzYWdlLWNvbnRhaW5lci0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjNmVjMDFlO1xufVxuXG4uY3VzdG9tLWZpZWxkLS1pbmRlbnRlZCB7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xufVxuXG4uc3RhdGljX3RleHQtZmllbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc3RhdGljX3RleHQtZmllbGQtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnN0YXRpY190ZXh0LWZpZWxkLS1ub3JtYWwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG4uc3RhdGljX3RleHQtZmllbGQtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4udGltZWxlc3MtZm9ybSB7XG4gIG1heC13aWR0aDogNjgycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnRpbWVsZXNzLWZvcm1fX2FjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hbm51YWwtZm9ybSB7XG4gIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAubmdsLXJpY2hfdGV4dCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLm5nbC1yaWNoX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuZXpyaWNodGV4dC1maWVsZCBwOm5vdChbY2xhc3NdKSwgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAubmdsLXJpY2hfdGV4dCBwOm5vdChbY2xhc3NdKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUgLmV6cmljaHRleHQtZmllbGQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5uZ2wtcmljaF90ZXh0LCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190aXRsZSAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RpdGxlLS1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMge1xuICAvKnBhZGRpbmctbGVmdDogNDhweDtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50cy0tY29sbGFwc2FibGUgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH0qL1xufVxuLmNsaWVudC1zZXR0aW5ncyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uY2xpZW50LXNldHRpbmdzIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZXMgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jbGllbnQtc2V0dGluZ3MgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlcyAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19jaG9pY2Uge1xuICAgIHdpZHRoOiA0NyU7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMjAxZDFkJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTMzLjg3LDI3YTEuMTMsMS4xMywwLDAsMS0uOC0uMzNMMTgsMTEuNzJsLTE1LjA3LDE1YTEuMTMsMS4xMywwLDAsMS0xLjYsMCwxLjEyLDEuMTIsMCwwLDEsMC0xLjU5TDE3LjIsOS4zM2ExLjEzLDEuMTMsMCwwLDEsMS42LDBMMzQuNjcsMjUuMDhhMS4xMywxLjEzLDAsMCwxLS44LDEuOTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM2LDM2SDBWMEgzNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogN3B4O1xuICByaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgY29sb3I6ICMwMEFFRUY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZSAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLWNvbGxhcHNlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1zaG93biB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS5jb2xsYXBzZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMjAxZDFkJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIuMTMsOWExLjEzLDEuMTMsMCwwLDEsLjguMzNMMTgsMjQuMjgsMzMuMDcsOS4zM2ExLjEzLDEuMTMsMCwwLDEsMS42LDAsMS4xMiwxLjEyLDAsMCwxLDAsMS41OUwxOC44LDI2LjY3YTEuMTMsMS4xMywwLDAsMS0xLjYsMEwxLjMzLDEwLjkyQTEuMTMsMS4xMywwLDAsMSwyLjEzLDlaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM2LDM2SDBWMEgzNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLmNvbGxhcHNlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX190b2dnbGUtLWNvbGxhcHNlZCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS5jb2xsYXBzZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1zaG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19wYW5lbCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fcGFuZWwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIH1cbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tdG9wOiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40Mztcbn1cbi5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLXNwYWNlZCB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8tLXNwYWNlZCB7XG4gICAgbWFyZ2luLXRvcDogMjJweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mby0taW5kZW50ZWQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvLS1pbmRlbnRlZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8ge1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgfVxufVxuLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAuZXpyaWNodGV4dC1maWVsZCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyAubmdsLXJpY2hfdGV4dCwgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIC5lenJpY2h0ZXh0LWZpZWxkLCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIC5uZ2wtcmljaF90ZXh0LCAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2NTZweCkge1xuICAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG4ubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIGE6aG92ZXIsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2luZm8gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWRjLWNoZWNrYm94LW11bHRpcGxlIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICBtYXgtd2lkdGg6IHVuc2V0O1xufVxuXG4uc2VydmVyLXNpZGUtLWludmFsaWQgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53YXMtdmFsaWRhdGVkIC5uZXdzbGV0dGVyLWFncmVlbWVudHMgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjU2cHgpIHtcbiAgLndhcy12YWxpZGF0ZWQgLm5ld3NsZXR0ZXItYWdyZWVtZW50cyAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gIH1cbn1cblxuLnRvYXN0cyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDE5MTI7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0cyB7XG4gICAgei1pbmRleDogMTkxMjtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi50b2FzdCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3Qge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBtYXJnaW46IDIwcHggMjBweCAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZlYzAxZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogLTNweCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC50b2FzdC0td2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC50b2FzdC0tYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gIH1cbn1cbi50b2FzdCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udG9hc3QtaGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEFFRUY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE2LjVweDtcbiAgYm9yZGVyOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNThweDtcbiAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gIHBhZGRpbmc6IDAgNTVweCAwIDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogLTNweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdC0td2FybmluZyAudG9hc3QtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLXdhcm5pbmcgLnRvYXN0LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi50b2FzdC0tYWxlcnQgLnRvYXN0LWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS1hbGVydCAudG9hc3QtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnRvYXN0LWhlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMwMEFFRUYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNiUyMDI2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjUsMTNBMTIsMTIsMCwxLDEsMTMsMSwxMiwxMiwwLDAsMSwyNSwxM1olMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTExLjMsMTguNjYsNS42NSwxM2wyLjI2LTIuMjYsMy4zOSwzLjM5LDYuNzktNi43OSwyLjI2LDIuMjdaJTIyJTIwZmlsbCUzRCUyMiUyMzAwQUVFRiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0yNiwyNkgwVjBIMjZaJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzNmVjMDFlJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjYlMjAyNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTI1LDEzQTEyLDEyLDAsMSwxLDEzLDEsMTIsMTIsMCwwLDEsMjUsMTNaJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xMS4zLDE4LjY2LDUuNjUsMTNsMi4yNi0yLjI2LDMuMzksMy4zOSw2Ljc5LTYuNzksMi4yNiwyLjI3WiUyMiUyMGZpbGwlM0QlMjIlMjM2ZWMwMWUlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjYsMjZIMFYwSDI2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cbi50b2FzdC0td2FybmluZyAudG9hc3QtaGVhZGVyOmJlZm9yZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMSUyMDIxaDIyTDEyJTIwMiUyMDElMjAyMXptMTItM2gtMnYtMmgydjJ6bTAtNGgtMnYtNGgydjR6JTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvYXN0LS13YXJuaW5nIC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTElMjAyMWgyMkwxMiUyMDIlMjAxJTIwMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG4udG9hc3QtLWFsZXJ0IC50b2FzdC1oZWFkZXI6YmVmb3JlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDJDNi40OCUyMDIlMjAyJTIwNi40OCUyMDIlMjAxMnM0LjQ4JTIwMTAlMjAxMCUyMDEwJTIwMTAtNC40OCUyMDEwLTEwUzE3LjUyJTIwMiUyMDEyJTIwMnptMSUyMDE1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0tYWxlcnQgLnRvYXN0LWhlYWRlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTIlMjAyQzYuNDglMjAyJTIwMiUyMDYuNDglMjAyJTIwMTJzNC40OCUyMDEwJTIwMTAlMjAxMCUyMDEwLTQuNDglMjAxMC0xMFMxNy41MiUyMDIlMjAxMiUyMDJ6bTElMjAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnolMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxufVxuLnRvYXN0LWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBRUVGO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgZm9udC1zaXplOiAxNi41cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNXB4IDIzcHggMjNweCAyM3B4O1xufVxuLnRvYXN0LS13YXJuaW5nIC50b2FzdC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNkEyMTtcbn1cbi50b2FzdC0tYWxlcnQgLnRvYXN0LWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC1ib2R5IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b2FzdC0td2FybmluZyAudG9hc3QtYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9hc3QtLWFsZXJ0IC50b2FzdC1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnRvYXN0IC5jbG9zZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCA4MywgMTg1LCAwLjUpO1xufVxuLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiA4ODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubW9kYWwtZnVsbCAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm1vZGFsLWZ1bGwgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTY1NnB4KSB7XG4gIC5tb2RhbC1mdWxsIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgfVxufVxuLm1kYy1kaWFsb2cgLm1vZGFsLWZ1bGxfX2NvbnRlbnQge1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWRjLWRpYWxvZyAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWRjLWRpYWxvZyAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjMyMDFkMWQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNiUyMDM2JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMi41NCwxLjE3aDBhMS4wOCwxLjA4LDAsMCwxLC44Ni4zOUwxOCwxNi4xMiwzMi41MiwxLjU2YTEuMTMsMS4xMywwLDAsMSwuOTItLjM5LDEuMjQsMS4yNCwwLDAsMSwxLC4zOSwxLjMyLDEuMzIsMCwwLDEsLjM2LjkyLDEuMjgsMS4yOCwwLDAsMS0uMzkuOTJMMTkuNzksMTgsMzQuMzYsMzIuNTJhMS4yNiwxLjI2LDAsMCwxLC4zOS45MiwxLjMzLDEuMzMsMCwwLDEtLjM2LjkyLDEuMiwxLjIsMCwwLDEtLjkyLjM5LDEuMywxLjMsMCwwLDEtLjk1LS4zOUwxOCwxOS43OSwzLjQsMzQuMzZhMS4yOCwxLjI4LDAsMCwxLS45Mi4zOSwxLjI2LDEuMjYsMCwwLDEtLjkyLS4zOSwxLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MkwxNi4xMiwxOCwxLjU2LDMuNGExLjI4LDEuMjgsMCwwLDEtLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjM5LS45MiwxLjI2LDEuMjYsMCwwLDEsLjkyLS4zOVolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzYsMzZIMFYwSDM2WiUyMiUyMGZpbGwlM0QlMjJub25lJTIyLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWZ1bGxfX2Nsb3NlIHtcbiAgICB0b3A6IDI0cHg7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gIH1cbn1cbi5tb2RhbC1mdWxsX19jbG9zZTpob3ZlciwgLm1vZGFsLWZ1bGxfX2Nsb3NlOmZvY3VzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5ib2R5OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYWluIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXNsaWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXNsaWRlci5wcm9kdWN0LWNhcmRfX2NvbnRyb2wge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zbGljay1zbGlkZXIucHJvZHVjdC1jYXJkX19jb250cm9sIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubW9kYWwtZnVsbC0tbmV3c2xldHRlciAubW9kYWwtZnVsbF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubW9kYWwtZnVsbC0tbmV3c2xldHRlciAubW9kYWwtZnVsbF9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYlMjAzNiUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIuNTQsMS4xN2gwYTEuMDgsMS4wOCwwLDAsMSwuODYuMzlMMTgsMTYuMTIsMzIuNTIsMS41NmExLjEzLDEuMTMsMCwwLDEsLjkyLS4zOSwxLjI0LDEuMjQsMCwwLDEsMSwuMzksMS4zMiwxLjMyLDAsMCwxLC4zNi45MiwxLjI4LDEuMjgsMCwwLDEtLjM5LjkyTDE5Ljc5LDE4LDM0LjM2LDMyLjUyYTEuMjYsMS4yNiwwLDAsMSwuMzkuOTIsMS4zMywxLjMzLDAsMCwxLS4zNi45MiwxLjIsMS4yLDAsMCwxLS45Mi4zOSwxLjMsMS4zLDAsMCwxLS45NS0uMzlMMTgsMTkuNzksMy40LDM0LjM2YTEuMjgsMS4yOCwwLDAsMS0uOTIuMzksMS4yNiwxLjI2LDAsMCwxLS45Mi0uMzksMS4yOCwxLjI4LDAsMCwxLS4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC4zOS0uOTJMMTYuMTIsMTgsMS41NiwzLjRhMS4yOCwxLjI4LDAsMCwxLS4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC4zOS0uOTIsMS4yNiwxLjI2LDAsMCwxLC45Mi0uMzlaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM2LDM2SDBWMEgzNlolMjIlMjBmaWxsJTNEJTIybm9uZSUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tb2RhbC1mdWxsLS1uZXdzbGV0dGVyIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICB9XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyX19yb3cge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fcm93LS1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICBwYWRkaW5nOiAwIDUwcHg7XG4gIG1hcmdpbi10b3A6IC00NXB4O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy10ZXh0LWZpZWxkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwQUVFRjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xuICBib3R0b206IC0xNHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgbGVmdDogMDtcbiAgZm9udC1zaXplOiAxMC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmYwMDAwICFpbXBvcnRhbnQ7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fZm9ybSAubWRjLXRleHQtZmllbGQtLWludmFsaWQgbGFiZWwge1xuICBjb2xvcjogI2ZmMDAwMCAhaW1wb3J0YW50O1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy1jaGVja2JveC0taW52YWxpZCB+IGxhYmVsIHtcbiAgY29sb3I6ICNmZjAwMDAgIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19mb3JtIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB+IC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0LFxuLm1vZGFsLW5ld3NsZXR0ZXJfX2Zvcm0gLm1kYy1jaGVja2JveC0taW52YWxpZCB+IC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9kYWwtbmV3c2xldHRlcl9fc2VuZCB7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4ubW9kYWwtbmV3c2xldHRlcl9faW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ubW9kYWwtbmV3c2xldHRlciAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbn1cbi5tb2RhbC1uZXdzbGV0dGVyX19maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2NhbnZhcyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXJfX2ltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5jYW52YXMgKyBwaWN0dXJlIC5tb2RhbC1uZXdzbGV0dGVyX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuLm1vZGFsLW5ld3NsZXR0ZXItdGhhbmtzX19maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vZGFsLW5ld3NsZXR0ZXItdGhhbmtzX19jYW52YXMge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rc19faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmNhbnZhcyArIHBpY3R1cmUgLm1vZGFsLW5ld3NsZXR0ZXItdGhhbmtzX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn0iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlcigpIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cygpIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzKCkge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY2xvc2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIG9wYWNpdHk6IC41O1xuXG4gIC8vIE92ZXJyaWRlIDxhPidzIGhvdmVyIHN0eWxlXG4gIEBpbmNsdWRlIGhvdmVyKCkge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMoKSB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgZm9udCBzaXplc1xuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvdjgueC9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy1mb250LXNpemUtdW5pdCAhPSByZW0gYW5kICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSBmb250IHNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsIGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwicmVtXCIgb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLWRpc2FibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBmb250IHNpemVcbiAgICAmLFxuICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1lbmFibGUtY2xhc3Mge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250IHNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsICRmcyAqIDAgKyAxKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGZzLXVuaXQgPT0gXCJyZW1cIiB7XG4gICAgICAkZnM6IGRpdmlkZSgkZnMsIGRpdmlkZSgkZnMgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmb250IHNpemVcbiAgICAkcmZzLXN0YXRpYzogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcywgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnN9cHgpO1xuXG4gICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSBmb250IHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgQGlmICRmcyA8PSAkcmZzLWJhc2UtZm9udC1zaXplIG9yIG5vdCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICBmb250LXNpemU6ICN7JHJmcy1zdGF0aWN9I3skcmZzLXN1ZmZpeH07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSBmb250IHNpemUgZm9yICRmc1xuICAgICAgJGZzLW1pbjogJHJmcy1iYXNlLWZvbnQtc2l6ZSArIGRpdmlkZSgkZnMgLSAkcmZzLWJhc2UtZm9udC1zaXplLCAkcmZzLWZhY3Rvcik7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJGZzIGFuZCB0aGUgbWluaW11bSBmb250IHNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAkbWluLXdpZHRoOiBpZigkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSwgI3tkaXZpZGUoJGZzLW1pbiwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgJHZhcmlhYmxlLXVuaXQ6IGlmKCRyZnMtdHdvLWRpbWVuc2lvbmFsLCB2bWluLCB2dyk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJGZzLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemVcbiAgICAgICRyZnMtZmx1aWQ6IGNhbGMoI3skbWluLXdpZHRofSArICN7JHZhcmlhYmxlLXdpZHRofSkgI3skcmZzLXN1ZmZpeH07XG5cbiAgICAgIC8vIEJyZWFrcG9pbnQgZm9ybWF0dGluZ1xuICAgICAgJG1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7ZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgJHJmcy1yZW0tdmFsdWUpfSN7JHJmcy1icmVha3BvaW50LXVuaXR9KTtcblxuICAgICAgQGluY2x1ZGUgX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5KCRtcS12YWx1ZSkge1xuICAgICAgICBAaW5jbHVkZSBfcmZzLWVuYWJsZS1jbGFzcyB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGUgZm9udC1zaXplICYgcmVzcG9uc2l2ZS1mb250LXNpemUgbWl4aW5zIHVzZSBSRlMgdG8gcmVzY2FsZSB0aGUgZm9udCBzaXplXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG5cbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuIiwiLnRvYXN0IHtcbiAgLy8gUHJldmVudHMgZnJvbSBzaHJpbmtpbmcgaW4gSUUxMSwgd2hlbiBpbiBhIGZsZXggY29udGFpbmVyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI4MzQxXG4gIGZsZXgtYmFzaXM6ICR0b2FzdC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogJHRvYXN0LW1heC13aWR0aDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCR0b2FzdC1mb250LXNpemUpO1xuICBjb2xvcjogJHRvYXN0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkdG9hc3QtYm9yZGVyLXdpZHRoIHNvbGlkICR0b2FzdC1ib3JkZXItY29sb3I7XG4gIGJveC1zaGFkb3c6ICR0b2FzdC1ib3gtc2hhZG93O1xuICBvcGFjaXR5OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0b2FzdC1ib3JkZXItcmFkaXVzKTtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206ICR0b2FzdC1wYWRkaW5nLXg7XG4gIH1cblxuICAmLnNob3dpbmcge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvYXN0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICR0b2FzdC1wYWRkaW5nLXkgJHRvYXN0LXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b2FzdC1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWJvdHRvbTogJHRvYXN0LWJvcmRlci13aWR0aCBzb2xpZCAkdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoc3VidHJhY3QoJHRvYXN0LWJvcmRlci1yYWRpdXMsICR0b2FzdC1ib3JkZXItd2lkdGgpKTtcbn1cblxuLnRvYXN0LWJvZHkge1xuICBwYWRkaW5nOiAkdG9hc3QtcGFkZGluZy14OyAvLyBhcHBseSB0byBib3RoIHZlcnRpY2FsIGFuZCBob3Jpem9udGFsXG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOSBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuLy8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQncyB0b3VjaCB0YXJnZXQgd3JhcHBlciBlbGVtZW50LlxuQG1peGluIHdyYXBwZXIoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy10b3VjaC10YXJnZXQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbnN1cmUgdGhhdCBzdHlsZXMgYXJlIG9ubHkgZW1pdHRlZCBvbmNlIGFjcm9zcyBhbGwgY29tcG9uZW50cyB0aGF0XG4gICAgICAvLyBoYXZlIGluY3JlYXNlZCB0b3VjaCB0YXJnZXRzLlxuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLXRvdWNoLXRhcmdldC93cmFwcGVyXCIpIHtcbiAgICAgICAgLy8gTk9URTogV2lsbCBjaGFuZ2UgdG8gYGlubGluZS1ibG9ja2AgaW4gdGhlIGZ1dHVyZSwgYnV0IGtlZXBpbmcgYXMgaXNcbiAgICAgICAgLy8gdGVtcG9yYXJpbHkgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LlxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50J3MgaW5uZXIgdG91Y2ggdGFyZ2V0IGVsZW1lbnQuXG4vLy8gQnkgZGVmYXVsdCwgb25seSBzZXRzIHRoZSBpbm5lciBlbGVtZW50IGhlaWdodCB0byB0aGUgbWluaW11bSB0b3VjaCB0YXJnZXRcbi8vLyBoZWlnaHQgKCRtZGMtdG91Y2gtdGFyZ2V0LWhlaWdodCkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc2V0LXdpZHRoIFtmYWxzZV0gLSBTZXRzIHRoZSBpbm5lciBlbGVtZW50IHdpZHRoIHRvIHRoZVxuLy8vICAgICBtaW5pbXVtIHRvdWNoIHRhcmdldCB3aWR0aCAoJG1kYy10b3VjaC10YXJnZXQtd2lkdGgpLlxuQG1peGluIHRvdWNoLXRhcmdldCgkc2V0LXdpZHRoOiBmYWxzZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogdmFyaWFibGVzLiRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHNldC13aWR0aCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogdmFyaWFibGVzLiR3aWR0aDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBtYXJnaW4gdG8gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LFxuLy8vIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gbWFyZ2luKCRjb21wb25lbnQtaGVpZ2h0LCAkY29tcG9uZW50LXdpZHRoOiBudWxsLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkdmVydGljYWwtbWFyZ2luLXZhbHVlOiAodmFyaWFibGVzLiRoZWlnaHQgLSAkY29tcG9uZW50LWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0aWNhbC1tYXJnaW4tdmFsdWU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLW1hcmdpbi12YWx1ZTtcbiAgfVxuXG4gIEBpZiAkY29tcG9uZW50LXdpZHRoIHtcbiAgICAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU6ICh2YXJpYWJsZXMuJHdpZHRoIC0gJGNvbXBvbmVudC13aWR0aCkgLyAyO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLW1hcmdpbi12YWx1ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaG9yaXpvbnRhbC1tYXJnaW4tdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvbnRhaW5lci1rZXlmcmFtZXNfKFxuICAkZnJvbS1zdHJva2UtY29sb3IsXG4gICR0by1zdHJva2UtY29sb3IsXG4gICRmcm9tLWZpbGwtY29sb3IsXG4gICR0by1maWxsLWNvbG9yLFxuICAkdWlkKSB7XG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZC0jeyR1aWR9IHtcbiAgICAwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICRmcm9tLXN0cm9rZS1jb2xvcik7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkZnJvbS1maWxsLWNvbG9yKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkdG8tc3Ryb2tlLWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICR0by1maWxsLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kLSN7JHVpZH0ge1xuICAgIDAlLFxuICAgIDgwJSB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucHJvcChib3JkZXItY29sb3IsICR0by1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJHRvLWZpbGwtY29sb3IpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkZnJvbS1zdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZyb20tZmlsbC1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXJrLWtleWZyYW1lc18ge1xuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgMCUsXG4gICAgNTAlIHtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiB2YXJpYWJsZXMuJG1hcmstcGF0aC1sZW5ndGhfO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRkZWNlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHtcbiAgICAwJSxcbiAgICA2OC4yJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB9XG5cbiAgICA2OC4yJSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aCB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24tdmFyaWFibGVzLiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXyAqIC0xO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLXZhcmlhYmxlcy4kZGVjZWxlcmF0aW9uLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtZGMtYW5pbWF0aW9uLWRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayB7XG4gICAgZnJvbSB7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXJpYWJsZXMuJGluZGV0ZXJtaW5hdGUtY2hlY2tlZC1lYXNpbmctZnVuY3Rpb25fO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayB7XG4gICAgMCUge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIDMyLjglLFxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCIgYXMgcmlwcGxlLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9kZW5zaXR5L3ZhcmlhYmxlc1wiIGFzIGRlbnNpdHktdmFyaWFibGVzO1xuXG4kYmFzZWxpbmUtdGhlbWUtY29sb3I6IHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zZWNvbmRhcnkpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcblxuJHJpcHBsZS1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcbiRtYXJrLXN0cm9rZS1zaXplOiAyIC8gMTUgKiAkaWNvbi1zaXplICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDkwbXMgIWRlZmF1bHQ7XG4kaXRlbS1zcGFjaW5nOiA0cHggIWRlZmF1bHQ7XG4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk6IG1hcC5nZXQocmlwcGxlLXZhcmlhYmxlcy4kZGFyay1pbmstb3BhY2l0aWVzLCBmb2N1cykgIWRlZmF1bHQ7XG5cbiRtaW5pbXVtLXNpemU6IDI4cHggIWRlZmF1bHQ7XG4kbWF4aW11bS1zaXplOiAkcmlwcGxlLXNpemUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1zY2FsZTogZGVuc2l0eS12YXJpYWJsZXMuJGRlZmF1bHQtc2NhbGUgIWRlZmF1bHQ7XG4kZGVuc2l0eS1jb25maWc6IChcbiAgc2l6ZTogKFxuICAgIG1pbmltdW06ICRtaW5pbXVtLXNpemUsXG4gICAgZGVmYXVsdDogJHJpcHBsZS1zaXplLFxuICAgIG1heGltdW06ICRtYXhpbXVtLXNpemUsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyBNYW51YWwgY2FsY3VsYXRpb24gZG9uZSBvbiBTVkdcbiRtYXJrLXBhdGgtbGVuZ3RoXzogMjkuNzgzMzM4NSAhZGVmYXVsdDtcbiRpbmRldGVybWluYXRlLWNoZWNrZWQtZWFzaW5nLWZ1bmN0aW9uXzogY3ViaWMtYmV6aWVyKC4xNCwgMCwgMCwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMiwgMSkgIWRlZmF1bHQ7XG4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSAhZGVmYXVsdDtcbiRhY2NlbGVyYXRpb24tY3VydmUtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuJHNoYXJwLWN1cnZlLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40LCAwLCAuNiwgMSkgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvbWl4aW5zXCIgYXMgdG91Y2gtdGFyZ2V0LW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCIgYXMgdGhlbWUtZnVuY3Rpb25zO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5AdXNlIFwiLi9rZXlmcmFtZXNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RvdWNoLXRhcmdldC92YXJpYWJsZXNcIiBhcyB0b3VjaC10YXJnZXQtdmFyaWFibGVzO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG4kcmlwcGxlLXRhcmdldDogXCIubWRjLWNoZWNrYm94X19yaXBwbGVcIjtcblxuLy8vXG4vLy8gQ2hlY2tib3ggY29yZSBzdHlsZXMuXG4vLy9cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gY2hlY2tib3ggc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtY2hlY2tib3gtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgY2hlY2tib3hcblxuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLndyYXBwZXIoJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBrZXlmcmFtZXMubWFyay1rZXlmcmFtZXNfO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBiYXNlXztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3ItY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRlbnNpdHkodmFyaWFibGVzLiRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBjb250YWluZXItY29sb3JzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycygkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGluay1jb2xvcih2YXJpYWJsZXMuJG1hcmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZGlzYWJsZWQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kbWFyay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtY29udGFpbmVyLWNvbG9ycyhcbiAgICAgICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJHVubWFya2VkLWZpbGwtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgJG1hcmtlZC1zdHJva2UtY29sb3I6IEdyYXlUZXh0LFxuICAgICAgJG1hcmtlZC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZC1pbmstY29sb3IoR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luOiAwIDFweDsgLy8gRXh0cmEgaG9yaXpvbnRhbCBzcGFjZSBhcm91bmQgbWl4ZWRtYXJrIHN5bWJvbC5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOZWVkZWQgdG8gZGlzYWJsZSBob3ZlciBlZmZlY3RzIG9uIENTUy1vbmx5IChub24tSlMpIGNoZWNrYm94ZXNcbiAgLm1kYy1jaGVja2JveC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZWRfO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgIEBpbmNsdWRlIGNoZWNrbWFya18oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICBAaW5jbHVkZSBjaGVja21hcmstcGF0aF8oJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgQGluY2x1ZGUgbWl4ZWRtYXJrXygkcXVlcnkpO1xuICB9XG5cbiAgLy8gSlMgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveC0tdXBncmFkZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQsXG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrLFxuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoLFxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgQGluY2x1ZGUgY2hpbGQtLXVwZ3JhZGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS1hbmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGFuaW1fO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmNoZWNrZWQgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC0tbWFya2VkXztcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIGZyYW1lJ3MgOjpiZWZvcmUgZWxlbWVudCBpcyB1c2VkIGFzIGEgZm9jdXMgaW5kaWNhdG9yIGZvciB0aGUgY2hlY2tib3hcbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmb2N1cy1pbmRpY2F0b3JfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDpmb2N1cyB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yLS1mb2N1c2VkXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgbmF0aXZlLWNvbnRyb2xfO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkXztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWNoZWNrYm94LS10b3VjaCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LW1peGlucy5tYXJnaW4oXG4gICAgICAkY29tcG9uZW50LWhlaWdodDogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgICAgICRjb21wb25lbnQtd2lkdGg6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICAgICAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0KHRvdWNoLXRhcmdldC12YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWNoZWNrZWRfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWNoZWNrZWRfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbmRldGVybWluYXRlIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyayB7XG4gICAgICBAaW5jbHVkZSBjaGVja21hcmstLWluZGV0ZXJtaW5hdGVfKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveF9fbWl4ZWRtYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBtaXhlZG1hcmstLWluZGV0ZXJtaW5hdGVfO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGNoZWNrYm94IHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLWNoZWNrYm94LWNvcmUtc3R5bGVzYCBpbnN0ZWFkLlxuQG1peGluIHJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLmNvbW1vbigkcXVlcnkpOyAvLyBDT1BZQkFSQV9DT01NRU5UX1RISVNfTElORVxuXG4gIC5tZGMtY2hlY2tib3gge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6IG9uLXN1cmZhY2UsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxuXG4gICN7JHJpcHBsZS10YXJnZXR9IHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnRhcmdldC1jb21tb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciBjaGVja2JveC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC5cbi8vL1xuQG1peGluIGRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzaXplOiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IHNpemUsXG4gICk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLXNpemUoJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIHJpcHBsZS1zaXplKCRyaXBwbGUtc2l6ZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRjaGVja2JveC1wYWRkaW5nOiAoJHJpcHBsZS1zaXplIC0gdmFyaWFibGVzLiRpY29uLXNpemUpIC8gMjtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAkY2hlY2tib3gtcGFkZGluZztcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiAkY2hlY2tib3gtcGFkZGluZztcbiAgICAgIGxlZnQ6ICRjaGVja2JveC1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6IC0odmFyaWFibGVzLiRib3JkZXItd2lkdGgpIC0gJGNoZWNrYm94LXBhZGRpbmc7XG4gICAgICBsZWZ0OiAtKHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoKSAtICRjaGVja2JveC1wYWRkaW5nO1xuICAgICAgd2lkdGg6ICRyaXBwbGUtc2l6ZTtcbiAgICAgIGhlaWdodDogJHJpcHBsZS1zaXplO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldCgkcmlwcGxlLXNpemUsICRyaXBwbGUtc2l6ZTogJHJpcHBsZS1zaXplLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFNldHMgc3Ryb2tlICYgZmlsbCBjb2xvcnMgZm9yIGJvdGggbWFya2VkIGFuZCB1bm1hcmtlZCBzdGF0ZSBvZiBlbmFibGVkIGNoZWNrYm94LlxuLy8vIFNldCAkZ2VuZXJhdGUta2V5ZnJhbWVzIHRvIGZhbHNlIHRvIHByZXZlbnQgdGhlIG1peGluIGZyb20gZ2VuZXJhdGluZyBAa2V5ZnJhbWVzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHVubWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgdW5tYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLXN0cm9rZS1jb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvciBmb3IgdGhlIG1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRtYXJrZWQtZmlsbC1jb2xvciAtIFRoZSBkZXNpcmVkIGZpbGwgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRnZW5lcmF0ZS1rZXlmcmFtZXMgW3RydWVdIC0gV2hldGhlciBhbmltYXRpb24ga2V5ZnJhbWVzIHNob3VsZCBiZSBnZW5lcmF0ZWRcbi8vL1xuQG1peGluIGNvbnRhaW5lci1jb2xvcnMoXG4gICR1bm1hcmtlZC1zdHJva2UtY29sb3I6IHZhcmlhYmxlcy4kYm9yZGVyLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLFxuICAkbWFya2VkLWZpbGwtY29sb3I6IHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsXG4gICRnZW5lcmF0ZS1rZXlmcmFtZXM6IHRydWUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpXG4pIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJG1hcmtlZC1zdHJva2UtY29sb3IsICRtYXJrZWQtZmlsbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGlmICRnZW5lcmF0ZS1rZXlmcmFtZXMge1xuICAgICR1aWQ6IHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCR1bm1hcmtlZC1zdHJva2UtY29sb3IpICtcbiAgICAgIHRoZW1lLWZ1bmN0aW9ucy5jb2xvci1oYXNoKCRtYXJrZWQtc3Ryb2tlLWNvbG9yKSArXG4gICAgICB0aGVtZS1mdW5jdGlvbnMuY29sb3ItaGFzaCgkdW5tYXJrZWQtZmlsbC1jb2xvcikgK1xuICAgICAgdGhlbWUtZnVuY3Rpb25zLmNvbG9yLWhhc2goJG1hcmtlZC1maWxsLWNvbG9yKTtcblxuICAgICRhbmltLXNlbGVjdG9yOiBpZigmLCBcIiYubWRjLWNoZWNrYm94LS1hbmltXCIsIFwiLm1kYy1jaGVja2JveC0tYW5pbVwiKTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbiwgJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIGtleWZyYW1lcy5jb250YWluZXIta2V5ZnJhbWVzXyhcbiAgICAgICAgJGZyb20tc3Ryb2tlLWNvbG9yOiAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yLFxuICAgICAgICAkdG8tc3Ryb2tlLWNvbG9yOiAkbWFya2VkLXN0cm9rZS1jb2xvcixcbiAgICAgICAgJGZyb20tZmlsbC1jb2xvcjogJHVubWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR0by1maWxsLWNvbG9yOiAkbWFya2VkLWZpbGwtY29sb3IsXG4gICAgICAgICR1aWQ6ICN7JHVpZH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGhcblxuICAgICN7JGFuaW0tc2VsZWN0b3J9IHtcbiAgICAgICYtdW5jaGVja2VkLWNoZWNrZWQsXG4gICAgICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAgICAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kYy1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jaGVja2VkLXVuY2hlY2tlZCxcbiAgICAgICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWRjLWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmQtI3skdWlkfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoXG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgYm90aCBtYXJrZWQgYW5kIHVubWFya2VkIHN0YXRlIG9mIGRpc2FibGVkIGNoZWNrYm94LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSB1bm1hcmtlZCBzdGF0ZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICR1bm1hcmtlZC1maWxsLWNvbG9yIC0gVGhlIGRlc2lyZWQgZmlsbCBjb2xvciBmb3IgdGhlIHVubWFya2VkIHN0YXRlXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG1hcmtlZC1zdHJva2UtY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IgZm9yIHRoZSBtYXJrZWQgc3RhdGVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkbWFya2VkLWZpbGwtY29sb3IgLSBUaGUgZGVzaXJlZCBmaWxsIGNvbG9yIGZvciB0aGUgbWFya2VkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1jb250YWluZXItY29sb3JzKFxuICAkdW5tYXJrZWQtc3Ryb2tlLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkdW5tYXJrZWQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICRtYXJrZWQtc3Ryb2tlLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgJG1hcmtlZC1maWxsLWNvbG9yOiB2YXJpYWJsZXMuJGRpc2FibGVkLWNvbG9yLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gIEBpbmNsdWRlIGlmLXVubWFya2VkLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWNvbG9yc18oJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1jb2xvcnNfKCRtYXJrZWQtc3Ryb2tlLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3Igb2YgdGhlIGNoZWNrZWQgYW5kIGluZGV0ZXJtaW5hdGUgaWNvbnMgZm9yIGFuIGVuYWJsZWQgY2hlY2tib3hcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IgaW4gZW5hYmxlZCBzdGF0ZVxuLy8vXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIHRoZSBjaGVja2VkIGFuZCBpbmRldGVybWluYXRlIGljb25zIGZvciBhIGRpc2FibGVkIGNoZWNrYm94XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgaW5rIGNvbG9yIGluIGRpc2FibGVkIHN0YXRlXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1pbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6aW5kZXRlcm1pbmF0ZSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSB+IC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcygkY29sb3I6ICRjb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZC5tZGMtY2hlY2tib3gtLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvcjogJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGNoZWNrYm94IHRvdWNoIHRhcmdldCBzaXplIHdoaWNoIGNhbiBiZSBtb3JlIHRoYW4gdGhlIHJpcHBsZSBzaXplLiBQYXJhbSBgJHJpcHBsZS1zaXplYCBpcyByZXF1aXJlZCBmb3IgY3VzdG9tXG4vLy8gcmlwcGxlIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgU2l6ZSBvZiB0b3VjaCB0YXJnZXQgKE5hdGl2ZSBpbnB1dCkgaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpcHBsZS1zaXplIFNpemUgb2YgcmlwcGxlIGluIGBweGAuIFJlcXVpcmVkIG9ubHkgZm9yIGN1c3RvbSByaXBwbGUgc2l6ZS5cbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldChcbiAgJHNpemU6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICRyaXBwbGUtc2l6ZTogdmFyaWFibGVzLiRyaXBwbGUtc2l6ZSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRvZmZzZXQ6ICgkcmlwcGxlLXNpemUgLSAkc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sIHtcbiAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xuICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG5AbWl4aW4gZGlzYWJsZWRfIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuQG1peGluIGNoaWxkLS11cGdyYWRlZF8ge1xuICAvLyBEdWUgdG8gdGhlIG15cmlhZCBvZiBzZWxlY3RvciBjb21ib3MgdXNlZCB0byBwcm9wZXJseSBzdHlsZSBhIENTUy1vbmx5IGNoZWNrYm94LCBhbGwgb2ZcbiAgLy8gd2hpY2ggaGF2ZSB2YXJ5aW5nIHNlbGVjdG9yIHByZWNlZGVuY2UgYW5kIG1ha2UgdXNlIG9mIHRyYW5zaXRpb25zLCBpdCBpcyBjbGVhbmVyIGFuZCBtb3JlXG4gIC8vIGVmZmljaWVudCBoZXJlIHRvIHNpbXBseSB1c2UgIWltcG9ydGFudCwgc2luY2UgdGhlIG1kYy1jaGVja2JveC0tYW5pbS0qIGNsYXNzZXMgd2lsbCB0YWtlXG4gIC8vIG92ZXIgZnJvbSBoZXJlLlxuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIEFuaW1hdGlvblxuXG5AbWl4aW4gYW5pbV8ge1xuICAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXzogNTAwbXM7XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcblxuICAmLXVuY2hlY2tlZC1jaGVja2VkLFxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlLFxuICAmLWNoZWNrZWQtdW5jaGVja2VkLFxuICAmLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyaWFibGVzLiR0cmFuc2l0aW9uLWR1cmF0aW9uICogMjtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1jaGVja2VkIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmstcGF0aCB7XG4gICAgICAvLyBJbnN0ZWFkIG9mIGRlbGF5aW5nIHRoZSBhbmltYXRpb24sIHdlIHNpbXBseSBtdWx0aXBseSBpdHMgbGVuZ3RoIGJ5IDIgYW5kIGJlZ2luIHRoZVxuICAgICAgLy8gYW5pbWF0aW9uIGF0IDUwJSBpbiBvcmRlciB0byBwcmV2ZW50IGEgZmxhc2ggb2Ygc3R5bGVzIGFwcGxpZWQgdG8gYSBjaGVja2VkIGNoZWNrbWFya1xuICAgICAgLy8gYXMgdGhlIGJhY2tncm91bmQgaXMgZmFkaW5nIGluIGJlZm9yZSB0aGUgYW5pbWF0aW9uIGJlZ2lucy5cbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIgbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX2NoZWNrbWFyay1wYXRoIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRoIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY2hlY2tlZC1pbmRldGVybWluYXRlIHtcbiAgICAubWRjLWNoZWNrYm94X19jaGVja21hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFyayB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIGFuaW1hdGlvbjogbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmsgJG1kYy1jaGVja2JveC1pbmRldGVybWluYXRlLWNoYW5nZS1kdXJhdGlvbl8gbGluZWFyIDBzO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubWRjLWNoZWNrYm94X19taXhlZG1hcmsge1xuICAgICAgYW5pbWF0aW9uOiBtZGMtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyBsaW5lYXIgMHM7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQge1xuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXJcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFyayAkbWRjLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hhbmdlLWR1cmF0aW9uXyAqIC42IGxpbmVhciAwcztcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxufVxuXG4vLyBCYWNrZ3JvdW5kXG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgY2hlY2tib3ggYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluXG4vLy8gZW5hYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCB+IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIGNoZWNrYm94IGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpblxuLy8vIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGVuYWJsZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi11bm1hcmtlZC1lbmFibGVkXyB7XG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyB1bm1hcmtlZCAmIGRpc2FibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtdW5tYXJrZWQtZGlzYWJsZWRfIHtcbiAgLy8gTm90ZTogd2UgbXVzdCB1c2UgYFtkaXNhYmxlZF1gIGluc3RlYWQgb2YgYDpkaXNhYmxlZGAgYmVsb3cgYmVjYXVzZSBFZGdlIGRvZXMgbm90IGFsd2F5cyByZWNhbGN1bGF0ZSB0aGUgc3R5bGVcbiAgLy8gcHJvcGVydHkgd2hlbiB0aGUgYDpkaXNhYmxlZGAgcHNldWRvLWNsYXNzIGlzIGZvbGxvd2VkIGJ5IGEgc2libGluZyBjb21iaW5hdG9yLiBTZWU6XG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzExMjk1MjMxL1xuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06bm90KDpjaGVja2VkKTpub3QoOmluZGV0ZXJtaW5hdGUpOm5vdChbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXSkgfiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBlbmFibGVkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtbWFya2VkLWVuYWJsZWRfIHtcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDplbmFibGVkOmluZGV0ZXJtaW5hdGUsXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2RhdGEtaW5kZXRlcm1pbmF0ZT1cInRydWVcIl06ZW5hYmxlZCB7XG4gICAgfiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSBjaGVja2JveCBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW5cbi8vLyBtYXJrZWQgJiBkaXNhYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLW1hcmtlZC1kaXNhYmxlZF8ge1xuICAvLyBOb3RlOiB3ZSBtdXN0IHVzZSBgW2Rpc2FibGVkXWAgaW5zdGVhZCBvZiBgOmRpc2FibGVkYCBiZWxvdyBiZWNhdXNlIEVkZ2UgZG9lcyBub3QgYWx3YXlzIHJlY2FsY3VsYXRlIHRoZSBzdHlsZVxuICAvLyBwcm9wZXJ0eSB3aGVuIHRoZSBgOmRpc2FibGVkYCBwc2V1ZG8tY2xhc3MgaXMgZm9sbG93ZWQgYnkgYSBzaWJsaW5nIGNvbWJpbmF0b3IuIFNlZTpcbiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvMTEyOTUyMzEvXG4gIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sW2Rpc2FibGVkXTpjaGVja2VkLFxuICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtkaXNhYmxlZF06aW5kZXRlcm1pbmF0ZSxcbiAgLm1kYy1jaGVja2JveF9fbmF0aXZlLWNvbnRyb2xbZGF0YS1pbmRldGVybWluYXRlPVwidHJ1ZVwiXVtkaXNhYmxlZF0ge1xuICAgIH4ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgIC8vIGJvcmRlci1jb2xvciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBtZGMtY2hlY2tib3gtdW5tYXJrZWQtc3Ryb2tlLWNvbG9yKCkgbWl4aW5cbiAgICBib3JkZXI6IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsIG9uLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KGJhY2tncm91bmQtY29sb3IpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChib3JkZXItY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLS1tYXJrZWRfIHtcbiAgdHJhbnNpdGlvbjpcbiAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihib3JkZXItY29sb3IpLFxuICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKGJhY2tncm91bmQtY29sb3IpO1xufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgJiBmaWxsIGNvbG9ycyBmb3IgdGhlIGNoZWNrYm94LlxuLy8vIFRoaXMgbWl4aW4gc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSBtaXhpbiB0aGF0IHF1YWxpZmllcyBzdGF0ZSBzdWNoIGFzXG4vLy8gYG1kYy1jaGVja2JveC1pZi11bm1hcmtlZC1lbmFibGVkX2AuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBjb250YWluZXItY29sb3JzXygkc3Ryb2tlLWNvbG9yLCAkZmlsbC1jb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtY2hlY2tib3hfX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRzdHJva2UtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGZpbGwtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb2N1cyBpbmRpY2F0b3JcblxuQG1peGluIGZvY3VzLWluZGljYXRvcl8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KG9wYWNpdHkpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdCh0cmFuc2Zvcm0pO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItLWZvY3VzZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IHZhcmlhYmxlcy4kZm9jdXMtaW5kaWNhdG9yLW9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIob3BhY2l0eSwgMG1zLCA4MG1zKSxcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWVudGVyKHRyYW5zZm9ybSwgMG1zLCA4MG1zKTtcbiAgfVxufVxuXG4vLyBOYXRpdmUgaW5wdXRcblxuQG1peGluIG5hdGl2ZS1jb250cm9sXyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGluaGVyaXQ7XG59XG5cbi8vIENoZWNrIG1hcmtcblxuQG1peGluIGNoZWNrbWFya18oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gKiAyKTtcbiAgfVxuXG4gIC5tZGMtY2hlY2tib3gtLXVwZ3JhZGVkICYge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNoZWNrbWFyay0tY2hlY2tlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1lbnRlcihvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpLFxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZW50ZXIodHJhbnNmb3JtLCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLS1pbmRldGVybWluYXRlXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZnVuY3Rpb25zLnRyYW5zaXRpb24tZXhpdChvcGFjaXR5LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSwgMG1zLCB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24pO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiB0aGUgY2hlY2tlZCBhbmQgaW5kZXRlcm1pbmF0ZSBpY29ucyBmb3IgYSBjaGVja2JveC5cbi8vLyBUaGlzIG1peGluIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgbWl4aW4gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhc1xuLy8vIGBtZGMtY2hlY2tib3gtaWYtdW5tYXJrZWRfYC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgLm1kYy1jaGVja2JveF9fY2hlY2ttYXJrIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX21peGVkbWFyayB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrIG1hcmsgcGF0aFxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGhfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHN0cm9rZS1kYXNob2Zmc2V0LCAwbXMsIHZhcmlhYmxlcy4kdHJhbnNpdGlvbi1kdXJhdGlvbiAqIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLXdpZHRoOiB2YXJpYWJsZXMuJG1hcmstc3Ryb2tlLXNpemUgKiAxLjM7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcmlhYmxlcy4kbWFyay1wYXRoLWxlbmd0aF87XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyaWFibGVzLiRtYXJrLXBhdGgtbGVuZ3RoXztcbiAgfVxufVxuXG5AbWl4aW4gY2hlY2ttYXJrLXBhdGgtLW1hcmtlZF8ge1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbn1cblxuLy8gTWl4ZWQgbWFya1xuXG5AbWl4aW4gbWl4ZWRtYXJrXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtcbiAgICBib3JkZXItd2lkdGg6IG1hdGguZmxvb3IodmFyaWFibGVzLiRtYXJrLXN0cm9rZS1zaXplKSAvIDI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGZ1bmN0aW9ucy50cmFuc2l0aW9uLWV4aXQob3BhY2l0eSksXG4gICAgICBmdW5jdGlvbnMudHJhbnNpdGlvbi1leGl0KHRyYW5zZm9ybSk7XG4gIH1cbn1cblxuQG1peGluIG1peGVkbWFyay0tY2hlY2tlZF8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIG1peGVkbWFyay0taW5kZXRlcm1pbmF0ZV8ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8vL1xuLy8vIFJlc2V0cyB0b3VjaCB0YXJnZXQtcmVsYXRlZCBzdHlsZXMuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGRlbnNpdHkgbWl4aW4gdG9cbi8vLyBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgaW5jcmVhc2VkIHRvdWNoIHRhcmdldCwgc2luY2UgZGVuc2UgY29tcG9uZW50c1xuLy8vIGRvbid0IGhhdmUgdGhlIHNhbWUgZGVmYXVsdCBhMTF5IHJlcXVpcmVtZW50cy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIHRvdWNoLXRhcmdldC1yZXNldF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcbkB1c2UgXCIuL2Z1bmN0aW9uc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIDpyb290IHtcbiAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGVhY2ggJHN0eWxlIGluIG1hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKSB7XG4gICAgICAgIC0tbWRjLXRoZW1lLSN7JHN0eWxlfTogI3ttYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkc3R5bGUgaW4gbWFwLmtleXModmFyaWFibGVzLiRwcm9wZXJ0eS12YWx1ZXMpIHtcbiAgICBAaWYgJHN0eWxlICE9IFwiYmFja2dyb3VuZFwiIGFuZCAkc3R5bGUgIT0gXCJzdXJmYWNlXCIge1xuICAgICAgLm1kYy10aGVtZS0tI3skc3R5bGV9IHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwcm9wKGNvbG9yLCAkc3R5bGUsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAubWRjLXRoZW1lLS0jeyRzdHlsZX0ge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENTUyBydWxlcyBmb3IgdXNpbmcgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IChwbHVzIGxpZ2h0L2RhcmsgdmFyaWFudHMpIGFzIGJhY2tncm91bmQgY29sb3JzLlxuICBAZWFjaCAkc3R5bGUgaW4gKFwicHJpbWFyeVwiLCBcInNlY29uZGFyeVwiKSB7XG4gICAgLm1kYy10aGVtZS0tI3skc3R5bGV9LWJnIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHByb3AoYmFja2dyb3VuZC1jb2xvciwgJHN0eWxlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCB0aGVtZSBjb2xvciBzdHlsZSB0byB0aGUgc3BlY2lmaWVkIHByb3BlcnR5LlxuLy8gJHByb3BlcnR5IGlzIHR5cGljYWxseSBjb2xvciBvciBiYWNrZ3JvdW5kLWNvbG9yLCBidXQgY2FuIGJlIGFueSBDU1MgcHJvcGVydHkgdGhhdCBhY2NlcHRzIGNvbG9yIHZhbHVlcy5cbi8vICRzdHlsZSBzaG91bGQgYmUgb25lIG9mIHRoZSBtYXAga2V5cyBpbiAkbWRjLXRoZW1lLXByb3BlcnR5LXZhbHVlcyAoX3ZhcmlhYmxlcy5zY3NzKSwgb3IgYSBjb2xvciB2YWx1ZS5cbkBtaXhpbiBwcm9wKCRwcm9wZXJ0eSwgJHN0eWxlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAkaW1wb3J0YW50LXJ1bGU6IGlmKCRpbXBvcnRhbnQsIFwiIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICBAaWYgZnVuY3Rpb25zLmlzLXZhci13aXRoLWZhbGxiYWNrXygkc3R5bGUpIHtcbiAgICAjeyRwcm9wZXJ0eX06IGZ1bmN0aW9ucy5nZXQtdmFyLWZhbGxiYWNrXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgI3skcHJvcGVydHl9OiBmdW5jdGlvbnMudmFyXygkc3R5bGUpICN7JGltcG9ydGFudC1ydWxlfTtcbiAgfSBAZWxzZSBpZiB2YXJpYWJsZXMuaXMtdmFsaWQtdGhlbWUtcHJvcC12YWx1ZV8oJHN0eWxlKSB7XG4gICAgI3skcHJvcGVydHl9OiAkc3R5bGUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpIHtcbiAgICAgIEBlcnJvciBcIkludmFsaWQgc3R5bGU6ICcjeyRzdHlsZX0nLiBDaG9vc2Ugb25lIG9mOiAje21hcC5rZXlzKHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzKX1cIjtcbiAgICB9XG4gICAgJHZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kcHJvcGVydHktdmFsdWVzLCAkc3R5bGUpO1xuXG4gICAgI3skcHJvcGVydHl9OiAkdmFsdWUgI3skaW1wb3J0YW50LXJ1bGV9O1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAjeyRwcm9wZXJ0eX06IHZhcigtLW1kYy10aGVtZS0jeyRzdHlsZX0sICR2YWx1ZSkgI3skaW1wb3J0YW50LXJ1bGV9O1xuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL2Jhc2UvbWl4aW5zXCIgYXMgYmFzZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL2tleWZyYW1lc1wiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHJpcHBsZS1zdXJmYWNlXG5cbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1yaXBwbGUtc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc3RhdGVzKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSByYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZbZGF0YS1tZGMtcmlwcGxlLWlzLXVuYm91bmRlZF0ge1xuICAgICAgQGluY2x1ZGUgcmFkaXVzLXVuYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgJi0tYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIHN0YXRlcyhzZWNvbmRhcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG5AbWl4aW4gY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIC8vIEVuc3VyZSB0aGF0IHN0eWxlcyBuZWVkZWQgYnkgYW55IGNvbXBvbmVudCB1c2luZyBNREMgUmlwcGxlIGFyZSBlbWl0dGVkLCBidXQgb25seSBvbmNlLlxuICAvLyAoRXZlcnkgY29tcG9uZW50IHVzaW5nIE1EQyBSaXBwbGUgaW1wb3J0cyB0aGVzZSBtaXhpbnMsIGJ1dCBkb2Vzbid0IG5lY2Vzc2FyaWx5IGltcG9ydFxuICAvLyBtZGMtcmlwcGxlLnNjc3MuKVxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtcmlwcGxlL2NvbW1vbi9hbmltYXRpb25cIikge1xuICAgICAgQGluY2x1ZGUga2V5ZnJhbWVzLmtleWZyYW1lc187XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzdXJmYWNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC0tbWRjLXJpcHBsZS1mZy1zaXplOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1sZWZ0OiAwO1xuICAgIC0tbWRjLXJpcHBsZS10b3A6IDA7XG4gICAgLS1tZGMtcmlwcGxlLWZnLXNjYWxlOiAxO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kOiAwO1xuICAgIC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtc3RhcnQ6IDA7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLy8gISFETyBOT1QgUkVNT1ZFISEgbWRjLXJpcHBsZS13aWxsLWNoYW5nZS1yZXBsYWNlclxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICB9XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAvLyBBbHNvIHRyYW5zaXRpb24gYmFja2dyb3VuZC1jb2xvciB0byBhdm9pZCB1bm5hdHVyYWwgY29sb3IgZmxhc2hlcyB3aGVuIHRvZ2dsaW5nIGFjdGl2YXRlZC9zZWxlY3RlZCBzdGF0ZVxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXJpYWJsZXMuJHN0YXRlcy13YXNoLWR1cmF0aW9uIGxpbmVhcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHotaW5kZXg6IDE7IC8vIEVuc3VyZSB0aGF0IHRoZSByaXBwbGUgd2FzaCBmb3IgaG92ZXIvZm9jdXMgc3RhdGVzIGlzIGRpc3BsYXllZCBvbiB0b3Agb2YgcG9zaXRpb25lZCBjaGlsZCBlbGVtZW50c1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIHVwZ3JhZGVkIHN1cmZhY2VzIChzb21lIG9mIHRoZXNlIGRlcGVuZCBvbiBjdXN0b20gcHJvcGVydGllcyBzZXQgdmlhIEpTIG9yIG90aGVyIG1peGlucylcblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtcmlwcGxlLXVwZ3JhZGVkLS11bmJvdW5kZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgMCk7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgbGVmdDogdmFyKC0tbWRjLXJpcHBsZS1sZWZ0LCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtYWN0aXZhdGlvbiB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICBhbmltYXRpb246XG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4gdmFyaWFibGVzLiR0cmFuc2xhdGUtZHVyYXRpb24gZm9yd2FyZHMsXG4gICAgICAgICAgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbiBmb3J3YXJkcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWZvcmVncm91bmQtZGVhY3RpdmF0aW9uIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIGFuaW1hdGlvbjogbWRjLXJpcHBsZS1mZy1vcGFjaXR5LW91dCB2YXJpYWJsZXMuJGZhZGUtb3V0LWR1cmF0aW9uO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLy8gUmV0YWluIHRyYW5zZm9ybSBmcm9tIG1kYy1yaXBwbGUtZmctcmFkaXVzLWluIGFjdGl2YXRpb25cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWJhc2UtY29sb3IoXG4gICRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGlmIGNvbG9yLmFscGhhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvcikpID4gMCB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgYSBjb2xvciB3aXRoIDAgYWxwaGEgaXMgc3BlY2lmaWVkLCBkb24ndCByZW5kZXIgdGhlIHJpcHBsZSBwc2V1ZG8tZWxlbWVudHMgYXQgYWxsLlxuICAgICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyeSB0cmFuc2l0aW9ucyBhbmQgb3ZlcmZsb3cuXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgcmlwcGxlIG9wYWNpdGllcyBpbiBgaG92ZXJgLCBgZm9jdXNgLCBvciBgcHJlc3NgIHN0YXRlc1xuLy8vIEBwYXJhbSB7bWFwfSAkb3BhY2l0eS1tYXAgLSBtYXAgc3BlY2lmeWluZyBjdXN0b20gb3BhY2l0eSBvZiB6ZXJvIG9yIG1vcmUgc3RhdGVzXG4vLy8gQHBhcmFtIHtib29sfSAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCAtIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBjb250YWlucyBhIGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSByb290XG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRyaXBwbGUtdGFyZ2V0IC0gdGhlIG9wdGlvbmFsIHNlbGVjdG9yIGZvciB0aGUgcmlwcGxlIGVsZW1lbnRcbi8vL1xuQG1peGluIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwOiAoKSwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLCAkcmlwcGxlLXRhcmdldDogXCImXCIsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIEVuc3VyZSBzdWZmaWNpZW50IHNwZWNpZmljaXR5IHRvIG92ZXJyaWRlIGJhc2Ugc3RhdGUgb3BhY2l0aWVzXG4gIEBpZiBtYXAuaGFzLWtleSgkb3BhY2l0eS1tYXAsIGhvdmVyKSB7XG4gICAgQGluY2x1ZGUgc3RhdGVzLWhvdmVyLW9wYWNpdHkobWFwLmdldCgkb3BhY2l0eS1tYXAsIGhvdmVyKSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBmb2N1cykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1mb2N1cy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBmb2N1cyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgbWFwLmhhcy1rZXkoJG9wYWNpdHktbWFwLCBwcmVzcykge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1wcmVzcy1vcGFjaXR5KG1hcC5nZXQoJG9wYWNpdHktbWFwLCBwcmVzcyksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtaG92ZXItb3BhY2l0eShcbiAgJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIEJhY2tncm91bmQgd2FzaCBzdHlsZXMsIGZvciBib3RoIENTUy1vbmx5IGFuZCB1cGdyYWRlZCBzdGF0ZWZ1bCBzdXJmYWNlc1xuICAmOmhvdmVyIHtcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWZvY3VzLW9wYWNpdHkoXG4gICRvcGFjaXR5LFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcblxuICAvLyBGb2N1cyBvdmVycmlkZXMgaG92ZXIgYnkgcmV1c2luZyB0aGUgOjpiZWZvcmUgcHNldWRvLWVsZW1lbnQuXG4gIC8vIDpmb2N1cy13aXRoaW4gZ2VuZXJhbGx5IHdvcmtzIG9uIG5vbi1NUyBicm93c2VycyBhbmQgbWF0Y2hlcyB3aGVuIGEgKmNoaWxkKiBvZiB0aGUgZWxlbWVudCBoYXMgZm9jdXMuXG4gIC8vIEl0IGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgYSBjb21wb25lbnQgaGFzIGEgZm9jdXNhYmxlIGVsZW1lbnQgd2l0aGluIHRoZSByb290IG5vZGUsIGUuZy4gdGV4dCBmaWVsZCxcbiAgLy8gYnV0IHVuZGVzaXJhYmxlIGluIGdlbmVyYWwgaW4gY2FzZSBvZiBuZXN0ZWQgc3RhdGVmdWwgY29tcG9uZW50cy5cbiAgLy8gV2UgdXNlIGEgbW9kaWZpZXIgY2xhc3MgZm9yIEpTLWVuYWJsZWQgc3VyZmFjZXMgdG8gc3VwcG9ydCBhbGwgdXNlIGNhc2VzIGluIGFsbCBicm93c2Vycy5cbiAgQGlmICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50IHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQ6Zm9jdXMtd2l0aGluLFxuICAgIC8vIENTUy1vbmx5IHNlbGVjdG9ycy5cbiAgICAmOm5vdCgubWRjLXJpcHBsZS11cGdyYWRlZCk6Zm9jdXMsXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzLXdpdGhpbiB7XG4gICAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3RhdGVzLWZvY3VzLW9wYWNpdHktcHJvcGVydGllc18oXG4gICAgICAgICAgJG9wYWNpdHk6ICRvcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBKUy1lbmFibGVkIHNlbGVjdG9ycy5cbiAgICAmLm1kYy1yaXBwbGUtdXBncmFkZWQtLWJhY2tncm91bmQtZm9jdXNlZCxcbiAgICAvLyBDU1Mtb25seSBzZWxlY3RvcnMuXG4gICAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpOmZvY3VzIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzdGF0ZXMtZm9jdXMtb3BhY2l0eS1wcm9wZXJ0aWVzXyhcbiAgICAgICAgICAkb3BhY2l0eTogJG9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0YXRlcy1mb2N1cy1vcGFjaXR5LXByb3BlcnRpZXNfKCRvcGFjaXR5LCAkcXVlcnkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGR1cmF0aW9uIGlzIG9ubHkgZWZmZWN0aXZlIG9uIGZvY3VzLCBub3QgYmx1clxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NW1zO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLXByZXNzLW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAvLyBTdHlsZXMgZm9yIG5vbi11cGdyYWRlZCAoQ1NTLW9ubHkpIHN0YXRlZnVsIHN1cmZhY2VzXG5cbiAgJjpub3QoLm1kYy1yaXBwbGUtdXBncmFkZWQpIHtcbiAgICAvLyBBcHBseSBwcmVzcyBhZGRpdGl2ZWx5IGJ5IHVzaW5nIHRoZSA6OmFmdGVyIHBzZXVkby1lbGVtZW50XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcmlhYmxlcy4kZmFkZS1vdXQtZHVyYXRpb24gbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcmlhYmxlcy4kZmFkZS1pbi1kdXJhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50IGluIHR5cGljYWwgdXNhZ2VcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5OiAjeyRvcGFjaXR5fTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2ltcGxlIG1peGluIGZvciBiYXNlIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcyhcbiAgJGNvbG9yOiB0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSxcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHN0YXRlcy1pbnRlcmFjdGlvbnNfKFxuICAgICRjb2xvcjogJGNvbG9yLFxuICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAkcXVlcnk6ICRxdWVyeSxcbiAgICAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIGFjdGl2YXRlZCBzdGF0ZXMgd2hpY2ggYXV0b21hdGljYWxseSBzZWxlY3RzIG9wYWNpdHkgdmFsdWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIGluayBjb2xvciBpc1xuLy8gbGlnaHQgb3IgZGFyay5cbkBtaXhpbiBzdGF0ZXMtYWN0aXZhdGVkKFxuICAkY29sb3IsICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRhY3RpdmF0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgYWN0aXZhdGVkKTtcblxuICAmLS1hY3RpdmF0ZWQge1xuICAgIC8vIFN0eWxlbGludCBzZWVtcyB0byB0aGluayB0aGF0ICcmJyBxdWFsaWZpZXMgYXMgYSB0eXBlIHNlbGVjdG9yIGhlcmU/XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSB7XG4gICAgICAvLyBPcGFjaXR5IGZhbGxzIHVuZGVyIGNvbG9yIGJlY2F1c2UgdGhlIGNob3NlbiBvcGFjaXR5IGlzIGNvbG9yLWRlcGVuZGVudC5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIG9wYWNpdHk6ICRhY3RpdmF0ZWQtb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzdGF0ZXMtaW50ZXJhY3Rpb25zXyhcbiAgICAgICRjb2xvcjogJGNvbG9yLFxuICAgICAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQ6ICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50LFxuICAgICAgJG9wYWNpdHktbW9kaWZpZXI6ICRhY3RpdmF0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgbWl4aW4gZm9yIHNlbGVjdGVkIHN0YXRlcyB3aGljaCBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgb3BhY2l0eSB2YWx1ZXMgYmFzZWQgb24gd2hldGhlciB0aGUgaW5rIGNvbG9yIGlzXG4vLyBsaWdodCBvciBkYXJrLlxuQG1peGluIHN0YXRlcy1zZWxlY3RlZChcbiAgJGNvbG9yLFxuICAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogZmFsc2UsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLFxuICAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkc2VsZWN0ZWQtb3BhY2l0eTogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgc2VsZWN0ZWQpO1xuXG4gICYtLXNlbGVjdGVkIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlIHtcbiAgICAgIC8vIE9wYWNpdHkgZmFsbHMgdW5kZXIgY29sb3IgYmVjYXVzZSB0aGUgY2hvc2VuIG9wYWNpdHkgaXMgY29sb3ItZGVwZW5kZW50LlxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJHNlbGVjdGVkLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICAgICAkY29sb3I6ICRjb2xvcixcbiAgICAgICRoYXMtbmVzdGVkLWZvY3VzYWJsZS1lbGVtZW50OiAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudCxcbiAgICAgICRvcGFjaXR5LW1vZGlmaWVyOiAkc2VsZWN0ZWQtb3BhY2l0eSxcbiAgICAgICRxdWVyeTogJHF1ZXJ5LFxuICAgICAgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLWJvdW5kZWQoXG4gICRyYWRpdXM6IDEwMCUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpLCAkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgJGZlYXQtc3RydXR1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YmVmb3JlLFxuICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnV0dXJlKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skcmFkaXVzfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1c30pO1xuICAgICAgd2lkdGg6ICRyYWRpdXMgKiAyO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzICogMjtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1yaXBwbGUtdXBncmFkZWQge1xuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaXVzLXVuYm91bmRlZChcbiAgJHJhZGl1czogMTAwJSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRyaXBwbGUtdGFyZ2V0OiBcIiZcIikge1xuICAkZmVhdC1zdHJ1dHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICN7JHJpcHBsZS10YXJnZXR9OjpiZWZvcmUsXG4gICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSk7XG4gICAgICAvKiBAbm9mbGlwICovXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7JHJhZGl1cyAvIDJ9KTtcbiAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXJpcHBsZS11cGdyYWRlZCB7XG4gICAgI3skcmlwcGxlLXRhcmdldH06OmJlZm9yZSxcbiAgICAjeyRyaXBwbGUtdGFyZ2V0fTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydXR1cmUpIHtcbiAgICAgICAgdG9wOiB2YXIoLS1tZGMtcmlwcGxlLXRvcCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IHZhcigtLW1kYy1yaXBwbGUtbGVmdCwgY2FsYyg1MCUgLSAjeyRyYWRpdXMgLyAyfSkpO1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN7JHJpcHBsZS10YXJnZXR9OjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1dHVyZSkge1xuICAgICAgICB3aWR0aDogdmFyKC0tbWRjLXJpcHBsZS1mZy1zaXplLCAkcmFkaXVzKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1tZGMtcmlwcGxlLWZnLXNpemUsICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWludGVyYWN0aW9uc18oXG4gICRjb2xvcixcbiAgJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsXG4gICRvcGFjaXR5LW1vZGlmaWVyOiAwLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSxcbiAgJHJpcHBsZS10YXJnZXQ6IFwiJlwiLFxuKSB7XG4gIEBpbmNsdWRlIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldCkge1xuICAgIEBpbmNsdWRlIHN0YXRlcy1iYXNlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5KTtcbiAgfVxuXG4gICRvcGFjaXR5LW1hcDogKFxuICAgIGhvdmVyOiBmdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkoJGNvbG9yLCBob3ZlcikgKyAkb3BhY2l0eS1tb2RpZmllcixcbiAgICBmb2N1czogZnVuY3Rpb25zLnN0YXRlcy1vcGFjaXR5KCRjb2xvciwgZm9jdXMpICsgJG9wYWNpdHktbW9kaWZpZXIsXG4gICAgcHJlc3M6IGZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eSgkY29sb3IsIHByZXNzKSArICRvcGFjaXR5LW1vZGlmaWVyLFxuICApO1xuXG4gIEBpbmNsdWRlIHN0YXRlcy1vcGFjaXRpZXMoJG9wYWNpdHktbWFwLCAkaGFzLW5lc3RlZC1mb2N1c2FibGUtZWxlbWVudDogJGhhcy1uZXN0ZWQtZm9jdXNhYmxlLWVsZW1lbnQsICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBXcmFwcyBjb250ZW50IGluIHRoZSBgcmlwcGxlLXRhcmdldGAgc2VsZWN0b3IgaWYgaXQgZXhpc3RzLlxuQG1peGluIHRhcmdldC1zZWxlY3RvcigkcmlwcGxlLXRhcmdldDogXCImXCIpIHtcbiAgQGlmICRyaXBwbGUtdGFyZ2V0ID09IFwiJlwiIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSB7XG4gICAgI3skcmlwcGxlLXRhcmdldH0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbW1vbiBzdHlsZXMgZm9yIGEgcmlwcGxlIHRhcmdldCBlbGVtZW50LlxuLy8gVXNlZCBmb3IgY29tcG9uZW50cyB3aGljaCBoYXZlIGFuIGlubmVyIHJpcHBsZSB0YXJnZXQgZWxlbWVudC5cbkBtaXhpbiB0YXJnZXQtY29tbW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBjbGlja3Mgb24gb3RoZXIgaW5uZXIgZWxlbWVudHMgKGUuZy4gY2xvc2UgaWNvbiBpbiBjaGlwKVxuICAgIC8vIHRvIGdvIHRocm91Z2guXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNiBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kZmFkZS1pbi1kdXJhdGlvbjogNzVtcyAhZGVmYXVsdDtcbiRmYWRlLW91dC1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG4kdHJhbnNsYXRlLWR1cmF0aW9uOiAyMjVtcyAhZGVmYXVsdDtcbiRzdGF0ZXMtd2FzaC1kdXJhdGlvbjogMTVtcyAhZGVmYXVsdDtcblxuLy8gTm90ZXMgb24gc3RhdGVzOlxuLy8gKiBmb2N1cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgaG92ZXIgKGkuZS4gaWYgYW4gZWxlbWVudCBpcyBib3RoIGZvY3VzZWQgYW5kIGhvdmVyZWQsIG9ubHkgZm9jdXMgdmFsdWUgYXBwbGllcylcbi8vICogcHJlc3Mgc3RhdGUgYXBwbGllcyB0byBhIHNlcGFyYXRlIHBzZXVkby1lbGVtZW50LCBzbyBpdCBoYXMgYW4gYWRkaXRpdmUgZWZmZWN0IG9uIHRvcCBvZiBvdGhlciBzdGF0ZXNcbi8vICogc2VsZWN0ZWQvYWN0aXZhdGVkIGFyZSBhcHBsaWVkIGFkZGl0aXZlbHkgdG8gaG92ZXIvZm9jdXMgdmlhIGNhbGN1bGF0aW9ucyBhdCBwcmVwcm9jZXNzaW5nIHRpbWVcblxuJGRhcmstaW5rLW9wYWNpdGllczogKFxuICBob3ZlcjogLjA0LFxuICBmb2N1czogLjEyLFxuICBwcmVzczogLjEyLFxuICBzZWxlY3RlZDogLjA4LFxuICBhY3RpdmF0ZWQ6IC4xMlxuKSAhZGVmYXVsdDtcblxuJGxpZ2h0LWluay1vcGFjaXRpZXM6IChcbiAgaG92ZXI6IC4wOCxcbiAgZm9jdXM6IC4yNCxcbiAgcHJlc3M6IC4yNCxcbiAgc2VsZWN0ZWQ6IC4xNixcbiAgYWN0aXZhdGVkOiAuMjRcbikgIWRlZmF1bHQ7XG5cbi8vIExlZ2FjeVxuXG4kcHJlc3NlZC1kYXJrLWluay1vcGFjaXR5OiAuMTYgIWRlZmF1bHQ7XG4kcHJlc3NlZC1saWdodC1pbmstb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbiRoZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kd2lkdGg6ICRoZWlnaHQgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gTURDIFJpcHBsZSBrZXlmcmFtZXMgYXJlIHNwbGl0IGludG8gdGhlaXIgb3duIGZpbGUgc28gdGhhdCBfbWl4aW5zLnNjc3MgY2FuIHJlbHkgb24gdGhlbS5cblxuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIiBhcyB2YXJpYWJsZXMyO1xuXG5AbWl4aW4ga2V5ZnJhbWVzXyB7XG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1yYWRpdXMtaW4ge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyaWFibGVzLiRzdGFuZGFyZC1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAvLyBOT1RFOiBGb3IgdGhlc2Uga2V5ZnJhbWVzLCB3ZSBkbyBub3QgbmVlZCBjdXN0b20gcHJvcGVydHkgZmFsbGJhY2tzIGJlY2F1c2UgdGhleSBhcmUgb25seVxuICAgICAgLy8gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGAubWRjLXJpcHBsZS11cGdyYWRlZGAuIFNpbmNlIE1EQ1JpcHBsZUZvdW5kYXRpb24gY2hlY2tzIHRvIGVuc3VyZVxuICAgICAgLy8gdGhhdCBjdXN0b20gcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkIHdpdGhpbiB0aGUgYnJvd3NlciBiZWZvcmUgYWRkaW5nIHRoaXMgY2xhc3MsIHdlIGNhblxuICAgICAgLy8gc2FmZWx5IHVzZSB0aGVtIHdpdGhvdXQgYSBmYWxsYmFjay5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLW1kYy1yaXBwbGUtZmctdHJhbnNsYXRlLXN0YXJ0LCAwKSkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tbWRjLXJpcHBsZS1mZy10cmFuc2xhdGUtZW5kLCAwKSkgc2NhbGUodmFyKC0tbWRjLXJpcHBsZS1mZy1zY2FsZSwgMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgbWRjLXJpcHBsZS1mZy1vcGFjaXR5LWluIHtcbiAgICBmcm9tIHtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIG1kYy1yaXBwbGUtZmctb3BhY2l0eS1vdXQge1xuICAgIGZyb20ge1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgb3BhY2l0eTogdmFyKC0tbWRjLXJpcHBsZS1mZy1vcGFjaXR5LCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6bWV0YVwiO1xuQHVzZSBcIkBtYXRlcmlhbC9iYXNlL21peGluc1wiIGFzIGJhc2UtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB0aGVtZS12YXJpYWJsZXM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBmb3IgJHotdmFsdWUgZnJvbSAwIHRocm91Z2ggMjQge1xuICAgIC5tZGMtZWxldmF0aW9uLS16I3skei12YWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgZWxldmF0aW9uKCR6LXZhbHVlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1lbGV2YXRpb24tdHJhbnNpdGlvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiBmdW5jdGlvbnMudHJhbnNpdGlvbi12YWx1ZSgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgd2lsbC1jaGFuZ2U6IHZhcmlhYmxlcy4kcHJvcGVydHk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIENhbGxlZCBvbmNlIHBlciBhcHBsaWNhdGlvbiB0byBzZXQgdXAgdGhlIGdsb2JhbCBkZWZhdWx0IGVsZXZhdGlvbiBzdHlsZXMuXG4vLy9cbkBtaXhpbiBvdmVybGF5LWNvbW1vbigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgYmFzZS1taXhpbnMuZW1pdC1vbmNlKFwibWRjLWVsZXZhdGlvbi9jb21tb24vc3RydWN0dXJlXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIEBpbmNsdWRlIGJhc2UtbWl4aW5zLmVtaXQtb25jZShcIm1kYy1lbGV2YXRpb24vY29tbW9uL2FuaW1hdGlvblwiKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5vdmVybGF5LXRyYW5zaXRpb24tdmFsdWUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlLW1peGlucy5lbWl0LW9uY2UoXCJtZGMtZWxldmF0aW9uL2NvbW1vbi9jb2xvclwiKSB7XG4gICAgICBAaW5jbHVkZSBvdmVybGF5LWZpbGwtY29sb3IodmFyaWFibGVzLiRvdmVybGF5LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHNoYWRvdyBvZiB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYm94LXNoYWRvdyAtIFRoZSBzaGFkb3cgdG8gYXBwbHkgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbkBtaXhpbiBzaGFkb3coJGJveC1zaGFkb3csICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBzdXJmYWNlIHJlcXVpcmVkIHBvc2l0aW9uaW5nLlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zdXJmYWNlLXBvc2l0aW9uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXksIGluY2x1ZGluZyBwb3NpdGlvbmluZyBhbmQgc2l6aW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFRoZSB3aWR0aCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge051bWJlcn0gWyRoZWlnaHRdIC0gVGhlIGhlaWdodCBvZiB0aGUgZWxldmF0aW9uIG92ZXJsYXlcbi8vLyBAcGFyYW0ge0Jvb2xlYW59IFskaGFzLWNvbnRlbnQtc2l6aW5nXSAtIFNldCB0byBmYWxzZSBpZiB0aGUgY29udGFpbmVyIGhhcyBubyBjb250ZW50IHNpemluZ1xuLy8vXG5AbWl4aW4gb3ZlcmxheS1kaW1lbnNpb25zKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoLCAkaGFzLWNvbnRlbnQtc2l6aW5nOiB0cnVlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBvdmVybGF5LXNlbGVjdG9yXyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gICAgICBAaWYgJGhhcy1jb250ZW50LXNpemluZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IGZpbGwgY29sb3IuXG4vLy8gRXhwZWN0ZWQgdG8gYmUgY2FsbGVkIGRpcmVjdGx5IG9uIHRoZSBlbGV2YXRpb24gb3ZlcmxheSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBlbGV2YXRpb24gb3ZlcmxheS5cbi8vL1xuQG1peGluIG92ZXJsYXktZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgZWxldmF0aW9uIG92ZXJsYXkgb3BhY2l0eS5cbi8vLyBFeHBlY3RlZCB0byBiZSBjYWxsZWQgZnJvbSBhIHBhcmVudCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IC0gVGhlIG9wYWNpdHkgb2YgdGhlIGVsZXZhdGlvbiBvdmVybGF5LlxuLy8vXG5AbWl4aW4gb3ZlcmxheS1vcGFjaXR5KCRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXBwbGllcyB0aGUgY29ycmVjdCBDU1MgcnVsZXMgdG8gYW4gZWxlbWVudCB0byBnaXZlIGl0IHRoZSBlbGV2YXRpb24gc3BlY2lmaWVkIGJ5ICR6LXZhbHVlLlxuLy8gVGhlICR6LXZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbi8vIElmICRjb2xvciBoYXMgYW4gYWxwaGEgY2hhbm5lbCwgaXQgd2lsbCBiZSBpZ25vcmVkIGFuZCBvdmVycmlkZGVuLiBUbyBpbmNyZWFzZSB0aGUgb3BhY2l0eSBvZiB0aGUgc2hhZG93LCB1c2Vcbi8vICRvcGFjaXR5LWJvb3N0LlxuQG1peGluIGVsZXZhdGlvbigkei12YWx1ZSwgJGNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLWNvbG9yLCAkb3BhY2l0eS1ib29zdDogMCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkei12YWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCBtYXRoLmlzLXVuaXRsZXNzKCR6LXZhbHVlKSB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlciwgYnV0IHJlY2VpdmVkICcjeyR6LXZhbHVlfSdcIjtcbiAgfVxuXG4gIEBpZiAkei12YWx1ZSA8IDAgb3IgJHotdmFsdWUgPiAyNCB7XG4gICAgQGVycm9yIFwiJHotdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LCBidXQgcmVjZWl2ZWQgJyN7JHotdmFsdWV9J1wiO1xuICB9XG5cbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICRjb2xvcjogdGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKTtcblxuICAkdW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkcGVudW1icmEtei12YWx1ZTogbWFwLmdldCh2YXJpYWJsZXMuJHBlbnVtYnJhLW1hcCwgJHotdmFsdWUpO1xuICAkYW1iaWVudC16LXZhbHVlOiBtYXAuZ2V0KHZhcmlhYmxlcy4kYW1iaWVudC1tYXAsICR6LXZhbHVlKTtcblxuICAkdW1icmEtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJHVtYnJhLW9wYWNpdHkgKyAkb3BhY2l0eS1ib29zdCk7XG4gICRwZW51bWJyYS1jb2xvcjogcmdiYSgkY29sb3IsIHZhcmlhYmxlcy4kcGVudW1icmEtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcbiAgJGFtYmllbnQtY29sb3I6IHJnYmEoJGNvbG9yLCB2YXJpYWJsZXMuJGFtYmllbnQtb3BhY2l0eSArICRvcGFjaXR5LWJvb3N0KTtcblxuICAkYm94LXNoYWRvdzogKFxuICAgICN7XCIjeyR1bWJyYS16LXZhbHVlfSAjeyR1bWJyYS1jb2xvcn1cIn0sXG4gICAgI3tcIiN7JHBlbnVtYnJhLXotdmFsdWV9ICN7JHBlbnVtYnJhLWNvbG9yfVwifSxcbiAgICAjeyRhbWJpZW50LXotdmFsdWV9ICRhbWJpZW50LWNvbG9yLFxuICApO1xuXG4gIEBpbmNsdWRlIHNoYWRvdygkYm94LXNoYWRvdywgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBQcml2YXRlXG5cbi8vL1xuLy8vIFNldHMgdGhlIGVsZXZhdGlvbiBvdmVybGF5IHRyYW5zaXRpb24gdmFsdWUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGR1cmF0aW9uIC0gVGhlIGR1cmF0aW9uIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWFzaW5nIC0gVGhlIGVhc2luZyBmdW5jdGlvbiBmb3IgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gb3ZlcmxheS1zZWxlY3Rvcl8ge1xuICAubWRjLWVsZXZhdGlvbi1vdmVybGF5IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL2Z1bmN0aW9uc1wiIGFzIGFuaW1hdGlvbi1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2J1dHRvbi92YXJpYWJsZXNcIiBhcyBidXR0b24tdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCIgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9taXhpbnNcIiBhcyBzaGFwZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzOyAvLyBmb3IgbWRjLXRoZW1lLXByb3AtdmFsdWVcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiIGFzIHRvdWNoLXRhcmdldC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgZGlhbG9nXG5cbiAgLm1kYy1kaWFsb2csXG4gIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2NyaW0tY29sb3IodmFyaWFibGVzLiRzY3JpbS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHRpdGxlLWluay1jb2xvcih2YXJpYWJsZXMuJHRpdGxlLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGNvbnRlbnQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kY29udGVudC1pbmstY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzY3JvbGwtZGl2aWRlci1jb2xvcih2YXJpYWJsZXMuJHNjcm9sbC1kaXZpZGVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWluLXdpZHRoKHZhcmlhYmxlcy4kbWluLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoKHZhcmlhYmxlcy4kbWF4LXdpZHRoLCB2YXJpYWJsZXMuJG1hcmdpbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQobnVsbCwgdmFyaWFibGVzLiRtYXJnaW4sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMobWVkaXVtLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFVzZSBgZGlzcGxheTogbm9uZWAgaW5zdGVhZCBvZiBgdmlzaWJpbGl0eTogaGlkZGVuYCB0byBhdm9pZCByZWNhbGN1bGF0aW5nIGxheW91dCB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHotaW5kZXg6IHZhcmlhYmxlcy4kei1pbmRleDtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgd3JhcHBlciBlbGVtZW50IGlzIG5lZWRlZCB0byBtYWtlIG1heC1oZWlnaHQgd29yayBpbiBJRSAxMS5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzIxNlxuICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAvLyBJRSAxMVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyAvLyBFbnN1cmUgU2FmYXJpIGNlbnRlcnMgdGhlIGRpYWxvZyAoYmVjYXVzZSBpdCB0cmVhdHMgdGhlIGNvbnRhaW5lcidzIHdpZHRoIG9kZGx5KVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC8vIFRoaXMgZWxlbWVudCBpcyBuZWNlc3NhcnkgZm9yIElFIDExIGFuZCBuZWVkcyB0byBoYXZlIGBoZWlnaHQ6IDEwMCVgLlxuICAgICAgLy8gTGV0IGNsaWNrcyBvbiBlbGVtZW50IGZhbGwgdGhyb3VnaCB0byBzY3JpbSBlbGVtZW50IHVuZGVybmVhdGguXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZWxldmF0aW9uLW1peGlucy5vdmVybGF5LXN1cmZhY2UtcG9zaXRpb24oJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1kaW1lbnNpb25zKDEwMCUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLmVsZXZhdGlvbigyNCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMDsgLy8gSUUgMTFcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyAvLyBJRSAxMVxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gSUUgMTFcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IC8vIElFIDExXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgLy8gT3ZlcnJpZGUgZnJvbSBgLm1kYy1kaWFsb2dfX2NvbnRhaW5lcmAuXG4gICAgICAvLyBJRSAxMTogT3RoZXJ3aXNlLCBzY3JvbGxpbmcgY29udGVudCBpbiBgbWRjLWRpYWxvZ19fY29udGVudGAgb3ZlcmZsb3dzLlxuICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwoXCIubWRjLWRpYWxvZ1wiKSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKCR0b3A6IDQwcHgsICRkaXNwbGF5OiBibG9jaywgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoaGVhZGxpbmU2LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjRweCB2YXJpYWJsZXMuJHRpdGxlLWJvdHRvbS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG4gIC5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBBZGp1c3QgYm90dG9tIHBhZGRpbmcgdG8gbWFrZSB0aXRsZSBoZWlnaHQgYWxpZ24gdG8gc3BlYyB3aGVuIGRpdmlkZXIgaXMgcHJlc2VudC5cbiAgICAgIC8vIChUaXRsZXMgZm9yIGFsZXJ0IGRpYWxvZ3Mgdy9vIGRpdmlkZXJzIGFsaWduIGJhc2VkIG9uIHRleHQgYmFzZWxpbmUuIEFsbCBzcGVjIHZhbHVlcyBhcmUgZGl2aXNpYmxlIGJ5IDQuKVxuICAgICAgcGFkZGluZy1ib3R0b206IHZhcmlhYmxlcy4kdGl0bGUtYm90dG9tLXBhZGRpbmcgKyA2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoYm9keTEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsgLy8gTm90ZTogdGhlIHRvcCBwYWRkaW5nIGlzIG9ubHkgMjBweCBmb3IgZGlhbG9ncyB3aXRob3V0IHRpdGxlczsgc2VlIGJlbG93IGZvciBvdmVycmlkZVxuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNvbnRlbnQgZWxlbWVudCBhbHJlYWR5IGhhcyB0b3AvYm90dG9tIHBhZGRpbmcsIHNvIHdlIG5lZWQgdG8gc3VwcHJlc3MgbWFyZ2lucyBvbiBpdHMgZmlyc3QvbGFzdCBjaGlsZHJlbi5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgY29udGVudCBlbGVtZW50IGFscmVhZHkgaGFzIHRvcC9ib3R0b20gcGFkZGluZywgc28gd2UgbmVlZCB0byBzdXBwcmVzcyBtYXJnaW5zIG9uIGl0cyBmaXJzdC9sYXN0IGNoaWxkcmVuLlxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fdGl0bGUgKyAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBFbGltaW5hdGUgcGFkZGluZyB0byBicmluZyBhcyBjbG9zZSB0byBzcGVjIGFzIHBvc3NpYmxlLCByZWx5aW5nIG9uIHRpdGxlIHBhZGRpbmcuXG4gICAgICAvLyAoU3BlYyBzZWVtcyBpbmNvbnNpc3RlbnQgUkUgdGl0bGUvYm9keSBzcGFjaW5nIG9uIGFsZXJ0IHZzLiBzaW1wbGUgdmFyaWFudHMuKVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZy0tc2Nyb2xsYWJsZSAubWRjLWRpYWxvZ19fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBSZWR1Y2UgYW5kIGVxdWFsaXplIHZlcnRpY2FsIHBhZGRpbmdzIHdoZW4gc2Nyb2xsYWJsZSBkaXZpZGVycyBhcmUgcHJlc2VudFxuICAgICAgLy8gKE5vdGU6IHRoaXMgaXMgaW50ZW50aW9uYWxseSBhZnRlciB0aXRsZSArIGNvbnRlbnQgdG8gdGFrZSBwcmVjZWRlbmNlKVxuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWRpYWxvZ19fY29udGVudCAubWRjLWxpc3Q6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IC5tZGMtbGlzdCBwYWRkaW5nIGZvciBjb250ZW50IGNvbnNpc3RpbmcgZXhjbHVzaXZlbHkgb2YgYSBNREMgTGlzdFxuICAgICAgcGFkZGluZzogNnB4IDAgMDsgLy8gVG9wIHBhZGRpbmcgYmFsYW5jZXMgd2l0aCB0aXRsZSBoZWlnaHRcbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuLCBzZWxlY3Rvci1tYXgtc3BlY2lmaWNpdHlcbiAgLm1kYy1kaWFsb2ctLXNjcm9sbGFibGUgLm1kYy1kaWFsb2dfX2NvbnRlbnQgLm1kYy1saXN0OmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCAubWRjLWxpc3QgcGFkZGluZyBmb3IgY29udGVudCBjb25zaXN0aW5nIGV4Y2x1c2l2ZWx5IG9mIGEgTURDIExpc3RcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWRpYWxvZ19fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChtYXJnaW4sIGxlZnQsIDhweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIFByZXZlbnQgbG9uZyB0ZXh0IGZyb20gb3ZlcmZsb3dpbmcgcGFyZW50IGVsZW1lbnQgaW4gSUUgMTFcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bChcIi5tZGMtZGlhbG9nXCIpIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nLS1zdGFja2VkICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4sXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nLFxuICAubWRjLWRpYWxvZy0tY2xvc2luZyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZGlhbG9nLS1vcGVuaW5nIHtcbiAgICAubWRjLWRpYWxvZ19fc2NyaW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNzVtcyBsaW5lYXIsIGFuaW1hdGlvbi1mdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtLCAxNTBtcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLWNsb3Npbmcge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSxcbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDc1bXMgbGluZWFyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZGlhbG9nX19jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8vIERpYWxvZyBjb250YWluZXIgc2NhbGVzIHVwIHdoaWxlIG9wZW5pbmcsIGJ1dCBzaG91bGQgcmVtYWluIHNjYWxlZCB1cCB3aGlsZSBjbG9zaW5nXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1kaWFsb2ctLW9wZW4ge1xuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG5cbiAgLy8gQ2xhc3MgYXBwbGllZCB0byBib2R5IHdoaWxlIGRpYWxvZyBpcyBvcGVuLCB0byBwcmV2ZW50IHNjcm9sbGluZyBiZWhpbmQgdGhlIGRpYWxvZ1xuICAubWRjLWRpYWxvZy1zY3JvbGwtbG9jayB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2NyaW0tY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiRzY3JpbS1vcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1kaWFsb2dfX3NjcmltIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZSgkY29sb3IpLCAkb3BhY2l0eSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aXRsZS1pbmstY29sb3IoJGNvbG9yLCAkb3BhY2l0eTogdmFyaWFibGVzLiR0aXRsZS1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNvbnRlbnQtaW5rLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6IHZhcmlhYmxlcy4kY29udGVudC1pbmstb3BhY2l0eSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtZGlhbG9nX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgY29sb3I6IHJnYmEodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJG9wYWNpdHkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2Nyb2xsLWRpdmlkZXItY29sb3IoXG4gICRjb2xvcixcbiAgJG9wYWNpdHk6IHZhcmlhYmxlcy4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX190aXRsZSxcbiAgJi5tZGMtZGlhbG9nLS1zY3JvbGxhYmxlIC5tZGMtZGlhbG9nX19hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRjb2xvciksICRvcGFjaXR5KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZGlhbG9nX19zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG1pbi13aWR0aCgkbWluLXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWRpYWxvZ19fc3VyZmFjZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBtaW4td2lkdGg6ICRtaW4td2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXgtd2lkdGgoJG1heC13aWR0aCwgJG1hcmdpbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRtYXgtc2l6ZS1jYWxjLWV4cHI6IGNhbGMoMTAwdncgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtd2lkdGgge1xuICAgICAgICAkbWF4LXdpZHRoLWJyZWFrcG9pbnQ6ICRtYXgtd2lkdGggKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSB3aWR0aC5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtd2lkdGgtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIG1heC13aWR0aDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC1oZWlnaHQoJG1heC1oZWlnaHQsICRtYXJnaW4sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkbWF4LXNpemUtY2FsYy1leHByOiBjYWxjKDEwMCUgLSAjeyRtYXJnaW4gKiAyfSk7XG5cbiAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRtYXgtaGVpZ2h0IHtcbiAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgIC8vIEZpdCBzbnVnbHkgd2l0aGluIHRoZSB2aWV3cG9ydCBhdCBzbWFsbGVyIHNjcmVlbiBzaXplcy5cbiAgICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9uY2UgdGhlIHNjcmVlbiBnZXRzIGJpZyBlbm91Z2gsIGFwcGx5IGEgZml4ZWQgbWF4aW11bSBoZWlnaHQuXG4gICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogJG1heC1oZWlnaHQtYnJlYWtwb2ludCkge1xuICAgICAgICAgIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbWF4LWhlaWdodDogJG1heC1zaXplLWNhbGMtZXhwcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUYXJnZXQgSUUgMTEuXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLy8gT24gSUUgMTEsIGlmIHN1cmZhY2UgaGVpZ2h0IGlzIGZpeGVkIGFuZCBjb250YWluZXIgaGVpZ2h0IGlzIDEwMCUsXG4gICAgLy8gc2Nyb2xsaW5nIGNvbnRlbnQgb3ZlcmZsb3dzLiBTbywgcmVzZXQgaGVpZ2h0IGlmIHN1cmZhY2UgaGVpZ2h0XG4gICAgLy8gaXMgZml4ZWQuXG4gICAgLm1kYy1kaWFsb2dfX2NvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgLy8gRGlzYWJsZSBzdHlsZWxpbnQgaGVyZSwgYXMgbmVzdGluZyBkZXB0aCA+IDMgaXMgcmVxdWlyZWQgdG9cbiAgICAgICAgLy8gd29yayBhcm91bmQgSUUgMTEuXG4gICAgICAgIEBpZiAkbWF4LWhlaWdodCB7XG4gICAgICAgICAgJG1heC1oZWlnaHQtYnJlYWtwb2ludDogJG1heC1oZWlnaHQgKyAoJG1hcmdpbiAqIDIpO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiAkbWF4LWhlaWdodC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSovXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFwcGxpZWQgdG8gZGlhbG9ncyB0aGF0IGhhdmUgYnV0dG9ucyB3aXRoIGFuIGluY3JlYXNlZCB0b3VjaCB0YXJnZXQuXG5AbWl4aW4gd2l0aC10b3VjaC10YXJnZXQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICR0b3VjaC10YXJnZXQtbWFyZ2luOlxuICAgICh0b3VjaC10YXJnZXQtdmFyaWFibGVzLiRoZWlnaHQgLSBidXR0b24tdmFyaWFibGVzLiRoZWlnaHQpIC8gMjtcbiAgJHZlcnRpY2FsLXBhZGRpbmc6IG1hdGgubWF4KDAsIHZhcmlhYmxlcy4kYWN0aW9ucy1wYWRkaW5nIC0gJHRvdWNoLXRhcmdldC1tYXJnaW4pO1xuXG4gIC8vIEJ1dHRvbnMgd2l0aCBhbiBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0IGhhdmUgYWRkZWQgdmVydGljYWwgbWFyZ2luLCBzb1xuICAvLyBkZWNyZWFzZSB0aGUgYWN0aW9ucyBlbGVtZW50IHBhZGRpbmcgdG8gY29tcGVuc2F0ZS5cbiAgLm1kYy1kaWFsb2dfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1ib3R0b206ICR2ZXJ0aWNhbC1wYWRkaW5nO1xuXG4gICAgICAvLyBUaGUgYmVsb3cgc3R5bGVzIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJ1dHRvbiB0b3VjaCB0YXJnZXQgdmFsdWVzLFxuICAgICAgLy8gd2hpY2ggb3RoZXJ3aXNlIGNhdXNlIGBtZGMtZGlhbG9nX19zdXJmYWNlYCB0byBzY3JvbGwgdW5ubmVjZXNzYXJpbHlcbiAgICAgIC8vIGluIElFIDExLlxuICAgICAgLm1kYy1idXR0b25fX3RvdWNoIHtcbiAgICAgICAgdG9wOiAtJHRvdWNoLXRhcmdldC1tYXJnaW47IC8vIElFIDExXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgLy8gSUUgMTFcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG4kc2NyaW0tY29sb3I6IG9uLXN1cmZhY2UgIWRlZmF1bHQ7XG4kdGl0bGUtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJGNvbnRlbnQtaW5rLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuJHNjcm9sbC1kaXZpZGVyLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuXG4kc2NyaW0tb3BhY2l0eTogLjMyICFkZWZhdWx0O1xuJHRpdGxlLWluay1vcGFjaXR5OiAuODcgIWRlZmF1bHQ7XG4kY29udGVudC1pbmstb3BhY2l0eTogLjYgIWRlZmF1bHQ7XG4kc2Nyb2xsLWRpdmlkZXItb3BhY2l0eTogLjEyICFkZWZhdWx0O1xuXG4kbWluLXdpZHRoOiAyODBweCAhZGVmYXVsdDtcbiRtYXgtd2lkdGg6IDU2MHB4ICFkZWZhdWx0O1xuJG1hcmdpbjogMTZweCAhZGVmYXVsdDtcbiR0aXRsZS1ib3R0b20tcGFkZGluZzogOXB4ICFkZWZhdWx0O1xuJGFjdGlvbnMtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuXG4kei1pbmRleDogNyAhZGVmYXVsdDtcbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5cbkBtaXhpbiByYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBFdmVuIGlmICRydGwtcmVmbGV4aXZlIGlzIHRydWUsIG9ubHkgZW1pdCBSVEwgc3R5bGVzIGlmIHdlIGNhbid0IGVhc2lseSB0ZWxsIHRoYXQgdGhlIGdpdmVuIHJhZGl1cyBpcyBzeW1tZXRyaWNhbFxuICAgICRuZWVkcy1mbGlwOiAkcnRsLXJlZmxleGl2ZSBhbmQgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAxO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgIH1cblxuICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpO1xuXG4gICAgQGlmICgkbmVlZHMtZmxpcCkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGZ1bmN0aW9ucy5mbGlwLXJhZGl1cyhmdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIENyZWF0ZXMgYSBydWxlIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHdoZW4gYW4gTURDIFdlYiBjb21wb25lbnQgaXMgd2l0aGluIHRoZSBjb250ZXh0IG9mIGFuIFJUTCBsYXlvdXQuXG4vL1xuLy8gVXNhZ2UgRXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgbGVmdDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbGVmdDogYXV0bztcbi8vICAgICByaWdodDogMDtcbi8vICAgfVxuLy9cbi8vICAgJl9fYmFyIHtcbi8vICAgICBtYXJnaW4tbGVmdDogNHB4O1xuLy8gICAgIEBpbmNsdWRlIHJ0bChcIi5tZGMtZm9vXCIpIHtcbi8vICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG4vL1xuLy8gLm1kYy1mb28tLW1vZCB7XG4vLyAgIHBhZGRpbmctbGVmdDogNHB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87XG4vLyAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBtaXhpbiB3b3JrcyBieSBjaGVja2luZyBmb3IgYW4gYW5jZXN0b3IgZWxlbWVudCB3aXRoIGBbZGlyPVwicnRsXCJdYC5cbi8vIEFzIGEgcmVzdWx0LCBuZXN0ZWQgYGRpcmAgdmFsdWVzIGFyZSBub3Qgc3VwcG9ydGVkOlxuLy9cbi8vIGBgYGh0bWxcbi8vIDxodG1sIGRpcj1cInJ0bFwiPlxuLy8gICA8IS0tIC4uLiAtLT5cbi8vICAgPGRpdiBkaXI9XCJsdHJcIj5cbi8vICAgICA8ZGl2IGNsYXNzPVwibWRjLWZvb1wiPlN0eWxlZCBpbmNvcnJlY3RseSBhcyBSVEwhPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy8gPC9odG1sPlxuLy8gYGBgXG4vL1xuLy8gSW4gdGhlIGZ1dHVyZSwgc2VsZWN0b3JzIHN1Y2ggYXMgdGhlIGA6ZGlyYCBwc2V1ZG8tY2xhc3MgKGh0dHA6Ly9tZG4uaW8vY3NzLzpkaXIpIHdpbGwgaGVscCB1cyBtaXRpZ2F0ZSB0aGlzLlxuQG1peGluIHJ0bCgkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKHZhcmlhYmxlcy4kaW5jbHVkZSkge1xuICAgIEBpZiAoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgI3skcm9vdC1zZWxlY3Rvcn1bZGlyPVwicnRsXCJdICYsXG4gICAgICAgIFtkaXI9XCJydGxcIl0gI3skcm9vdC1zZWxlY3Rvcn0gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIFtkaXI9XCJydGxcIl0gJixcbiAgICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRha2VzIGEgYmFzZSBib3gtbW9kZWwgcHJvcGVydHkgbmFtZSAoYG1hcmdpbmAsIGBib3JkZXJgLCBgcGFkZGluZ2AsIGV0Yy4pIGFsb25nIHdpdGggYVxuLy8gZGVmYXVsdCBkaXJlY3Rpb24gKGBsZWZ0YCBvciBgcmlnaHRgKSBhbmQgdmFsdWUsIGFuZCBlbWl0cyBydWxlcyB3aGljaCBhcHBseSB0aGUgZ2l2ZW4gdmFsdWUgdG8gdGhlXG4vLyBzcGVjaWZpZWQgZGlyZWN0aW9uIGJ5IGRlZmF1bHQgYW5kIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gaW4gUlRMLlxuLy9cbi8vIEZvciBleGFtcGxlOlxuLy9cbi8vIGBgYHNjc3Ncbi8vIC5tZGMtZm9vIHtcbi8vICAgQGluY2x1ZGUgcnRsLXJlZmxleGl2ZS1ib3gobWFyZ2luLCBsZWZ0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4vLyAgIG1hcmdpbi1yaWdodDogMDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLyAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIHdoZXJlYXM6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCA4cHgpO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICBtYXJnaW4tcmlnaHQ6IDhweDtcbi8vXG4vLyAgIEBpbmNsdWRlIHJ0bCB7XG4vLyAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIFlvdSBjYW4gYWxzbyBwYXNzIGFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IHdoaWNoIHdpbGwgYmUgZm9yd2FyZGVkIHRvIGBtZGMtcnRsYCxcbi8vIGUuZy4gYEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgOHB4LCBcIi5tZGMtY29tcG9uZW50XCIpYC5cbi8vXG4vLyBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIGFsd2F5cyB6ZXJvIG91dCB0aGUgb3JpZ2luYWwgdmFsdWUgaW4gYW4gUlRMIGNvbnRleHQuXG4vLyBJZiB5b3UncmUgdHJ5aW5nIHRvIGZsaXAgdGhlIHZhbHVlcywgdXNlIGBtZGMtcnRsLXJlZmxleGl2ZS1wcm9wZXJ0eSgpYCBpbnN0ZWFkLlxuQG1peGluIHJlZmxleGl2ZS1ib3goJGJhc2UtcHJvcGVydHksICRkZWZhdWx0LWRpcmVjdGlvbiwgJHZhbHVlLCAkcm9vdC1zZWxlY3RvcjogbnVsbCkge1xuICBAaWYgKGxpc3QuaW5kZXgoKHJpZ2h0LCBsZWZ0KSwgJGRlZmF1bHQtZGlyZWN0aW9uKSA9PSBudWxsKSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBkZWZhdWx0IGRpcmVjdGlvbjogJyN7JGRlZmF1bHQtZGlyZWN0aW9ufScuIFBsZWFzZSBzcGVjaWZpeSBlaXRoZXIgJ3JpZ2h0JyBvciAnbGVmdCcuXCI7XG4gIH1cblxuICAkbGVmdC12YWx1ZTogJHZhbHVlO1xuICAkcmlnaHQtdmFsdWU6IDA7XG5cbiAgQGlmICgkZGVmYXVsdC1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICAkbGVmdC12YWx1ZTogMDtcbiAgICAkcmlnaHQtdmFsdWU6ICR2YWx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhIGJhc2UgcHJvcGVydHkgYW5kIGVtaXRzIHJ1bGVzIHRoYXQgYXNzaWduIDxiYXNlLXByb3BlcnR5Pi1sZWZ0IHRvIDxsZWZ0LXZhbHVlPiBhbmRcbi8vIDxiYXNlLXByb3BlcnR5Pi1yaWdodCB0byA8cmlnaHQtdmFsdWU+IGluIGEgTFRSIGNvbnRleHQsIGFuZCB2aWNlIHZlcnNhIGluIGEgUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAxMnB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBtYXJnaW4tbGVmdDogYXV0bztcbi8vICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBtYXJnaW4tbGVmdDogMTJweDtcbi8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLyAgIH1cbi8vIH1cbi8vIGBgYFxuLy9cbi8vIEFuIG9wdGlvbmFsIDR0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IGNhbiBiZSBnaXZlbiwgd2hpY2ggd2lsbCBiZSBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZS1wcm9wZXJ0eSgkYmFzZS1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3I6IG51bGwpIHtcbiAgJHByb3AtbGVmdDogI3skYmFzZS1wcm9wZXJ0eX0tbGVmdDtcbiAgJHByb3AtcmlnaHQ6ICN7JGJhc2UtcHJvcGVydHl9LXJpZ2h0O1xuXG4gIEBpbmNsdWRlIHJlZmxleGl2ZSgkcHJvcC1sZWZ0LCAkbGVmdC12YWx1ZSwgJHByb3AtcmlnaHQsICRyaWdodC12YWx1ZSwgJHJvb3Qtc2VsZWN0b3IpO1xufVxuXG4vLyBUYWtlcyBhbiBhcmd1bWVudCBzcGVjaWZ5aW5nIGEgaG9yaXpvbnRhbCBwb3NpdGlvbiBwcm9wZXJ0eSAoZWl0aGVyIFwibGVmdFwiIG9yIFwicmlnaHRcIikgYXMgd2VsbFxuLy8gYXMgYSB2YWx1ZSwgYW5kIGFwcGxpZXMgdGhhdCB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIHBvc2l0aW9uIGluIGEgTFRSIGNvbnRleHQsIGFuZCBmbGlwcyBpdCBpbiBhXG4vLyBSVEwgY29udGV4dC4gRm9yIGV4YW1wbGU6XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBAaW5jbHVkZSBydGwtcmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIDApO1xuLy8gfVxuLy8gYGBgXG4vL1xuLy8gaXMgZXF1aXZhbGVudCB0bzpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIGxlZnQ6IDA7XG4vLyAgIHJpZ2h0OiBpbml0aWFsO1xuLy9cbi8vICAgQGluY2x1ZGUgcnRsIHtcbi8vICAgICBsZWZ0OiBpbml0aWFsO1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCB0aGlyZCAkcm9vdC1zZWxlY3RvciBhcmd1bWVudCBtYXkgYWxzbyBiZSBnaXZlbiwgd2hpY2ggaXMgcGFzc2VkIHRvIGBtZGMtcnRsYC5cbkBtaXhpbiByZWZsZXhpdmUtcG9zaXRpb24oJHBvc2l0aW9uLXByb3BlcnR5LCAkdmFsdWUsICRyb290LXNlbGVjdG9yOiBudWxsKSB7XG4gIEBpZiAobGlzdC5pbmRleCgocmlnaHQsIGxlZnQpLCAkcG9zaXRpb24tcHJvcGVydHkpID09IG51bGwpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHBvc2l0aW9uICN7cG9zaXRpb24tcHJvcGVydHl9LiBQbGVhc2Ugc3BlY2lmaXkgZWl0aGVyIHJpZ2h0IG9yIGxlZnRcIjtcbiAgfVxuXG4gIC8vIFRPRE86IFwiaW5pdGlhbFwiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSUUgMTEuIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLWluaXRpYWwtdmFsdWVcbiAgJGxlZnQtdmFsdWU6ICR2YWx1ZTtcbiAgJHJpZ2h0LXZhbHVlOiBpbml0aWFsO1xuXG4gIEBpZiAoJHBvc2l0aW9uLXByb3BlcnR5ID09IHJpZ2h0KSB7XG4gICAgJHJpZ2h0LXZhbHVlOiAkdmFsdWU7XG4gICAgJGxlZnQtdmFsdWU6IGluaXRpYWw7XG4gIH1cblxuICBAaW5jbHVkZSByZWZsZXhpdmUobGVmdCwgJGxlZnQtdmFsdWUsIHJpZ2h0LCAkcmlnaHQtdmFsdWUsICRyb290LXNlbGVjdG9yKTtcbn1cblxuLy8gVGFrZXMgcGFpciBvZiBwcm9wZXJ0aWVzIHdpdGggdmFsdWVzIGFzIGFyZ3VtZW50cyBhbmQgZmxpcHMgaXQgaW4gUlRMIGNvbnRleHQuXG4vLyBGb3IgZXhhbXBsZTpcbi8vXG4vLyBgYGBzY3NzXG4vLyAubWRjLWZvbyB7XG4vLyAgIEBpbmNsdWRlIHJ0bC1yZWZsZXhpdmUobGVmdCwgMnB4LCByaWdodCwgNXB4KTtcbi8vIH1cbi8vIGBgYFxuLy9cbi8vIGlzIGVxdWl2YWxlbnQgdG86XG4vL1xuLy8gYGBgc2Nzc1xuLy8gLm1kYy1mb28ge1xuLy8gICBsZWZ0OiAycHg7XG4vLyAgIHJpZ2h0OiA1cHg7XG4vL1xuLy8gICBAaW5jbHVkZSBydGwge1xuLy8gICAgIHJpZ2h0OiAycHg7XG4vLyAgICAgbGVmdDogNXB4O1xuLy8gICB9XG4vLyB9XG4vLyBgYGBcbi8vXG4vLyBBbiBvcHRpb25hbCBmaWZ0aCBgJHJvb3Qtc2VsZWN0b3JgIGFyZ3VtZW50IG1heSBhbHNvIGJlIGdpdmVuLCB3aGljaCBpcyBwYXNzZWQgdG8gYG1kYy1ydGxgLlxuQG1peGluIHJlZmxleGl2ZShcbiAgJGxlZnQtcHJvcGVydHksXG4gICRsZWZ0LXZhbHVlLFxuICAkcmlnaHQtcHJvcGVydHksXG4gICRyaWdodC12YWx1ZSxcbiAgJHJvb3Qtc2VsZWN0b3I6IG51bGxcbikge1xuICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRsZWZ0LXZhbHVlKTtcbiAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJHJpZ2h0LXZhbHVlKTtcblxuICBAaW5jbHVkZSBydGwoJHJvb3Qtc2VsZWN0b3IpIHtcbiAgICBAaW5jbHVkZSBwcm9wZXJ0eV8oJGxlZnQtcHJvcGVydHksICRyaWdodC12YWx1ZSk7XG4gICAgQGluY2x1ZGUgcHJvcGVydHlfKCRyaWdodC1wcm9wZXJ0eSwgJGxlZnQtdmFsdWUpO1xuICB9XG59XG5cbi8vL1xuLy8vIEFkZHMgYEBub2ZsaXBgIGFubm90YXRpb24gd2hlbiBgJG1kYy1ydGwtaW5jbHVkZWAgaXMgdHJ1ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBwcm9wZXJ0eV8oJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgQGlmIHZhcmlhYmxlcy4kaW5jbHVkZSB7XG4gICAgLyogQG5vZmxpcCAqL1xuICB9XG5cbiAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy10eXBvZ3JhcGh5IHtcbiAgICBAaW5jbHVkZSBiYXNlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBlYWNoICRzdHlsZSBpbiBtYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcykge1xuICAgIC5tZGMtdHlwb2dyYXBoeS0tI3skc3R5bGV9IHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgc21vb3RoLWZvbnQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoZm9udC1mYW1pbHksIChcbiAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICBmYWxsYmFjazogbWFwLmdldCh2YXJpYWJsZXMuJGJhc2UsICdmb250LWZhbWlseScpXG4gICAgKSk7XG4gIH1cbn1cblxuQG1peGluIHR5cG9ncmFwaHkoJHN0eWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSwgJGV4Y2x1ZGUtcHJvcHM6ICgpKSB7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG4gICRzdHlsZS1wcm9wczogbWFwLmdldCh2YXJpYWJsZXMuJHN0eWxlcywgJHN0eWxlKTtcblxuICBAaWYgbm90IG1hcC5oYXMta2V5KHZhcmlhYmxlcy4kc3R5bGVzLCAkc3R5bGUpIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHN0eWxlIHNwZWNpZmllZCEgI3skc3R5bGV9IGRvZXNuJ3QgZXhpc3QuIENob29zZSBvbmUgb2YgI3ttYXAua2V5cyh2YXJpYWJsZXMuJHN0eWxlcyl9XCI7XG4gIH1cblxuICBAaW5jbHVkZSBzbW9vdGgtZm9udCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHN0eWxlLXByb3BzIHtcbiAgICAgIEBpZiBsaXN0LmluZGV4KCRleGNsdWRlLXByb3BzLCAka2V5KSA9PSBudWxsIHtcbiAgICAgICAgJGZhbGxiYWNrOiAkdmFsdWU7XG4gICAgICAgIEBpZiAka2V5ID09IFwiZm9udC1mYW1pbHlcIiB7XG4gICAgICAgICAgLy8gRWFjaCBzdHlsZSBoYXMgaXRzIG93biBmb250LWZhbWlseSBjdXN0b20gcHJvcGVydHksIGJ1dCBzaG91bGRcbiAgICAgICAgICAvLyBmYWxsYmFjayB0byBhIGdlbmVyaWMgZm9udC1mYW1pbHkgcHJvcGVydHkuIFRoaXMgYWxsb3dzXG4gICAgICAgICAgLy8gY3VzdG9taXppbmcgdGhlIGZvbnQtZmFtaWx5IGZvciBhbGwgc3R5bGVzIG9yIG9ubHkgc3BlY2lmaWMgb25lcy5cbiAgICAgICAgICAkZmFsbGJhY2s6IChcbiAgICAgICAgICAgIHZhcm5hbWU6IC0tbWRjLXR5cG9ncmFwaHktZm9udC1mYW1pbHksXG4gICAgICAgICAgICBmYWxsYmFjazogJGZhbGxiYWNrXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKCRrZXksIChcbiAgICAgICAgICB2YXJuYW1lOiAtLW1kYy10eXBvZ3JhcGh5LSN7JHN0eWxlfS0jeyRrZXl9LFxuICAgICAgICAgIGZhbGxiYWNrOiAkZmFsbGJhY2tcbiAgICAgICAgKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIGFudGlhbGlhc2luZyB2aWEgZm9udC1zbW9vdGhpbmcgdG8gdGV4dC5cbkBtaXhpbiBzbW9vdGgtZm9udCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXR5cG9ncmFwaHkpIHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG59XG5cbi8vIEVsZW1lbnQgbXVzdCBiZSBgZGlzcGxheTogYmxvY2tgIG9yIGBkaXNwbGF5OiBpbmxpbmUtYmxvY2tgIGZvciB0aGlzIHRvIHdvcmsuXG5AbWl4aW4gb3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi8vLyBTZXRzIGEgY29udGFpbmVyJ3MgYmFzZWxpbmUgdGhhdCB0ZXh0IGNvbnRlbnQgd2lsbCBhbGlnbiB0by5cbi8vL1xuLy8vIElmIHRoZSBgJGRpc3BsYXlgIGlzIHNldCB0byBhIGZsZXhib3ggZGlzcGxheSwgb25seSBgJHRvcGAgYmFzZWxpbmUgbWF5IGJlXG4vLy8gc2V0LiBBIHNlcGFyYXRlIGVsZW1lbnQgbXVzdCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIHRoZSBjb250YWluZXIgd2l0aCBhXG4vLy8gYCRib3R0b21gIGJhc2VsaW5lLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSAtIHRoZSBkaXNwbGF5IHR5cGUgb2YgdGhlIGNvbnRhaW5lci4gTWF5IGJlIGBmbGV4YCxcbi8vLyAgICAgYGlubGluZS1mbGV4YCwgYGJsb2NrYCwgb3IgYGlubGluZS1ibG9ja2AuXG5AbWl4aW4gYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChmbGV4LCBpbmxpbmUtZmxleCwgYmxvY2ssIGlubGluZS1ibG9jayk7XG5cbiAgQGlmIGxpc3QuaW5kZXgoJHZhbGlkRGlzcGxheVR5cGVzLCAkZGlzcGxheSkgPT0gbnVsbCB7XG4gICAgQGVycm9yIFwibWRjLXR5cG9ncmFwaHk6IGludmFsaWQgZGlzcGxheSBzcGVjaWZpZWQhICN7JGRpc3BsYXl9IG11c3QgYmUgb25lIG9mICN7JHZhbGlkRGlzcGxheVR5cGVzfVwiO1xuICB9XG5cbiAgJGlzRmxleGJveDogJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRvcCA+IDAge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLXRvcCgkdG9wLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgJGJvdHRvbSA+IDAge1xuICAgIEBpZiAkaXNGbGV4Ym94IHtcbiAgICAgIEBlcnJvciBcIm1kYy10eXBvZ3JhcGh5OiBpbnZhbGlkIGJhc2VsaW5lIHdpdGggZGlzcGxheSB0eXBlLiAjeyRkaXNwbGF5fSBjYW5ub3Qgc3BlY2lmaXkgJGJvdHRvbS4gQWRkIGEgc2VwYXJhdGUgY2hpbGQgZWxlbWVudCB3aXRoIGl0cyBvd24gJGJvdHRvbS5cIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYXNlbGluZS1ib3R0b20oJGJvdHRvbSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlbGluZSBvZiBmbG93IHRleHQgY29udGVudC5cbi8vL1xuLy8vIFNlcGFyYXRlIGAkdG9wYCBhbmQgYCRib3R0b21gIGJhc2VsaW5lcyBtYXkgYmUgc3BlY2lmaWVkLiBZb3Ugc2hvdWxkIGVuc3VyZVxuLy8vIHRoYXQgdGhlIGAkdG9wYCBiYXNlbGluZSBtYXRjaGVzIHRoZSBwcmV2aW91cyB0ZXh0IGNvbnRlbnQncyAkYm90dG9tXG4vLy8gYmFzZWxpbmUgdG8gZW5zdXJlIHRleHQgaXMgcG9zaXRpb25lZCBhcHByb3ByaWF0ZWx5LlxuLy8vXG4vLy8gU2VlIGdvL2Nzcy1iYXNlbGluZSBmb3IgcmVmZXJlbmNlIG9uIGhvdyB0aGlzIG1peGluIHdvcmtzLlxuLy8vXG4vLy8gVGhpcyBpcyBpbnRlbmRlZCBmb3IgdGV4dCBmbG93IGNvbnRlbnQgb25seSAoZS5nLiBgPGgxPmAsIGA8cD5gLCBgPHNwYW4+YCxcbi8vLyBvciBgPGRpdj5gIHdpdGggb25seSB0ZXh0IGNvbnRlbnQpLiBVc2UgYGJhc2VsaW5lKClgIHRvIHNldCB0aGUgYmFzZWxpbmUgb2Zcbi8vLyBjb250YWluZXJzIHRoYXQgYXJlIGZsZXhib3ggb3IgaGF2ZSBub24tZmxvdyBjb250ZW50IGNoaWxkcmVuLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgLSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIgdG8gdGhlXG4vLy8gICAgIHRleHQncyBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSAtIHRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGxpbmVIZWlnaHQgLSB0aGUgbGluZS1oZWlnaHQgdG8gdXNlIGZvciB0aGUgdGV4dC4gVGhpc1xuLy8vICAgICBpcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiBiYXNlbGluZXMgb2YgbXVsdGlwbGUgbGluZXMgb2YgdGV4dC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgLSB0aGUgZGlzcGxheSB0eXBlIG9mIHRoZSBjb250YWluZXIuIE1heSBiZSBgYmxvY2tgXG4vLy8gICAgIG9yIGBpbmxpbmUtYmxvY2tgLlxuQG1peGluIHRleHQtYmFzZWxpbmUoJHRvcDogMCwgJGJvdHRvbTogMCwgJGRpc3BsYXk6IGJsb2NrLCAkbGluZUhlaWdodDogbm9ybWFsLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkdmFsaWREaXNwbGF5VHlwZXM6IChibG9jaywgaW5saW5lLWJsb2NrKTtcblxuICBAaWYgbGlzdC5pbmRleCgkdmFsaWREaXNwbGF5VHlwZXMsICRkaXNwbGF5KSA9PSBudWxsIHtcbiAgICBAZXJyb3IgXCJtZGMtdHlwb2dyYXBoeTogaW52YWxpZCBkaXNwbGF5IHNwZWNpZmllZCEgI3skZGlzcGxheX0gbXVzdCBiZSBvbmUgb2YgI3skdmFsaWREaXNwbGF5VHlwZXN9XCI7XG4gIH1cblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBiYXNlbGluZSgkZGlzcGxheTogJGRpc3BsYXksICR0b3A6ICR0b3AsICRib3R0b206ICRib3R0b20sICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGlmICR0b3AgPiAwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgICBsaW5lLWhlaWdodDogI3skbGluZUhlaWdodH07XG4gICAgfVxuXG4gICAgQGlmICRib3R0b20gPiAwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xICogJGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSB0b3Agb2YgYSBjb250YWluZXIuIFRoaXMgbWl4aW4gaXMgZm9yXG4vLy8gYWR2YW5jZWQgdXNlcnMsIHByZWZlciBgYmFzZWxpbmUoKWAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpc3RhbmNlIC0gVGhlIGRpc3RhbmNlIGZyb20gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyIHRvXG4vLy8gICAgIHRoZSB0ZXh0J3MgYmFzZWxpbmUuXG5AbWl4aW4gYmFzZWxpbmUtdG9wKCRkaXN0YW5jZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBiYXNlbGluZSBzdHJ1dCBmcm9tIHRoZSBiYXNlbGluZSB0byB0aGUgYm90dG9tIG9mIGEgY29udGFpbmVyLlxuLy8vIFRoaXMgbWl4aW4gaXMgZm9yIGFkdmFuY2VkIHVzZXJzLCBwcmVmZXIgYGJhc2VsaW5lKClgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXN0YW5jZSAtIFRoZSBkaXN0YW5jZSBmcm9tIHRoZSB0ZXh0J3MgYmFzZWxpbmUgdG8gdGhlXG4vLy8gICAgIGJvdHRvbSBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIGJhc2VsaW5lLWJvdHRvbSgkZGlzdGFuY2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGJhc2VsaW5lLXN0cnV0XygkZGlzdGFuY2UpO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTEgKiAkZGlzdGFuY2U7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBiYXNlbGluZS1zdHJ1dF8oJGRpc3RhbmNlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogJGRpc3RhbmNlO1xuICBjb250ZW50OiBcIlwiO1xufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHZhcmlhYmxlczI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIGFuaW1hdGlvbi12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3R5cG9ncmFwaHkvbWl4aW5zXCIgYXMgdHlwb2dyYXBoeS1taXhpbnM7XG5AdXNlIFwiLi92YXJpYWJsZXNcIjtcblxuQG1peGluIGNvcmUtc3R5bGVzKCRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBmbG9hdGluZy1sYWJlbFxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJGV4Y2x1ZGUtcHJvcHM6IChsaW5lLWhlaWdodCksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgbGVmdDogMDtcbiAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgICAgLy8gRm9yY2UgdGhlIGxhYmVsIGludG8gaXRzIG93biBsYXllciB0byBwcmV2ZW50IHZpc2libGUgbGF5ZXIgcHJvbW90aW9uIGFkanVzdG1lbnRzXG4gICAgICAvLyB3aGVuIHRoZSByaXBwbGUgaXMgYWN0aXZhdGVkIGJlaGluZCBpdC5cbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucnRsIHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uLFxuICAgICAgICBjb2xvciB2YXJpYWJsZXMuJHRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgQGluY2x1ZGUgZmxvYXQtcG9zaXRpb24odmFyaWFibGVzLiRwb3NpdGlvbi15LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgc2hha2UtYW5pbWF0aW9uKHN0YW5kYXJkLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBzaGFrZS1rZXlmcmFtZXMoc3RhbmRhcmQsIHZhcmlhYmxlcy4kcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG5AbWl4aW4gaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgdGV4dGFyZWEgaW4gY2FzZSBvZiBzY3JvbGxpbmdcbkBtaXhpbiBmaWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hha2Uta2V5ZnJhbWVzKFxuICAkbW9kaWZpZXIsICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IHZhcmlhYmxlcy4kZmxvYXQtc2NhbGUsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIEBrZXlmcmFtZXMgbWRjLWZsb2F0aW5nLWxhYmVsLXNoYWtlLWZsb2F0LWFib3ZlLSN7JG1vZGlmaWVyfSB7XG4gICAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICAgIH1cblxuICAgICAgMzMlIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC41LCAwLCAuNzAxNzMyLCAuNDk1ODE5KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoNCUgLSAjeyRwb3NpdGlvblh9KSkgdHJhbnNsYXRlWSgtI3skcG9zaXRpb25ZfSkgc2NhbGUoI3skc2NhbGV9KTtcbiAgICAgIH1cblxuICAgICAgNjYlIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4zMDI0MzUsIC4zODEzNTIsIC41NSwgLjk1NjM1Mik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC00JSAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgICAgfVxuXG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMCAtICN7JHBvc2l0aW9uWH0pKSB0cmFuc2xhdGVZKC0jeyRwb3NpdGlvbll9KSBzY2FsZSgjeyRzY2FsZX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZmxvYXQtcG9zaXRpb24oJHBvc2l0aW9uWSwgJHBvc2l0aW9uWDogMCUsICRzY2FsZTogdmFyaWFibGVzLiRmbG9hdC1zY2FsZSwgJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICRwb3NpdGlvblggPiAwIG9yICRwb3NpdGlvblggPCAwIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xICogJHBvc2l0aW9uWSkgdHJhbnNsYXRlWCgtMSAqICRwb3NpdGlvblgpIHNjYWxlKCRzY2FsZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHRyYW5zbGF0ZVgoJHBvc2l0aW9uWCkgc2NhbGUoJHNjYWxlKTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMSAqICRwb3NpdGlvblkpIHNjYWxlKCRzY2FsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzaGFrZS1hbmltYXRpb24oJG1vZGlmaWVyLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1zaGFrZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICBhbmltYXRpb246IG1kYy1mbG9hdGluZy1sYWJlbC1zaGFrZS1mbG9hdC1hYm92ZS0jeyRtb2RpZmllcn0gMjUwbXMgMTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1heC13aWR0aCgkbWF4LXdpZHRoLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgQ1NTIHRyYW5zaXRpb24gZm9yIHRoZSBmbG9hdGluZyBhbmltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGR1cmF0aW9uLW1zIC0gRHVyYXRpb24gKGluIG1zKSBvZiB0aGUgYW5pbWF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdGltaW5nLWZ1bmN0aW9uIC0gT3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgYW5pbWF0aW9uIHRpbWluZyBmdW5jdGlvbi5cbi8vL1xuQG1peGluIGZsb2F0LXRyYW5zaXRpb24oXG4gICRkdXJhdGlvbi1tcyxcbiAgJHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uLFxuICAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgIHRyYW5zaXRpb246XG4gICAgICBjb2xvciAkZHVyYXRpb24tbXMgJHRpbWluZy1mdW5jdGlvbixcbiAgICAgIHRyYW5zZm9ybSAkZHVyYXRpb24tbXMgJHRpbWluZy1mdW5jdGlvbjtcbiAgfVxufVxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE5IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIiBhcyB0eXBvZ3JhcGh5LW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZvcm0tZmllbGQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoYm9keTIsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHRleHQtcHJpbWFyeS1vbi1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCAwLCBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgdmFyaWFibGVzLiRpdGVtLXNwYWNpbmcsIDApO1xuXG4gICAgICAgIG9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtZm9ybS1maWVsZC0tbm93cmFwIHtcbiAgICA+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLWFsaWduLWVuZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICAgPiBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkobWFyZ2luLCBhdXRvLCAwKTtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgMCwgdmFyaWFibGVzLiRpdGVtLXNwYWNpbmcpO1xuXG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLWZvcm0tZmllbGQtLXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdHlwZVxuICAgID4gbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICAgICAgLy8gUlRMIG5lZWRlZCBmb3Igc3BlY2lmaWNpdHlcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvZnVuY3Rpb25zXCIgYXMgZGVuc2l0eS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3J0bC9taXhpbnNcIiBhcyBydGwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL2Z1bmN0aW9uc1wiIGFzIHNoYXBlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCIgYXMgcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvZnVuY3Rpb25zXCIgYXMgdGhlbWUtZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L3ZhcmlhYmxlc1wiIGFzIHR5cG9ncmFwaHktdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvZnVuY3Rpb25zXCIgYXMgcmlwcGxlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGxpc3Qgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtbGlzdC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC10eXBvZ3JhcGh5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHR5cG9ncmFwaHkpO1xuXG4gICRpdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHQ6IDMycHg7XG4gICRpdGVtLXNlY29uZGFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMjBweDtcbiAgJGRlbnNlLWl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodDogMjRweDtcbiAgJGRpdmlkZXItY29sb3I6IGlmKFxuICAgIHRoZW1lLWZ1bmN0aW9ucy50b25lKHRoZW1lLXZhcmlhYmxlcy4kYmFja2dyb3VuZCkgPT0gXCJkYXJrXCIsXG4gICAgdmFyaWFibGVzLiRkaXZpZGVyLWNvbG9yLW9uLWRhcmstYmcsXG4gICAgdmFyaWFibGVzLiRkaXZpZGVyLWNvbG9yLW9uLWxpZ2h0LWJnXG4gICk7XG5cbiAgLm1kYy1saXN0IHtcbiAgICBAaW5jbHVkZSBiYXNlXygkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgc2luZ2xlLWxpbmUtZGVuc2l0eSh2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1zZWNvbmRhcnktdGV4dC1pbmstY29sb3IodGV4dC1zZWNvbmRhcnktb24tYmFja2dyb3VuZCwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaXRlbS1ncmFwaGljLWZpbGwtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tZ3JhcGhpYy1pbmstY29sb3IodGV4dC1pY29uLW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tbWV0YS1pbmstY29sb3IodGV4dC1oaW50LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGdyb3VwLXN1YmhlYWRlci1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG4gIEBpbmNsdWRlIGl0ZW0tZGlzYWJsZWQtdGV4dC1vcGFjaXR5KHZhcmlhYmxlcy4kdGV4dC1kaXNhYmxlZC1vcGFjaXR5LCAkcXVlcnkpO1xuICBAaW5jbHVkZSBpdGVtLWRpc2FibGVkLXRleHQtY29sb3IodmFyaWFibGVzLiR0ZXh0LWRpc2FibGVkLWNvbG9yLCAkcXVlcnkpO1xuXG4gIC5tZGMtbGlzdC0tZGVuc2Uge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICBmb250LXNpemU6IC44MTJyZW07XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgaXRlbS1iYXNlXztcbiAgICB9XG4gIH1cblxuICAvLyBcIlNlbGVjdGVkXCIgaXMgZXBoZW1lcmFsIGFuZCBsaWtlbHkgdG8gY2hhbmdlIHNvb24uIEUuZy4sIHNlbGVjdGluZyBvbmUgb3IgbW9yZSBwaG90b3MgdG8gc2hhcmUgaW4gR29vZ2xlIFBob3Rvcy5cbiAgLy8gXCJBY3RpdmF0ZWRcIiBpcyBtb3JlIHBlcm1hbmVudC4gRS5nLiwgdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBuYXZpZ2F0aW9uIGRlc3RpbmF0aW9uIGluIGEgZHJhd2VyLlxuICAubWRjLWxpc3QtaXRlbS0tc2VsZWN0ZWQsXG4gIC5tZGMtbGlzdC1pdGVtLS1hY3RpdmF0ZWQge1xuICAgIEBpbmNsdWRlIGl0ZW0tcHJpbWFyeS10ZXh0LWluay1jb2xvcihwcmltYXJ5LCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGl0ZW0tZ3JhcGhpYy1pbmstY29sb3IocHJpbWFyeSwgJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGdyYXBoaWMtc2l6ZV8oMjRweCk7XG5cbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV4dHJhIHNwZWNpZmljaXR5IGlzIHRvIG92ZXJyaWRlIC5tYXRlcmlhbC1pY29ucyBkaXNwbGF5IHN0eWxlIGlmIHVzZWQgaW5cbiAgLy8gY29uanVuY3Rpb24gd2l0aCBtZGMtbGlzdC1pdGVtX19ncmFwaGljXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgcGx1Z2luL3NlbGVjdG9yLWJlbS1wYXR0ZXJuXG5cbiAgLm1kYy1saXN0LWl0ZW1fX21ldGEge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm5cbiAgICAmOm5vdCgubWF0ZXJpYWwtaWNvbnMpIHtcbiAgICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoY2FwdGlvbiwgJHF1ZXJ5KTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuXG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KG1hcmdpbiwgYXV0bywgMCwgXCIubWRjLWxpc3QtaXRlbVwiKTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMub3ZlcmZsb3ctZWxsaXBzaXMoJHF1ZXJ5KTtcbiAgfVxuXG4gIC8vIERpc2FibGUgaW50ZXJhY3Rpb24gb24gbGFiZWwgZWxlbWVudHMgdGhhdCBtYXkgYXV0b21hdGljYWxseVxuICAvLyB0b2dnbGUgY29ycmVzcG9uZGluZyBjaGVja2JveCAvIHJhZGlvIGlucHV0LlxuICAubWRjLWxpc3QtaXRlbV9fdGV4dFtmb3JdIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQge1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLm92ZXJmbG93LWVsbGlwc2lzKCRxdWVyeSk7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudGV4dC1iYXNlbGluZShcbiAgICAgICR0b3A6ICRpdGVtLXByaW1hcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkYm90dG9tOiAkaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkZGlzcGxheTogYmxvY2ssXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAubWRjLWxpc3QtLWRlbnNlICYge1xuICAgICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudGV4dC1iYXNlbGluZShcbiAgICAgICAgJHRvcDogJGRlbnNlLWl0ZW0tcHJpbWFyeS10ZXh0LWJhc2VsaW5lLWhlaWdodCxcbiAgICAgICAgJGJvdHRvbTogJGl0ZW0tc2Vjb25kYXJ5LXRleHQtYmFzZWxpbmUtaGVpZ2h0LFxuICAgICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICAgKTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgfVxuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShib2R5MiwgJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy5vdmVyZmxvdy1lbGxpcHNpcygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnRleHQtYmFzZWxpbmUoXG4gICAgICAkdG9wOiAkaXRlbS1zZWNvbmRhcnktdGV4dC1iYXNlbGluZS1oZWlnaHQsXG4gICAgICAkZGlzcGxheTogYmxvY2ssXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgICAubWRjLWxpc3QtLWRlbnNlICYge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtX19ncmFwaGljIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIGdyYXBoaWMtc2l6ZV8oMjBweCk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdCAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBncmFwaGljLXNpemVfKDQwcHgpO1xuXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS10d28tbGluZSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUgLm1kYy1saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC0tdHdvLWxpbmUubWRjLWxpc3QtLWRlbnNlIC5tZGMtbGlzdC1pdGVtLFxuICAubWRjLWxpc3QtLWF2YXRhci1saXN0Lm1kYy1saXN0LS1kZW5zZSAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saXN0LS1hdmF0YXItbGlzdC5tZGMtbGlzdC0tZGVuc2UgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgZ3JhcGhpYy1zaXplXygzNnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBPbmx5IGNoYW5nZSBtb3VzZSBjdXJzb3IgZm9yIGludGVyYWN0aXZlIGxpc3QgaXRlbXMgd2hpY2ggYXJlIG5vdCBkaXNhYmxlZC5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcnJpZGUgYW5jaG9yIHRhZyBzdHlsZXMgZm9yIHRoZSB1c2UtY2FzZSBvZiBhIGxpc3QgYmVpbmcgdXNlZCBmb3IgbmF2aWdhdGlvblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSxzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgYS5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAvLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC10eXBlLHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4gIC5tZGMtbGlzdC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IGlkZWFsbHkgd2UnZCBiZSBhYmxlIHRvIGhvaXN0IHRoaXMgdG8gdGhlIHRvcC1sZXZlbCBgJGZlYXQtY29sb3JgLCBidXQgZG9pbmcgc29cbiAgLy8gd2lsbCBjYXVzZSB0aGUgYGJvcmRlcmAgZGVjbGFyYXRpb24gb24gYC5tZGMtbGlzdC1kaXZpZGVyYCBhYm92ZSB0byBvdmVycmlkZSBpdC5cbiAgQGluY2x1ZGUgZGl2aWRlci1jb2xvcigkZGl2aWRlci1jb2xvciwgJHF1ZXJ5KTtcblxuICAubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIExlYXZlIGdhcHMgb24gZWFjaCBzaWRlIHRvIG1hdGNoIHRoZSBwYWRkaW5nIG9uIGxpc3QgaXRlbXNcbiAgICAgIG1hcmdpbjogMCB2YXJpYWJsZXMuJHNpZGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtZGl2aWRlci0taW5zZXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgbGVmdCwgdmFyaWFibGVzLiR0ZXh0LW9mZnNldCwgXCIubWRjLWxpc3QtZ3JvdXBcIik7XG5cbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3ZhcmlhYmxlcy4kdGV4dC1vZmZzZXR9KTtcbiAgICB9XG4gIH1cblxuICAubWRjLWxpc3QtZGl2aWRlci0taW5zZXQubWRjLWxpc3QtZGl2aWRlci0tcGFkZGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3ZhcmlhYmxlcy4kdGV4dC1vZmZzZXR9IC0gI3t2YXJpYWJsZXMuJHNpZGUtcGFkZGluZ30pO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1ncm91cCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAvLyBDYW5jZWwgdG9wL2JvdHRvbSBwYWRkaW5nIG9uIGluZGl2aWR1YWwgbGlzdHMgd2l0aGluIGdyb3VwXG4gICAgICAubWRjLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbGlzdC1ncm91cF9fc3ViaGVhZGVyIHtcbiAgICAkbWRjLWxpc3Qtc3ViaGVhZGVyLXZpcnR1YWwtaGVpZ2h0OiAzcmVtO1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItbGVhZGluZzogbWFwLmdldChtYXAuZ2V0KHR5cG9ncmFwaHktdmFyaWFibGVzLiRzdHlsZXMsIGJvZHkxKSwgbGluZS1oZWlnaHQpO1xuICAgICRtZGMtbGlzdC1zdWJoZWFkZXItbWFyZ2luOiBjYWxjKCgjeyRtZGMtbGlzdC1zdWJoZWFkZXItdmlydHVhbC1oZWlnaHR9IC0gI3skbWRjLWxpc3Qtc3ViaGVhZGVyLWxlYWRpbmd9KSAvIDIpO1xuXG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbjogJG1kYy1saXN0LXN1YmhlYWRlci1tYXJnaW4gdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgQVBJIGlzIGludGVuZGVkIGZvciB1c2UgYnkgZnJhbWV3b3JrcyB0aGF0IG1heSB3YW50IHRvIHNlcGFyYXRlIHRoZSByaXBwbGUtcmVsYXRlZCBzdHlsZXMgZnJvbSB0aGUgb3RoZXJcbi8vIGxpc3Qgc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtbGlzdC1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiByaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAvLyBMaXN0IGl0ZW1zIHNob3VsZCBzdXBwb3J0IHN0YXRlcyBieSBkZWZhdWx0LCBidXQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9wdCBvdXQuXG4gIC8vIERpcmVjdCBjaGlsZCBjb21iaW5hdG9yIGlzIG5lY2Vzc2FyeSBmb3Igbm9uLWludGVyYWN0aXZlIG1vZGlmaWVyIG9uIHBhcmVudCB0byBub3RcbiAgLy8gbWF0Y2ggdGhpcyBzZWxlY3Rvci5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiA6bm90KC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCkubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgaXRlbS1pbnRlcmFjdGl2ZS1yaXBwbGVfKCRxdWVyeSk7XG4gIH1cblxuICAvLyBTZXQgc3R5bGVzIG9ubHkgZm9yIGZvY3VzIHN0YXRlIG9uIGRpc2FibGVkIGxpc3QgaXRlbS5cbiAgOm5vdCgubWRjLWxpc3QtLW5vbi1pbnRlcmFjdGl2ZSkgPiAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYmFzZS1jb2xvcih0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWZvY3VzLW9wYWNpdHkocmlwcGxlLWZ1bmN0aW9ucy5zdGF0ZXMtb3BhY2l0eShwcmltYXJ5LCBmb2N1cyksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1wcmltYXJ5LXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tc2Vjb25kYXJ5LXRleHQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtbGlzdC1pdGVtX19zZWNvbmRhcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1ncmFwaGljLWZpbGwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWl0ZW1fX2dyYXBoaWMge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1ncmFwaGljLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1tZXRhLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbV9fbWV0YSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHNoYXBlIHJhZGl1cyAocm91bmRlZCkgdG8gc2luZ2xlIGxpbmUgbGlzdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBMaXN0PE51bWJlcj59ICRyYWRpdXMgUmFkaXVzIHNpemUgaW4gYHB4YCBvciBwZXJjZW50YWdlLiBJdCBjYW4gYmUgNCB2YWx1ZSBjb3JuZXIgb3Igc2luZ2xlIHJhZGl1cy5cbi8vLyAgICAgU2V0IHRvIGA1MCVgIGZvciByb3VuZGVkIHNoYXBlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJ0bC1yZWZsZXhpdmUgU2V0IHRvIHRydWUgdG8gZmxpcCBib3JkZXIgcmFkaXVzIGluIFJUTCBjb250ZXh0LiBEZWZhdWx0cyB0byBgZmFsc2VgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVuc2l0eS1zY2FsZSBEZW5zaXR5IHNjYWxlIG9mIHNpbmdsZSBsaW5lIGxpc3QuIFNldCB0aGlzIG9ubHkgd2hlbiBjdXN0b20gZGVuc2l0eSBpcyBhcHBsaWVkLlxuLy8vICAgICBEZWZhdWx0cyB0byBgJG1kYy1saXN0LXNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIHNpbmdsZS1saW5lLXNoYXBlLXJhZGl1cyhcbiAgJHJhZGl1cyxcbiAgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLFxuICAkZGVuc2l0eS1zY2FsZTogdmFyaWFibGVzLiRzaW5nbGUtbGluZS1kZW5zaXR5LXNjYWxlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuXG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJHNpbmdsZS1saW5lLWRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuXG4gICRyZXNvbHZlZC1yYWRpdXM6IHNoYXBlLWZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKCRoZWlnaHQsICRyYWRpdXMpO1xuXG4gIC5tZGMtbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGRpdmlkZXItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItYm90dG9tLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JvdXAtc3ViaGVhZGVyLWluay1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtZ3JvdXBfX3N1YmhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaXRlbS1kaXNhYmxlZC10ZXh0LW9wYWNpdHkoJG9wYWNpdHksICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQgLm1kYy1saXN0LWl0ZW1fX3RleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGl0ZW0tZGlzYWJsZWQtdGV4dC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLWxpc3QtaXRlbS0tZGlzYWJsZWQge1xuICAgIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAgIC5tZGMtbGlzdC1pdGVtX19wcmltYXJ5LXRleHQsXG4gICAgLm1kYy1saXN0LWl0ZW1fX3NlY29uZGFyeS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgdG8gc2luZ2xlIGxpbmUgbGlzdCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZW5zaXR5LXNjYWxlIERlbnNpdHkgc2NhbGUgZm9yIGxpc3QuIFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlcyBhcmUgYC00YCwgYC0zYCwgYC0yYCwgYC0xYCBhbmQgIGAwYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBzaW5nbGUtbGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRzaW5nbGUtbGluZS1kZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICAubWRjLWxpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgc2luZ2xlLWxpbmUtaGVpZ2h0KCRoZWlnaHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCB0byBzaW5nbGUgbGluZSBsaXN0IHZhcmlhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBIZWlnaHQgdmFsdWUgaW4gYHB4YC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBzaW5nbGUtbGluZS1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbi8vXG4vLyBQcml2YXRlXG4vL1xuXG5AbWl4aW4gYmFzZV8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtdHlwb2dyYXBoeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCB0eXBvZ3JhcGh5KTtcblxuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KHN1YnRpdGxlMSwgJHF1ZXJ5KTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgLy8gQWNjb3JkaW5nIHRvIHRoZSBtb2NrcyBhbmQgc3RpY2tlcnNoZWV0LCB0aGUgbGluZS1oZWlnaHQgaXNcbiAgICAvLyBhZGp1c3RlZCB0byAyNHB4IGZvciB0ZXh0IGNvbnRlbnQsIHNhbWUgYXMgZm9yIGJvZHkxLlxuICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICBsaW5lLWhlaWdodDogbWFwLmdldChtYXAuZ2V0KHR5cG9ncmFwaHktdmFyaWFibGVzLiRzdHlsZXMsIGJvZHkxKSwgbGluZS1oZWlnaHQpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBpdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodGV4dC1wcmltYXJ5LW9uLWJhY2tncm91bmQsICRxdWVyeSk7XG59XG5cbkBtaXhpbiBpdGVtLWJhc2VfIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDAgdmFyaWFibGVzLiRzaWRlLXBhZGRpbmc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vLyBSaXBwbGUgc3R5bGVzIGZvciBhbiBpbnRlcmFjdGl2ZSBsaXN0IGl0ZW0gKG9uZSB0aGF0IGlzIGVuYWJsZWQgYW5kIGluc2lkZSBhbiBpbnRlcmFjdGl2ZSBsaXN0KS5cbkBtaXhpbiBpdGVtLWludGVyYWN0aXZlLXJpcHBsZV8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdXJmYWNlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMucmFkaXVzLWJvdW5kZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcyh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgZmFsc2UsICRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWFjdGl2YXRlZChwcmltYXJ5LCBmYWxzZSwgJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtc2VsZWN0ZWQocHJpbWFyeSwgZmFsc2UsICRxdWVyeSk7XG59XG5cbi8vIFNldHMgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGdyYXBoaWMgZWxlbWVudCwgYXMgd2VsbCBhcyBjYWxjdWxhdGVzIHRoZSBtYXJnaW5zIGZvclxuLy8gdGhlIGdyYXBoaWMgZWxlbWVudCBzdWNoIHRoYXQgdGhlIHRleHQgaXMgYWx3YXlzIG9mZnNldCBieSA3MnB4LCB3aGljaCBpcyBkZWZpbmVkIHdpdGhpblxuLy8gdGhlIHNwZWMuXG5AbWl4aW4gZ3JhcGhpYy1zaXplXygkc2l6ZSkge1xuICAkdGV4dC1vZmZzZXQ6IDcycHg7XG4gICRzaWRlLXBhZGRpbmc6IHZhcmlhYmxlcy4kc2lkZS1wYWRkaW5nO1xuICAkbWFyZ2luLXZhbHVlOiAkdGV4dC1vZmZzZXQgLSAkc2lkZS1wYWRkaW5nIC0gJHNpemU7XG5cbiAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KG1hcmdpbiwgcmlnaHQsICRtYXJnaW4tdmFsdWUsIFwiLm1kYy1saXN0LWl0ZW1cIik7XG5cbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xufVxuIiwiLy8gQ29weXJpZ2h0IDIwMTYgR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AdXNlIFwiQG1hdGVyaWFsL2RlbnNpdHkvdmFyaWFibGVzXCIgYXMgZGVuc2l0eS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL3ZhcmlhYmxlc1wiIGFzIHRoZW1lLXZhcmlhYmxlcztcblxuJGRpdmlkZXItY29sb3Itb24tbGlnaHQtYmc6IHJnYmEoMCwgMCwgMCwgLjEyKSAhZGVmYXVsdDtcbiRkaXZpZGVyLWNvbG9yLW9uLWRhcmstYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpICFkZWZhdWx0O1xuJHNpZGUtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiR0ZXh0LW9mZnNldDogNzJweCAhZGVmYXVsdDtcbiR0ZXh0LWRpc2FibGVkLW9wYWNpdHk6IHRoZW1lLXZhcmlhYmxlcy50ZXh0LWVtcGhhc2lzKGRpc2FibGVkKSAhZGVmYXVsdDtcbiR0ZXh0LWRpc2FibGVkLWNvbG9yOiBvbi1zdXJmYWNlICFkZWZhdWx0O1xuXG4kc2luZ2xlLWxpbmUtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLW1heGltdW0taGVpZ2h0OiAkc2luZ2xlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLWRlbnNpdHktc2NhbGU6IGRlbnNpdHktdmFyaWFibGVzLiRkZWZhdWx0LXNjYWxlICFkZWZhdWx0O1xuJHNpbmdsZS1saW5lLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRzaW5nbGUtbGluZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJHNpbmdsZS1saW5lLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRzaW5nbGUtbGluZS1taW5pbXVtLWhlaWdodCxcbiAgKSxcbikgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9lbGV2YXRpb24vbWl4aW5zXCIgYXMgZWxldmF0aW9uLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2xpc3QvbWl4aW5zXCIgYXMgbGlzdC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2xpc3QvdmFyaWFibGVzXCIgYXMgbGlzdC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG4gIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMub3ZlcmxheS1jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAvLyBDdXN0b21pemUgdGhlIG1lbnUtc3VyZmFjZSBhbmQgY29udGFpbmVkIGxpc3QgdG8gbWF0Y2ggdGhlIG1kYy1tZW51IHN0eWxlcy5cbiAgLm1kYy1tZW51IHtcbiAgICBAaW5jbHVkZSBsaXN0LW1peGlucy5pdGVtLW1ldGEtaW5rLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGxpc3QtbWl4aW5zLml0ZW0tZ3JhcGhpYy1pbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1pbi13aWR0aDogdmFyaWFibGVzLiRtaW4td2lkdGg7XG4gICAgfVxuXG4gICAgLy8gSW5jbHVkZSBtZGMtbGlzdCBzZWxlY3RvciB0byBlbnN1cmUgbGlzdC1pbnNpZGUtbWVudSBvdmVycmlkZXMgZGVmYXVsdCBsaXN0IHN0eWxlc1xuICAgIC5tZGMtbGlzdCB7XG4gICAgICBAaW5jbHVkZSBsaXN0LW1peGlucy5pdGVtLXByaW1hcnktdGV4dC1pbmstY29sb3IodmFyaWFibGVzLiRpbmstY29sb3IsICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktc3VyZmFjZS1wb3NpdGlvbigkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBlbGV2YXRpb24tbWl4aW5zLm92ZXJsYXktZGltZW5zaW9ucygxMDAlLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWRpdmlkZXIge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gICAgYS5tZGMtbGlzdC1pdGVtIC5tZGMtbGlzdC1pdGVtX190ZXh0LFxuICAgIGEubWRjLWxpc3QtaXRlbSAubWRjLWxpc3QtaXRlbV9fZ3JhcGhpYyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSBtZW51XG4gIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsIDU2cHgsIGxpc3QtdmFyaWFibGVzLiRzaWRlLXBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4dHJhIHNwZWNpZmljaXR5IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGBkaXNwbGF5YCBwcm9wZXJ0eSBvbiBgbWRjLWxpc3QtaXRlbV9fZ3JhcGhpY2AuXG4gICAgLm1kYy1tZW51X19zZWxlY3Rpb24tZ3JvdXAtaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgMTZweCk7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyBJRTExIHJlcXVpcmVzIHRoZSBpY29uIHRvIGJlIHZlcnRpY2FsbHkgY2VudGVyZWQgZHVlIHRvIGl0cyBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLm1kYy1tZW51LWl0ZW0tLXNlbGVjdGVkIC5tZGMtbWVudV9fc2VsZWN0aW9uLWdyb3VwLWljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gd2lkdGgoJHdpZHRoLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCR3aWR0aCkge1xuICAgICAgd2lkdGg6ICR3aWR0aCAqIHZhcmlhYmxlcy4kd2lkdGgtYmFzZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbiRpbmstY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy50ZXh0LWVtcGhhc2lzKGhpZ2gpKSAhZGVmYXVsdDtcblxuJHdpZHRoLWJhc2U6IDU2cHggIWRlZmF1bHQ7XG4kbWluLXdpZHRoOiAyICogJHdpZHRoLWJhc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvYW5pbWF0aW9uL3ZhcmlhYmxlc1wiIGFzIGFuaW1hdGlvbi12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2VsZXZhdGlvbi9taXhpbnNcIiBhcyBlbGV2YXRpb24tbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG4vL1xuLy8gUHVibGljXG4vL1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgbWVudS1zdXJmYWNlXG4gIC5tZGMtbWVudS1zdXJmYWNlIHtcbiAgICBAaW5jbHVkZSBiYXNlXygkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGVsZXZhdGlvbi1taXhpbnMuZWxldmF0aW9uKCR6LXZhbHVlOiA4LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZmlsbC1jb2xvcihzdXJmYWNlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGluay1jb2xvcihvbi1zdXJmYWNlLCAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhtZWRpdW0sIGZhbHNlLCAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eSh0cmFuc2Zvcm0tb3JpZ2luLCB0b3AgbGVmdCwgdG9wIHJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAubWRjLW1lbnUtc3VyZmFjZS0tYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtbWVudS1zdXJmYWNlLS1maXhlZCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZW5kXG59XG5cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJhY2tncm91bmQtY29sb3IsICRjb2xvcik7XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8gVXNlZCBieSBmaWxsZWQgdmFyaWFudHMgb2YgR00gY29tcG9uZW50cyB0byBjb25kaXRpb25hbGx5IGZsYXR0ZW4gdGhlIHRvcFxuLy8gY29ybmVycyBvZiB0aGUgbWVudS5cbkBtaXhpbiBmbGF0dGVuLXRvcC13aGVuLW9wZW5lZC1iZWxvdyB7XG4gIC5tZGMtbWVudS1zdXJmYWNlLS1pcy1vcGVuLWJlbG93IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cblxuQG1peGluIGJhc2VfKCRxdWVyeTogZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkZmVhdC1hbmltYXRpb246IGZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7dmFyaWFibGVzLiRtaW4tZGlzdGFuY2UtZnJvbS1lZGdlfSk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7dmFyaWFibGVzLiRtaW4tZGlzdGFuY2UtZnJvbS1lZGdlfSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgei1pbmRleDogdmFyaWFibGVzLiR6LWluZGV4O1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLWluLWR1cmF0aW9uIGxpbmVhcixcbiAgICAgIHRyYW5zZm9ybSB2YXJpYWJsZXMuJHNjYWxlLWR1cmF0aW9uIGFuaW1hdGlvbi12YXJpYWJsZXMuJGRlY2VsZXJhdGlvbi1jdXJ2ZS10aW1pbmctZnVuY3Rpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC10eXBlXG4gICYtLW9wZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJi0tYW5pbWF0aW5nLW9wZW4ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLWFuaW1hdGluZy1jbG9zZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyaWFibGVzLiRmYWRlLW91dC1kdXJhdGlvbiBsaW5lYXI7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuJGZhZGUtaW4tZHVyYXRpb246IC4wM3MgIWRlZmF1bHQ7XG4kZmFkZS1vdXQtZHVyYXRpb246IC4wNzVzICFkZWZhdWx0O1xuJHNjYWxlLWR1cmF0aW9uOiAuMTJzICFkZWZhdWx0O1xuJG1pbi1kaXN0YW5jZS1mcm9tLWVkZ2U6IDMycHggIWRlZmF1bHQ7XG4kei1pbmRleDogOCAhZGVmYXVsdDsgLy8gT25lIGFib3ZlIG1kYy1kaWFsb2dcbiIsIi8vICBDb3B5cmlnaHQgMjAxOCBHb29nbGUgSW5jLlxuLy9cbi8vICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyAgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vICB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyAgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczovXG4vL1xuLy8gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuL1xuLy9cbi8vICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyAgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyAgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyAgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyAgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdHlwb2dyYXBoeS9taXhpbnNcIiBhcyB0eXBvZ3JhcGh5LW1peGlucztcbkB1c2UgXCIuLi9mdW5jdGlvbnNcIjtcblxuLy8gUHVibGljIG1peGluc1xuXG5AbWl4aW4gaGVscGVyLXRleHQtY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtc2VsZWN0LWhlbHBlci10ZXh0IHtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50eXBvZ3JhcGh5KGNhcHRpb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy50ZXh0LWJhc2VsaW5lKDE2cHgsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLnRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXBlcnNpc3RlbnQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB3aWxsLWNoYW5nZTogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhlbHBlci10ZXh0LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBoZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8gUHJpdmF0ZSBtaXhpbnNcblxuQG1peGluIGhlbHBlci10ZXh0LWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXNlbGVjdF9fYW5jaG9yICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGhlbHBlci10ZXh0LXZhbGlkYXRpb24tY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gICYubWRjLXNlbGVjdC0taW52YWxpZCAubWRjLXNlbGVjdF9fYW5jaG9yICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5cbi8vIFB1YmxpYyBtaXhpbnNcblxuQG1peGluIGljb24tY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1zZWxlY3QtLXdpdGgtbGVhZGluZy1pY29uIHtcbiAgICBAaW5jbHVkZSBpY29uXygkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaWNvbi1ob3Jpem9udGFsLW1hcmdpbnNfKFxuICAgICAgJGxlZnQ6IHZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbixcbiAgICAgICRyaWdodDogdmFyaWFibGVzLiRpY29uLWhvcml6b250YWwtbWFyZ2luLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGljb24tY29sb3Iob24tc3VyZmFjZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2ljb246bm90KFt0YWJpbmRleF0pLFxuICAubWRjLXNlbGVjdF9faWNvblt0YWJpbmRleD1cIi0xXCJdIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaWNvbi1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGljb24tY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vIFByaXZhdGUgbWl4aW5zXG5cbkBtaXhpbiBpY29uXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogdmFyaWFibGVzLiRpY29uLXNpemU7XG4gICAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogdmFyaWFibGVzLiRpY29uLW9wYWNpdHk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGljb24tY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBpY29uLWhvcml6b250YWwtbWFyZ2luc18oJGxlZnQsICRyaWdodCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gIC5tZGMtc2VsZWN0X19pY29uIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgICRsZWZ0LFxuICAgICAgICAkcmlnaHRcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyAgQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vICBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6L1xuLy9cbi8vICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLi9cbi8vXG4vLyAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG4vL1xuXG4kaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGljb24tb3BhY2l0eTogLjU0ICFkZWZhdWx0O1xuJGljb24taG9yaXpvbnRhbC1tYXJnaW46IDEycHggIWRlZmF1bHQ7XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9mdW5jdGlvbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL21peGluc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIi4vZnVuY3Rpb25zXCI7XG5cbi8vIFB1YmxpY1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIGxpbmUtcmlwcGxlXG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLnRyYW5zaXRpb24tdmFsdWUodHJhbnNmb3JtKSwgZnVuY3Rpb25zLnRyYW5zaXRpb24tdmFsdWUob3BhY2l0eSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saW5lLXJpcHBsZS0tYWN0aXZlOjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1saW5lLXJpcHBsZS0tZGVhY3RpdmF0aW5nOjphZnRlciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWJvdHRvbS1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGluYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1ib3R0b20tY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS9taXhpbnNcIiBhcyB0aGVtZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWl4aW5zXCIgYXMgZmxvYXRpbmctbGFiZWwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIiBhcyBzaGFwZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ydGwvbWl4aW5zXCIgYXMgcnRsLW1peGlucztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIGJhc2VfKCRxdWVyeSk7XG5cbiAgICAmX19sZWFkaW5nLFxuICAgICZfX25vdGNoLFxuICAgICZfX3RyYWlsaW5nIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZCwgbm9uZSk7XG5cbiAgICAgICAgd2lkdGg6IHZhcmlhYmxlcy4kbGVhZGluZy13aWR0aDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmFpbGluZyB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoYm9yZGVyLCBub25lLCB2YXJpYWJsZXMuJGJvcmRlci13aWR0aCBzb2xpZCk7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3t2YXJpYWJsZXMuJGxlYWRpbmctd2lkdGh9ICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAuNzUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgOHB4KTtcblxuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1uby1sYWJlbCB7XG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYm9yZGVyLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc3Ryb2tlLXdpZHRoKCR3aWR0aCwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBBZGRzIHRvcCBvZmZzZXQgdG8gY29tcGVuc2F0ZSBmb3IgYm9yZGVyIHdpZHRoIGJveCBzaXplIHdoZW4gaXQgaXMgbm90Y2hlZC5cbi8vLyBVc2UgdGhpcyB3aGVuIGZsb2F0aW5nIGxhYmVsIGlzIGFsaWduZWQgdG8gY2VudGVyIHRvIHByZXZlbnQgbGFiZWwganVtcCBvbiBmb2N1cy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0cm9rZS13aWR0aCBTdHJva2Ugd2lkdGggb2Ygbm90Y2hlZCBvdXRsaW5lIHRoYXQgbmVlZHMgdG8gYmUgb2Zmc2V0LlxuLy8vXG5AbWl4aW4gbm90Y2gtb2Zmc2V0KCRzdHJva2Utd2lkdGgsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHN0cm9rZS13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZTogZmFsc2UsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkcmFkaXVzOiBzaGFwZS1mdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKTtcblxuICBAaWYgKGxpc3QubGVuZ3RoKCRyYWRpdXMpID4gMSkge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZS1sZW5ndGhcbiAgICBAd2FybiBcIm1kYy1ub3RjaGVkLW91dGxpbmUtc2hhcGUtcmFkaXVzIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgcmFkaXVzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvaXNzdWVzLzQxNDBcIjtcbiAgfVxuXG4gICRyYWRpdXM6IGxpc3QubnRoKCRyYWRpdXMsIDEpO1xuXG4gIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKHNoYXBlLWZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDAgMCAxKSwgJHJ0bC1yZWZsZXhpdmU6IHRydWUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGlmICgkcmFkaXVzID4gdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHJhZGl1cyA+IHZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCkge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRyYWRpdXN9ICogMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKHNoYXBlLWZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAwIDEgMSAwKSwgJHJ0bC1yZWZsZXhpdmU6IHRydWUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24oXG4gICRwb3NpdGlvblksICRwb3NpdGlvblg6IDAlLCAkc2NhbGU6IC43NSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKFxuICAgICRwb3NpdGlvblkgKyB2YXJpYWJsZXMuJGxhYmVsLWFkanVzdCwgJHBvc2l0aW9uWCwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGZvbnQtc2l6ZTogKCRzY2FsZSAqIDFyZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbigkcG9zaXRpb25ZLCAkcG9zaXRpb25YLCAkc2NhbGUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBmbG9hdGluZyBsYWJlbCBwb3NpdGlvbiBpbiBub3RjaGVkIG91dGxpbmUgd2hlbiBsYWJlbCBpcyBhZmxvYXQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uWSBBYnNvbHV0ZSBZLWF4aXMgcG9zaXRpb24gaW4gYHB4YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBvc2l0aW9uWCBBYnNvbHV0ZSBYLWF4aXMgcG9zaXRpb24gaW4gYHB4YC4gRGVmYXVsdHMgdG8gYDBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2NhbGUgRGVmYXVsdHMgdG8gYC43NWAuXG4vLy9cbi8vLyBAdG9kbyBSZXBsYWNlIG1peGluIGBtZGMtbm90Y2hlZC1vdXRsaW5lLWZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uYCB3aXRoIHRoaXMgbWl4aW4gd2hlbiBmbG9hdGluZyBsYWJlbCBpc1xuLy8vICAgICBjZW50ZXIgYWxpZ25lZCBpbiBhbGwgdGhlIHBsYWNlcy5cbi8vL1xuQG1peGluIGZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKFxuICAkcG9zaXRpb25ZLCAkcG9zaXRpb25YOiAwLCAkc2NhbGU6IC43NSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKFxuICAgICRwb3NpdGlvblkgKyB2YXJpYWJsZXMuJGxhYmVsLWFkanVzdC1hYnNvbHV0ZSwgJHBvc2l0aW9uWCwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGZvbnQtc2l6ZTogKCRzY2FsZSAqIDFyZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFR3byBzZWxlY3RvcnMgdG8gZW5zdXJlIHdlIHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgY2xhc3Mgd2hlbiBhcHBsaWVkIGZyb20gdGhpcyBjb21wb25lbnQgb3IgYSBwYXJlbnQgY29tcG9uZW50LlxuICAmLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkLFxuICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbihcbiAgICAgICRwb3NpdGlvblksICRwb3NpdGlvblgsICRzY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHlcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggZm9yIHRoZSBub3RjaFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggTWF4LXdpZHRoIGZvciB0aGUgbm90Y2hcbi8vL1xuQG1peGluIG5vdGNoLW1heC13aWR0aCgkbWF4LXdpZHRoLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICA6bm90KC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkKSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gUHJpdmF0ZVxuLy9cbkBtaXhpbiBiYXNlXygkcXVlcnkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIEBub2ZsaXAgKi9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ29weXJpZ2h0IDIwMTggR29vZ2xlIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuLy9cblxuLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb25zdGFudHMubnVtYmVycy5NSU5fTEVBRElOR19TVFJPS0VfRURHRV9QT1NJVElPTlxuJG1pbi1sZWFkaW5nLXN0cm9rZS1lZGdlLXBvc2l0aW9uOiAxMnB4ICFkZWZhdWx0O1xuLy8gVGhlIGdhcCBiZXR3ZWVuIHRoZSBzdHJva2UgZW5kIGFuZCBmbG9hdGluZyBsYWJlbFxuLy8gS2VlcCB0aGlzIGluIHN5bmMgd2l0aCBjb25zdGFudHMubnVtYmVycy5OT1RDSF9HVVRURVJfU0laRVxuJG5vdGNoLWd1dHRlci1zaXplOiA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kbGVhZGluZy13aWR0aDogMTJweCAhZGVmYXVsdDtcbiRwYWRkaW5nOiA0cHggIWRlZmF1bHQ7XG4vLyBUaGlzIHZhcmlhYmxlIGtlZXBzIHRoZSBiZWZvcmUvYWZ0ZXIgSlMgbGFiZWwgY2VudGVyZWQgaW4gdGhlIG5vdGNoIHdoZW4gdGhlIGZvbnQtc2l6ZSBpcyBjaGFuZ2VkLlxuJGxhYmVsLWFkanVzdDogMTQlICFkZWZhdWx0O1xuXG4vLy8gTGFiZWwgYm94IGhlaWdodCB3aGVuIGl0IGlzIGZsb2F0aW5nIGFib3ZlIGZvciBub3RjaGVkIHVwZ3JhZGVkLiBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gcHV0IHRoZSBsYWJlbCB2ZXJ0aWNhbGx5IGluXG4vLy8gdGhlIG1pZGRsZSB3aGVuIGl0IGlzIG5vdGNoZWQuXG4kbGFiZWwtYm94LWhlaWdodDogMTMuNXB4ICFkZWZhdWx0O1xuXG4vLy8gTGFiZWwgYWRqdXN0IG9mZnNldCBhcHBsaWVkIHRvIGZsb2F0aW5nIGxhYmVsIHdoZW4gaXQgaXMgbm90Y2hlZC4gU2luY2Ugbm90Y2ggd2l0aG91dCB1cGdyYWRlZCBoYXMgZGlmZmVyZW50IGZvbnRcbi8vLyBzaXplIHdlIGFkZCBhZGRpdGlvbmFsIG9mZnNldCB2YWx1ZS5cbiRsYWJlbC1hZGp1c3QtYWJzb2x1dGU6IDIuNXB4ICFkZWZhdWx0O1xuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOnN0cmluZ1wiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vdmFyaWFibGVzXCIgYXMgYW5pbWF0aW9uLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2Zsb2F0aW5nLWxhYmVsL21peGluc1wiIGFzIGZsb2F0aW5nLWxhYmVsLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbGluZS1yaXBwbGUvbWl4aW5zXCIgYXMgbGluZS1yaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvbWl4aW5zXCIgYXMgbm90Y2hlZC1vdXRsaW5lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL3ZhcmlhYmxlc1wiIGFzIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvZnVuY3Rpb25zXCIgYXMgcmlwcGxlLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3NoYXBlL21peGluc1wiIGFzIHNoYXBlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvZnVuY3Rpb25zXCI7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCIgYXMgdGhlbWUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcIi4vaGVscGVyLXRleHQvbWl4aW5zXCIgYXMgaGVscGVyLXRleHQtbWl4aW5zO1xuQHVzZSBcIi4vaWNvbi92YXJpYWJsZXNcIiBhcyBpY29uLXZhcmlhYmxlcztcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gY29yZS1zdHlsZXMoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgcmlwcGxlKCRxdWVyeSk7XG4gIEBpbmNsdWRlIHdpdGhvdXQtcmlwcGxlKCRxdWVyeSk7XG59XG5cbkBtaXhpbiB3aXRob3V0LXJpcHBsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG4gICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyLWZpbGwtY29sb3IodmFyaWFibGVzLiRmaWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yKHZhcmlhYmxlcy4kaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbGFiZWwtY29sb3IodmFyaWFibGVzLiRsYWJlbC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaWRsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC1jb2xvcih2YXJpYWJsZXMuJGhlbHBlci10ZXh0LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBGb2N1c2VkIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IocHJpbWFyeSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGFiZWwtY29sb3IodmFyaWFibGVzLiRmb2N1c2VkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBjb2xvcnNcbiAgICBAaW5jbHVkZSBob3Zlci1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGJvdHRvbS1saW5lLWhvdmVyLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBGbG9hdGluZyBsYWJlbCBwcml2YXRlIG1peGluXG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWxfKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIHN0cnVjdHVyYWxcbiAgICBAaW5jbHVkZSBzaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLWhvcml6b250YWxfKFxuICAgICAgJGxlZnQ6IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctbGVmdCxcbiAgICAgICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uOiB2YXJpYWJsZXMuJGFuY2hvci1wYWRkaW5nLWxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICAgICAkcmlnaHQ6IHZhcmlhYmxlcy4kYW5jaG9yLXBhZGRpbmctcmlnaHQsXG4gICAgICAkcXVlcnk6ICRxdWVyeVxuICAgICk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gTWVudSBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhpcy5cbiAgICB9XG5cbiAgICAmX19kcm9wZG93bi1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGRkLWFycm93LXN2Zy1iZ18odmFyaWFibGVzLiRkcm9wZG93bi1jb2xvciwgdmFyaWFibGVzLiRkcm9wZG93bi1vcGFjaXR5LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShtYXJnaW4sXG4gICAgICAgICAgaWNvbi12YXJpYWJsZXMuJGljb24taG9yaXpvbnRhbC1tYXJnaW4sXG4gICAgICAgICAgaWNvbi12YXJpYWJsZXMuJGljb24taG9yaXpvbnRhbC1tYXJnaW4pO1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXJpYWJsZXMuJGRyb3Bkb3duLXRyYW5zaXRpb24tZHVyYXRpb24gYW5pbWF0aW9uLXZhcmlhYmxlcy4kc3RhbmRhcmQtY3VydmUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgfVxuXG4gICAgICAubWRjLXNlbGVjdC0tZm9jdXNlZCAmIHtcbiAgICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh0aGVtZS12YXJpYWJsZXMucHJvcC12YWx1ZShwcmltYXJ5KSwgMSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgICAgfVxuXG4gICAgICAubWRjLXNlbGVjdC0tYWN0aXZhdGVkICYge1xuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyaWFibGVzLiRkcm9wZG93bi10cmFuc2l0aW9uLWR1cmF0aW9uIGFuaW1hdGlvbi12YXJpYWJsZXMuJHN0YW5kYXJkLWN1cnZlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGhlaWdodCh2YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC1wb3NpdGlvbih2YXJpYWJsZXMuJGxhYmVsLXBvc2l0aW9uLXksICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAyKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaGVscGVyLXRleHRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgdGV4dF8oJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgb3V0bGluZWRfKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1pbnZhbGlkIHtcbiAgICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGZvY3VzZWQtbGFiZWwtY29sb3IodmFyaWFibGVzLiRlcnJvci1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC12YWxpZGF0aW9uLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIC8vIEhvdmVyIHN0YXRlIGNvbG9yc1xuICAgIEBpbmNsdWRlIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3ItY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLm1kYy1zZWxlY3RfX2Ryb3Bkb3duLWljb24ge1xuICAgICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGVycm9yLWNvbG9yLCAxLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgICsgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1yZXF1aXJlZCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWw6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBjb250ZW50OiBcIipcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdC0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGRpc2FibGVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgIEBpbmNsdWRlIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QgLm1kYy1saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIG9uLXN1cmZhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbixcbiAgICB2YXJpYWJsZXMuJG91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgdmFyaWFibGVzLiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14LFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbi1ydGwsXG4gICAgdmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAgIC0odmFyaWFibGVzLiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14KSxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xufVxuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYmFzZS1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLW9wYWNpdGllcyhcbiAgICAgIChcbiAgICAgICAgaG92ZXI6IHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGhvdmVyKSxcbiAgICAgICAgZm9jdXM6IHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGZvY3VzKSxcbiAgICAgICksXG4gICAgICAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0LFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuXG4gICAgI3t2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXR9IHtcbiAgICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX21lbnUgLm1kYy1saXN0IC5tZGMtbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMob24tc3VyZmFjZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXItZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1sYWJlbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkge1xuICAgICYubWRjLXNlbGVjdC0tZm9jdXNlZCAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5pbmstY29sb3IodGhlbWUtdmFyaWFibGVzLnByb3AtdmFsdWUoJGNvbG9yKSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1saW5lLXJpcHBsZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBvdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLW91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXNlbGVjdC0tZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWRpc2FibGVkKSB7XG4gICAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRyYWRpdXMpID4gMiB7XG4gICAgQGVycm9yIFwiSW52YWxpZCByYWRpdXM6ICcjeyRyYWRpdXN9JyBjb21wb25lbnQgZG9lc24ndCBhbGxvdyBjdXN0b21pemluZyBhbGwgY29ybmVyc1wiO1xuICB9XG5cbiAgJG1hc2tlZC1yYWRpdXM6IGZ1bmN0aW9ucy5tYXNrLXJhZGl1cygkcmFkaXVzLCAxIDEgMCAwKTtcblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKGZ1bmN0aW9ucy5yZXNvbHZlLXBlcmNlbnRhZ2UtcmFkaXVzKHZhcmlhYmxlcy4kaGVpZ2h0LCAkbWFza2VkLXJhZGl1cyksICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtc2hhcGUtcmFkaXVzKCRyYWRpdXMsICRydGwtcmVmbGV4aXZlOiBmYWxzZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgJHJlc29sdmVkLXJhZGl1czogbGlzdC5udGgoZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXModmFyaWFibGVzLiRoZWlnaHQsIGZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSwgMSk7XG5cbiAgQGlmIChsaXN0Lmxlbmd0aChmdW5jdGlvbnMucHJvcC12YWx1ZSgkcmFkaXVzKSkgPiAxKSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aFxuICAgIEB3YXJuIFwibWRjLXNlbGVjdC1vdXRsaW5lLXNoYXBlLXJhZGl1cyBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIHJhZGl1czsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2lzc3Vlcy80MTQwXCI7XG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzaGFwZS1taXhpbnMucmFkaXVzKCRyZXNvbHZlZC1yYWRpdXMsICRydGwtcmVmbGV4aXZlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaWYgKCRyZXNvbHZlZC1yYWRpdXMgPiBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoKSB7XG4gICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICAkcmVzb2x2ZWQtcmFkaXVzICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kcGFkZGluZyxcbiAgICAgICAgICAwXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgICAgbWFyZ2luLFxuICAgICAgICAgICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLFxuICAgICAgICAgIHZhcmlhYmxlcy4kb3V0bGluZS1sYWJlbC1vZmZzZXRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUHJpdmF0ZVxuQG1peGluIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1vdXRsaW5lLWlkbGVfIHtcbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gY29udGFpbmVyLWZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmluYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLWxpbmUtcmlwcGxlLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGZvY3VzZWQtbGluZS1yaXBwbGVfIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuYWN0aXZlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBkZC1hcnJvdy1zdmctYmdfKCRmaWxsLWhleC1udW1iZXIsICRvcGFjaXR5LCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAvLyBMb29rdXAgY29sb3IgYW5kIHJlbW92ZSBsZWFkaW5nICMuXG4gICRmaWxsLWhleC1udW1iZXI6IHRoZW1lLXZhcmlhYmxlcy5wcm9wLXZhbHVlKCRmaWxsLWhleC1udW1iZXIpO1xuICAkZmlsbC1oZXgtbnVtYmVyOiBzdHJpbmcuc2xpY2Uoc3RyaW5nLnVucXVvdGUoXCIjeyRmaWxsLWhleC1udW1iZXJ9XCIpLCAyKTtcblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuY3Rpb24tdXJsLXF1b3Rlc1xuICAgIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTBweCUyMiUyMGhlaWdodCUzRCUyMjVweCUyMiUyMHZpZXdCb3glM0QlMjI3JTIwMTAlMjAxMCUyMDUlMjIlMjB2ZXJzaW9uJTNEJTIyMS4xJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4bWxucyUzQXhsaW5rJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmslMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwaWQlM0QlMjJTaGFwZSUyMiUyMHN0cm9rZSUzRCUyMm5vbmUlMjIlMjBmaWxsJTNEJTIyJTIzI3skZmlsbC1oZXgtbnVtYmVyfSUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBvcGFjaXR5JTNEJTIyI3skb3BhY2l0eX0lMjIlMjBwb2ludHMlM0QlMjI3JTIwMTAlMjAxMiUyMDE1JTIwMTclMjAxMCUyMiUzRSUzQyUyRnBvbHlnb24lM0UlMEElM0MlMkZzdmclM0UnKVxuICAgICAgbm8tcmVwZWF0XG4gICAgICBjZW50ZXI7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuQG1peGluIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNvbWJpbmF0b3Itc3BhY2UtYWZ0ZXJcbiAgJjpub3QoLm1kYy1zZWxlY3QtLWZvY3VzZWQpIC5tZGMtc2VsZWN0X19hbmNob3I6aG92ZXIge1xuICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lXyB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zdHJva2Utd2lkdGgodmFyaWFibGVzLiRvdXRsaW5lZC1zdHJva2Utd2lkdGgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmbG9hdGluZy1sYWJlbF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCB2YXJpYWJsZXMuJG91dGxpbmUtbGFiZWwtb2Zmc2V0KTtcblxuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAkaWNvbi10b3RhbC13aWR0aDogaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIDIgKiBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbjtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoKTtcbiAgICB9XG4gIH1cblxuICAmLm1kYy1zZWxlY3QtLW91dGxpbmVkIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkaWNvbi10b3RhbC13aWR0aCAtIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpO1xuICAgICAgfVxuXG4gICAgICAmLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXRvdGFsLXdpZHRoIC0gbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGVhZGluZy13aWR0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKFxuICAgICAgdmFyaWFibGVzLiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15LFxuICAgICAgJGljb24tdG90YWwtd2lkdGggLSBpY29uLXZhcmlhYmxlcy4kaWNvbi1ob3Jpem9udGFsLW1hcmdpbiAtIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJG5vdGNoLWd1dHRlci1zaXplLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1hbmltYXRpb24oc2VsZWN0LW91dGxpbmVkLWxlYWRpbmctaWNvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQtbGVhZGluZy1pY29uLXJ0bCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdF9fbWVudSAubWRjLWxpc3QtaXRlbV9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShwYWRkaW5nLCAzMnB4IC8qIGxlZnQtdmFsdWUgKi8sIDMycHggLyogcmlnaHQtdmFsdWUgKi8pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdGV4dF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgdHlwb2dyYXBoeS1taXhpbnMudHlwb2dyYXBoeShzdWJ0aXRsZTEsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgaGVpZ2h0OiB2YXJpYWJsZXMuJHNlbGVjdGVkLXRleHQtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNoZWV0XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBjb250YWluZXItZmlsbC1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1maWxsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmluay1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWxhYmVsLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLXNlbGVjdF9fZHJvcGRvd24taWNvbiB7XG4gICAgQGluY2x1ZGUgZGQtYXJyb3ctc3ZnLWJnXyh2YXJpYWJsZXMuJGRyb3Bkb3duLWNvbG9yLCB2YXJpYWJsZXMuJGRpc2FibGVkLWRyb3Bkb3duLW9wYWNpdHksICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5pbmFjdGl2ZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAvLyBUT0RPKGIvMTQ2MDgwMDA2KTogRml4IGluY29ycmVjdCBzdHlsaW5nXG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCB2YXJpYWJsZXMuJGRpc2FibGVkLWljb24tY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoY29sb3IsIHZhcmlhYmxlcy4kZGlzYWJsZWQtaW5rLWNvbG9yKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yXyh0cmFuc3BhcmVudCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG91dGxpbmUtY29sb3JfKHZhcmlhYmxlcy4kb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1pZGxlLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtaG92ZXItYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWFuaW1hdGlvbihzZWxlY3Qtb3V0bGluZWQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmZsb2F0aW5nLWxhYmVsLWZsb2F0LXBvc2l0aW9uLWFic29sdXRlKHZhcmlhYmxlcy4kb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGJvcmRlci13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAubWRjLXNlbGVjdF9fc2VsZWN0ZWQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1zZWxlY3RfX2ljb24ge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtc2VsZWN0LS1mb2N1c2VkIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLm5vdGNoLW9mZnNldCh2YXJpYWJsZXMuJG91dGxpbmVkLXN0cm9rZS13aWR0aCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBoZWxwZXItdGV4dF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1zZWxlY3QtaGVscGVyLXRleHQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAgIC5tZGMtc2VsZWN0X19hbmNob3IgKyAmIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtc2VsZWN0LS1mb2N1c2VkIC5tZGMtc2VsZWN0X19hbmNob3IgKyAubWRjLXNlbGVjdC1oZWxwZXItdGV4dDpub3QoLm1kYy1zZWxlY3QtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBob3Jpem9udGFsIHBhZGRpbmcgdG8gdGhlIHNlbGVjdGVkIHRleHRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCAtIGxlZnQgc2lkZSBwYWRkaW5nXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uIC0gbGVmdC1zaWRlIHBhZGRpbmcgd2hlbiBhIGxlYWRpbmdcbi8vLyAgICAgaWNvbiBpcyBwcmVzZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCAtIHJpZ2h0LXNpZGUgcGFkZGluZzsgbm90ZSB0aGF0IGEgdHJhaWxpbmcgaWNvbiBpc1xuLy8vICAgICBhbHdheXMgcHJlc2VudC5cbkBtaXhpbiBwYWRkaW5nLWhvcml6b250YWxfKFxuICAkbGVmdCxcbiAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICRyaWdodCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICAkbGVmdCxcbiAgICAgICAgJHJpZ2h0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXNlbGVjdC0td2l0aC1sZWFkaW5nLWljb24gLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wcm9wZXJ0eShcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgJGxlZnQtd2l0aC1sZWFkaW5nLWljb24sXG4gICAgICAgICRyaWdodFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBoZWlnaHQgb2YgZGVmYXVsdCBzZWxlY3QgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIFNldHMgdGhlIG1pbmltdW0gaGVpZ2h0IGZvclxuLy8vICAgICBmaWxsZWQgc2VsZWN0cyBhdCB3aGljaCB0byBhbGxvdyBmbG9hdGluZyBsYWJlbHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaWxsZWQtYmFzZWxpbmUtdG9wIFRoZSBiYXNlbGluZSBmcm9tIHRoZSB0b3Agb2YgdGhlIGFuY2hvclxuLy8vICAgICB0aGF0IHRoZSBpbnB1dCBzaG91bGQgYmUgYWxpZ25lZCB0byBmb3IgYSBmaWxsZWQgdmFyaWFudCB3aXRoIGEgbGFiZWxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG5AbWl4aW4gaGVpZ2h0KFxuICAkaGVpZ2h0LFxuICAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbDogdmFyaWFibGVzLiRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsLFxuICAkZmlsbGVkLWJhc2VsaW5lLXRvcDogdmFyaWFibGVzLiRmaWxsZWQtYmFzZWxpbmUtdG9wLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKVxuKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICAvLyBGaWxsZWQgdmFyaWFudCBpcyBhbGlnbmVkIHRvIGJhc2VsaW5lLi4uXG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLmJhc2VsaW5lKCR0b3A6ICRmaWxsZWQtYmFzZWxpbmUtdG9wLCAkZGlzcGxheTogaW5saW5lLWZsZXgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgLy8gLi4udW5sZXNzIGl0IGlzIHRvbyBzbWFsbCB0byBkaXNwbGF5IGEgbGFiZWxcbiAgQGlmICRoZWlnaHQgPCAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgY2VudGVyLWFsaWduZWRfKCRxdWVyeTogJHF1ZXJ5KTtcblxuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgJjpub3QoLm1kYy1zZWxlY3QtLW91dGxpbmVkKSB7XG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPdXRsaW5lZCBhbmQgbm8tbGFiZWwgdmFyaWFudHMgYXJlIGFsd2F5cyBjZW50ZXJlZFxuICAubWRjLXNlbGVjdC0tb3V0bGluZWQgJixcbiAgLm1kYy1zZWxlY3QtLW5vLWxhYmVsICYge1xuICAgIEBpbmNsdWRlIGNlbnRlci1hbGlnbmVkXygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8gUmVtb3ZlcyBmaWxsZWQgYmFzZWxpbmUgYWxpZ25tZW50XG5AbWl4aW4gY2VudGVyLWFsaWduZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEluIG9yZGVyIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRvIHBhcnRpY2lwYXRlIGluIGJhc2VsaW5lIGFsaWdubWVudCxcbiAgICAvLyBpdCBmb2xsb3dzIHRoZXNlIHJ1bGVzIHRvIGRldGVybWluZSB3aGVyZSBpdHMgYmFzZWxpbmUgaXM6XG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2ZsZXgtYmFzZWxpbmVzXG4gICAgLy9cbiAgICAvLyBJbiBvcmRlciB0byBhdm9pZCBsZWFkaW5nIGljb25zIFwiY29udHJvbGxpbmdcIiB0aGUgYmFzZWxpbmUgKHNpbmNlIHRoZXlcbiAgICAvLyBhcmUgdGhlIGZpcnN0IGNoaWxkKSwgZmxleGJveCB3aWxsIGdlbmVyYXRlIGEgYmFzZWxpbmUgZnJvbSBhbnkgY2hpbGRcbiAgICAvLyBmbGV4IGl0ZW1zIHRoYXQgcGFydGljaXBhdGUgaW4gYmFzZWxpbmUgYWxpZ25tZW50LlxuICAgIC8vXG4gICAgLy8gSWNvbnMgYXJlIHNldCB0byBcImFsaWduLXNlbGY6IGNlbnRlclwiLCB3aGlsZSBhbGwgb3RoZXIgY2hpbGRyZW4gYXJlXG4gICAgLy8gYWxpZ25lZCB0byBiYXNlbGluZS4gVGhlIG5leHQgcHJvYmxlbSBpcyBkZWNpZGluZyB3aGljaCBjaGlsZCBpc1xuICAgIC8vIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBiYXNlbGluZS5cbiAgICAvL1xuICAgIC8vIEFjY29yZGluZyB0byBzcGVjLCB0aGUgaXRlbSB3aXRoIHRoZSBsYXJnZXN0IGRpc3RhbmNlIGJldHdlZW4gaXRzXG4gICAgLy8gYmFzZWxpbmUgYW5kIHRoZSBlZGdlIG9mIHRoZSBjcm9zcyBheGlzIGlzIHBsYWNlZCBmbHVzaCB3aXRoIHRoYXQgZWRnZSxcbiAgICAvLyBtYWtpbmcgaXQgdGhlIGJhc2VsaW5lIG9mIHRoZSBjb250YWluZXIuXG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2Jhc2VsaW5lLXBhcnRpY2lwYXRpb25cbiAgICAvL1xuICAgIC8vIEZvciB0aGUgZmlsbGVkIHZhcmlhbnQsIHRoZSBwc2V1ZG8gOjpiZWZvcmUgc3RydXQgaXMgdGhlIFwibGFyZ2VzdFwiXG4gICAgLy8gY2hpbGQgc2luY2UgdGhlIGlucHV0IGhhcyBhIGhlaWdodCBvZiAyOHB4IGFuZCB0aGUgc3RydXQgaXMgNDBweC4gV2VcbiAgICAvLyBjYW4gZW11bGF0ZSBjZW50ZXIgYWxpZ25tZW50IGFuZCBmb3JjZSB0aGUgYmFzZWxpbmUgdG8gdXNlIHRoZSBpbnB1dFxuICAgIC8vIHRleHQgYnkgbWFraW5nIHRoZSBpbnB1dCB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciBhbmQgcmVtb3ZpbmdcbiAgICAvLyB0aGUgYmFzZWxpbmUgc3RydXQuXG4gICAgLy9cbiAgICAvLyBJRTExIGRvZXMgbm90IHJlc3BlY3QgdGhpcywgYW5kIG1ha2VzIHRoZSBsZWFkaW5nIGljb24gKGlmIHByZXNlbnQpXG4gICAgLy8gdGhlIGJhc2VsaW5lLlxuICAgIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb3B5cmlnaHQgMjAxNyBHb29nbGUgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG4vL1xuXG5AdXNlIFwic2Fzczpjb2xvclwiO1xuQHVzZSBcIkBtYXRlcmlhbC9ub3RjaGVkLW91dGxpbmUvdmFyaWFibGVzXCIgYXMgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvdmFyaWFibGVzXCI7XG5cbkBmdW5jdGlvbiBnZXQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSgkc2VsZWN0LWFuY2hvci1oZWlnaHQpIHtcbiAgQHJldHVybiAkc2VsZWN0LWFuY2hvci1oZWlnaHQgLyAyICsgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kbGFiZWwtYm94LWhlaWdodCAvIDI7XG59XG4kcmlwcGxlLXRhcmdldDogJy5tZGMtc2VsZWN0X19yaXBwbGUnO1xuJGFycm93LXBhZGRpbmc6IDUycHggIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiRoZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4kbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbDogNTJweCAhZGVmYXVsdDtcbiRmaWxsZWQtYmFzZWxpbmUtdG9wOiA0MHB4ICFkZWZhdWx0O1xuJHNlbGVjdGVkLXRleHQtaGVpZ2h0OiAyOHB4ICFkZWZhdWx0O1xuJGFuY2hvci1wYWRkaW5nLWxlZnQ6IDE2cHggIWRlZmF1bHQ7XG4kYW5jaG9yLXBhZGRpbmctbGVmdC13aXRoLWxlYWRpbmctaWNvbjogMCAhZGVmYXVsdDtcbiRhbmNob3ItcGFkZGluZy1yaWdodDogMCAhZGVmYXVsdDtcbiRvdXRsaW5lZC1zdHJva2Utd2lkdGg6IDJweCAhZGVmYXVsdDtcblxuJGluay1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogdmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSkgIWRlZmF1bHQ7XG4kaWNvbi1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjU0KSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuJGZvY3VzZWQtbGFiZWwtY29sb3I6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUocHJpbWFyeSksIC44NykgIWRlZmF1bHQ7XG4kYm90dG9tLWxpbmUtaWRsZS1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjQyKSAhZGVmYXVsdDtcbiRib3R0b20tbGluZS1ob3Zlci1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjg3KSAhZGVmYXVsdDtcbiRoZWxwZXItdGV4dC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjYpICFkZWZhdWx0O1xuXG4kZmlsbC1jb2xvcjogY29sb3IubWl4KHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCB2YXJpYWJsZXMucHJvcC12YWx1ZShzdXJmYWNlKSwgNCUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tb3BhY2l0eTogLjU0ICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBTdHlsZXNcbiRkaXNhYmxlZC1sYWJlbC1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1pY29uLWNvbG9yOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMzgpICFkZWZhdWx0O1xuJGRpc2FibGVkLWluay1jb2xvcjogcmdiYSh2YXJpYWJsZXMucHJvcC12YWx1ZShvbi1zdXJmYWNlKSwgLjM4KSAhZGVmYXVsdDtcbiRkaXNhYmxlZC1maWxsLWNvbG9yOiBjb2xvci5taXgodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIHZhcmlhYmxlcy5wcm9wLXZhbHVlKHN1cmZhY2UpLCAyJSkgIWRlZmF1bHQ7XG4kZGlzYWJsZWQtZHJvcGRvd24tb3BhY2l0eTogLjM4ICFkZWZhdWx0O1xuXG4kb3V0bGluZWQtaWRsZS1ib3JkZXI6IHJnYmEodmFyaWFibGVzLnByb3AtdmFsdWUob24tc3VyZmFjZSksIC4zOCkgIWRlZmF1bHQ7XG4kb3V0bGluZWQtaG92ZXItYm9yZGVyOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuODcpICFkZWZhdWx0O1xuXG4vLyBzaG91bGQgYmUgLjA2IGFmdGVyIG1kYy1zZWxlY3Qgb3BhY2l0eSBpcyBhcHBsaWVkXG4kb3V0bGluZWQtZGlzYWJsZWQtYm9yZGVyOiByZ2JhKHZhcmlhYmxlcy5wcm9wLXZhbHVlKG9uLXN1cmZhY2UpLCAuMTYpICFkZWZhdWx0O1xuXG4kbGFiZWwtcG9zaXRpb24teTogMTA2JSAhZGVmYXVsdDtcbiRvdXRsaW5lLWxhYmVsLW9mZnNldDogMTZweCAhZGVmYXVsdDtcbiRvdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15OiBnZXQtb3V0bGluZWQtbGFiZWwtcG9zaXRpb24teSgkaGVpZ2h0KSAhZGVmYXVsdDtcbiRvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1sYWJlbC1wb3NpdGlvbi14OiAzMnB4ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXMgIWRlZmF1bHQ7XG5cbi8vIEVycm9yIGNvbG9yc1xuJGVycm9yLWNvbG9yOiBlcnJvciAhZGVmYXVsdDtcbiIsIi5tZGMtbGlzdC1pdGVtLS1kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMyk7XG59XG5cbi5tZGMtbWVudS1zdXJmYWNlIHtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAkcHJvamVjdC1ncmF5LWw1MDAgJHByb2plY3Qtd2hpdGU7XG4gICAgei1pbmRleDogMjA7XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcm9qZWN0LXdoaXRlO1xuICAgIH1cblxuICAgICYtLWFuY2hvciB7XG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWRjLWljb24tYnV0dG9uIHtcbiAgICAmLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXRlcmlhbEljb25zUm91bmRXZWIsIHNhbnMtc2VyaWY7XG4gICAgfVxufVxuXG4ubWRjLXJhZGlvIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWRjLXJhZGlvX19yaXBwbGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG59XG5cbi5tZGMtbWVudSB7XG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDdXN0b20gdmFyaWFibGVzIGhlcmVcblxuLy8gY29sb3JzIGJyYW5kYm9va1xuJHByb2plY3QtdW5pY2VmOiAjMDBBRUVGO1xuJHByb2plY3QtcGFudG9uZS0zNTY6ICMwMDgzM0Q7XG4kcHJvamVjdC1wYW50b25lLTM3NjogIzgwQkQ0MTtcbiRwcm9qZWN0LXBhbnRvbmUtNzU0ODogI0ZGQzIwRTtcbiRwcm9qZWN0LXBhbnRvbmUtMTUwNTogI0YyNkEyMTtcbiRwcm9qZWN0LXBhbnRvbmUtNDg1OiAjRTIyMzFBO1xuJHByb2plY3QtcGFudG9uZS0yMjE6ICM5NjFBNDk7XG4kcHJvamVjdC1wYW50b25lLTI2MTM6ICM2QTFFNzQ7XG4kcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xOiAjRDhEMUM5O1xuJHByb2plY3QtcGFudG9uZS1jb29sLWdyZXktOTogIzc3Nzc3OTtcbiRwcm9qZWN0LXBhbnRvbmUtYmxhY2s6ICMyRDI5MjY7XG4kcHJvamVjdC1wYW50b25lLTc2ODU6ICMzNzRFQTI7XG5cbi8vIHBzZCB3ZWJwYWdlIGNvbG9yc1xuJHByb2plY3Qtd2hpdGU6ICNmZmY7XG4kcHJvamVjdC1ibHVlOiAkcHJvamVjdC11bmljZWY7XG4kcHJvamVjdC1ibHVlLWhvdmVyOiAjMDA5YWUwO1xuJHByb2plY3QtYmx1ZS1sODAwOiAjZDJlZWY5O1xuJHByb2plY3QtYmx1ZS1sNzAwOiAjN2ZkMmYxO1xuJHByb2plY3QtYmx1ZS1sOTAwOiAjZTFmNGZkO1xuJHByb2plY3QtYmx1ZS1sOTUwOiAjZjVmY2ZlO1xuJHByb2plY3QtYmx1ZS1sNTAwOiAjMDdiYWZkO1xuJHByb2plY3QtYmx1ZS1sNjAwOiAjMjJiOWYxO1xuJHByb2plY3QtYmx1ZS1sNjUwOiAjOWJkYWYyO1xuJHByb2plY3QtYmx1ZS1kNTAwOiAjMDBhNWUzO1xuJHByb2plY3QtYmx1ZS1kNjAwOiAjMDBhM2UwO1xuJHByb2plY3QtYmxhY2s6ICMyMDFkMWQ7XG4kcHJvamVjdC1ncmF5LWwzMDA6ICNjNGM0YzQ7XG4kcHJvamVjdC1ncmF5LWw0MDA6ICNkMGQyZDM7XG4kcHJvamVjdC1ncmF5LWw1MDA6ICNkNmQ4ZGE7XG4kcHJvamVjdC1ncmF5LWw2MDA6ICNlNmU2ZTY7XG4kcHJvamVjdC1ncmF5LWQyMDA6ICM4MDdlN2U7XG4kcHJvamVjdC1ncmF5LWQzMDA6ICM3YTdhN2E7XG4kcHJvamVjdC1ncmF5LWQ0MDA6ICM0MTQwNDI7XG4kcHJvamVjdC1ncmF5LWQ1MDA6ICMzZDQyNDQ7XG4kcHJvamVjdC1ncmF5LWQ2MDA6ICMxODE4MTk7XG4kcHJvamVjdC1ncmF5LWQ3MDA6ICMwZTBlMGU7XG4kcHJvamVjdC1uYXZ5Ymx1ZTogIzI2NTNCOTtcbiRwcm9qZWN0LW5hdnlibHVlLWhvdmVyOiBsaWdodGVuKCRwcm9qZWN0LW5hdnlibHVlLCA2JSk7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sMjAwOiAjMzE0MmFkO1xuJHByb2plY3QtbmF2eWJsdWUtbDMwMDogIzQ5NWE5NDtcbiRwcm9qZWN0LW5hdnlibHVlLWw0MDA6ICM1OTVmOGU7XG4kcHJvamVjdC1uYXZ5Ymx1ZS1sNTAwOiAjYTNhZGVjO1xuJHByb2plY3QtbmF2eS1ibHVlLWRhcms6ICMyOTNiOTU7XG4kcHJvamVjdC1yZWQ6ICNGRkZGMDA7XG4kcHJvamVjdC1yZWQtaG92ZXI6ICNkN2Q3MDA7XG4kcHJvamVjdC1vbGQtcmVkOiAjZmY0NTAwOztcbiRwcm9qZWN0LW9sZC1yZWQtaG92ZXI6ICNmNTJlMDA7XG4kcHJvamVjdC1uZXctcmVkOiAjZmYwMDAwOztcbiRwcm9qZWN0LW5ldy1yZWQtaG92ZXI6ICNmMDAwMDA7XG4kcHJvamVjdC1ncmVlbjogIzZlYzAxZTtcbiRwcm9qZWN0LWdyZWVuLWhvdmVyOiAjNTZiNjE2O1xuJHByb2plY3Qtb3JhbmdlOiAjRjI2QTIxO1xuJHByb2plY3Qtb3JhbmdlLWhvdmVyOiAjRDM1QjFGO1xuJHByb2plY3QteWVsbG93OiAjZjljNDEyO1xuJHByb2plY3Qtb3JhbmdlOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG5cbi8vXG4kcHJvamVjdC1wcmltYXJ5OiAkcHJvamVjdC1ibHVlO1xuJHByb2plY3QtcHJpbWFyeS13ZWxsOiAjMDBhM2UwOyAvLyBtZW51IHBhbmVsIG1vYmlsZVxuJHByb2plY3QtdGV4dDogJHByb2plY3QtYmxhY2s7XG4kcHJvamVjdC10cmFuc3BhcmVudDogcmdiYSgwLCAwLCAwLCAwKTtcbiRwcm9qZWN0LXRyYW5zcGFyZW50LWhvdmVyOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4kcHJvamVjdC1lcnJvcjogJHByb2plY3QtbmV3LXJlZDtcbiRwcm9qZWN0LXdhcm5pbmc6ICRwcm9qZWN0LW9yYW5nZTtcbiRwcm9qZWN0LWRpc2FibGVkOiAkcHJvamVjdC1ncmF5LWw1MDA7XG5cbi8vIGdyaWRcbiRzaXRlLWNvbnRhaW5lcjogMTM2OXB4O1xuJHNpdGUtY29udGFpbmVyLW5hcnJvdzogMTI4NHB4O1xuXG4kc2NyZWVuLXh4eHM6IDMyMHB4O1xuJHNjcmVlbi14eHM6IDM3NXB4O1xuJHNjcmVlbi14czogNDgwcHg7XG4kc2NyZWVuLXNtOiA3NjhweDtcbiRzY3JlZW4tbWQ6IDk5MnB4O1xuJHNjcmVlbi1sZzogMTIwMHB4O1xuJHNjcmVlbi14bDogMTQwMHB4O1xuJHNjcmVlbi14eGw6IDE2NTZweDtcbiRzY3JlZW4taGQ6IDE4OTBweDtcbiIsIi5oZXJvLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9yZGVyOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1NDZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSAyMyUsIHJnYmEoMCwgMCwgMCwgMCkgNDIlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTU0NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICZfX2NhbnZhcyB7XG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtd2FybS1ncmV5LTE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtd2FybS1ncmV5LTE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZWFzZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTY1cHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNnB4KTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gLTY1cHggYXV0bztcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogLTEwMCU7XG4gICAgICAgICAgICByaWdodDogLTEwMCU7XG4gICAgICAgICAgICB3aWR0aDogNzguMzMlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHNpdGUtY29udGFpbmVyLW5hcnJvdyAtIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNjFweCAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLXBhZ2UtLWxlZnQgJiB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1OTV2dyAwLjk4NnZ3OyAvLyA1cHggMTlweFxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjk4NnZ3OyAvLyAxOXB4XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjR2dztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG5cbiAgICAgICAgJi1wYXJ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAuNXZ3IDAuNXZ3IDEuNXZ3IHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjJ2dyAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjkwNnZ3OyAvLyA1NnB4XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICAgIH1cblxuICAgICAgICBiciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNTU3dnc7IC8vIDMwcHhcbiAgICAgICAgfVxuXG4gICAgICAgIC5zY2hvb2wtYWN0aW9uLXZpZXcgJixcbiAgICAgICAgLnNjaG9vbC1saXN0LXZpZXcgJiB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDE1cHggYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXgtd2lkdGg6ICRzaXRlLWNvbnRhaW5lci1uYXJyb3c7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIG1hcmdpbjogMzVweCBhdXRvIDIwcHggYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgIG1hcmdpbjogNzVweCBhdXRvIDIwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgLmhlcm8tMzY1ICsgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDE2cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyNnB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBtYXJnaW46IDM2cHggYXV0byAzNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmhlcm8tcGFnZSArICYge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDIwcHggYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZXJvLXNlY3Rpb24gKyAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gNDVweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzNnB4IGF1dG8gOTVweCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhbmRpbmdwYWdlLXZpZXcgJiB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDIzcHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzZweCBhdXRvIDM0cHggYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogJHNpdGUtY29udGFpbmVyLW5hcnJvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmFzaWRlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByb2plY3QtZ3JheS1sNTAwO1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNi41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByb2plY3QtZ3JheS1sNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZmlsZS1kb3dubG9hZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufSIsIi5hc2lkZS1oZWFkZXItYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjRweCA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDM2cHggNDJweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzhweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZWFkLXRvbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtdW5pY2VmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2Nob29sLWxpc3Qge1xuICAgIHBhZGRpbmc6IDAgMjNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgIH1cblxuICAgICZfX2pvaW4tYXNpZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWJ1dHRvbiB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLSA0MTRweCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQxNHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4MDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNpZGUge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzg0cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM4NHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA0NXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmV3c2xldHRlcl9faGVhZGVyIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlciB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDVweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2VlLWFsc28ge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cblxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uM19fc2VjdGlvbiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgICBtYXJnaW46IDAgLTIzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRwcm9qZWN0LXByaW1hcnksIDAuMyk7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTdweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gMTUuNjY2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDNuKSB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5jYXJkLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByb2plY3QtcHJpbWFyeSwgMC4zKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgaGVpZ2h0OiA3NnB4O1xuXG4gICAgICAgIC5zaG93ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgLy8gMzFcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjsgLy8gMzFcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMTJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICAmLS1kZXNrdG9wLFxuICAgICAgICAmLS1tb2JpbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHJnYmEoJHByb2plY3QtYmx1ZSwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgkcHJvamVjdC1ibHVlLCAwKTtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtMjpob3ZlciAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2FyZC0yX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpZGVyX19pdGVtIC5jYXJkLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJHByb2plY3QtcHJpbWFyeSwgMC4zKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMTdweCAzM3B4IDE3cHggMjJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgaGVpZ2h0OiA3NnB4O1xuXG4gICAgICAgIC5zaG93ICYge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgLy8gMzFcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3NjsgLy8gMzFcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMTJweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICAmLS1kZXNrdG9wLFxuICAgICAgICAmLS1tb2JpbGV7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wYW50b25lLXdhcm0tZ3JleS0xO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHJnYmEoJHByb2plY3QtYmx1ZSwgMCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgcmdiYSgkcHJvamVjdC1ibHVlLCAwKTtcbiAgICAgICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtMjpob3ZlciAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuY2FyZC0yX19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLTJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAbWl4aW4gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogNXB4IDI1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDQ0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWxnIHtcbiAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA3NnB4O1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24taHVnZSB7XG4gICAgbWluLWhlaWdodDogNjZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgbWluLWhlaWdodDogNzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogNjZweDtcbiAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1zbSB7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM5cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24teHMge1xuICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgICBcbiAgICAuaWUgJiB7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24taGVybyB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNDZ2dzsgLy8gMjRweDtcbiAgICAgICAgaGVpZ2h0OiA0LjUxNXZ3OyAvLyA4N3B4XG4gICAgICAgIG1pbi13aWR0aDogMTMuMzg4dnc7IC8vIDI1OHB4XG4gICAgfVxuICAgIFxuICAgIC5pZSAmIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgaGVpZ2h0OiA4N3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXNoYWRvdy00MCB7XG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwwLDAsLjMpO1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwLjc3OXZ3IDIuMDc2dncgcmdiYSgwLDAsMCwuMyk7IC8vIDAgMTVweCA0MHB4XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXJlZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1yZWQpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1yZWQtaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vbGQtcmVkIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LW9sZC1yZWQpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1vbGQtcmVkLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tbmV3LXJlZCB7XG5cdEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmV3LXJlZCk7XG5cblx0Jjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuXHR9XG5cblx0JjpkaXNhYmxlZCB7XG5cdFx0Y29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmV3LXJlZC1ob3Zlcik7XG5cdH1cbn1cblxuQG1peGluIGJ1dHRvbi10cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC10cmFuc3BhcmVudCk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwwLjMpO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC10cmFuc3BhcmVudC1ob3Zlcik7XG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtYmx1ZS1ob3Zlcik7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuQG1peGluIGJ1dHRvbi1ibHVlIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1ibHVlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tbmF2eWJsdWUge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtbmF2eWJsdWUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMTIpO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC1uYXZ5Ymx1ZS1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWdyZWVuIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LWdyZWVuKTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3QtZ3JlZW4taG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vcmFuZ2Uge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtb3JhbmdlKTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LXdoaXRlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtb3JhbmdlLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3JhbmdlLW91dGxpbmVkIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LW9yYW5nZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LW9yYW5nZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW9yYW5nZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtb3JhbmdlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWUtbDk1MDtcbiAgICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZWQge1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tY29udGFpbmVyLWZpbGwtY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgIEBpbmNsdWRlIG1kYy1idXR0b24tb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1vcGFjaXRpZXMoKGhvdmVyOiAuMCwgZm9jdXM6IC4wLCBwcmVzczogLjA4KSk7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcm9qZWN0LW5hdnlibHVlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWUtbDk1MDtcbiAgICB9XG59XG5cblxuQG1peGluIGJ1dHRvbi13aGl0ZS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmxhY2spO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtb3BhY2l0aWVzKChob3ZlcjogLjAsIGZvY3VzOiAuMCwgcHJlc3M6IC4wOCkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDApO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC13aGl0ZSwgMC4wNik7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tYmx1ZS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDApO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMyk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNik7XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tYmx1ZS13aGl0ZSB7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1jb250YWluZXItZmlsbC1jb2xvcihyZ2JhKCRwcm9qZWN0LXdoaXRlLCAwKSk7XG4gICAgQGluY2x1ZGUgbWRjLWJ1dHRvbi1vdXRsaW5lLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjApO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcblxuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmx1ZSwwLjMpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKHJnYmEoJHByb2plY3QtYmx1ZSwgMC4wNikpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lZC1ibHVlLWJsYWNrIHtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLWNvbnRhaW5lci1maWxsLWNvbG9yKCRwcm9qZWN0LXdoaXRlKTtcbiAgICBAaW5jbHVkZSBtZGMtYnV0dG9uLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZSk7XG4gICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsdWUpO1xuICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtb3BhY2l0aWVzKChob3ZlcjogLjAsIGZvY3VzOiAuMCwgcHJlc3M6IC4wOCkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssMC4zKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLDAuMDYpO1xuICAgIH1cbn1cblxuQG1peGluIGJ1dHRvbi10YWItbmF2aWdhdGlvbiB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIC50YWItbmF2aWdhdGlvbiAmIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjIpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5uZXdzbGV0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1uYXZ5Ymx1ZTtcbiAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICB9XG5cbiAgICAmX19maWd1cmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19jYW52YXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIGNhbnZhcyArIHBpY3R1cmUgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGFjZXIge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1sZyAtIDEpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMC4ycHg7XG4gICAgICAgICAgICB3aWR0aDogNDguMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0OC4ycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fYXJyb3ctcmlnaHQoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWJ1dHRvbl9fbGFiZWwge1xuICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1sZyAtIDEpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDY4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXhsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6JHByb2plY3Qtd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICAvL0BpbmNsdWRlIG1kYy1jaGVja2JveC1jb250YWluZXItY29sb3JzKCR1bm1hcmtlZC1zdHJva2UtY29sb3IsICR1bm1hcmtlZC1maWxsLWNvbG9yLCAkbWFya2VkLXN0cm9rZS1jb2xvciwgJG1hcmtlZC1maWxsLWNvbG9yLCAkZ2VuZXJhdGUta2V5ZnJhbWVzKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHByb2plY3QtbmF2eWJsdWUtbDUwMCwgJHByb2plY3QtdHJhbnNwYXJlbnQsICRwcm9qZWN0LW5hdnlibHVlLWw1MDAsICRwcm9qZWN0LXRyYW5zcGFyZW50LCAnZmFsc2UnKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWluay1jb2xvcigkcHJvamVjdC1uYXZ5Ymx1ZS1sNTAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLWNoZWNrYm94LWZvY3VzLWluZGljYXRvci1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG5cbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbFtyZXF1aXJlZF0ge1xuICAgICAgICAmOmludmFsaWQge1xuICAgICAgICAgICAgfiAubWRjLWNoZWNrYm94X19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtMTUwNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWdyYXktZDMwMDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiAubWRjLWZsb2F0aW5nLWxhYmVsLFxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kMzAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWdyYXktZDMwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgfVxuXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpyZXF1aXJlZCB+IC5tZGMtZmxvYXRpbmctbGFiZWwsXG4gICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKSAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAubWRjLWZvcm0tZmllbGQge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmF2eWJsdWUtbDUwMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy5tZGMtY2hlY2tib3gtLWludmFsaWQge1xuICAgIC8vICAgIH4gbGFiZWwge1xuICAgIC8vICAgICAgICAvL2NvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgLy9cbiAgICAvLyAgICAgICAgYSB7XG4gICAgLy8gICAgICAgICAgICAvL2NvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgLy8gICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIC8vICAgICAgICB9XG4gICAgLy8gICAgfVxuICAgIC8vfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtaW5rLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtbGFiZWwtY29sb3IoJHByb2plY3QtZ3JheS1kMzAwKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXRleHQtZmllbGQtZmlsbC1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG5cbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1sZyAtIDEpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAvLy5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAvLyAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxnIC0gMSkge1xuICAgICAgICAvLyAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gICAgICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgfVxuXG5cbiAgICAubWRjLWZvcm0tZmllbGQgPiBsYWJlbCB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEwJSkgc2NhbGUoLjcpO1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAmX19tb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDAgMCAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByb2plY3QtcHJpbWFyeTtcbiAgICAgICAgcGFkZGluZzogMTRweCAwO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIG1hcmdpbjogMjRweCAwIDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtdmlldyAmICB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICBsZWZ0OiAtMnB4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtcGFudG9uZS0xNTA1O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6dmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIGlucHV0OmludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMCAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1wYW50b25lLTE1MDU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLnNpdGUtZm9ybV9fc2VydmVyLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC53YXMtdmFsaWRhdGVkIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA0MXB4O1xuICAgIH1cblxuICAgIC5tZGMtY2hlY2tib3hfX3JpcHBsZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuMykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuIiwiLy9cbi8vIENvcHlyaWdodCAyMDE3IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmxvYXRpbmctbGFiZWwvbWl4aW5zXCIgYXMgZmxvYXRpbmctbGFiZWwtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9mbG9hdGluZy1sYWJlbC92YXJpYWJsZXNcIiBhcyBmbG9hdGluZy1sYWJlbC12YXJpYWJsZXM7XG5AdXNlIFwiQG1hdGVyaWFsL2xpbmUtcmlwcGxlL21peGluc1wiIGFzIGxpbmUtcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvbm90Y2hlZC1vdXRsaW5lL21peGluc1wiIGFzIG5vdGNoZWQtb3V0bGluZS1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL25vdGNoZWQtb3V0bGluZS92YXJpYWJsZXNcIiBhcyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvbWl4aW5zXCIgYXMgcmlwcGxlLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvcmlwcGxlL2Z1bmN0aW9uc1wiIGFzIHJpcHBsZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3RoZW1lL21peGluc1wiIGFzIHRoZW1lLW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvc2hhcGUvbWl4aW5zXCIgYXMgc2hhcGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9zaGFwZS9mdW5jdGlvbnNcIiBhcyBzaGFwZS1mdW5jdGlvbnM7XG5AdXNlIFwiQG1hdGVyaWFsL2ZlYXR1cmUtdGFyZ2V0aW5nL2Z1bmN0aW9uc1wiIGFzIGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvbWl4aW5zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90eXBvZ3JhcGh5L21peGluc1wiIGFzIHR5cG9ncmFwaHktbWl4aW5zO1xuQHVzZSBcImhlbHBlci10ZXh0L21peGluc1wiIGFzIGhlbHBlci10ZXh0LW1peGlucztcbkB1c2UgXCJjaGFyYWN0ZXItY291bnRlci9taXhpbnNcIiBhcyBjaGFyYWN0ZXItY291bnRlci1taXhpbnM7XG5AdXNlIFwiaWNvbi9taXhpbnNcIiBhcyBpY29uLW1peGlucztcbkB1c2UgXCJpY29uL3ZhcmlhYmxlc1wiIGFzIGljb24tdmFyaWFibGVzO1xuQHVzZSBcIi4vdmFyaWFibGVzXCI7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCJAbWF0ZXJpYWwvcnRsL21peGluc1wiIGFzIHJ0bC1taXhpbnM7XG5cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgd2l0aG91dC1yaXBwbGUoJHF1ZXJ5KTtcbn1cblxuQG1peGluIHdpdGhvdXQtcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIEJhc2VsaW5lXG4gIC8vIHBvc3Rjc3MtYmVtLWxpbnRlcjogZGVmaW5lIHRleHQtZmllbGRcbiAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICBAaW5jbHVkZSBfYmFzZSgkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgX2lucHV0KCRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1zZWxlY3Rvcl8ge1xuICAgICAgQGluY2x1ZGUgX2lucHV0LXBsYWNlaG9sZGVyKCRxdWVyeSk7XG4gICAgfVxuXG4gICAgLy8gQWx3YXlzIHNob3cgcGxhY2Vob2xkZXIgZm9yIHRleHQgZmllbGRzIHRoYXQgaGFzIG5vXG4gICAgLy8gbGFiZWwgYW5kIHNob3cgb25seSBvbiBmb2N1c2VkIHN0YXRlIHdoZW4gbGFiZWwgaXMgcHJlc2VudC5cbiAgICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aCAmLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tbm8tbGFiZWwgJixcbiAgICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgJiB7XG4gICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1zZWxlY3Rvcl8ge1xuICAgICAgICBAaW5jbHVkZSBfaW5wdXQtcGxhY2Vob2xkZXItdmlzaWJsZSgkcXVlcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgge1xuICAgIEBpbmNsdWRlIF9hZmZpeCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWxhYmVsLWZsb2F0aW5nICYsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbCAmIHtcbiAgICAgIEBpbmNsdWRlIF9hZmZpeC12aXNpYmxlKCRxdWVyeTogJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1wcmVmaXgge1xuICAgIEBpbmNsdWRlIF9wcmVmaXgoJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1lbmQtYWxpZ25lZCAmIHtcbiAgICAgIEBpbmNsdWRlIF9wcmVmaXgtZW5kLWFsaWduZWQoJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgtLXN1ZmZpeCB7XG4gICAgQGluY2x1ZGUgX3N1ZmZpeCgkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWVuZC1hbGlnbmVkICYge1xuICAgICAgQGluY2x1ZGUgX3N1ZmZpeC1lbmQtYWxpZ25lZCgkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAvLyBNb3ZlIGxhYmVsIHdoZW4gdGV4dC1maWVsZCBnZXRzIGF1dG8tZmlsbGVkIGluIENocm9tZS5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsICsgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjc1KTtcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBWYXJpYW50c1xuXG4gIC5tZGMtdGV4dC1maWVsZC0tZmlsbGVkIHtcbiAgICBAaW5jbHVkZSBfZmlsbGVkKCRxdWVyeSk7XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1uby1sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBfZmlsbGVkLW5vLWxhYmVsKCRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCB7XG4gICAgQGluY2x1ZGUgb3V0bGluZWRfKCRxdWVyeSk7XG4gIH1cblxuICAvLyBPdGhlciBWYXJpYXRpb25zXG5cbiAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgdGV4dGFyZWFfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLWZ1bGx3aWR0aCB7XG4gICAgQGluY2x1ZGUgZnVsbHdpZHRoXygkcXVlcnkpO1xuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS13aXRoLWxlYWRpbmctaWNvbiB7XG4gICAgJi5tZGMtdGV4dC1maWVsZC0tZmlsbGVkIHtcbiAgICAgIEBpbmNsdWRlIHdpdGgtbGVhZGluZy1pY29uXygkcXVlcnkpO1xuICAgIH1cblxuICAgICYubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgICAgIEBpbmNsdWRlIG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uXygkcXVlcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZC0td2l0aC10cmFpbGluZy1pY29uIHtcbiAgICAmLm1kYy10ZXh0LWZpZWxkLS1maWxsZWQge1xuICAgICAgQGluY2x1ZGUgX3dpdGgtdHJhaWxpbmctaWNvbigkcXVlcnkpO1xuICAgIH1cblxuICAgICYubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgICAgIEBpbmNsdWRlIF9vdXRsaW5lZC13aXRoLXRyYWlsaW5nLWljb24oJHF1ZXJ5KTtcbiAgICB9XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ge1xuICAgICYubWRjLXRleHQtZmllbGQtLWZpbGxlZCB7XG4gICAgICBAaW5jbHVkZSBfd2l0aC1sZWFkaW5nLWFuZC10cmFpbGluZy1pY29uKCRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcmVxdWlyZWQtbGFiZWwtYXN0ZXJpc2tfIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBjb250ZW50OiBcIipcIjtcbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGRlZmluZSB0ZXh0LWZpZWxkLWhlbHBlci10ZXh0XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHBsdWdpbi9zZWxlY3Rvci1iZW0tcGF0dGVyblxuICAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkICsgJiB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyaWFibGVzLiRoZWxwZXItbGluZS1wYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcmlhYmxlcy4kaGVscGVyLWxpbmUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBwbHVnaW4vc2VsZWN0b3ItYmVtLXBhdHRlcm5cbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBlbmRcblxuICAvLyBtZGMtZm9ybS1maWVsZCB0d2Vha3MgdG8gYWxpZ24gdGV4dCBmaWVsZCBsYWJlbCBjb3JyZWN0bHlcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGVcbiAgLm1kYy1mb3JtLWZpZWxkID4gLm1kYy10ZXh0LWZpZWxkICsgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci1tYXgtdHlwZVxuXG4gIC8vIFN0YXRlc1xuICAubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIGZvY3VzZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLWludmFsaWQge1xuICAgIEBpbmNsdWRlIGludmFsaWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLWRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlZF8oJHF1ZXJ5KTtcblxuICAgICYubWRjLXRleHQtZmllbGQtLWZpbGxlZCB7XG4gICAgICBAaW5jbHVkZSBfZGlzYWJsZWQtZmlsbGVkKCRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1lbmQtYWxpZ25lZCB7XG4gICAgQGluY2x1ZGUgZW5kLWFsaWduZWRfKCRxdWVyeSk7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGQtLWx0ci10ZXh0IHtcbiAgICBAaW5jbHVkZSBfbHRyLXRleHQoJHF1ZXJ5KTtcblxuICAgICYubWRjLXRleHQtZmllbGQtLWVuZC1hbGlnbmVkIHtcbiAgICAgIEBpbmNsdWRlIF9sdHItdGV4dC1lbmQtYWxpZ25lZCgkcXVlcnkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzXG4vLyBmcm9tIHRoZSBvdGhlciB0ZXh0IGZpZWxkIHN0eWxlcy4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdCBtb3N0IHVzZXJzIHVzZSBgbWRjLXRleHQtZmllbGQtY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gcmlwcGxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuY29tbW9uKCRxdWVyeSk7IC8vIENPUFlCQVJBX0NPTU1FTlRfVEhJU19MSU5FXG5cbiAgLm1kYy10ZXh0LWZpZWxkLS1maWxsZWQge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3VyZmFjZSgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtYm91bmRlZCgkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6IHZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldCk7XG4gIH1cblxuICAje3ZhcmlhYmxlcy4kcmlwcGxlLXRhcmdldH0ge1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMudGFyZ2V0LWNvbW1vbigkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBkZW5zaXR5IHNjYWxlIGZvciBkZWZhdWx0IHRleHQgZmllbGQgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzIGAtNGAsXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC4gRGVmYXVsdCBpcyBgMGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIFNldHMgdGhlIG1pbmltdW0gaGVpZ2h0IGZvclxuLy8vICAgICBmaWxsZWQgdGV4dGZpZWxkcyBhdCB3aGljaCB0byBhbGxvdyBmbG9hdGluZyBsYWJlbHMuXG4vLy9cbkBtaXhpbiBkZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbDogdmFyaWFibGVzLiRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSBoZWlnaHQoJGhlaWdodCwgJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWw6ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIC8vIFRPRE8oYi8xNTE4MzkyMTkpOiByZXNpemUgaWNvbnMgYW5kIGFkanVzdCBsYWJlbCBwb3NpdGlvblxuICAvLyBAaWYgJGRlbnNpdHktc2NhbGUgPCAwIHtcbiAgLy8gICBAaW5jbHVkZSBpY29uLW1peGlucy5zaXplKGljb24tdmFyaWFibGVzLiRkZW5zZS1pY29uLXNpemUpO1xuICAvLyB9XG59XG5cbi8vL1xuLy8vIFNldHMgZGVuc2l0eSBzY2FsZSBmb3Igb3V0bGluZWQgdGV4dCBmaWVsZCAoRXhjbHVkaW5nIG91dGxpbmVkIHRleHQgZmllbGQgd2l0aCBsZWFkaW5nIGljb24pLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBTdHJpbmd9ICRkZW5zaXR5LXNjYWxlIC0gRGVuc2l0eSBzY2FsZSB2YWx1ZSBmb3IgY29tcG9uZW50LiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZSB2YWx1ZXMgYC00YCxcbi8vLyAgICAgYC0zYCwgYC0yYCwgYC0xYCwgYDBgLiBEZWZhdWx0IGlzIGAwYC5cbi8vL1xuQG1peGluIG91dGxpbmVkLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRoZWlnaHQ6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJGRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogaGVpZ2h0LFxuICApO1xuXG4gIEBpbmNsdWRlIG91dGxpbmVkLWhlaWdodCgkaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gIC8vIFRPRE8oYi8xNTE4MzkyMTkpOiByZXNpemUgaWNvbnMgYW5kIGFkanVzdCBsYWJlbCBwb3NpdGlvblxuICAvLyBAaWYgJGRlbnNpdHktc2NhbGUgPCAwIHtcbiAgLy8gICBAaW5jbHVkZSBpY29uLW1peGlucy5zaXplKGljb24tdmFyaWFibGVzLiRkZW5zZS1pY29uLXNpemUpO1xuICAvLyB9XG59XG5cbi8vL1xuLy8vIFNldHMgZGVuc2l0eSBzY2FsZSBmb3Igb3V0bGluZWQgdGV4dCBmaWVsZCB3aXRoIGxlYWRpbmcgaWNvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkZGVuc2l0eS1zY2FsZSAtIERlbnNpdHkgc2NhbGUgdmFsdWUgZm9yIGNvbXBvbmVudC4gU3VwcG9ydGVkIGRlbnNpdHkgc2NhbGUgdmFsdWVzIGAtNGAsXG4vLy8gICAgIGAtM2AsIGAtMmAsIGAtMWAsIGAwYC4gRGVmYXVsdCBpcyBgMGAuXG4vLy9cbkBtaXhpbiBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1oZWlnaHQoJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyBUT0RPKGIvMTUxODM5MjE5KTogcmVzaXplIGljb25zIGFuZCBhZGp1c3QgbGFiZWwgcG9zaXRpb25cbiAgLy8gQGlmICRkZW5zaXR5LXNjYWxlIDwgMCB7XG4gIC8vICAgQGluY2x1ZGUgaWNvbi1taXhpbnMuc2l6ZShpY29uLXZhcmlhYmxlcy4kZGVuc2UtaWNvbi1zaXplKTtcbiAgLy8gfVxufVxuXG4vLy9cbi8vLyBTZXRzIGhlaWdodCBvZiBkZWZhdWx0IHRleHQgZmllbGQgdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW5pbXVtLWhlaWdodC1mb3ItZmlsbGVkLWxhYmVsIFNldHMgdGhlIG1pbmltdW0gaGVpZ2h0IGZvclxuLy8vICAgICBmaWxsZWQgdGV4dGZpZWxkcyBhdCB3aGljaCB0byBhbGxvdyBmbG9hdGluZyBsYWJlbHMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIGhlaWdodChcbiAgJGhlaWdodCxcbiAgJG1pbmltdW0taGVpZ2h0LWZvci1maWxsZWQtbGFiZWw6IHZhcmlhYmxlcy4kbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG5cbiAgQGlmICRoZWlnaHQgPCAkbWluaW11bS1oZWlnaHQtZm9yLWZpbGxlZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgX2ZpbGxlZC1uby1sYWJlbCgkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBoZWlnaHQgb2Ygb3V0bGluZWQgdGV4dCBmaWVsZCB2YXJpYW50IChFeGNsdWRpbmcgb3V0bGluZWQgdGV4dCBmaWVsZCB3aXRoIGxlYWRpbmcgaWNvbikuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5ZnJhbWUtc3VmZml4IC0gT3B0aW9uYWwgc3VmZml4IHRvIHVzZSBmb3IgZ2VuZXJhdGVkXG4vLy8gICAgIGZsb2F0aW5nIGxhYmVsIGtleWZyYW1lc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbkBtaXhpbiBvdXRsaW5lZC1oZWlnaHQoXG4gICRoZWlnaHQsXG4gICRrZXlmcmFtZS1zdWZmaXg6IHRleHQtZmllbGQtb3V0bGluZWQtI3skaGVpZ2h0fSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJHBvc2l0aW9uWTogdmFyaWFibGVzLmdldC1vdXRsaW5lZC1sYWJlbC1wb3NpdGlvbi15KCRoZWlnaHQpO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIHBvc2l0aW9uXG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24tYWJzb2x1dGUoJHBvc2l0aW9uWSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIGFuaW1hdGlvblxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKCRrZXlmcmFtZS1zdWZmaXgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGF0LXJvb3Qge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoJGtleWZyYW1lLXN1ZmZpeCwgJHBvc2l0aW9uWSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgaGVpZ2h0IG9mIG91dGxpbmVkIHRleHQgZmllbGQgd2l0aCBsZWFkaW5nIGljb24gdmFyaWFudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlmcmFtZS1zdWZmaXggLSBPcHRpb25hbCBzdWZmaXggdG8gdXNlIGZvciBnZW5lcmF0ZWRcbi8vLyAgICAgZmxvYXRpbmcgbGFiZWwga2V5ZnJhbWVzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuQG1peGluIG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWhlaWdodChcbiAgJGhlaWdodCxcbiAgJGtleWZyYW1lLXN1ZmZpeDogbnVsbCxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIG5lZWRlZCBiZWNhdXNlIHRleHRmaWVsZCBhcHBsaWVzIHRoZSBiZWxvdyBtaXhpblxuICAvLyBhbHJlYWR5IHRvIHR3byBzZWxlY3RvcnMgKG91dGxpbmVkICsgd2l0aC1sZWFkaW5nLWljb24pLiBUbyBvdmVycmlkZVxuICAvLyB0aGVtIHdpdGggYSBuZXcgbGFiZWwgcG9zaXRpb24gYW5kIGFuaW1hdGlvbiwgYW5vdGhlciBzZWxlY3RvciBpcyBuZWVkZWQuXG4gICYubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIHtcbiAgICBAaW5jbHVkZSBfb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tZmxvYXRpbmctbGFiZWwtcG9zaXRpb24tYW5pbWF0aW9uKCRoZWlnaHQsICRrZXlmcmFtZS1zdWZmaXgsICRxdWVyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBzZXRzIHRoZSBmbG9hdGluZyBsYWJlbCBwb3NpdGlvbiBhbmQgYW5pbWF0aW9ucyBmb3IgYSBnaXZlbiBoZWlnaHQuXG4vLyBUaGlzIG1peGluIGlzIHNlcGFyYXRlIHRvIGFsbG93IG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWhlaWdodCgpIHRvXG4vLyBwcm92aWRlIGdyZWF0ZXIgc3BlY2lmaWNpdHkgb3ZlciB0aGUgZGVmYXVsdCBtaXhpbiB0aGF0IGFkZHMgc3R5bGVzIGZvclxuLy8gb3V0bGluZWQgd2l0aCBsZWFkaW5nIGljb25zLlxuQG1peGluIF9vdXRsaW5lZC13aXRoLWxlYWRpbmctaWNvbi1mbG9hdGluZy1sYWJlbC1wb3NpdGlvbi1hbmltYXRpb24oXG4gICRoZWlnaHQsXG4gICRrZXlmcmFtZS1zdWZmaXg6IHRleHQtZmllbGQtb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tI3skaGVpZ2h0fSxcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkcG9zaXRpb25ZOiB2YXJpYWJsZXMuZ2V0LW91dGxpbmVkLWxhYmVsLXBvc2l0aW9uLXkoJGhlaWdodCk7XG5cbiAgLy8gRmxvYXRpbmcgbGFiZWwgcG9zaXRpb25cbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5mbG9hdGluZy1sYWJlbC1mbG9hdC1wb3NpdGlvbi1hYnNvbHV0ZShcbiAgICAkcG9zaXRpb25ZLFxuICAgIHZhcmlhYmxlcy4kb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcbiAgICAkcXVlcnk6ICRxdWVyeVxuICApO1xuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIGFuaW1hdGlvblxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2UtYW5pbWF0aW9uKCRrZXlmcmFtZS1zdWZmaXgsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGF0LXJvb3Qge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1rZXlmcmFtZXMoXG4gICAgICAka2V5ZnJhbWUtc3VmZml4LFxuICAgICAgJHBvc2l0aW9uWSxcbiAgICAgIHZhcmlhYmxlcy4kb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tbGFiZWwtcG9zaXRpb24teCxcbiAgICAgICRxdWVyeTogJHF1ZXJ5XG4gICAgKTtcbiAgfVxuXG4gICRrZXlmcmFtZS1zdWZmaXgtcnRsOiAjeyRrZXlmcmFtZS1zdWZmaXh9LXJ0bDtcbiAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1hbmltYXRpb24oJGtleWZyYW1lLXN1ZmZpeCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG4gIEBhdC1yb290IHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuc2hha2Uta2V5ZnJhbWVzKFxuICAgICAgJGtleWZyYW1lLXN1ZmZpeC1ydGwsXG4gICAgICAkcG9zaXRpb25ZLFxuICAgICAgLSh2YXJpYWJsZXMuJG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uLWxhYmVsLXBvc2l0aW9uLXgpLFxuICAgICAgJHF1ZXJ5OiAkcXVlcnlcbiAgICApO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgc2hhcGUgcmFkaXVzIG9mIGRlZmF1bHQgdGV4dCBmaWVsZCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgU2hhcGUgcmFkaXVzIHZhbHVlIGluIGBweGAgb3IgaW4gcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRleHQtZmllbGQtaGVpZ2h0IEhlaWdodCBvZiBkZWZhdWx0IHRleHQgZmllbGQgdmFyaWFudC4gUmVxdWlyZWQgb25seSB3aGVuIGAkcmFkaXVzYCBpcyBpblxuLy8vICAgICBwZXJjZW50YWdlIHVuaXQgYW5kIGlmIHRleHQgZmllbGQgaGFzIGN1c3RvbSBoZWlnaHQuIERlZmF1bHRzIHRvIGB2YXJpYWJsZXMuJGhlaWdodGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcnRsLXJlZmxleGl2ZSBTZXQgdG8gdHJ1ZSB0byBmbGlwIHNoYXBlIHJhZGl1cyBpbiBSVEwgY29udGV4dC4gRGVmYXVsdHMgdG8gYGZhbHNlYC5cbi8vL1xuQG1peGluIHNoYXBlLXJhZGl1cyhcbiAgJHJhZGl1cyxcbiAgJGRlbnNpdHktc2NhbGU6IHZhcmlhYmxlcy4kZGVuc2l0eS1zY2FsZSxcbiAgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaWYgbGlzdC5sZW5ndGgoJHJhZGl1cykgPiAyIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIHJhZGl1czogJyN7JHJhZGl1c30nIGNvbXBvbmVudCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIGFsbCBjb3JuZXJzXCI7XG4gIH1cblxuICAkaGVpZ2h0OiBkZW5zaXR5LWZ1bmN0aW9ucy5wcm9wLXZhbHVlKFxuICAgICRkZW5zaXR5LWNvbmZpZzogdmFyaWFibGVzLiRkZW5zaXR5LWNvbmZpZyxcbiAgICAkZGVuc2l0eS1zY2FsZTogJGRlbnNpdHktc2NhbGUsXG4gICAgJHByb3BlcnR5LW5hbWU6IGhlaWdodCxcbiAgKTtcblxuICAkbWFza2VkLXJhZGl1czogc2hhcGUtZnVuY3Rpb25zLm1hc2stcmFkaXVzKCRyYWRpdXMsIDEgMSAwIDApO1xuXG4gIEBpbmNsdWRlIHNoYXBlLW1peGlucy5yYWRpdXMoXG4gICAgc2hhcGUtZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJGhlaWdodCwgJG1hc2tlZC1yYWRpdXMpLFxuICAgICRydGwtcmVmbGV4aXZlLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbkBtaXhpbiB0ZXh0YXJlYS1zaGFwZS1yYWRpdXMoJHJhZGl1cywgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLnNoYXBlLXJhZGl1cygkcmFkaXVzLCAkcnRsLXJlZmxleGl2ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgdGV4dCBlbnRlcmVkIGludG8gYW4gZW5hYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGlucHV0IHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgZW50ZXJlZCB0ZXh0IGluIGEgZGlzYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbnB1dCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciBpbiBhbiBlbmFibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgcGxhY2Vob2xkZXIgdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIHBsYWNlaG9sZGVyLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgaW4gYSBkaXNhYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHBsYWNlaG9sZGVyIHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1wbGFjZWhvbGRlci1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgcGxhY2Vob2xkZXItY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRleHQgZmllbGQgb3IgdGV4dGFyZWEgd2hlbiBlbmFibGVkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbkBtaXhpbiBmaWxsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRleHQgZmllbGQgb3IgdGV4dGFyZWEgd2hlbiBkaXNhYmxlZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtZmlsbC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkXyB7XG4gICAgQGluY2x1ZGUgZmlsbC1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgdGV4dCBmaWVsZCBib3R0b20gbGluZSBjb2xvciBmb3IgdGhlIGZpbGxlZCB2YXJpYW50LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGJvdHRvbSBsaW5lIGNvbG9yLlxuLy8vXG5AbWl4aW4gYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGRpc2FibGVkIHRleHQgZmllbGQgYm90dG9tIGxpbmUgY29sb3IgZm9yIHRoZSBmaWxsZWQgdmFyaWFudC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBib3R0b20gbGluZSBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLWJvdHRvbS1saW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgaG92ZXIgdGV4dCBmaWVsZCBib3R0b20gbGluZSBjb2xvciBmb3IgdGhlIGZpbGxlZCB2YXJpYW50LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGJvdHRvbSBsaW5lIGNvbG9yLlxuLy8vXG5AbWl4aW4gaG92ZXItYm90dG9tLWxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgaG92ZXItYm90dG9tLWxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNvbG9yIG9mIHRoZSBkZWZhdWx0IGxpbmUgcmlwcGxlIG9mIHRoZSB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGxpbmUgcmlwcGxlIGNvbG9yLlxuLy8vXG5AbWl4aW4gbGluZS1yaXBwbGUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIHRleHQgY29sb3Igb2YgdGhlIGxhYmVsIGluIGFuIGVuYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBsYWJlbCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gbGFiZWwtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbGFiZWwtaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSB0ZXh0IGNvbG9yIG9mIHRoZSBsYWJlbCBpbiBhIGRpc2FibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgbGFiZWwgdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLWxhYmVsLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBsYWJlbC1pbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGJvcmRlciBjb2xvciBvZiB0aGUgb3V0bGluZWQgdGV4dCBmaWVsZCBvciB0ZXh0YXJlYS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBvdXRsaW5lIGJvcmRlciBjb2xvci5cbi8vL1xuQG1peGluIG91dGxpbmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBvdXRsaW5lIGJvcmRlciBjb2xvciB3aGVuIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhIGlzIGhvdmVyZWQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgb3V0bGluZSBib3JkZXIgY29sb3IuXG4vLy9cbkBtaXhpbiBob3Zlci1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIG91dGxpbmUgYm9yZGVyIGNvbG9yIHdoZW4gdGhlIHRleHQgZmllbGQgb3IgdGV4dGFyZWEgaXMgZm9jdXNlZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBvdXRsaW5lIGJvcmRlciBjb2xvci5cbi8vL1xuQG1peGluIGZvY3VzZWQtb3V0bGluZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBmb2N1c2VkLW91dGxpbmUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIG91dGxpbmUgYm9yZGVyIGNvbG9yIHdoZW4gdGhlIHRleHQgZmllbGQgb3IgdGV4dGFyZWEgaXMgZGlzYWJsZWQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgb3V0bGluZSBib3JkZXIgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1vdXRsaW5lLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNhcmV0IGNvbG9yIG9mIHRoZSB0ZXh0IGZpZWxkIG9yIHRleHRhcmVhLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGNhcmV0IGNvbG9yLlxuLy8vXG5AbWl4aW4gY2FyZXQtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNhcmV0LWNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBDdXN0b21pemVzIHRoZSBjb2xvciBvZiB0aGUgcHJlZml4IHRleHQgZm9yIGFuIGVuYWJsZWQgdGV4dCBmaWVsZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBwcmVmaXggdGV4dCBjb2xvci5cbi8vL1xuQG1peGluIHByZWZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWVuYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBfcHJlZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNvbG9yIG9mIHRoZSBwcmVmaXggdGV4dCBmb3IgYSBkaXNhYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHByZWZpeCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtcHJlZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBfcHJlZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIEN1c3RvbWl6ZXMgdGhlIGNvbG9yIG9mIHRoZSBzdWZmaXggdGV4dCBmb3IgYW4gZW5hYmxlZCB0ZXh0IGZpZWxkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN1ZmZpeCB0ZXh0IGNvbG9yLlxuLy8vXG5AbWl4aW4gc3VmZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZF8ge1xuICAgIEBpbmNsdWRlIF9zdWZmaXgtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gQ3VzdG9taXplcyB0aGUgY29sb3Igb2YgdGhlIHN1ZmZpeCB0ZXh0IGZvciBhIGRpc2FibGVkIHRleHQgZmllbGQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3VmZml4IHRleHQgY29sb3IuXG4vLy9cbkBtaXhpbiBkaXNhYmxlZC1zdWZmaXgtY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1kaXNhYmxlZF8ge1xuICAgIEBpbmNsdWRlIF9zdWZmaXgtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyBzaGFwZSByYWRpdXMgb2Ygb3V0bGluZWQgdGV4dCBmaWVsZCB2YXJpYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgU2hhcGUgcmFkaXVzIHZhbHVlIGluIGBweGAgb3IgaW4gcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRleHQtZmllbGQtaGVpZ2h0IEhlaWdodCBvZiBvdXRsaW5lZCB0ZXh0IGZpZWxkIHZhcmlhbnQuIFJlcXVpcmVkIG9ubHkgd2hlbiBgJHJhZGl1c2AgaXMgaW5cbi8vLyAgICAgcGVyY2VudGFnZSB1bml0IGFuZCBpZiB0ZXh0IGZpZWxkIGhhcyBjdXN0b20gaGVpZ2h0LiBEZWZhdWx0cyB0byBgdmFyaWFibGVzLiRoZWlnaHRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJ0bC1yZWZsZXhpdmUgU2V0IHRvIHRydWUgdG8gZmxpcCBzaGFwZSByYWRpdXMgaW4gUlRMIGNvbnRleHQuIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4vLy9cbkBtaXhpbiBvdXRsaW5lLXNoYXBlLXJhZGl1cyhcbiAgJHJhZGl1cyxcbiAgJGRlbnNpdHktc2NhbGU6IHZhcmlhYmxlcy4kZGVuc2l0eS1zY2FsZSxcbiAgJHJ0bC1yZWZsZXhpdmU6IGZhbHNlLFxuICAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGhlaWdodDogZGVuc2l0eS1mdW5jdGlvbnMucHJvcC12YWx1ZShcbiAgICAkZGVuc2l0eS1jb25maWc6IHZhcmlhYmxlcy4kZGVuc2l0eS1jb25maWcsXG4gICAgJGRlbnNpdHktc2NhbGU6ICRkZW5zaXR5LXNjYWxlLFxuICAgICRwcm9wZXJ0eS1uYW1lOiBoZWlnaHQsXG4gICk7XG5cbiAgJHJlc29sdmVkLXJhZGl1czogbGlzdC5udGgoc2hhcGUtZnVuY3Rpb25zLnJlc29sdmUtcGVyY2VudGFnZS1yYWRpdXMoJGhlaWdodCwgc2hhcGUtZnVuY3Rpb25zLnByb3AtdmFsdWUoJHJhZGl1cykpLCAxKTtcblxuICBAaWYgKGxpc3QubGVuZ3RoKHNoYXBlLWZ1bmN0aW9ucy5wcm9wLXZhbHVlKCRyYWRpdXMpKSA+IDEpIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBtYXgtbGluZS1sZW5ndGhcbiAgICBAd2FybiBcIm1kYy10ZXh0LWZpZWxkLW91dGxpbmUtc2hhcGUtcmFkaXVzIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgcmFkaXVzOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hdGVyaWFsLWNvbXBvbmVudHMvbWF0ZXJpYWwtY29tcG9uZW50cy13ZWIvaXNzdWVzLzQxNDBcIjtcbiAgICAvLyBzdHlsZWxpbnQtZW5hYmxlXG4gIH1cblxuICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5zaGFwZS1yYWRpdXMoJHJlc29sdmVkLXJhZGl1cywgJHJ0bC1yZWZsZXhpdmUsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIEBpZiAoJHJlc29sdmVkLXJhZGl1cyA+IG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGgpIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXByb3BlcnR5KHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRwYWRkaW5nLCAwKTtcbiAgICB9XG5cbiAgICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkocGFkZGluZywgJHJlc29sdmVkLXJhZGl1cyArIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcsICRyZXNvbHZlZC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBDU1MgdHJhbnNpdGlvbiBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsJ3MgXCJmbG9hdFwiIGFuaW1hdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZHVyYXRpb24tbXMgLSBEdXJhdGlvbiAoaW4gbXMpIG9mIHRoZSBhbmltYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0aW1pbmctZnVuY3Rpb24gLSBPcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBhbmltYXRpb24gdGltaW5nIGZ1bmN0aW9uLlxuLy8vXG5AbWl4aW4gZmxvYXRpbmctbGFiZWwtZmxvYXQtdHJhbnNpdGlvbigkZHVyYXRpb24tbXMsICR0aW1pbmctZnVuY3Rpb246IG51bGwsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5mbG9hdC10cmFuc2l0aW9uKCRkdXJhdGlvbi1tcywgJHRpbWluZy1mdW5jdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vIFByaXZhdGUgbWl4aW5zXG5cbi8vIEJhc2Ugc2hhcmVkIHN0eWxlc1xuQG1peGluIF9iYXNlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIFNoYXBlXG4gIEBpbmNsdWRlIHNoYXBlLXJhZGl1cyhzbWFsbCwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIENvbG9yc1xuICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGxhYmVsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGluay1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcih2YXJpYWJsZXMuJHBsYWNlaG9sZGVyLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBjYXJldC1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhlbHBlci10ZXh0LW1peGlucy5oZWxwZXItdGV4dC1jb2xvcih2YXJpYWJsZXMuJGhlbHBlci10ZXh0LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGNoYXJhY3Rlci1jb3VudGVyLW1peGlucy5jaGFyYWN0ZXItY291bnRlci1jb2xvcih2YXJpYWJsZXMuJGhlbHBlci10ZXh0LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGljb24tbWl4aW5zLmxlYWRpbmctaWNvbi1jb2xvcih2YXJpYWJsZXMuJGljb24tY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaWNvbi1taXhpbnMudHJhaWxpbmctaWNvbi1jb2xvcih2YXJpYWJsZXMuJGljb24tY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgcHJlZml4LWNvbG9yKHZhcmlhYmxlcy4kYWZmaXgtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgc3VmZml4LWNvbG9yKHZhcmlhYmxlcy4kYWZmaXgtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAvLyBGbG9hdGluZyBMYWJlbFxuICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbF8oJHF1ZXJ5KTtcblxuICAvLyBTdHJ1Y3R1cmFsXG4gIEBpbmNsdWRlIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICAgdmFyaWFibGVzLiRwYWRkaW5nLWhvcml6b250YWwsXG4gICAgMCxcbiAgICAwLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgLy8gZGlzcGxheSBhbmQgYWxpZ24taXRlbXMgYXJlIG5lY2Vzc2FyeSB0byBtYWtlIHRoZSB0ZXh0IGZpZWxkIHBhcnRpY2lwYXRlXG4gICAgLy8gaW4gYmFzZWxpbmUgYWxpZ25tZW50LCBldmVuIHRob3VnaCBzb21lIHZhcmlhbnRzIGFyZSBcImNlbnRlcmVkXCIuIFRob3NlXG4gICAgLy8gdmFyaWFudHMgc2hvdWxkIHVzZSB0aGUgX2Jhc2VsaW5lLWNlbnRlci1hbGlnbmVkKCkgbWl4aW5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBAYWx0ZXJuYXRlICovXG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybSwgY29sb3I7XG4gIH1cbn1cblxuLy8gVGhpcyBtaXhpbiBhZGRzIHN0eWxlcyB0byB2aXN1YWxseSBjZW50ZXIgdGhlIHRleHQgd2l0aGluIHRoZSB0ZXh0IGZpZWxkLlxuLy8gU2libGluZyB0ZXh0IHdpbGwgYWxpZ24gdG8gdGhlIGJhc2VsaW5lIGFuZCBhcHBlYXIgY2VudGVyZWQgbmV4dCB0byB0aGVcbi8vIHRleHQgZmllbGQuXG5AbWl4aW4gX2Jhc2VsaW5lLWNlbnRlci1hbGlnbmVkKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIC8vIEluIG9yZGVyIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRvIHBhcnRpY2lwYXRlIGluIGJhc2VsaW5lIGFsaWdubWVudCxcbiAgICAvLyBpdCBmb2xsb3dzIHRoZXNlIHJ1bGVzIHRvIGRldGVybWluZSB3aGVyZSBpdHMgYmFzZWxpbmUgaXM6XG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2ZsZXgtYmFzZWxpbmVzXG4gICAgLy9cbiAgICAvLyBJbiBvcmRlciB0byBhdm9pZCBsZWFkaW5nIGljb25zIFwiY29udHJvbGxpbmdcIiB0aGUgYmFzZWxpbmUgKHNpbmNlIHRoZXlcbiAgICAvLyBhcmUgdGhlIGZpcnN0IGNoaWxkKSwgZmxleGJveCB3aWxsIGdlbmVyYXRlIGEgYmFzZWxpbmUgZnJvbSBhbnkgY2hpbGRcbiAgICAvLyBmbGV4IGl0ZW1zIHRoYXQgcGFydGljaXBhdGUgaW4gYmFzZWxpbmUgYWxpZ25tZW50LlxuICAgIC8vXG4gICAgLy8gSWNvbnMgYXJlIHNldCB0byBcImFsaWduLXNlbGY6IGNlbnRlclwiLCB3aGlsZSBhbGwgb3RoZXIgY2hpbGRyZW4gYXJlXG4gICAgLy8gYWxpZ25lZCB0byBiYXNlbGluZS4gVGhlIG5leHQgcHJvYmxlbSBpcyBkZWNpZGluZyB3aGljaCBjaGlsZCBpc1xuICAgIC8vIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBiYXNlbGluZS5cbiAgICAvL1xuICAgIC8vIEFjY29yZGluZyB0byBzcGVjLCB0aGUgaXRlbSB3aXRoIHRoZSBsYXJnZXN0IGRpc3RhbmNlIGJldHdlZW4gaXRzXG4gICAgLy8gYmFzZWxpbmUgYW5kIHRoZSBlZGdlIG9mIHRoZSBjcm9zcyBheGlzIGlzIHBsYWNlZCBmbHVzaCB3aXRoIHRoYXQgZWRnZSxcbiAgICAvLyBtYWtpbmcgaXQgdGhlIGJhc2VsaW5lIG9mIHRoZSBjb250YWluZXIuXG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1mbGV4Ym94LTEvI2Jhc2VsaW5lLXBhcnRpY2lwYXRpb25cbiAgICAvL1xuICAgIC8vIEZvciB0aGUgZmlsbGVkIHZhcmlhbnQsIHRoZSBwc2V1ZG8gOjpiZWZvcmUgc3RydXQgaXMgdGhlIFwibGFyZ2VzdFwiXG4gICAgLy8gY2hpbGQgc2luY2UgdGhlIGlucHV0IGhhcyBhIGhlaWdodCBvZiAyOHB4IGFuZCB0aGUgc3RydXQgaXMgNDBweC4gV2VcbiAgICAvLyBjYW4gZW11bGF0ZSBjZW50ZXIgYWxpZ25tZW50IGFuZCBmb3JjZSB0aGUgYmFzZWxpbmUgdG8gdXNlIHRoZSBpbnB1dFxuICAgIC8vIHRleHQgYnkgbWFraW5nIHRoZSBpbnB1dCB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGNvbnRhaW5lciBhbmQgcmVtb3ZpbmdcbiAgICAvLyB0aGUgYmFzZWxpbmUgc3RydXQuXG5cbiAgICAvLyBJRTExIGRvZXMgbm90IHJlc3BlY3QgdGhpcywgYW5kIG1ha2VzIHRoZSBsZWFkaW5nIGljb24gKGlmIHByZXNlbnQpIHRoZVxuICAgIC8vIGJhc2VsaW5lLiBUaGlzIGlzIGEgZ2FwIHdpdGggSUUxMSB0aGF0IHdlIGhhdmUgYWNjZXB0ZWQuXG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGhvcml6b250YWwgcGFkZGluZyB0byB0aGUgdGV4dCBmaWVsZFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIC0gbGVmdCBhbmQgcmlnaHQtc2lkZSBwYWRkaW5nXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uIC0gbGVmdC1zaWRlIHBhZGRpbmcgd2hlbiBhIGxlYWRpbmdcbi8vLyAgICAgaWNvbiBpcyBwcmVzZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodC13aXRoLXRyYWlsaW5nLWljb24gLSByaWdodC1zaWRlIHBhZGRpbmcgd2hlbiBhXG4vLy8gICAgIHRyYWlsaW5nIGljb24gaXMgcHJlc2VudFxuQG1peGluIHBhZGRpbmctaG9yaXpvbnRhbF8oXG4gICRwYWRkaW5nLFxuICAkbGVmdC13aXRoLWxlYWRpbmctaWNvbixcbiAgJHJpZ2h0LXdpdGgtdHJhaWxpbmctaWNvbixcbiAgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKClcbikge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBwYWRkaW5nOiAwICRwYWRkaW5nO1xuXG4gICAgJi5tZGMtdGV4dC1maWVsZC0td2l0aC1sZWFkaW5nLWljb24ge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uLFxuICAgICAgICAkcGFkZGluZ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAmLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgICRwYWRkaW5nLFxuICAgICAgICAkcmlnaHQtd2l0aC10cmFpbGluZy1pY29uXG4gICAgICApO1xuICAgIH1cblxuICAgICYubWRjLXRleHQtZmllbGQtLXdpdGgtbGVhZGluZy1pY29uLm1kYy10ZXh0LWZpZWxkLS13aXRoLXRyYWlsaW5nLWljb24ge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcHJvcGVydHkoXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgICRsZWZ0LXdpdGgtbGVhZGluZy1pY29uLFxuICAgICAgICAkcmlnaHQtd2l0aC10cmFpbGluZy1pY29uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZmxvYXRpbmctbGFiZWxfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRmlsbGVkXG5cbkBtaXhpbiBfZmlsbGVkKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIFRleHQgRmllbGQgaW50ZW50aW9uYWxseSBvbWl0cyBwcmVzcyByaXBwbGUsIHNvIGVhY2ggc3RhdGUgbmVlZHMgdG8gYmUgc3BlY2lmaWVkIGluZGl2aWR1YWxseS5cbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5zdGF0ZXMtYmFzZS1jb2xvcih2YXJpYWJsZXMuJGluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1ob3Zlci1vcGFjaXR5KHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGhvdmVyKSwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQpO1xuICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN0YXRlcy1mb2N1cy1vcGFjaXR5KHJpcHBsZS1mdW5jdGlvbnMuc3RhdGVzLW9wYWNpdHkodmFyaWFibGVzLiRpbmstY29sb3IsIGZvY3VzKSwgJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiB2YXJpYWJsZXMuJHJpcHBsZS10YXJnZXQpO1xuXG4gIEBpbmNsdWRlIGhlaWdodCh2YXJpYWJsZXMuJGhlaWdodCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSB0eXBvZ3JhcGh5LW1peGlucy5iYXNlbGluZS10b3AodmFyaWFibGVzLiRmaWxsZWQtYmFzZWxpbmUtdG9wLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZpbGwtY29sb3IodmFyaWFibGVzLiRiYWNrZ3JvdW5kLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaWRsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGJvdHRvbS1saW5lLWhvdmVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxpbmUtcmlwcGxlLWNvbG9yXyhwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIF9maWxsZWQtZmxvYXRpbmctbGFiZWwoJHF1ZXJ5KTtcbn1cblxuQG1peGluIF9maWxsZWQtZmxvYXRpbmctbGFiZWwoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCB2YXJpYWJsZXMuJGxhYmVsLW9mZnNldCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLmZsb2F0LXBvc2l0aW9uKHZhcmlhYmxlcy4kbGFiZWwtcG9zaXRpb24teSwgJHF1ZXJ5OiAkcXVlcnkpO1xufVxuXG4vLyBGaWxsZWQgdmFyaWFudCB3aXRoIG5vIGxhYmVsLiBUaGlzIHZhcmlhbnQgY2VudGVycyB0aGUgdGV4dCBlbGVtZW50cyBhbmRcbi8vIGhpZGVzIHRoZSBsYWJlbCBhbmQgaXMgdXNlZCB3aXRoIHRoZXJlIGlzIGV4cGxpY2l0bHkgbm8gbGFiZWwgcHJvdmlkZWQgb3Jcbi8vIHdoZW4gdGhlIGhlaWdodCBvZiB0aGUgdGV4dCBmaWVsZCBpcyB0b28gc21hbGwgZm9yIGEgbGFiZWwgdG8gYmUgYWxsb3dlZC5cbkBtaXhpbiBfZmlsbGVkLW5vLWxhYmVsKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIF9iYXNlbGluZS1jZW50ZXItYWxpZ25lZCgkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIC8vIFJlbW92ZSBiYXNlbGluZS10b3Agc3RydXRcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE91dGxpbmVkXG5cbkBtaXhpbiBvdXRsaW5lZF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgb3V0bGluZWQtaGVpZ2h0KFxuICAgICRoZWlnaHQ6IHZhcmlhYmxlcy4kaGVpZ2h0LFxuICAgICRrZXlmcmFtZS1zdWZmaXg6IHRleHQtZmllbGQtb3V0bGluZWQsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbiAgQGluY2x1ZGUgX2Jhc2VsaW5lLWNlbnRlci1hbGlnbmVkKCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1jb2xvcih2YXJpYWJsZXMuJG91dGxpbmVkLWlkbGUtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGhvdmVyLW91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1ob3Zlci1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHByaW1hcnksICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgb3V0bGluZS1zaGFwZS1yYWRpdXMoc21hbGwsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5ub3RjaC1vZmZzZXQobm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kYm9yZGVyLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcbiAgQGluY2x1ZGUgX291dGxpbmVkLWZsb2F0aW5nLWxhYmVsKCRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIC8vIFRPRE8oYi8xNTQzNDk3MzUpOiBJbnZlc3RpZ2F0ZSB0aGUgbmVjY2Vzc2l0eSBvZiB0aGVzZSBzdHlsZXNcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgLy8gRkYgYWRkcyB1bndhbnRlZCBib3JkZXIgaW4gSEMgbW9kZSBvbiB3aW5kb3dzLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9faWNvbiB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG4gICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMubm90Y2gtb2Zmc2V0KHZhcmlhYmxlcy4kb3V0bGluZWQtc3Ryb2tlLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIF9vdXRsaW5lZC1mbG9hdGluZy1sYWJlbCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdGF0ZXNcblxuQG1peGluIGRpc2FibGVkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBpbmstY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtaW5rLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLXBsYWNlaG9sZGVyLWluay1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBsYWJlbC1pbmstY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaGVscGVyLXRleHQtbWl4aW5zLmhlbHBlci10ZXh0LWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWhlbHBlci10ZXh0LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGNoYXJhY3Rlci1jb3VudGVyLW1peGlucy5jaGFyYWN0ZXItY291bnRlci1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1oZWxwZXItdGV4dC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBpY29uLW1peGlucy5sZWFkaW5nLWljb24tY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtaWNvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBpY29uLW1peGlucy50cmFpbGluZy1pY29uLWNvbG9yXyh2YXJpYWJsZXMuJGRpc2FibGVkLWljb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgX3ByZWZpeC1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWFmZml4LWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIF9zdWZmaXgtY29sb3IodmFyaWFibGVzLiRkaXNhYmxlZC1hZmZpeC1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIC8vIE1peGlucyB0aGF0IGFyZSBvayB0byBpbmNsdWRlIHNpbmNlIHRoZXkgdGFyZ2V0IHZhcmlhbnQtc3BlY2lmaWMgZWxlbWVudHNcbiAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKHZhcmlhYmxlcy4kZGlzYWJsZWQtYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1kaXNhYmxlZC1ib3JkZXIsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyLWNvbG9yXyhHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGxhYmVsLWluay1jb2xvcl8oR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBoZWxwZXItdGV4dC1taXhpbnMuaGVscGVyLXRleHQtY29sb3JfKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgY2hhcmFjdGVyLWNvdW50ZXItbWl4aW5zLmNoYXJhY3Rlci1jb3VudGVyLWNvbG9yXyhHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGljb24tbWl4aW5zLmxlYWRpbmctaWNvbi1jb2xvcl8oR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBpY29uLW1peGlucy50cmFpbGluZy1pY29uLWNvbG9yXyhHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIF9wcmVmaXgtY29sb3IoR3JheVRleHQsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBfc3VmZml4LWNvbG9yKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICAvLyBNaXhpbnMgdGhhdCBhcmUgb2sgdG8gaW5jbHVkZSBzaW5jZSB0aGV5IHRhcmdldCB2YXJpYW50LXNwZWNpZmljIGVsZW1lbnRzXG4gICAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3JfKEdyYXlUZXh0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5jb2xvcihHcmF5VGV4dCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9kaXNhYmxlZC1maWxsZWQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZmlsbC1jb2xvcl8odmFyaWFibGVzLiRkaXNhYmxlZC1iYWNrZ3JvdW5kLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbkBtaXhpbiBpbnZhbGlkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBob3Zlci1ib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGxpbmUtcmlwcGxlLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgbGFiZWwtY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBoZWxwZXItdGV4dC1taXhpbnMuaGVscGVyLXRleHQtdmFsaWRhdGlvbi1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGNhcmV0LWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgaWNvbi1taXhpbnMudHJhaWxpbmctaWNvbi1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gTWl4aW5zIHRoYXQgYXJlIG9rIHRvIGluY2x1ZGUgc2luY2UgdGhleSB0YXJnZXQgdmFyaWFudC1zcGVjaWZpYyBlbGVtZW50c1xuICBAaW5jbHVkZSBib3R0b20tbGluZS1jb2xvcih2YXJpYWJsZXMuJGVycm9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtY29sb3IodmFyaWFibGVzLiRlcnJvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZm9jdXNlZC1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kZXJyb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICArIC5tZGMtdGV4dC1maWVsZC1oZWxwZXItbGluZSAubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb2N1c2VkXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBsYWJlbC1jb2xvcih2YXJpYWJsZXMuJGZvY3VzZWQtbGFiZWwtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcblxuICAvLyBNaXhpbnMgdGhhdCBhcmUgb2sgdG8gaW5jbHVkZSBzaW5jZSB0aGV5IHRhcmdldCB2YXJpYW50LXNwZWNpZmljIGVsZW1lbnRzXG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuc3Ryb2tlLXdpZHRoKHZhcmlhYmxlcy4kb3V0bGluZWQtc3Ryb2tlLXdpZHRoLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgKyAubWRjLXRleHQtZmllbGQtaGVscGVyLWxpbmUgLm1kYy10ZXh0LWZpZWxkLWhlbHBlci10ZXh0Om5vdCgubWRjLXRleHQtZmllbGQtaGVscGVyLXRleHQtLXZhbGlkYXRpb24tbXNnKSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4vLyBJY29uc1xuXG5AbWl4aW4gd2l0aC1sZWFkaW5nLWljb25fKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gICRpY29uLXBhZGRpbmc6IGljb24tdmFyaWFibGVzLiRsZWFkaW5nLWljb24tcGFkZGluZy1sZWZ0ICsgaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIGljb24tdmFyaWFibGVzLiRsZWFkaW5nLWljb24tcGFkZGluZy1yaWdodDtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtbWF4LXdpZHRoKCRpY29uLXBhZGRpbmcsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLXBvc2l0aW9uKGxlZnQsICRpY29uLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxuXG4gICR0cnVuY2F0aW9uOiAkaWNvbi1wYWRkaW5nICsgdmFyaWFibGVzLiRwYWRkaW5nLWhvcml6b250YWw7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgIEBpbmNsdWRlIF90cnVuY2F0ZS1mbG9hdGluZy1sYWJlbC1mbG9hdGVkLW1heC13aWR0aCgkdHJ1bmNhdGlvbiwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBfd2l0aC10cmFpbGluZy1pY29uKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICR0cnVuY2F0aW9uOiBpY29uLXZhcmlhYmxlcy4kdHJhaWxpbmctaWNvbi1wYWRkaW5nLWxlZnQgKyBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1yaWdodCArIHZhcmlhYmxlcy4kbGFiZWwtb2Zmc2V0O1xuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIF90cnVuY2F0ZS1mbG9hdGluZy1sYWJlbC1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxuXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICBAaW5jbHVkZSBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtZmxvYXRlZC1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gX3dpdGgtbGVhZGluZy1hbmQtdHJhaWxpbmctaWNvbigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkbGVhZGluZy1pY29uOiBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctbGVmdCArIGljb24tdmFyaWFibGVzLiRpY29uLXNpemUgKyBpY29uLXZhcmlhYmxlcy4kbGVhZGluZy1pY29uLXBhZGRpbmctcmlnaHQ7XG4gICR0cmFpbGluZy1pY29uOiBpY29uLXZhcmlhYmxlcy4kdHJhaWxpbmctaWNvbi1wYWRkaW5nLWxlZnQgKyBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1yaWdodDtcbiAgJHRydW5jYXRpb246ICRsZWFkaW5nLWljb24gKyAkdHJhaWxpbmctaWNvbjtcblxuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtbWF4LXdpZHRoKCR0cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cblxuICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgQGluY2x1ZGUgX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLWZsb2F0ZWQtbWF4LXdpZHRoKCR0cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIG91dGxpbmVkLXdpdGgtbGVhZGluZy1pY29uXygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBSZXN0aW5nIGxhYmVsIHBvc2l0aW9uXG4gICRpY29uLXBhZGRpbmc6IGljb24tdmFyaWFibGVzLiRsZWFkaW5nLWljb24tcGFkZGluZy1sZWZ0ICsgaWNvbi12YXJpYWJsZXMuJGljb24tc2l6ZSArIGljb24tdmFyaWFibGVzLiRsZWFkaW5nLWljb24tcGFkZGluZy1yaWdodDtcbiAgJGxlZnQtc3BhY2luZzogJGljb24tcGFkZGluZyAtIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGg7XG5cbiAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1wb3NpdGlvbihsZWZ0LCAkbGVmdC1zcGFjaW5nKTtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RjaCB3aWR0aFxuICAkbm90Y2gtdHJ1bmNhdGlvbjogJGljb24tcGFkZGluZyArIG5vdGNoZWQtb3V0bGluZS12YXJpYWJsZXMuJGxlYWRpbmctd2lkdGg7XG4gIEBpbmNsdWRlIF90cnVuY2F0ZS1ub3RjaGVkLW91dGxpbmUtbWF4LXdpZHRoKCRub3RjaC10cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gRmxvYXRpbmcgbGFiZWwgcG9zaXRpb24gYW5kIGFuaW1hdGlvblxuICBAaW5jbHVkZSBfb3V0bGluZWQtd2l0aC1sZWFkaW5nLWljb24tZmxvYXRpbmctbGFiZWwtcG9zaXRpb24tYW5pbWF0aW9uKFxuICAgICRoZWlnaHQ6IHZhcmlhYmxlcy4kaGVpZ2h0LFxuICAgICRrZXlmcmFtZS1zdWZmaXg6IHRleHQtZmllbGQtb3V0bGluZWQtbGVhZGluZy1pY29uLFxuICAgICRxdWVyeTogJHF1ZXJ5XG4gICk7XG59XG5cbi8vL1xuLy8vIEFwcGxpZWQgdG8gdGhlIG91dGxpbmVkIHRleHQgZmllbGQgd2l0aCBhIHRyYWlsaW5nIGljb25cbi8vL1xuQG1peGluIF9vdXRsaW5lZC13aXRoLXRyYWlsaW5nLWljb24oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gUmVzdGluZyBsYWJlbCBwb3NpdGlvblxuICAkaWNvbi1wYWRkaW5nOiBpY29uLXZhcmlhYmxlcy4kdHJhaWxpbmctaWNvbi1wYWRkaW5nLWxlZnQgKyBpY29uLXZhcmlhYmxlcy4kaWNvbi1zaXplICsgaWNvbi12YXJpYWJsZXMuJHRyYWlsaW5nLWljb24tcGFkZGluZy1yaWdodDtcbiAgLy8gTm90Y2ggd2lkdGhcbiAgJG5vdGNoLXRydW5jYXRpb246ICRpY29uLXBhZGRpbmcgKyBub3RjaGVkLW91dGxpbmUtdmFyaWFibGVzLiRsZWFkaW5nLXdpZHRoO1xuXG4gIEBpbmNsdWRlIF90cnVuY2F0ZS1ub3RjaGVkLW91dGxpbmUtbWF4LXdpZHRoKCRub3RjaC10cnVuY2F0aW9uLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFRydW5jYXRlcyB0aGUgbWF4LXdpZHRoIG9mIHRoZSBub3RjaGVkIG91dGxpbmUgYnkgdGhlIGdpdmVuIGFtb3VudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cnVuY2F0aW9uIC0gQW1vdW50IHRvIHRydW5jYXRlIHRoZSBub3RjaGVkIG91dGxpbmUgbWF4LXdpZHRoXG4vLy9cbkBtaXhpbiBfdHJ1bmNhdGUtbm90Y2hlZC1vdXRsaW5lLW1heC13aWR0aCgkdHJ1bmNhdGlvbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgbm90Y2hlZC1vdXRsaW5lLW1peGlucy5ub3RjaC1tYXgtd2lkdGgoY2FsYygxMDAlIC0gI3skdHJ1bmNhdGlvbn0pLCAkcXVlcnk6ICRxdWVyeSk7XG59XG5cbi8vL1xuLy8vIFRydW5jYXRlcyB0aGUgbWF4LXdpZHRoIG9mIHRoZSBmbG9hdGluZyBsYWJlbCBieSB0aGUgZ2l2ZW4gYW1vdW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRydW5jYXRpb24gLSBBbW91bnQgdG8gdHJ1bmNhdGUgdGhlIGZsb2F0aW5nIGxhYmVsIG1heC13aWR0aFxuLy8vXG5AbWl4aW4gX3RydW5jYXRlLWZsb2F0aW5nLWxhYmVsLW1heC13aWR0aCgkdHJ1bmNhdGlvbiwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLm1heC13aWR0aChjYWxjKDEwMCUgLSAjeyR0cnVuY2F0aW9ufSksICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8vXG4vLy8gVHJ1bmNhdGVzIHRoZSBtYXgtd2lkdGggb2YgdGhlIGZsb2F0aW5nIGxhYmVsIGJ5IHRoZSBnaXZlbiBhbW91bnQgd2hpbGUgc2NhbGluZyBieSB0aGUgZ2l2ZW4gc2NhbGUgdmFsdWVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJ1bmNhdGlvbiAtIEFtb3VudCB0byB0cnVuY2F0ZSB0aGUgZmxvYXRpbmcgbGFiZWwgbWF4LXdpZHRoXG4vLy9cbkBtaXhpbiBfdHJ1bmNhdGUtZmxvYXRpbmctbGFiZWwtZmxvYXRlZC1tYXgtd2lkdGgoJHRydW5jYXRpb24sICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRzY2FsZTogZmxvYXRpbmctbGFiZWwtdmFyaWFibGVzLiRmbG9hdC1zY2FsZTtcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLm1heC13aWR0aChjYWxjKDEwMCUgLyAjeyRzY2FsZX0gLSAjeyR0cnVuY2F0aW9ufSAvICN7JHNjYWxlfSksICRxdWVyeTogJHF1ZXJ5KTtcbn1cblxuLy8gRnVsbCBXaWR0aFxuQG1peGluIGZ1bGx3aWR0aF8oJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgYm90dG9tLWxpbmUtY29sb3IodmFyaWFibGVzLiRib3R0b20tbGluZS1pZGxlLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGRpc2FibGVkLWJvdHRvbS1saW5lLWNvbG9yKHZhcmlhYmxlcy4kYm90dG9tLWxpbmUtaWRsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLXRleHRhcmVhKSB7XG4gICAgQGluY2x1ZGUgX2ZpbGxlZC1uby1sYWJlbCgkcXVlcnkpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcbiAgICBAaW5jbHVkZSBmaWxsLWNvbG9yKHRyYW5zcGFyZW50LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgJi5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0YXJlYVxuXG5AbWl4aW4gdGV4dGFyZWFfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIC8vIE5vdGU6IFRoZSByZWZhY3RvciB0byBhZGQgdGhlIGZpbGxlZCB0ZXh0YXJlYSBzdHlsZSB3aWxsIHJlc3VsdCBpbiBhIGxvdCBvZiB0aGUgc3BlY2lmaWNpdHkgaXNzdWVzIHRoYXQgdGhlXG4gIC8vIHRleHRhcmVhIGhhcyBiZWluZyByZXNvbHZlZCBieSB1c2luZyB0aGUgc2FtZSAtLW91dGxpbmVkIHZhcmlhbnQgY2xhc3MgYXMgdGhlIHRleHQgZmllbGQuXG4gIEBpbmNsdWRlIG91dGxpbmUtY29sb3IodmFyaWFibGVzLiRvdXRsaW5lZC1pZGxlLWJvcmRlciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBob3Zlci1vdXRsaW5lLWNvbG9yKHZhcmlhYmxlcy4kb3V0bGluZWQtaG92ZXItYm9yZGVyLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZvY3VzZWQtb3V0bGluZS1jb2xvcihwcmltYXJ5LCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIG91dGxpbmUtc2hhcGUtcmFkaXVzKHNtYWxsLCAkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzLWJhc2UtY29sb3IodHJhbnNwYXJlbnQsICRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogdmFyaWFibGVzLiRyaXBwbGUtdGFyZ2V0KTtcbiAgQGluY2x1ZGUgZmlsbC1jb2xvcih0cmFuc3BhcmVudCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBjaGFyYWN0ZXItY291bnRlci1taXhpbnMuY2hhcmFjdGVyLWNvdW50ZXItcG9zaXRpb24oMTZweCwgMTNweCwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBfdGV4dGFyZWEtZmxvYXRpbmctbGFiZWwoJHF1ZXJ5KTtcblxuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXR5cG9ncmFwaHk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgdHlwb2dyYXBoeSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDsgLy8gc2VlIGJlbG93IGZvciBleHBsYW5hdGlvblxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAvLyBUb3AgbWFyZ2luIGlzIHVzZWQgdG8ga2VlcCB0aGUgdGV4dCBmcm9tIG92ZXJsYXBwaW5nIHRoZSBmbG9hdGluZyBsYWJlbFxuICAgICAgLy8gd2hlbiBzY3JvbGxpbmdcbiAgICAgIG1hcmdpbi10b3A6IHZhcmlhYmxlcy4kdGV4dGFyZWEtaW5wdXQtbWFyZ2luLXRvcDtcbiAgICAgIC8vIEJvdHRvbSBhbmQgbGVmdC9yaWdodCBtYXJnaW5zIGFyZSB1c2VkIHRvIGFkZCBzcGFjZSBmb3IgdGhlIHJlc2l6ZSBoYW5kbGVcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcmlhYmxlcy4kdGV4dGFyZWEtaW5wdXQtaGFuZGxlLW1hcmdpbjtcbiAgICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChtYXJnaW4sIHJpZ2h0LCB2YXJpYWJsZXMuJHRleHRhcmVhLWlucHV0LWhhbmRsZS1tYXJnaW4pO1xuICAgICAgLy8gVGV4dGFyZWEgaGFzIGhvcml6b250YWwgcGFkZGluZyBpbnN0ZWFkIG9mIHRoZSBjb250YWluZXIuIFRoaXMgYWxsb3dzIHRoZVxuICAgICAgLy8gcmVzaXplIGhhbmRsZSB0byBleHRlbmQgdG8gdGhlIGVkZ2Ugb2YgdGhlIGNvbnRhaW5lci5cbiAgICAgIHBhZGRpbmc6IDAgdmFyaWFibGVzLiRwYWRkaW5nLWhvcml6b250YWwgdmFyaWFibGVzLiR0ZXh0YXJlYS1pbnB1dC1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC10eXBvZ3JhcGh5KSB7XG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbTsgLy8gMjhzcFxuICAgIH1cbiAgfVxuXG4gIC5tZGMtdGV4dC1maWVsZC1jaGFyYWN0ZXItY291bnRlciArIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDsgLy8gTGVhdmVzIHNwYWNlIGZvciBjaGFyYWN0ZXIgY291bnRlciBpZiBpdCBleGlzdHMuXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF90ZXh0YXJlYS1mbG9hdGluZy1sYWJlbCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICAvLyBSZXN0aW5nIGxhYmVsIHBvc2l0aW9uXG4gIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtcG9zaXRpb24obGVmdCwgbm90Y2hlZC1vdXRsaW5lLXZhcmlhYmxlcy4kcGFkZGluZyk7XG5cbiAgICAgIHRvcDogMTdweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlc2V0cyBjZW50ZXIgYWxpZ25pbmcgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAgICY6bm90KC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlKSB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZsb2F0aW5nIGxhYmVsIHBvc2l0aW9uXG4gIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuZmxvYXRpbmctbGFiZWwtZmxvYXQtcG9zaXRpb24odmFyaWFibGVzLiR0ZXh0YXJlYS1sYWJlbC1wb3NpdGlvbi15LCAkcXVlcnk6ICRxdWVyeSk7XG5cbiAgLy8gRmxvYXRpbmcgbGFiZWwgYW5pbWF0aW9uXG4gIEBpbmNsdWRlIGZsb2F0aW5nLWxhYmVsLW1peGlucy5zaGFrZS1hbmltYXRpb24odGV4dGFyZWEsICRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmxvYXRpbmctbGFiZWwtbWl4aW5zLnNoYWtlLWtleWZyYW1lcyhcbiAgICB0ZXh0YXJlYSxcbiAgICB2YXJpYWJsZXMuJHRleHRhcmVhLWxhYmVsLXBvc2l0aW9uLXksXG4gICAgMCUsXG4gICAgJHF1ZXJ5OiAkcXVlcnlcbiAgKTtcbn1cblxuLy8gVGV4dCwgUHJlZml4IGFuZCBTdWZmaXhcblxuLy8gQ29tbW9uIHN0eWxlcyBmb3IgdGhlIHRleHQgb2YgdGhlIHRleHQgZmllbGQsIGluY2x1ZGluZyB0aGUgcHJlZml4LCBzdWZmaXgsXG4vLyBhbmQgaW5wdXQuXG5AbWl4aW4gX3RleHQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtYW5pbWF0aW9uOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGFuaW1hdGlvbik7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC8vIEV4Y2x1ZGUgc2V0dGluZyBsaW5lLWhlaWdodCB0byBrZWVwIGNhcmV0ICh0ZXh0IGN1cnNvcikgc2FtZSBoZWlnaHQgYXMgdGhlIGlucHV0IHRleHQgaW4gaU9TIGJyb3dzZXIuXG4gIEBpbmNsdWRlIHR5cG9ncmFwaHktbWl4aW5zLnR5cG9ncmFwaHkoc3VidGl0bGUxLCAkZXhjbHVkZS1wcm9wczogKGxpbmUtaGVpZ2h0KSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBoZWlnaHQ6IHZhcmlhYmxlcy4kaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLnRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIH1cbn1cblxuQG1peGluIF9pbnB1dCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBfdGV4dCgkcXVlcnk6ICRxdWVyeSk7XG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDsgLy8gRml4ZXMgZmxleCBpc3N1ZXMgb24gRmlyZWZveFxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gUmVtb3ZlIGJ1aWx0LWluIHRyYWlsaW5nIGNsZWFyIGljb24gb24gSUUxMVxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcmVkIG91dGxpbmUgb24gZmlyZWZveFxuICAgICY6aW52YWxpZCB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC8vIEtlZXAgQ2hyb21lIGF1dG9maWxsIGJlaGluZCB0aGUgbm90Y2hlZCBvdXRsaW5lXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9pbnB1dC1wbGFjZWhvbGRlcigkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogZnVuY3Rpb25zLnRyYW5zaXRpb24ob3BhY2l0eSwgJGR1cmF0aW9uOiA2N21zKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQG1peGluIF9pbnB1dC1wbGFjZWhvbGRlci12aXNpYmxlKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWFuaW1hdGlvbjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBhbmltYXRpb24pO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDExMG1zO1xuICB9XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWl4aW4gX2FmZml4KCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIF90ZXh0KCRxdWVyeTogJHF1ZXJ5KTtcbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbkBtaXhpbiBfYWZmaXgtdmlzaWJsZSgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBtaXhpbiBfcHJlZml4KCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIEBpbmNsdWRlIHJ0bC1taXhpbnMucmVmbGV4aXZlLWJveChwYWRkaW5nLCByaWdodCwgdmFyaWFibGVzLiRwcmVmaXgtcGFkZGluZyk7XG4gIH1cbn1cblxuQG1peGluIF9wcmVmaXgtZW5kLWFsaWduZWQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KHBhZGRpbmcsIHJpZ2h0LCB2YXJpYWJsZXMuJHByZWZpeC1lbmQtYWxpZ25lZC1wYWRkaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gX3N1ZmZpeCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJlZmxleGl2ZS1ib3gocGFkZGluZywgbGVmdCwgdmFyaWFibGVzLiRzdWZmaXgtcGFkZGluZyk7XG4gIH1cbn1cblxuQG1peGluIF9zdWZmaXgtZW5kLWFsaWduZWQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5yZWZsZXhpdmUtYm94KHBhZGRpbmcsIGxlZnQsIHZhcmlhYmxlcy4kc3VmZml4LWVuZC1hbGlnbmVkLXBhZGRpbmcpO1xuICB9XG59XG5cbi8vIEVuZCBhbGlnbmVkXG5AbWl4aW4gZW5kLWFsaWduZWRfKCRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuXG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IHRleHQtYWxpZ246IGVuZFxuICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRm9yY2VzIGlucHV0LCBwcmVmaXgsIGFuZCBzdWZmaXggdG8gYmUgTFRSIHdoZW4gaW4gYW4gUlRMIGVudmlyb25tZW50LiBPdGhlclxuLy8gZWxlbWVudHMgc3VjaCBhcyBsYWJlbHMgYW5kIGljb25zIHdpbGwgcmVtYWluIFJUTC5cbkBtaXhpbiBfbHRyLXRleHQoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgQGluY2x1ZGUgcnRsLW1peGlucy5ydGwge1xuICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCxcbiAgICAgIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIGRpcmVjdGlvbjogbHRyO1xuICAgICAgfVxuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1wcmVmaXgge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXJpYWJsZXMuJHByZWZpeC1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1zdWZmaXgge1xuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyaWFibGVzLiRzdWZmaXgtcGFkZGluZztcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBOZWVkIHRvIHNwZWNpZnkgYW4gb3JkZXIgZm9yIGFsbCBlbGVtZW50cyBzaW5jZSBpY29ucyBtYWludGFpbiB0aGVpclxuICAgICAgLy8gb3JpZ2luYWwgcG9zaXRpb25zLiBXZSBjYW4ndCBqdXN0IHJldmVyc2UgdGhlIGNvbnRhaW5lci5cbiAgICAgIC5tZGMtdGV4dC1maWVsZF9faWNvbi0tbGVhZGluZyB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1zdWZmaXgge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgfVxuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1wcmVmaXgge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19pY29uLS10cmFpbGluZyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JjZXMgaW5wdXQsIHByZWZpeCwgYW5kIHN1ZmZpeCB0aGF0IGFyZSBhbHJlYWR5IGZvcmNlZCB0byBMVFIgdG8gYWxzbyBiZVxuLy8gZW5kLWFsaWduZWQuIFRoaXMgbWl4aW4gc2hvdWxkIGJlIHVzZWQgYWxvbmdzaWRlIHRoZSBzdHlsZXMgcHJvdmlkZWQgaW5cbi8vIF9sdHItdGV4dCgpLlxuQG1peGluIF9sdHItdGV4dC1lbmQtYWxpZ25lZCgkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBAaW5jbHVkZSBydGwtbWl4aW5zLnJ0bCB7XG4gICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgLy8gSUUxMSBkb2VzIG5vdCBzdXBwb3J0IHRleHQtYWxpZ246IGVuZCwgc28gd2UgbmVlZCB0byBkdXBsaWNhdGVcbiAgICAgICAgLy8gdGhlIExUUiBlbmQtYWxpZ25lZCBzdHlsZSBoZXJlLlxuICAgICAgICAvKiBAbm9mbGlwICovXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAubWRjLXRleHQtZmllbGRfX2FmZml4LS1wcmVmaXgge1xuICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDAgcHJvdmlkZWQgYnkgX2x0ci10ZXh0IG1peGluXG4gICAgICAgIC8qIEBub2ZsaXAgKi9cbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyaWFibGVzLiRwcmVmaXgtZW5kLWFsaWduZWQtcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tc3VmZml4IHtcbiAgICAgICAgLyogQG5vZmxpcCAqL1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcmlhYmxlcy4kc3VmZml4LWVuZC1hbGlnbmVkLXBhZGRpbmc7XG4gICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDAgcHJvdmlkZWQgYnkgX2x0ci10ZXh0IG1peGluXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbWl6YXRpb25cblxuQG1peGluIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXItY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1zZWxlY3Rvcl8ge1xuICAgICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZpbGwtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCksICRhZGRBbHRlcm5hdGU6IGZhbHNlKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIEBpZiAoJGFkZEFsdGVybmF0ZSkge1xuICAgICAgLyogQGFsdGVybmF0ZSAqL1xuICAgIH1cbiAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChiYWNrZ3JvdW5kLWNvbG9yLCAkY29sb3IpO1xuICB9XG59XG5cbkBtaXhpbiBib3R0b20tbGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWxpbmUtcmlwcGxlIHtcbiAgICBAaW5jbHVkZSBsaW5lLXJpcHBsZS1taXhpbnMuaW5hY3RpdmUtY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWJvdHRvbS1saW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAmOmhvdmVyIC5tZGMtbGluZS1yaXBwbGUge1xuICAgIEBpbmNsdWRlIGxpbmUtcmlwcGxlLW1peGlucy5pbmFjdGl2ZS1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gbGluZS1yaXBwbGUtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLm1kYy1saW5lLXJpcHBsZSB7XG4gICAgQGluY2x1ZGUgbGluZS1yaXBwbGUtbWl4aW5zLmFjdGl2ZS1jb2xvcigkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItb3V0bGluZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAmOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOmhvdmVyIHtcbiAgICAubWRjLW5vdGNoZWQtb3V0bGluZSB7XG4gICAgICBAaW5jbHVkZSBub3RjaGVkLW91dGxpbmUtbWl4aW5zLmNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9jdXNlZC1vdXRsaW5lLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICYubWRjLXRleHQtZmllbGQtLWZvY3VzZWQge1xuICAgIEBpbmNsdWRlIG5vdGNoZWQtb3V0bGluZS1taXhpbnMuY29sb3IoJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuQG1peGluIGxhYmVsLWluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBmbG9hdGluZy1sYWJlbC1taXhpbnMuaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBfcHJlZml4LWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgLm1kYy10ZXh0LWZpZWxkX19hZmZpeC0tcHJlZml4IHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGNvbG9yLCAkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX3N1ZmZpeC1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgIC5tZGMtdGV4dC1maWVsZF9fYWZmaXgtLXN1ZmZpeCB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChjb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2VsZWN0b3JzXG5cbkBtaXhpbiByZXF1aXJlZC1sYWJlbC1hc3Rlcmlza18oKSB7XG4gIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQgfiB7XG4gICAgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIsXG4gICAgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbDo6YWZ0ZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlci1zZWxlY3Rvcl8ge1xuICAvLyBHU1Mgd2lsbCBjb21iaW5lIHNlbGVjdG9ycyB3aXRoIHRoZSBzYW1lIGNvbnRlbnQsIGFuZCBzb21lIGJyb3dzZXJzIGhhdmUgYVxuICAvLyBDU1MgcXVpcmsgd2hlcmUgaXQgZHJvcHMgYSBydWxlIGlmIGl0IGRvZXMgbm90IHJlY29nbml6ZSBvbmUgb2YgdGhlXG4gIC8vIHNlbGVjdG9ycy5cbiAgLy8gVG8gYXZvaWQgR1NTIGNvbWJpbmluZyB0aGUgOjpwbGFjZWhvbGRlciBhbmQgOi1tcy1pbnB1dC1wbGFjZWhvbGRlclxuICAvLyBzZWxlY3RvcnMsIHdlIHdyYXAgdGhlbSBpbiBgQG1lZGlhIGFsbGAuXG4gIC8vIFRPRE8oYi8xNDIzMjkwNTEpXG4gIEBtZWRpYSBhbGwge1xuICAgIC8vIDo6cGxhY2Vob2xkZXIgbmVlZHMgdG8gYmUgd3JhcHBlZCBiZWNhdXNlIElFMTEgd2lsbCBkcm9wIG90aGVyIHNlbGVjdG9yc1xuICAgIC8vIHdpdGggdGhlIHNhbWUgY29udGVudFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBhbGwge1xuICAgIC8vIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgbmVlZHMgdG8gYmUgd3JhcHBlZCBiZWNhdXNlIEZpcmVmb3ggd2lsbCBkcm9wXG4gICAgLy8gb3RoZXIgc2VsZWN0b3JzIHdpdGggdGhlIHNhbWUgY29udGVudFxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRlIHF1YWxpZmllcnNcblxuLy8vXG4vLy8gSGVscHMgc3R5bGUgdGhlIHRleHQtZmllbGQgb25seSB3aGVuIGl0J3MgZW5hYmxlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWRfIHtcbiAgJjpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHN0eWxlIHRoZSB0ZXh0LWZpZWxkIG9ubHkgd2hlbiBpdCdzIGRpc2FibGVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWRfIHtcbiAgJi5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIudGVhc2VyIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHMpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuICAgICAgICBmbGV4OiAxIDAgY2FsYyg1MCUgLSAxMnB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0LmdsaWRlLS1zd2lwZWFibGUge1xuXHRcdFx0Y3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICBtYXJnaW46IDAgMjBweCA1MHB4O1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICAgICAgICAgICAgZmxleDogMSAwIGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhbnZhcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXBhbnRvbmUtd2FybS1ncmV5LTE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIC5pZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICBoZWlnaHQ6IDg5cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUtdGV4dCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmLS1ncmFkaWVudDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwwLDAsMCkgMjAlLCAkcHJvamVjdC1uYXZ5Ymx1ZSAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3R0b206IDgwcHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXllbGxvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC15ZWxsb3cgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiAyOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMTUpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuMDgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5kZWNvLTM2NSB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfXzM2NSgkcHJvamVjdC13aGl0ZSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwNy4zNiU7XG4gICAgfVxufSIsIi50ZWFzZXItMzY1IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDM4cHggMjVweCA0N3B4IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTRweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtZ3JheS1kNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgICZfX2RlY28ge1xuICAgICAgICB3aWR0aDogMTU5cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgfVxufSIsIi50ZWFzZXItc2hvcnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJvamVjdC1ncmF5LWw1MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDI4cHggMTVweDtcbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAzNHB4IDE1cHg7XG4gICAgfVxuICAgIFxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcm9qZWN0LWdyYXktbDUwMDtcbiAgICB9XG4gICAgXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX2luZm8ge1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5O1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmX190aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fb3Zlcmxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtYm91bmRlZDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1iYXNlLWNvbG9yKCRwcm9qZWN0LWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1ob3Zlci1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1mb2N1cy1vcGFjaXR5KC4wKTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXN0YXRlcy1wcmVzcy1vcGFjaXR5KC4wNCk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBidXR0b24tdGFiLW5hdmlnYXRpb247XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmaWxlLXR5cGVzJztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvZmlsZS10eXBlcy9maWxlLXR5cGVzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tZmlsZVwiXSwgW2NsYXNzKj1cIiBpY29uLWZpbGVcIl0ge1xuICAgIGZvbnQtZmFtaWx5OiAnZmlsZS10eXBlcycsIHNhbnMtc2VyaWY7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tZmlsZS1zcHJlYWRzaGVldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5pY29uLWZpbGUtZW1wdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuXG4uaWNvbi1maWxlLXRleHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xufVxuXG4uaWNvbi1maWxlLXBpY3R1cmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuXG4uaWNvbi1maWxlLW11c2ljOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cblxuLmljb24tZmlsZS12aWRlbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG59XG5cbi5pY29uLWZpbGUtYXJjaGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG5cbi5pY29uLWZpbGUtcGRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhZGFcIjtcbn1cblxuLy8gaHJlZiBpY29uc1xuXG4uaWNvLWxpbmsge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnZmlsZS10eXBlcycsIHNhbnMtc2VyaWY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbn1cblxuW2hyZWYqPVwiLnBkZlwiXSxcbltocmVmKj1cIi5QREZcIl0ge1xuICAgIC5pY28tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZWFkYVwiO1xuICAgIH1cbn1cblxuW2hyZWYqPVwiLmRvY1wiXSwgW2hyZWYqPVwiLkRPQ1wiXSwgW2hyZWYqPVwiLnR4dFwiXSwgW2hyZWYqPVwiLlRYVFwiXSwgW2hyZWYqPVwiLnJ0ZlwiXSwgW2hyZWYqPVwiLlJURlwiXSwgW2hyZWYqPVwiLmRvY3hcIl0sIFtocmVmKj1cIi5ET0NYXCJdLFtocmVmKj1cIi5vZHRcIl0sIFtocmVmKj1cIi5PRFRcIl0ge1xuICAgIC5pY28tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkyNlwiO1xuICAgIH1cbn1cblxuW2hyZWYqPVwiLm1wM1wiXSwgW2hyZWYqPVwiLndhdlwiXSwgW2hyZWYqPVwiLmFhY1wiXSxcbltocmVmKj1cIi5NUDNcIl0sIFtocmVmKj1cIi5XQVZcIl0sIFtocmVmKj1cIi5BQUNcIl0ge1xuICAgIC5pY28tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkyOFwiO1xuICAgIH1cbn1cblxuW2hyZWYqPVwiLmF2aVwiXSwgW2hyZWYqPVwiLm1wNFwiXSwgW2hyZWYqPVwiLm1wZ1wiXSwgW2hyZWYqPVwiLm1vdlwiXSwgW2hyZWYqPVwiLm1wZWdcIl0sIFtocmVmKj1cIi5wcHRcIl0sIFtocmVmKj1cIi5wcHR4XCJdLCBbaHJlZio9XCIub2dnXCJdLFxuW2hyZWYqPVwiLkFWSVwiXSwgW2hyZWYqPVwiLk1QNFwiXSwgW2hyZWYqPVwiLk1QR1wiXSwgW2hyZWYqPVwiLk1PVlwiXSwgW2hyZWYqPVwiLk1QRUdcIl0sIFtocmVmKj1cIi5QUFRcIl0sIFtocmVmKj1cIi5QUFRYXCJdLCBbaHJlZio9XCIuT0dHXCJdIHtcbiAgICAuaWNvLWxpbms6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MmFcIjtcbiAgICB9XG59XG5cbltocmVmKj1cIi56aXBcIl0sIFtocmVmKj1cIi5yYXJcIl0sIFtocmVmKj1cIi43elwiXSwgW2hyZWYqPVwiLnRhclwiXSwgW2hyZWYqPVwiLmd6XCJdLFxuW2hyZWYqPVwiLlpJUFwiXSwgW2hyZWYqPVwiLlJBUlwiXSwgW2hyZWYqPVwiLjdaXCJdLCBbaHJlZio9XCIuVEFSXCJdLCBbaHJlZio9XCIuR1pcIl0ge1xuICAgIC5pY28tbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xuICAgIH1cbn1cblxuW2hyZWYqPVwiLmNzdlwiXSwgW2hyZWYqPVwiLnhsc1wiXSwgW2hyZWYqPVwiLnhsc3hcIl0sIFtocmVmKj1cIi5zeGNcIl0sXG5baHJlZio9XCIuQ1NWXCJdLCBbaHJlZio9XCIuWExTXCJdLCBbaHJlZio9XCIuWExTWFwiXSwgW2hyZWYqPVwiLlNYQ1wiXSwgW2hyZWYqPVwiLm9kc1wiXSwgW2hyZWYqPVwiLk9EU1wiXSB7XG4gICAgLmljby1saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG4gICAgfVxufVxuXG4vLyBzdGFyZSBuYXpld25pY3R3byBlelxuXG4uY29udGVudF90eXBlX3BkZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfdm5kX21zLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV96aXA6YmVmb3JlLFxuLmNvbnRlbnRfdHlwZV9yYXI6YmVmb3JlLFxuLmNvbnRlbnRfdHlwZV94LWd6aXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xufVxuXG4uY29udGVudF90eXBlX3ZpZGVvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG5cbi5jb250ZW50X3R5cGVfdm5kX29hc2lzX29wZW5kb2N1bWVudF9zcHJlYWRzaGVldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XG59XG5cbi5jb250ZW50X3R5cGVfcGRmMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYWRhXCI7XG59XG5cbi5jb250ZW50X3R5cGVfdm5kX21zLXBvd2VycG9pbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuXG4uY29udGVudF90eXBlX3BsYWluOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLmNvbnRlbnRfdHlwZV9hdWRpbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG5cbi5jb250ZW50X3R5cGVfbXN3b3JkOmJlZm9yZSxcbi5jb250ZW50X3R5cGVfcnRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cblxuIiwiLnBhZ2luYXRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yM3B4O1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsYWNrO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXN1cmZhY2U7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtcmFkaXVzLWJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LWJsYWNrLCAwLjAzKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHhcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAudGFiLW5hdmlnYXRpb24gJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibGFjaywgMC4wMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJl9fcHJldixcbiAgICAmX19uZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQ4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1zdXJmYWNlO1xuICAgICAgICBAaW5jbHVkZSBtZGMtcmlwcGxlLXJhZGl1cy11bmJvdW5kZWQ7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtYmFzZS1jb2xvcigkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtaG92ZXItb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtcHJlc3Mtb3BhY2l0eSguMDQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gICAgICAgIFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLnRhYi1uYXZpZ2F0aW9uICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3ByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19hcnJvdy1sZWZ0KCRwcm9qZWN0LXByaW1hcnkpO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fbmV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LXJpZ2h0KCRwcm9qZWN0LXByaW1hcnkpO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNnB4IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2VhcmNoLXNlbGVjdCB7XG4gICAgJl9fd2VsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgLm1kYy1zZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX21lbnUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXByaW1hcnk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX2lucHV0LWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19pbnB1dHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyZfX2ZpZWxkIHtcbiAgICAvLyAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC1ibHVlO1xuICAgIC8vICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIC8vICAgIHdpZHRoOiAyMjBweDtcbiAgICAvLyAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgLy8gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIC8vXG4gICAgLy8gICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgIC8vICAgICAgICB3aWR0aDogMzg1cHg7XG4gICAgLy8gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAvLyAgICB9XG4gICAgLy9cbiAgICAvLyAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgLy8gICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmF5LWQzMDA7XG4gICAgLy8gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgLy8gICAgfVxuICAgIC8vfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWFyY2goJHByb2plY3QtYmxhY2spO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjlweCAyOXB4O1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yaXBwbGUtc3VyZmFjZTtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXJpcHBsZS1yYWRpdXMtdW5ib3VuZGVkO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWJhc2UtY29sb3IoJHByb2plY3QtYmxhY2spO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWhvdmVyLW9wYWNpdHkoLjApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLWZvY3VzLW9wYWNpdHkoLjApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc3RhdGVzLXByZXNzLW9wYWNpdHkoLjEyKTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLnRhYi1uYXZpZ2F0aW9uICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1kYy1zdGF0ZXMtZm9jdXMtb3BhY2l0eSguMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtYmxhY2ssIDAuMDMpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCJAbWF0ZXJpYWwvY2hlY2tib3gvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL2NoZWNrYm94L21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9jaGVja2JveC92YXJpYWJsZXNcIjtcblxuQGltcG9ydCBcIkBtYXRlcmlhbC9yYWRpby9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvcmFkaW8vbWl4aW5zXCI7XG5AaW1wb3J0IFwiQG1hdGVyaWFsL3JhZGlvL3ZhcmlhYmxlc1wiO1xuXG5AaW1wb3J0IFwiQG1hdGVyaWFsL3NlbGVjdC9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJAbWF0ZXJpYWwvc2VsZWN0L21peGluc1wiO1xuQGltcG9ydCBcIkBtYXRlcmlhbC9zZWxlY3QvdmFyaWFibGVzXCI7XG5cbi5zaXRlLWZvcm0ge1xuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkKTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkcHJvamVjdC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgNjBweCAkcHJvamVjdC1ibHVlLWw5NTAgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgICYtLXJlYWRvbmx5IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG5cbiAgICAgICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3JlYWRvbmx5XSArIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS1ub3RjaGVkIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZCB7XG4gICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgJi5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgbWRjLWNoZWNrYm94LWNvbnRhaW5lci1jb2xvcnMoJHVubWFya2VkLXN0cm9rZS1jb2xvciwgJHVubWFya2VkLWZpbGwtY29sb3IsICRtYXJrZWQtc3Ryb2tlLWNvbG9yLCAkbWFya2VkLWZpbGwtY29sb3IsICRnZW5lcmF0ZS1rZXlmcmFtZXMpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtY29udGFpbmVyLWNvbG9ycygkcHJvamVjdC1ibHVlLWQ1MDAsICRwcm9qZWN0LXRyYW5zcGFyZW50LCAkcHJvamVjdC1ibHVlLWQ1MDAsICRwcm9qZWN0LWJsdWUtZDUwMCwgJ2ZhbHNlJyk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1jaGVja2JveC1pbmstY29sb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICBAaW5jbHVkZSBtZGMtY2hlY2tib3gtZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG5cbiAgICAgICAgLm1kYy1jaGVja2JveF9fcmlwcGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHRvcDowO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAubWRjLWNoZWNrYm94X19yaXBwbGUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjA4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLm1kYy1yYWRpbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZGMtcmFkaW8tdW5jaGVja2VkLXN0cm9rZS1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApOyAvL1NldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhbiB1bmNoZWNrZWQgcmFkaW8gYnV0dG9uXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby1jaGVja2VkLXN0cm9rZS1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApOyAvL1NldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhIGNoZWNrZWQgcmFkaW8gYnV0dG9uXG4gICAgICAgIEBpbmNsdWRlIG1kYy1yYWRpby1pbmstY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTsgLy9TZXRzIHRoZSBpbmsgY29sb3Igb2YgYSByYWRpbyBidXR0b25cbiAgICAgICAgQGluY2x1ZGUgbWRjLXJhZGlvLWZvY3VzLWluZGljYXRvci1jb2xvcigkcHJvamVjdC1ibHVlKTsgLy9TZXRzIHRoZSBjb2xvciBvZiB0aGUgZm9jdXMgaW5kaWNhdG9yXG5cbiAgICAgICAgLy9AaW5jbHVkZSBtZGMtcmFkaW8tZm9jdXMtaW5kaWNhdG9yLWNvbG9yKCRjb2xvcik7XG5cbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtcmFkaW9fX3JpcHBsZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm1kYy1yYWRpb19fcmlwcGxlIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4wODtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tZGMtcmFkaW8tZmllbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5tZGMtZm9ybS1maWVsZCB7XG4gICAgICAgIC5tZGMtcmFkaW8ge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTEuNXB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQgLm1kYy10ZXh0LWZpZWxkX19pbnB1dCB7XG4gICAgICAgIGNhcmV0LWNvbG9yOiAkcHJvamVjdC1ibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZDpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLWludmFsaWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6cmVxdWlyZWQge1xuICAgICAgICAmIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUge1xuICAgICAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2FzLXZhbGlkYXRlZCAmLFxuICAgICYud2FzLXZhbGlkYXRlZCB7XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1jaGVja2JveCB7XG4gICAgICAgICAgICAubWRjLWNoZWNrYm94X19uYXRpdmUtY29udHJvbDppbnZhbGlkIH4gLm1kYy1jaGVja2JveF9fYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtY2hlY2tib3hfX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXJhZGlvIHtcbiAgICAgICAgICAgIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmludmFsaWQgfiAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAubWRjLXJhZGlvX19vdXRlci1jaXJjbGUsIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6aW52YWxpZCB+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQ6aW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDppbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpdGUtZm9ybV9fY2hlY2tib3gtLXJlcXVpcmVkLnNpdGUtZm9ybV9fY2hlY2tib3gtLXVuY2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2l0ZS1mb3JtX19yYWRpby0tcmVxdWlyZWQuc2l0ZS1mb3JtX19yYWRpby0tdW5jaGVja2VkIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0LS1vdXRsaW5lZC5tZGMtc2VsZWN0LS1pbnZhbGlkIHtcbiAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NlbGVjdC1jYXJldCgkcHJvamVjdC1uZXctcmVkKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXJhZGlvLWZpZWxkIHtcbiAgICAgICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMzVweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWludmFsaWQge1xuICAgICAgICAgICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtZm9ybS1maWVsZC0taW52YWxpZCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgfiAubmV3c2xldHRlci1hZ3JlZW1lbnRzX19pbmZvIH4gLnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZXJ2ZXItc2lkZS12YWxpZGF0ZWQge1xuICAgICAgICAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZlci1zaWRlLS1pbnZhbGlkIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3QtLW91dGxpbmVkLnNlcnZlci1zaWRlLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX3NlbGVjdC1jYXJldCgkcHJvamVjdC1uZXctcmVkKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmV3LXJlZCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZWlucHV0LWNvbnRhaW5lci5maWxlaW5wdXQtY29udGFpbmVyLS1pbnZhbGlkIHtcbiAgICAgICAgICAgIC5maWxlaW5wdXQ6bm90KC5maWxlaW5wdXQtZXhpc3RzKSB+IC5zaXRlLWZvcm1fX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuanMtc2lkZS12YWxpZGF0ZWQge1xuICAgICAgICAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAuanMtc2lkZS0taW52YWxpZCB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmpzLXNpZGUtLWludmFsaWQgfiAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQuanMtc2lkZS0taW52YWxpZCB7XG4gICAgICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtbmV3LXJlZCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1uZXctcmVkLCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcm9qZWN0LW5ldy1yZWQsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1mb3JtLWZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgJi0tY2hlY2tib3gge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ncmF5LWQ0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUyO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14bCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41Nzg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmV6cmljaHRleHQtZmllbGQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogOXB4IDAgMCAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggMCAwIDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5hdnlibHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZF9faW5wdXQge1xuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtZmllbGQtcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC50ZXh0LWZpZWxkLWhlbHBlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC50ZXh0LWZpZWxkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudGV4dC1maWVsZC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGFsZiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0taGFsZiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taGFsZi1zbGFzaCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3AtaGFsZiB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArIC50ZXh0LWZpZWxkLWNvbnRhaW5lci0tZGVza3RvcC1oYWxmIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1tb2JpbGUtZnVsbCB7XG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtIC0gMC4xKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcm93LXNsYXNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fc2xhc2goJHByb2plY3QtZ3JheS1kMzAwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxNnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCAxOHB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAyMXB4IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLWZsb2F0aW5nLWxhYmVsLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgIHRvcDogMTRweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgdG9wOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIHRvcDogMTlweDtcblxuICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbm90IGZvY3VzZWQgYm9yZGVyIDFweFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpIHNjYWxlKC43NSk7XG4gICAgICAgIHRvcDogMjFweDtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKSBzY2FsZSguNzUpO1xuICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy9cblxuICAgIC8vIGZvY3VzZWQgYm9yZGVyIDJweFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQubWRjLXRleHQtZmllbGQtLWZvY3VzZWQubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQgLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICB0b3A6IDIwcHg7XG5cbiAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgdG9wOiAyM3B4O1xuXG4gICAgICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhLm1kYy10ZXh0LWZpZWxkLS1mb2N1c2VkIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgIHRvcDogMjNweDtcblxuICAgICAgICAuZmlyZWZveCAmIHtcbiAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIHRvcDogMjFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvL1xuXG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkIC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWEgLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1vdXRsaW5lZCAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcsXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYSAubWRjLW5vdGNoZWQtb3V0bGluZSAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tb3V0bGluZWQ6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS10ZXh0YXJlYTpub3QoLm1kYy10ZXh0LWZpZWxkLS1kaXNhYmxlZCk6bm90KC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCkge1xuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbGVhZGluZyxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fdHJhaWxpbmcge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGQtLW91dGxpbmVkOm5vdCgubWRjLXRleHQtZmllbGQtLWRpc2FibGVkKS5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB7XG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZV9fbm90Y2gsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX190cmFpbGluZyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcm9qZWN0LWJsdWUtZDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0tdGV4dGFyZWE6bm90KC5tZGMtdGV4dC1maWVsZC0tZGlzYWJsZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX2xlYWRpbmcsXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19ub3RjaCxcbiAgICAgICAgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpOm5vdCgubWRjLXRleHQtZmllbGQtLWludmFsaWQpIHtcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkOm5vdCgubWRjLXRleHQtZmllbGQtLWZvY3VzZWQpLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgICAgLm1kYy10ZXh0LWZpZWxkX19pbnB1dDpob3ZlciB+IC5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtbm90Y2hlZC1vdXRsaW5lX19sZWFkaW5nLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX25vdGNoLFxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OmhvdmVyIH4gLm1kYy1ub3RjaGVkLW91dGxpbmUgLm1kYy1ub3RjaGVkLW91dGxpbmVfX3RyYWlsaW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0OnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAud2FzLXZhbGlkYXRlZCBpbnB1dDppbnZhbGlkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLndhcy12YWxpZGF0ZWQgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAud2FzLXZhbGlkYXRlZCAuc2l0ZS1mb3JtX19jaGVja2JveC0tcmVxdWlyZWQuc2l0ZS1mb3JtX19jaGVja2JveC0tdW5jaGVja2VkIH4gJiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDZweCAwIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcnZlci1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICZfX3NlcnZlci12YWxpZGF0aW9uLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgICAgbGVmdDogMTNweDtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LW5ldy1yZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZlci1zaWRlLXZhbGlkYXRlZCAuc2VydmVyLXNpZGUtLWludmFsaWQgfiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fanMtdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkO1xuICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4cykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1zaWRlLXZhbGlkYXRlZCAuanMtc2lkZS0taW52YWxpZCB+ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLW1lbnUge1xuICAgICAgICB6LWluZGV4OiAyMDAwO1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1saXN0LWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tb3V0bGluZWQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgQGluY2x1ZGUgbWRjLXNlbGVjdC1vdXRsaW5lLXNoYXBlLXJhZGl1cygwLCBmYWxzZSk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3Qtb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWZvY3VzZWQtb3V0bGluZS1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuICAgICAgICBAaW5jbHVkZSBtZGMtc2VsZWN0LWhvdmVyLW91dGxpbmUtY29sb3IoJHByb2plY3QtYmx1ZS1kNTAwKTtcbiAgICAgICAgLy9AaW5jbHVkZSBtZGMtc2VsZWN0LWxhYmVsLWNvbG9yKCRwcm9qZWN0LWJsdWUtZDUwMCk7XG4gICAgICAgIEBpbmNsdWRlIG1kYy1zZWxlY3QtZm9jdXNlZC1sYWJlbC1jb2xvcigkcHJvamVjdC1ibHVlLWQ1MDApO1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAzMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTRweCBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1tZW51IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEycHggY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDI1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19zZWxlY3QtY2FyZXQoJHByb2plY3QtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3RfX3NlbGVjdGVkLXRleHQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsIHtcbiAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3IgLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlLFxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yLm1kYy1ub3RjaGVkLW91dGxpbmUtLXVwZ3JhZGVkIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA2JSkgc2NhbGUoLjc1KTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvamVjdC1ibHVlLWQ1MDA7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDclKSBzY2FsZSguNzUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJvamVjdC1ibHVlLCAwLjA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5tZGMtc2VsZWN0LS1kaXNhYmxlZCkgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZS1kNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1zZWxlY3QtaW5wdXQtaGlkZGVuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXNlbGVjdC0tY29tcGFjdCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMzFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE0cHggY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19hbmNob3Ige1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAyNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGMtc2VsZWN0X19zZWxlY3RlZC10ZXh0IHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICAmLm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmUge1xuICAgICAgICAgICAgICAgIHRvcDogMTNweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXNlbGVjdF9fYW5jaG9yIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSxcbiAgICAgICAgLm1kYy1zZWxlY3RfX2FuY2hvci5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNCUpIHNjYWxlKC43NSk7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDclKSBzY2FsZSguNzUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1jb21wYWN0IHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kYy1mbG9hdGluZy1sYWJlbCB7XG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIHRvcDogMTdweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBub3QgZm9jdXNlZCAxcHggYm9yZGVyXG4gICAgICAgIC5tZGMtbm90Y2hlZC1vdXRsaW5lLS11cGdyYWRlZCB7XG4gICAgICAgICAgICAubWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZpcmVmb3ggJiB7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmb2N1c2VkIDJweCBib3JkZXJcbiAgICAgICAgJi5tZGMtdGV4dC1maWVsZC0tZm9jdXNlZCB7XG4gICAgICAgICAgICAubWRjLW5vdGNoZWQtb3V0bGluZS0tdXBncmFkZWQge1xuICAgICAgICAgICAgICAgIC5tZGMtZmxvYXRpbmctbGFiZWwtLWZsb2F0LWFib3ZlIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5maXJlZm94ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGV4dGFyZWFcbiAgICAubWRjLXRleHQtZmllbGQtLXRleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubWRjLXRleHQtZmllbGRfX2lucHV0IHtcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVscC10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAubWRjLWZvcm0tZmllbGQtLWNoZWNrYm94ID4gJiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MztcblxuICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc3BhY2VkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkfi5tZGMtZmxvYXRpbmctbGFiZWw6bm90KC5yZXF1aXJlZCk6OmFmdGVyLCAubWRjLXRleHQtZmllbGRfX2lucHV0OnJlcXVpcmVkfi5tZGMtbm90Y2hlZC1vdXRsaW5lIC5tZGMtZmxvYXRpbmctbGFiZWw6bm90KC5yZXF1aXJlZCk6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEN1c3RvbSBLYWxpb3AgZm9ybXNcbi5rYWxpb3BjdXN0b21mb3Jtcy1mb3JtIHtcbiAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4tLWJsdWU6ZGlzYWJsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3QtbmF2eWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgJi0tZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgICBjb2xvcjogJHByb2plY3Qtd2FybmluZztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgY29sb3I6ICRwcm9qZWN0LWdyZWVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3VzdG9tLWZpZWxkIHtcbiAgICAmLS1pbmRlbnRlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIH1cbn1cblxuLnN0YXRpY190ZXh0LWZpZWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAmLS1ub3JtYWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuXG4udGltZWxlc3MtZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA2ODJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uYW5udWFsLWZvcm0ge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5uZXdzbGV0dGVyLWFncmVlbWVudHMge1xuICAgIC5lenJpY2h0ZXh0LWZpZWxkLCAubmdsLXJpY2hfdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi14eHMpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcDpub3QoW2NsYXNzXSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC5lenJpY2h0ZXh0LWZpZWxkLCAubmdsLXJpY2hfdGV4dCwgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaG9pY2VzIHtcbiAgICAgICAgLypwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHMtLWNvbGxhcHNhYmxlICYge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9Ki9cblxuICAgICAgICAuY2xpZW50LXNldHRpbmdzICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fY2hvaWNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaG9pY2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9fdG9nZ2xlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLXByb2plY3RfX2Fycm93LXRvcCgkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogJHByb2plY3QtYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX3RvZ2dsZS0tc2hvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fYXJyb3ctYm90dG9tKCRwcm9qZWN0LWJsYWNrKTtcblxuICAgICAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1jb2xsYXBzZWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19fdG9nZ2xlLS1zaG93biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgLm5ld3NsZXR0ZXItYWdyZWVtZW50c19faW5mbyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjhweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MztcblxuICAgICAgICAmLS1zcGFjZWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5kZW50ZWQsIC5uZXdzbGV0dGVyLWFncmVlbWVudHNfX2Nob2ljZSAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXpyaWNodGV4dC1maWVsZCwgLm5nbC1yaWNoX3RleHQsICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWRjLWNoZWNrYm94LW11bHRpcGxlIHtcblx0LnNpdGUtZm9ybV9fdmFsaWRhdGlvbi10ZXh0IHtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTRweDtcblx0XHRtYXgtd2lkdGg6IHVuc2V0O1xuXHR9XG59XG5cbi5zZXJ2ZXItc2lkZS0taW52YWxpZCB7XG5cdC5zaXRlLWZvcm1fX3ZhbGlkYXRpb24tdGV4dCB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxufVxuXG4ud2FzLXZhbGlkYXRlZCAubmV3c2xldHRlci1hZ3JlZW1lbnRzIC5zaXRlLWZvcm1fX2NoZWNrYm94LS1yZXF1aXJlZC5zaXRlLWZvcm1fX2NoZWNrYm94LS11bmNoZWNrZWQgfiAuc2l0ZS1mb3JtX192YWxpZGF0aW9uLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teHhsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICB9XG59IiwiLy9cbi8vIENvcHlyaWdodCAyMDE2IEdvb2dsZSBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cbi8vXG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIkBtYXRlcmlhbC9hbmltYXRpb24vZnVuY3Rpb25zXCIgYXMgZnVuY3Rpb25zMjtcbkB1c2UgXCJAbWF0ZXJpYWwvZGVuc2l0eS9mdW5jdGlvbnNcIiBhcyBkZW5zaXR5LWZ1bmN0aW9ucztcbkB1c2UgXCJAbWF0ZXJpYWwvZmVhdHVyZS10YXJnZXRpbmcvZnVuY3Rpb25zXCIgYXMgZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zO1xuQHVzZSBcIkBtYXRlcmlhbC9mZWF0dXJlLXRhcmdldGluZy9taXhpbnNcIiBhcyBmZWF0dXJlLXRhcmdldGluZy1taXhpbnM7XG5AdXNlIFwiQG1hdGVyaWFsL3JpcHBsZS9taXhpbnNcIiBhcyByaXBwbGUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC9yaXBwbGUvdmFyaWFibGVzXCIgYXMgcmlwcGxlLXZhcmlhYmxlcztcbkB1c2UgXCJAbWF0ZXJpYWwvdGhlbWUvbWl4aW5zXCIgYXMgdGhlbWUtbWl4aW5zO1xuQHVzZSBcIkBtYXRlcmlhbC90aGVtZS92YXJpYWJsZXNcIiBhcyB2YXJpYWJsZXMyO1xuQHVzZSBcIkBtYXRlcmlhbC90b3VjaC10YXJnZXQvbWl4aW5zXCIgYXMgdG91Y2gtdGFyZ2V0LW1peGlucztcbkB1c2UgXCJAbWF0ZXJpYWwvdG91Y2gtdGFyZ2V0L3ZhcmlhYmxlc1wiIGFzIHRvdWNoLXRhcmdldC12YXJpYWJsZXM7XG5AdXNlIFwiLi9mdW5jdGlvbnNcIjtcbkB1c2UgXCIuL3ZhcmlhYmxlc1wiO1xuXG4kcmlwcGxlLXRhcmdldDogXCIubWRjLXJhZGlvX19yaXBwbGVcIjtcblxuLy8vXG4vLy8gUmFkaW8gY29yZSBzdHlsZXMuXG4vLy9cbkBtaXhpbiBjb3JlLXN0eWxlcygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSB3aXRob3V0LXJpcHBsZSgkcXVlcnkpO1xuICBAaW5jbHVkZSByaXBwbGUoJHF1ZXJ5KTtcbn1cblxuLy8gVGhpcyBBUEkgaXMgaW50ZW5kZWQgZm9yIHVzZSBieSBmcmFtZXdvcmtzIHRoYXQgbWF5IHdhbnQgdG8gc2VwYXJhdGUgdGhlIHJpcHBsZS1yZWxhdGVkIHN0eWxlcyBmcm9tIHRoZSBvdGhlclxuLy8gcmFkaW8gc3R5bGVzLiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IG1vc3QgdXNlcnMgdXNlIGBtZGMtcmFkaW8tY29yZS1zdHlsZXNgIGluc3RlYWQuXG5AbWl4aW4gd2l0aG91dC1yaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgLy8gcG9zdGNzcy1iZW0tbGludGVyOiBkZWZpbmUgcmFkaW9cblxuICAkZmVhdC1hbmltYXRpb246IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgYW5pbWF0aW9uKTtcbiAgJGZlYXQtY29sb3I6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgY29sb3IpO1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLndyYXBwZXIoJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAubWRjLXJhZGlvIHtcbiAgICBAaW5jbHVkZSB1bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKHZhcmlhYmxlcy4kdW5jaGVja2VkLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgY2hlY2tlZC1zdHJva2UtY29sb3IodmFyaWFibGVzLiRiYXNlbGluZS10aGVtZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGluay1jb2xvcih2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtdW5jaGVja2VkLXN0cm9rZS1jb2xvcih2YXJpYWJsZXMuJGRpc2FibGVkLWNpcmNsZS1jb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAgIEBpbmNsdWRlIGRpc2FibGVkLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtY2lyY2xlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZGlzYWJsZWQtaW5rLWNvbG9yKHZhcmlhYmxlcy4kZGlzYWJsZWQtY2lyY2xlLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgQGluY2x1ZGUgZm9jdXMtaW5kaWNhdG9yLWNvbG9yKHZhcmlhYmxlcy4kYmFzZWxpbmUtdGhlbWUtY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgICBAaW5jbHVkZSBkZW5zaXR5KHZhcmlhYmxlcy4kZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuXG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgd2lkdGg6IHZhcmlhYmxlcy4kaWNvbi1zaXplO1xuICAgICAgaGVpZ2h0OiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC8qIEBhbHRlcm5hdGUgKi9cbiAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGJvcmRlci1jb2xvciwgY29sb3I7XG4gICAgfVxuXG4gICAgLy8gQ29udGFpbmVyIGZvciByYWRpbyBjaXJjbGVzIGFuZCByaXBwbGUuXG4gICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiB2YXJpYWJsZXMuJGljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5leGl0KG9wYWNpdHkpLCBmdW5jdGlvbnMuZXhpdCh0cmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3V0ZXItY2lyY2xlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5leGl0KGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5uZXItY2lyY2xlIHtcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGZ1bmN0aW9ucy5leGl0KHRyYW5zZm9ybSksXG4gICAgICAgICAgZnVuY3Rpb25zLmV4aXQoYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXRpdmUtY29udHJvbCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10b3VjaCB7XG4gICAgICBAaW5jbHVkZSB0b3VjaC10YXJnZXQtbWl4aW5zLm1hcmdpbihcbiAgICAgICAgJGNvbXBvbmVudC1oZWlnaHQ6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICAgICAgICRjb21wb25lbnQtd2lkdGg6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICAgICAgICRxdWVyeTogJHF1ZXJ5KTtcbiAgICAgIEBpbmNsdWRlIHRvdWNoLXRhcmdldCgkc2l6ZTogdG91Y2gtdGFyZ2V0LXZhcmlhYmxlcy4kaGVpZ2h0LCAkcXVlcnk6ICRxdWVyeSk7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICsgLm1kYy1yYWRpb19fYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1hbmltYXRpb24pIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIob3BhY2l0eSksXG4gICAgICAgICAgZnVuY3Rpb25zLmVudGVyKHRyYW5zZm9ybSk7XG4gICAgICB9XG5cbiAgICAgIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246IGZ1bmN0aW9ucy5lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtKSxcbiAgICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcihib3JkZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpby0tZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6Y2hlY2tlZCB7XG4gICAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIHtcbiAgICAgIC5tZGMtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcih0cmFuc2Zvcm0pLFxuICAgICAgICAgICAgZnVuY3Rpb25zLmVudGVyKGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpkaXNhYmxlZCxcbiAgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sIHtcbiAgICArIC5tZGMtcmFkaW9fX2JhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbDpmb2N1cyB7XG4gICAgKyAubWRjLXJhZGlvX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IG1hcC5nZXQocmlwcGxlLXZhcmlhYmxlcy4kZGFyay1pbmstb3BhY2l0aWVzLCBmb2N1cyk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWFuaW1hdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGZ1bmN0aW9ucy5lbnRlcihvcGFjaXR5KSxcbiAgICAgICAgICBmdW5jdGlvbnMuZW50ZXIodHJhbnNmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwb3N0Y3NzLWJlbS1saW50ZXI6IGVuZFxufVxuXG4vLyBUaGlzIEFQSSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IGZyYW1ld29ya3MgdGhhdCBtYXkgd2FudCB0byBzZXBhcmF0ZSB0aGUgcmlwcGxlLXJlbGF0ZWQgc3R5bGVzIGZyb20gdGhlIG90aGVyXG4vLyByYWRpbyBzdHlsZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgbW9zdCB1c2VycyB1c2UgYG1kYy1yYWRpby1jb3JlLXN0eWxlc2AgaW5zdGVhZC5cbkBtaXhpbiByaXBwbGUoJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG5cbiAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5jb21tb24oJHF1ZXJ5KTsgLy8gQ09QWUJBUkFfQ09NTUVOVF9USElTX0xJTkVcblxuICAubWRjLXJhZGlvIHtcbiAgICBAaW5jbHVkZSByaXBwbGUtbWl4aW5zLnN1cmZhY2UoJHF1ZXJ5OiAkcXVlcnksICRyaXBwbGUtdGFyZ2V0OiAkcmlwcGxlLXRhcmdldCk7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy5yYWRpdXMtdW5ib3VuZGVkKCRxdWVyeTogJHF1ZXJ5LCAkcmlwcGxlLXRhcmdldDogJHJpcHBsZS10YXJnZXQpO1xuICAgIEBpbmNsdWRlIHJpcHBsZS1taXhpbnMuc3RhdGVzKFxuICAgICAgJGNvbG9yOiB2YXJpYWJsZXMuJGJhc2VsaW5lLXRoZW1lLWNvbG9yLCAkcXVlcnk6ICRxdWVyeSwgJHJpcHBsZS10YXJnZXQ6ICRyaXBwbGUtdGFyZ2V0KTtcblxuICAgICYubWRjLXJpcHBsZS11cGdyYWRlZC0tYmFja2dyb3VuZC1mb2N1c2VkIHtcbiAgICAgIC5tZGMtcmFkaW9fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjeyRyaXBwbGUtdGFyZ2V0fSB7XG4gICAgQGluY2x1ZGUgcmlwcGxlLW1peGlucy50YXJnZXQtY29tbW9uKCRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYW4gdW5jaGVja2VkLCBlbmFibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBzdHJva2UgY29sb3IuXG4vLy9cbkBtaXhpbiB1bmNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZC11bmNoZWNrZWRfIHtcbiAgICBAaW5jbHVkZSBzdHJva2UtY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBvZiBhIGNoZWNrZWQsIGVuYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIGNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZW5hYmxlZC1jaGVja2VkXyB7XG4gICAgQGluY2x1ZGUgc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTokcXVlcnkpO1xuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIGluayBjb2xvciBvZiBhbiBlbmFibGVkIHJhZGlvIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBUaGUgZGVzaXJlZCBpbmsgY29sb3IuXG4vLy9cbkBtaXhpbiBpbmstY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICBAaW5jbHVkZSBpZi1lbmFibGVkXyB7XG4gICAgQGluY2x1ZGUgaW5rLWNvbG9yXygkY29sb3IsICRxdWVyeTogJHF1ZXJ5KTtcbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBzdHJva2UgY29sb3Igb2YgYW4gdW5jaGVja2VkLCBkaXNhYmxlZCByYWRpbyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gVGhlIGRlc2lyZWQgc3Ryb2tlIGNvbG9yLlxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtdW5jaGVja2VkLXN0cm9rZS1jb2xvcigkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gIEBpbmNsdWRlIGlmLWRpc2FibGVkLXVuY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgc3Ryb2tlIGNvbG9yIG9mIGEgY2hlY2tlZCwgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIHN0cm9rZSBjb2xvci5cbi8vL1xuQG1peGluIGRpc2FibGVkLWNoZWNrZWQtc3Ryb2tlLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWQtY2hlY2tlZF8ge1xuICAgIEBpbmNsdWRlIHN0cm9rZS1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyB0aGUgaW5rIGNvbG9yIG9mIGEgZGlzYWJsZWQgcmFkaW8gYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIFRoZSBkZXNpcmVkIGluayBjb2xvclxuLy8vXG5AbWl4aW4gZGlzYWJsZWQtaW5rLWNvbG9yKCRjb2xvciwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgQGluY2x1ZGUgaWYtZGlzYWJsZWRfIHtcbiAgICBAaW5jbHVkZSBpbmstY29sb3JfKCRjb2xvciwgJHF1ZXJ5OiAkcXVlcnkpO1xuICB9XG59XG5cbkBtaXhpbiBmb2N1cy1pbmRpY2F0b3ItY29sb3IoJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1jb2xvcikge1xuICAgICAgQGluY2x1ZGUgdGhlbWUtbWl4aW5zLnByb3AoYmFja2dyb3VuZC1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyByYWRpbyB0b3VjaCB0YXJnZXQgc2l6ZSB3aGljaCBjYW4gYmUgbW9yZSB0aGFuIHRoZSByaXBwbGUgc2l6ZS4gUGFyYW0gYCRyaXBwbGUtc2l6ZWAgaXMgcmVxdWlyZWQgZm9yIGN1c3RvbVxuLy8vIHJpcHBsZSBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFNpemUgb2YgdG91Y2ggdGFyZ2V0IChOYXRpdmUgaW5wdXQpIGluIGBweGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaXBwbGUtc2l6ZSBTaXplIG9mIHJpcHBsZSBpbiBgcHhgLiBSZXF1aXJlZCBvbmx5IGZvciBjdXN0b20gcmlwcGxlIHNpemUuXG4vLy9cbkBtaXhpbiB0b3VjaC10YXJnZXQoXG4gICRzaXplOiB2YXJpYWJsZXMuJHJpcHBsZS1zaXplLFxuICAkcmlwcGxlLXNpemU6IHZhcmlhYmxlcy4kcmlwcGxlLXNpemUsXG4gICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LXN0cnVjdHVyZTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBzdHJ1Y3R1cmUpO1xuICAkb2Zmc2V0OiAoJHJpcHBsZS1zaXplIC0gJHNpemUpIC8gMjtcblxuICAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtc3RydWN0dXJlKSB7XG4gICAgICB0b3A6ICRvZmZzZXQ7XG4gICAgICByaWdodDogJG9mZnNldDtcbiAgICAgIGxlZnQ6ICRvZmZzZXQ7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgICBoZWlnaHQ6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIGRlbnNpdHkgc2NhbGUgZm9yIHJhZGlvLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBTdHJpbmd9ICRkZW5zaXR5LXNjYWxlIC0gRGVuc2l0eSBzY2FsZSB2YWx1ZSBmb3IgY29tcG9uZW50LiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZSB2YWx1ZXNcbi8vLyAgICAgYC0zYCwgYC0yYCwgYC0xYCwgYDBgLlxuLy8vXG5AbWl4aW4gZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJHNpemU6IGRlbnNpdHktZnVuY3Rpb25zLnByb3AtdmFsdWUoXG4gICAgJGRlbnNpdHktY29uZmlnOiB2YXJpYWJsZXMuJGRlbnNpdHktY29uZmlnLFxuICAgICRkZW5zaXR5LXNjYWxlOiAkZGVuc2l0eS1zY2FsZSxcbiAgICAkcHJvcGVydHktbmFtZTogc2l6ZSxcbiAgKTtcblxuICBAaW5jbHVkZSByaXBwbGUtc2l6ZSgkc2l6ZSwgJHF1ZXJ5OiAkcXVlcnkpO1xuICAvLyBTZXRzIHRvdWNoIHRhcmdldCBzaXplIHNhbWUgYXMgcmlwcGxlIHNpemUuXG4gIEBpbmNsdWRlIHRvdWNoLXRhcmdldCgkc2l6ZTogJHNpemUsICRyaXBwbGUtc2l6ZTogJHNpemUsICRxdWVyeTogJHF1ZXJ5KTtcblxuICBAaWYgJGRlbnNpdHktc2NhbGUgIT0gMCB7XG4gICAgQGluY2x1ZGUgdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6ICRxdWVyeSk7XG4gIH1cbn1cblxuLy8vXG4vLy8gU2V0cyByYWRpbyByaXBwbGUgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFJpcHBsZSBzaXplIGluIGBweGAuXG4vLy9cbkBtaXhpbiByaXBwbGUtc2l6ZSgkc2l6ZSwgJHF1ZXJ5OiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuYWxsKCkpIHtcbiAgJGZlYXQtc3RydWN0dXJlOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIHN0cnVjdHVyZSk7XG4gICRwYWRkaW5nOiAoJHNpemUgLSB2YXJpYWJsZXMuJGljb24tc2l6ZSkgLyAyO1xuXG4gIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LXN0cnVjdHVyZSkge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB9XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICAgIHRvcDogLSRwYWRkaW5nO1xuICAgICAgbGVmdDogLSRwYWRkaW5nO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vXG4vLy8gUmVzZXRzIHRvdWNoIHRhcmdldC1yZWxhdGVkIHN0eWxlcy4gVGhpcyBpcyBjYWxsZWQgZnJvbSB0aGUgZGVuc2l0eSBtaXhpbiB0b1xuLy8vIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBpbmNyZWFzZWQgdG91Y2ggdGFyZ2V0LCBzaW5jZSBkZW5zZSBjb21wb25lbnRzXG4vLy8gZG9uJ3QgaGF2ZSB0aGUgc2FtZSBkZWZhdWx0IGExMXkgcmVxdWlyZW1lbnRzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gdG91Y2gtdGFyZ2V0LXJlc2V0XygkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1zdHJ1Y3R1cmU6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5jcmVhdGUtdGFyZ2V0KCRxdWVyeSwgc3RydWN0dXJlKTtcblxuICBAaW5jbHVkZSBmZWF0dXJlLXRhcmdldGluZy1taXhpbnMudGFyZ2V0cygkZmVhdC1zdHJ1Y3R1cmUpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLy8vXG4vLy8gSGVscHMgc2VsZWN0IHRoZSByYWRpbyBiYWNrZ3JvdW5kIG9ubHkgd2hlbiBpdHMgbmF0aXZlIGNvbnRyb2wgaXMgaW4gdGhlXG4vLy8gZW5hYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWVuYWJsZWRfIHtcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZCArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBlbmFibGVkICYgdW5jaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZW5hYmxlZC11bmNoZWNrZWRfIHtcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZW5hYmxlZDpub3QoOmNoZWNrZWQpICsge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGVuYWJsZWQgJiBjaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZW5hYmxlZC1jaGVja2VkXyB7XG4gIC5tZGMtcmFkaW9fX25hdGl2ZS1jb250cm9sOmVuYWJsZWQ6Y2hlY2tlZCArIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBkaXNhYmxlZCBzdGF0ZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGlmLWRpc2FibGVkXyB7XG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICsge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIEhlbHBzIHNlbGVjdCB0aGUgcmFkaW8gYmFja2dyb3VuZCBvbmx5IHdoZW4gaXRzIG5hdGl2ZSBjb250cm9sIGlzIGluIHRoZVxuLy8vIGRpc2FibGVkICYgdW5jaGVja2VkIHN0YXRlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gaWYtZGlzYWJsZWQtdW5jaGVja2VkXyB7XG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICY6bm90KDpjaGVja2VkKSArIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBIZWxwcyBzZWxlY3QgdGhlIHJhZGlvIGJhY2tncm91bmQgb25seSB3aGVuIGl0cyBuYXRpdmUgY29udHJvbCBpcyBpbiB0aGVcbi8vLyBkaXNhYmxlZCAmIGNoZWNrZWQgc3RhdGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbkBtaXhpbiBpZi1kaXNhYmxlZC1jaGVja2VkXyB7XG4gIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSAubWRjLXJhZGlvX19uYXRpdmUtY29udHJvbCxcbiAgLm1kYy1yYWRpb19fbmF0aXZlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCArIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy9cbi8vLyBTZXRzIHRoZSBpbmsgY29sb3IgZm9yIHJhZGlvLiBUaGlzIGlzIHdyYXBwZWQgaW4gYSBtaXhpblxuLy8vIHRoYXQgcXVhbGlmaWVzIHN0YXRlIHN1Y2ggYXMgYG1kYy1yYWRpby1pZi1lbmFibGVkX2Bcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuQG1peGluIGluay1jb2xvcl8oJGNvbG9yLCAkcXVlcnk6IGZlYXR1cmUtdGFyZ2V0aW5nLWZ1bmN0aW9ucy5hbGwoKSkge1xuICAkZmVhdC1jb2xvcjogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmNyZWF0ZS10YXJnZXQoJHF1ZXJ5LCBjb2xvcik7XG5cbiAgLm1kYy1yYWRpb19fYmFja2dyb3VuZCAubWRjLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgIEBpbmNsdWRlIGZlYXR1cmUtdGFyZ2V0aW5nLW1peGlucy50YXJnZXRzKCRmZWF0LWNvbG9yKSB7XG4gICAgICBAaW5jbHVkZSB0aGVtZS1taXhpbnMucHJvcChib3JkZXItY29sb3IsICRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vL1xuLy8vIFNldHMgdGhlIHN0cm9rZSBjb2xvciBmb3IgcmFkaW8uIFRoaXMgaXMgd3JhcHBlZCBpbiBhIG1peGluXG4vLy8gdGhhdCBxdWFsaWZpZXMgc3RhdGUgc3VjaCBhcyBgbWRjLXJhZGlvLWlmLWVuYWJsZWRfYFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG5AbWl4aW4gc3Ryb2tlLWNvbG9yXygkY29sb3IsICRxdWVyeTogZmVhdHVyZS10YXJnZXRpbmctZnVuY3Rpb25zLmFsbCgpKSB7XG4gICRmZWF0LWNvbG9yOiBmZWF0dXJlLXRhcmdldGluZy1mdW5jdGlvbnMuY3JlYXRlLXRhcmdldCgkcXVlcnksIGNvbG9yKTtcblxuICAubWRjLXJhZGlvX19iYWNrZ3JvdW5kIC5tZGMtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gICAgQGluY2x1ZGUgZmVhdHVyZS10YXJnZXRpbmctbWl4aW5zLnRhcmdldHMoJGZlYXQtY29sb3IpIHtcbiAgICAgIEBpbmNsdWRlIHRoZW1lLW1peGlucy5wcm9wKGJvcmRlci1jb2xvciwgJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIi50b2FzdHMge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgLy8gei1pbmRleDogMTgxMjsgY2hhbmdlZCB0byBiZSBvdmVyIG1vZGFsXG4gICAgei1pbmRleDogMTkxMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgLy8gei1pbmRleDogMTI7XG4gICAgICAgIHotaW5kZXg6IDE5MTI7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi50b2FzdCB7XG4gICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHByb2plY3Qtd2hpdGUsIDAuNSk7XG4gICAgZmxleC1iYXNpczogYXV0bztcblxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBtYXJnaW46IDIwcHggMjBweCAxMHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWdyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IC0zcHggM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS13YXJuaW5nIHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2plY3Qtd2FybmluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLnRvYXN0LS1hbGVydCB7XG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC13aGl0ZTtcbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1ibHVlO1xuICAgICAgICBjb2xvcjogJHByb2plY3Qtd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTYuNXB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICAgICAgcGFkZGluZzogMCA1NXB4IDAgNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAxNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLXdhcm5pbmcgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC13YXJuaW5nO1xuICAgIFxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvamVjdC1lcnJvcjtcbiAgICBcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jaGVjay1jaXJjbGUtaW52ZXJ0KCRwcm9qZWN0LWJsdWUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtcHJvamVjdF9fY2hlY2stY2lyY2xlLWludmVydCgkcHJvamVjdC1ncmVlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaWNvbnMtbWF0ZXJpYWxfX3dhcm5pbmcoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC50b2FzdC0tYWxlcnQgJiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGljb25zLW1hdGVyaWFsX19lcnJvcigkcHJvamVjdC13aGl0ZSk7XG4gICAgXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1tYXRlcmlhbF9fZXJyb3IoJHByb2plY3Qtd2hpdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWJsdWU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDE2LjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjNweCAyM3B4IDIzcHg7XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LXdhcm5pbmc7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRvYXN0LS1hbGVydCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9qZWN0LWVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC50b2FzdC0td2FybmluZyAmIHtcbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudG9hc3QtLWFsZXJ0ICYge1xuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRwcm9qZWN0LXdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbiIsIi5tb2RhbC1mdWxsIHtcblxuICAgIC5tZGMtZGlhbG9nX19zY3JpbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByb2plY3QtbmF2eWJsdWUsIDAuNSk7XG4gICAgfVxuXG4gICAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4teGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi14eGwpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIC5tZGMtZGlhbG9nICYge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sZykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jbG9zZSgkcHJvamVjdC1ibGFjayk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5tYWluIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBcbiAgICAmLnByb2R1Y3QtY2FyZF9fY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tb2RhbC1mdWxsLS1uZXdzbGV0dGVyIHtcbiAgLm1vZGFsLWZ1bGwge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpY29ucy1wcm9qZWN0X19jbG9zZSgkcHJvamVjdC13aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm1kYy1kaWFsb2dfX3N1cmZhY2Uge1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLW5ld3NsZXR0ZXIge1xuICAmX19yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi0tY2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICBtYXJnaW4tdG9wOiAtNDVweDtcblxuICAgIC5tZGMtdGV4dC1maWVsZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJvamVjdC11bmljZWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjZweCk7XG4gICAgICBib3R0b206IC0xNHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1kYy10ZXh0LWZpZWxkLS1pbnZhbGlkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkcHJvamVjdC1uZXctcmVkICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kYy1jaGVja2JveC0taW52YWxpZCB7XG4gICAgICAmIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogJHByb2plY3QtbmV3LXJlZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGMtdGV4dC1maWVsZC0taW52YWxpZCB+IC5jdXN0b20tdmFsaWRhdGlvbi10ZXh0LFxuICAgIC5tZGMtY2hlY2tib3gtLWludmFsaWQgfiAuY3VzdG9tLXZhbGlkYXRpb24tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19zZW5kIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICAuc2l0ZS1mb3JtIC5tZGMtZm9ybS1maWVsZC0tY2hlY2tib3ggbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19jYW52YXMge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgY2FudmFzICsgcGljdHVyZSAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1uZXdzbGV0dGVyLXRoYW5rcyB7XG4gICZfX2ZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fY2FudmFzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIGNhbnZhcyArIHBpY3R1cmUgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/